From f02536ca49594d2c4fd71ce57bbc4a40f3f74ff6 Mon Sep 17 00:00:00 2001 From: forgejo-actions Date: Tue, 16 Jun 2026 10:07:08 +0000 Subject: [PATCH 01/75] (qol): update release flake hash --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index cefe9d2..7d1d820 100644 --- a/flake.nix +++ b/flake.nix @@ -6,8 +6,8 @@ outputs = {nixpkgs, ...}: let systems = ["x86_64-linux"]; forAllSystems = nixpkgs.lib.genAttrs systems; - version = "0.0.9"; - x86_64DebHash = "sha256-8rVb12SGGSac6l1NVPGyRLsAKAGDAOJVUwG8l+hoRCU="; + version = "0.0.10"; + x86_64DebHash = "sha256-VVKkZ9yQ7BoLnYnCf5OSHcrakoBNfUx/uWxBmm3gBZE="; forgejoBaseUrl = "https://git.methanium.net/tensamin/client/releases/download/${version}"; in { packages = forAllSystems (system: let From d3ab47253109f153d3ead1c9fe6c195e4bc3bff2 Mon Sep 17 00:00:00 2001 From: Alois Date: Tue, 16 Jun 2026 15:04:30 +0200 Subject: [PATCH 02/75] (feat): update logo --- apps/electron/build/icons/128x128.png | Bin 13147 -> 14041 bytes apps/electron/build/icons/128x128@2x.png | Bin 20713 -> 22479 bytes apps/electron/build/icons/32x32.png | Bin 2151 -> 2320 bytes apps/electron/build/icons/64x64.png | Bin 5375 -> 5757 bytes apps/electron/build/icons/icon.icns | Bin 237403 -> 257363 bytes apps/electron/build/icons/icon.ico | Bin 34578 -> 37998 bytes apps/electron/build/icons/icon.png | Bin 39230 -> 41711 bytes apps/tauri/android.png | Bin 54224 -> 53211 bytes apps/tauri/logo.svg | 72 +++++++++++++----- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3683 -> 3724 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 10597 -> 10770 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 4166 -> 4196 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 3615 -> 3664 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 6093 -> 6064 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 3990 -> 4056 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 10901 -> 11240 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 15926 -> 16335 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 11985 -> 12409 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 20299 -> 20803 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 28151 -> 28585 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 22190 -> 22568 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 32583 -> 33412 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 42785 -> 43307 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 34516 -> 35454 bytes apps/tauri/src-tauri/icons/128x128.png | Bin 13147 -> 14041 bytes apps/tauri/src-tauri/icons/128x128@2x.png | Bin 20713 -> 22479 bytes apps/tauri/src-tauri/icons/32x32.png | Bin 2151 -> 2320 bytes apps/tauri/src-tauri/icons/64x64.png | Bin 5375 -> 5757 bytes .../src-tauri/icons/Square107x107Logo.png | Bin 10656 -> 11259 bytes .../src-tauri/icons/Square142x142Logo.png | Bin 14825 -> 15722 bytes .../src-tauri/icons/Square150x150Logo.png | Bin 15536 -> 16495 bytes .../src-tauri/icons/Square284x284Logo.png | Bin 22197 -> 24183 bytes .../tauri/src-tauri/icons/Square30x30Logo.png | Bin 1956 -> 2134 bytes .../src-tauri/icons/Square310x310Logo.png | Bin 23783 -> 26081 bytes .../tauri/src-tauri/icons/Square44x44Logo.png | Bin 3316 -> 3523 bytes .../tauri/src-tauri/icons/Square71x71Logo.png | Bin 6199 -> 6641 bytes .../tauri/src-tauri/icons/Square89x89Logo.png | Bin 8335 -> 8900 bytes apps/tauri/src-tauri/icons/StoreLogo.png | Bin 3867 -> 4149 bytes apps/tauri/src-tauri/icons/icon.icns | Bin 237403 -> 257363 bytes apps/tauri/src-tauri/icons/icon.ico | Bin 34578 -> 37998 bytes apps/tauri/src-tauri/icons/icon.png | Bin 39230 -> 41711 bytes .../src-tauri/icons/ios/AppIcon-20x20@1x.png | Bin 1136 -> 1146 bytes .../icons/ios/AppIcon-20x20@2x-1.png | Bin 2857 -> 2897 bytes .../src-tauri/icons/ios/AppIcon-20x20@2x.png | Bin 2857 -> 2897 bytes .../src-tauri/icons/ios/AppIcon-20x20@3x.png | Bin 4880 -> 5042 bytes .../src-tauri/icons/ios/AppIcon-29x29@1x.png | Bin 1843 -> 1884 bytes .../icons/ios/AppIcon-29x29@2x-1.png | Bin 4673 -> 4818 bytes .../src-tauri/icons/ios/AppIcon-29x29@2x.png | Bin 4673 -> 4818 bytes .../src-tauri/icons/ios/AppIcon-29x29@3x.png | Bin 8034 -> 8481 bytes .../src-tauri/icons/ios/AppIcon-40x40@1x.png | Bin 2857 -> 2897 bytes .../icons/ios/AppIcon-40x40@2x-1.png | Bin 7099 -> 7515 bytes .../src-tauri/icons/ios/AppIcon-40x40@2x.png | Bin 7099 -> 7515 bytes .../src-tauri/icons/ios/AppIcon-40x40@3x.png | Bin 12054 -> 12688 bytes .../src-tauri/icons/ios/AppIcon-512@2x.png | Bin 92122 -> 101017 bytes .../src-tauri/icons/ios/AppIcon-60x60@2x.png | Bin 12054 -> 12688 bytes .../src-tauri/icons/ios/AppIcon-60x60@3x.png | Bin 17583 -> 19229 bytes .../src-tauri/icons/ios/AppIcon-76x76@1x.png | Bin 6706 -> 7057 bytes .../src-tauri/icons/ios/AppIcon-76x76@2x.png | Bin 15778 -> 16546 bytes .../icons/ios/AppIcon-83.5x83.5@2x.png | Bin 16833 -> 17985 bytes 59 files changed, 53 insertions(+), 19 deletions(-) diff --git a/apps/electron/build/icons/128x128.png b/apps/electron/build/icons/128x128.png index 425ffb44e96b7370cd33e961f6a155c38c39a459..357e1c2a4faa748fde46c79bbddab4bae04d05d1 100644 GIT binary patch literal 14041 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_T`7I?ZihE&{oTgzS}^L6g~ z{Is(0-LGP&sopF)ek@`3z1#yO9LGwWKB_KJpWUJw%spln|ZyR zt;-fjdtNa5+2GW_g6nQ^nnUFG?`8T^_D|>j+bytkqeZNS&o0jWdQXmjshH!z@rjk` z-05qYT6bkXTwc6f%j>$m#Dn|?5u#$=4p&|)yw#p_e3n_QgTC!giM>D0Xa$A#`dQR! z&Mms9o^flB^W5nr8^ahj+m!fuM1JOH`yt^~ZNjx^@|16Gbvk#hyXWuU(KheTS^Z4^ z&vA>Dg|2BxY|3*|aY|hnP*ZeP<^QE_y=9Nj+q83ab;s5nyneT`^2>$$i^6`)PHI@b z_>oierRkRaxpDjZ!t8$;?EQS|bXs*j|I13oP={Af1vwwHX{a1`}uW8pcs#) z``n66Rkt>EXP#T6Jn8*4uRs4!+^jsc_Y>3CiWk=P*ue12Y zZ=2I+{WwQ!^}4dHO-yM9y22N~@UvMk95*&Bl+F3FDJ8T1eed;`Ki&Veo9+2KZRh&^ z(@X5VcWdbf@$eWt{3t4x7PwGpmG;B`oUhdmcrIwH3#w-KczArl`>B7J9;N>*|9AVO z>e6R(4)cYd-}A)C>dg+}N&Zg-ukpx-uU$}cXNl~ja^<>|O#P?FZ+(9=@zTHN_J8?J z-{+evEy-YFnIbOU?YU_7kD!G2y$j|~xqG(Iuy|Iyip~Fn=0`4gzUH6&qBZP9^RhE>%|Mx9? zOY(2Cy*oEwUhdG!UC=(|#=knxiiej^eEIF@u)lQUE{Hm}sDk&I6l)*CpK z9gxy|TfHrJsrdYwIoE9daUAU4zU1!v^4x7IR`vX>Cr@yDB=PRLan7&Fu|rc;mGR%1noR?C%j{eG>u-L>^>ear+5Y`*Z#LYF+pS`CyL^8?kH@aV0?qnD z(N|0^jgp(sTGF4-#}3!6;k_wZ-3M|}Pg{H$(8i7i9>xsMlS2Ix$j zU}rpoJ(J~Oa7@>h=NBzHJxm@xZFXGZ)xOMN@dd>LgXf*w6YkO&% zJ>%_t;t!+KE#`3CmpSBcOH{yRRmE(@wpam)7Eb>^Ho~kyFWi`_czA>rHm{quVpY&A zhOGPUuiouV(6Q(}qfo|jz=CnV_)IoQ1HmcsQfXmxE(9?fckE-FA^Q4r%w-lgtxvzd zw(YXI|MGxnU;E>Tkg&1~4L+w1GF+?K@lCc$F5zsn{@#SL7Ucynyoxx|(Q$5S`<>B8C_FDE# znZaZ|^8!!P`Hd2N$&A^p51%i~y(t#{TK)Igb8;<{cj&cD@_TX8CvwTpq|l|Qjhh>^ zWp;njSvAAtWkZ8c*Y$+6$F9dMP5=L+`qq|0<^!|rPH(e*IGgvHhkK9gu9A&bdHc9B z!%IBWu56WN+O+G~^vpvs4KLC%S7z_u+WX%9?Bl*u!kJF{wwQBB9lglK&GxchcXLC(m zy(#uNd&-YA>kI{phi%*)OCtmQLc(TU@;M>BU;NVR%Sy-YSRPz+$K;yL?;C|V+av^n z&L%E?o$*ca4$lwKK=!S1VNPjW%UxSD1FamwukrP0K4I0Jf3&Xu)gq<6g|~R_?+lM| zbyt`ZBK)I;W#%SPKdqZ=*=6~6o%HQKO6+AguuNIznzGi<7X62Uo0oVk_dB{)TmN!U z)zuv<-(27}zi&bU_IvqYA+G-&1hb8rX9rwlqd%gT(Hil`O*XNj1@@?l4hs#rL7H{G* z(!9x#ouqKWn&W=h-|zXE-`~Z$WtW#Tt(oY;9ql)>|DcpbNN#RnVBj6+1D2Vswl?LwF0q9z#$d6Y+d`=4>+|DHQmA-TUjZtrD(dE%Z6%K@Hq zJgbjCy(>1AgHe!emgbo`ryc~Uw@A%utmS2&tq}b<^vUzrrCTSfo;VVv7!hEQIKgu! zN5tm0f4{#__4s|dzV24hi$9zj+UC5Gwz%`)I1|s=TjIN_`}LMx`DvkVuTgVae}jNU zSnIa!xtmlrIAfK^0rG-T~=IypRe>cUr?#7lj&8*TYE%r`RovEFcHt$ zcH_RLrrN3-qzd4B57+GlLud~kgDB*H;0 z^-O|qx%uC(H$%V3Y|7VNyVlC!r{c~sfwlZ)y&o&W(q~zz9Auh(@2=$XE-(B4I{N20 z@82+=@W4AlX!g=r5pmxh1({Pn|8DrdxjD|D;r-jv!i@#{;?K-Ti`D-vAH7X@`_;jVWW>%)a|@WZ<`OyD!;ev>WQuU|6ZSd*3YAC&eFO1DwZ{m&q#S&SASAs z?c>vraLyFVjB;`<$~hZnEIc>gZKv*A%{hk(1ye3RTVa@8HE+ebPb?7^<0@^vp3k4D z?$y<9XqS82@zk^2Y1=mE?oFw>#v#M&DDAQKz=~w8G&d2Y!=7$BH`OPpxlMil@bY7; zPXezFCHDpU|32bs@_t4#d+TI{<7ZbYbxh&;P~uXuDfs%;dw%QfK2OnEdF%E)JBc-g zoAS?`+^}}dv&&7UmlV4q%X*U&R`TWEZ|HpAlAkHCi&HS=aJAv*mSm>KhVseR%w+QR zZC2D(%l6--!oAdgdr>oV>HgLSLGV7M*!yolJ-{co+zkATB zc*HV68^2CB*w&nK%8KRA<1Qn~XS1BQtlIU^_OSiVuw(6P$--+wWrUNn zpLw#fKAUSFyYiav{Db+`uLABXh<;tNw*GtX^%XnW@6{+?5tQLy%3jvN$X~EzqMqiV z1m2Ew3+F{O?AO-xZE^X)&2nY`Da$>U#4(eujq5%($X-e)mGZI>Qr7a_)OR zTC5uu$Za&GX`>*Y`c3u*<-D9*URk-KnkW6#x3n;9U0Tq@cx%@88z){#m^i$i7dvga zW@Lb8$c0bx2e)~>myOYMc9=84<%dPy@%L)&rmdPbH!JSATNZq|By?oH-NGqflk<%O z@1_*kroLsiT&~DB+q*@7>CUTN3bS$#KDi({amu*`fxqj50{1+!ubC%ZrY+NHxVWKB z_Qal3--X2r%$1lMt_A z2`$+^Ju%4m?&nDR2O^HL)#?AOcb9B@@nKHk_C4EwJbJUl!D8jUU&~fbo3`Q*{~i^N z<@_s)Cx7Njop$VT%2b0ji?$go64u-1xIOq}!3E7$wik_D`T6Q$-hiyPLQ0q!-8=^{Hk=8#=q{e4dvhLnSS@jHP5N%Q;D9*^*JCUK_sS9FyQzM zSG5@_l9Q~P&Rmqd%+;>vvL`#<+VVne6kEcR{{7z2x#V1W^rSNkMj|Qtp{qnv z9(^)Su1ZZ%;AuGgUefW=hX0Wpj?ZkJT~Jm#OX(7WMWnre?vG{Wue@sKrgrUI$8bnJ zMI-ZmzL~rkb3|U%tdJ>DZ5LYO2fy zb587&yUo3+FjMoRr;dd|6EuHrjCdx+;HP@X(0|WhGF2%xp6Exp zZ#8z#JM6UY1dp)UhXCcY!oYV+<+oLQ>xn$cI&Gd@eZ>d$Eqd3c8y%g!HTkqz=Ks6d z&yGm8ggAYD!~f!2@FmVGcTcT~Fqt)LVUVpva{eW?U9WE0oR(SP7u0H89@XX~cHLC} z(f>y){GP{`U1e0XJFi&r>+5vQ7<0|%-|m}NyD|AZp2vRJr{bTWwpKu5*A$igs`Eq? zQw}gBYG2zP=F*ls#H6%q8AO+|Z#*NZpdX@ewez>1nR;R5 zmctTF+OoBhGrs2Kzp3ZA_wVNPm^z0g|NrIRbKCvgq)I4HOY2`~n2N-F@8^$py*@g5 zEiaq9f!5YHcP9%nZ)kSV-Ce#+=S6~k#70@CFnupJKZQdZI>bNLZ+*1*sKl2iUq2oa z?(YhZDqnbQ{UK&+;~W31JLU(M=}4%SB-is@51lT_V>@pro5X_+XE(~9?3u8HcgbT# zqYtIL%Fn;e4_@gVAiex&%{-y{`eNh1kN*AF-nGpC(K z*4edxmmPa~FJ;+->en2LW}RX1OkvV>Zf%{J&2U*p>8qcFLWV(dPgrmd)1{c(^=`k? z7KiOC`jq0|`TsY2olEq#nkC(BC*_`+{hE10>$?O`ol@fKr3)lJdJY(HK}7IFK#?SsbNxu^c|FYcGAU#_xi zm5d|X+AAfIx2_bP71%nTMRZqbrV_Jg0>l6F=VSk}PoH&lYWSr$t=)ULe-`lXtAD-! z(mx4-ox7sWUpl+t|E~OVXGGSzGSt7R)~RiDVan)O6kwd*kW_MYSIhR_UxXL7dK7dT z&HBs#YUh^!GQV{9SG6v`^nbp>zjK?E&i!|Hja{4mGVRrS^GT2YKVjk%>{DsEbnPC8 z*jlYcDe(uZDzC5L5lGl_UUAFZF9mZrT~j)Wio1g&GyUGyiv~#^*Rj29EVZWcQD9Z^ zZ?T(ents{4`bm5|^pDxc`NUd{r>Tcu>c8D*cqZPsk#~oK!1Q*@AH54o7iTl92n}!k zAaC_TzVqO$M3$Fqdh&+c+(l{scecO#;;-W^cXrzE3GdVS1JYermYhi09lp=~X>W$1 zcl!UIza+oOJ`wqJQ2Aqw3(8J?rAeM=@g@83CNS7==DW8V|sC;!ec z{$)G&ozm9b(%A8$DzXMKKrp;#5 z5mpfTpszZoCuBjh&90O`^Nl0cG0D6SeX%|Da8=abQ{5tZS`(Ij*rZ}D6e@DXp~$Hx z`u-G?e;bngVmwdOIn0j_Jmq!ys?x5R(Jy~krbW(T*j*;fsWj1Ix~Yj*q=o6ZSaszD5U2YY&(MQ0t#!OpO`D?^6<3(Z8BI@14(XQnR$FrD@$2<# zKX-rMwjpes(OgTeaTn_M4fK?0M?Hd<9oCX!w zm{zs1N^IY`_soU`ZF$dc04`vul+$o?3bUjZ7=WJ z=kY&lUiyFa^;pN(Splm;1MLid_g9}}UOQFr)@`4jrJhWc zF>DF5R+fnb#6?MIYHgKZ$e%99UNBGRSa)q%gYIlwnXUSJeYkm&*qwb%S(JoMM*iDx zr~khp<*$+Lj`@#_#pk=ve{wkj{?xY?Ee=jY`09V!gdU65S$X37rEIY%tzh1hs~QUfJa#nrPm&eh_T=;I)0wf({T8?XADZLyII85x#gM4b(g30P z&o%#i7PoV)_P3hVVsFhAkek_`ad~;)3!m2#q3Yem59er|`@omRGH+9wv4e)h7xAel zG?Hr7)DmpP!=_A`-kuV_AW2lr!smeD@+39ec~96^#Qd8ZFL2(~^NUK!F}W3!)?e)F zeZR-Ee4$#w`HStT*8jq5UI_WwA2reP-DJGSS$D%^CmRXnl}WQZ&r2m}@XYCBob_Y> ztzVjXk%pdpnJHPHeDTY4w|j;r+ISiCTOA-Ps&q zwW_s#v*xD#r|+j;yY%bk&!D$HYPUV~^5;)XebbPx{`b*L_ssu)EN?#7>6tBg_TTIa zJNUkwz7IsnQsf}D zY3_Axz5TP!9hmVgM`r)O^}k=9?9C6n-m}v3qRxi@fw?aq3BKL$Fy+8b2CWY#UFK%- z_nB1xzWY*7XN~c5`DsQ>9_I23I^Rd0ouXNB=@nOsXZZq`o2{pq7u;ZfaD4H^mcRNs z7hI)E3J>`ln7i-f-F-9WEIeRWb~Pj@JneIJ#{YS?k(Sfh>p#dwZOt}rm400;?zidh zdikAqe2(8yXurVo{ZpGTXIPPb+j%BFZ7;7gw={zzeM^?l61OV?e!`@*;vj<73bM_PdHIhTp4-nVOp%q@?!n@71uB9E&pe2dv{;=A&}K#M<|3tDA z_ipwBy(|%*9?qEg$6~Snn+BH+6E_;nx3MlcJU#ROex{f9sUI^>2Ado&t$FM{{~*s% zJ*gF1=ihGK_;Sr93p*IRNDTR%pKxG_a9{C`bt2Kv)hec}v5hrZvFajgr|I^Y#tbb{ zMhCuBwg)*XEQkzV-qgvnFo`#GLLK8`f16KRw_LIQeg5gQrK*xQ|Gz5enHF36_Q!?2 zbFE)26Aiz#u2v%7e&?~piIX?{w{b5N`7Gu>(<1%flE`N{b9)&jepILD zlo!YRa{rTE{{75%tNZfy|GmFrrI63HTgM(QE5Cd;>h_{rXC}Vg&-Xk3mdU|9rl8fi zYz|B(-m)^z~ZZT+yM)$@1%Ia{|M0{)A3*RJUfhaKrRKWM$VMWjUjm*ihLinh*9YxGke`c!?@usmyv${Nxx3V+4pf3Gy$`#oQ7M}OVN7xF9C+ML|uvdB*V z*?-TZgq}TI#m>qWv**-w*M3kucH()Y@Xbo^nUiPnyWibtt9nB=!TG-Ox`~p$TTj-O zs?V*Qc5HFN(!@_c?_LP-W8&xMh~_?Fs%~ljNW)xy>8ZBWZOgA;>C>$I@_*m|++UBo zSFc>EU~xi`+0f_wv9qWC{O2*8_4&D2nzG3EtI-#G`#c}^MW!sA)4z6!-M7nb8~!gg zYWRG-+b_yT^r))sIUlL3+w6Bp-juAVssGRJUHeXJ=AwiP78l>m zkn;T7e~RIpyt$H$4tMLPltPWgUNJ>EPgh&A7^X;^@Ka1*a>-}$sZ$4e3{F{;#n~G# zR{9+2c>l*8`-_u(VJ}7;sSsDvnxB1kjL{-bRXmI z_wy}tU4G{$Z0%vGe=;TP=vgpjq(!4I-}F6-^d5O}M0gu!7#n9&!5%u^vzC07hx zWy-xoU5b8gJjExJFFaA&HZ^n7glOGOdWt;%#l(9f^5QPt^`5?7;^w!{a*w6g@9Zi2 zWO03B8du@gT<5v&o8P)`|L=C$@6ty13n~BEx7}~;n)rKq?W}L}7QFhzm3xiJQlzF< zt-8&)v|t8j#z$81N%8%s8;kdx5SX{W-~(e(j(te~oo#d9Hv4+J{`xWh@Zzfa34IYY zSyhUM7oEPnuZ;QaJfo^O1`DP)^}Xfa?1cii{QB~>e&h7G;<@&5IxlDE@GddAb?d2` z;HGlE`Q=AL`@Y+NITufMZ@jYO#-xKzlJ%$j(@vUKPUJO8Kv>boGnbE9>HlmTY@>`d#d$(t4}k=YMue1us;6zI>kWj%Od;U)*DVx3sp@ zR8l>q!Bpa=*86j3{w?qSpRB+4l~w&7eZ(1l{)$fjEpZVuOGVT(l$X>ZH3~_0H)ezuS-nLoj2>()N5*9I?8dW{-f#t zDW7(>hue8*%m0(z8agHIUt`3Kr9L0e{Y##hViNn;etpl>t^XOdU$63AHAQWDw#?%_ z0a_`Uy<8j*BEyabo6n1zS<04>F(Z`w{A}y$pGy@zGs=Eh+}V(RrQoC5*Kao#COLj< zSg04WGbD`d@;7d#Z?Ur$rM^kG|HJq9)lKykOAB&ZPZcC7N0`2ktrGrGzw6)rAKCdk zo8>~9m)@81TKW0fMTZN#oaypL{_Cct7u!zbeU$9F^WB60=UnUd8cFb|Z*fT3Aoif6 zL0s&?#~c@yod2#;U*%iA#D6*Yy3O{V@|AbC8z1IMte=jBg#-`tp> zdthtn^SG*1kEgBY*RWP>To|l%PW)1SGUErqkQM87j{N^u@}u6@!p~cOU(SW(|NmP3 zFMqDycG)5D;0__9j6Bm#TlZ9z{NB&}&A#++{g2M{2S20hILw45)>kb)DseXVnpn}k z?;HMR%nV+3&eFv#J9*;2j~NW%+;hsmZVg%XQ}yc9MM>tqXTp<`?(3$rKTXTNp|*By zEz`I8%X^n^`|stgJ(vB_?@1kBzhxGxAsL{4{QJ2nhF0AR^sqO6edD8isI-iC2TO~uHZ>f68Moiv{W5j6{?c4tQtwvQ+N>jcHD zPSl>3KARdx2eY203tGar%Qz~}?zwb7omb!CF;la%*Q~3mnIHden)KsBQ8DX^8;?|% zUv7V&>k$1-_ex0YG}$JGiNVV%GXGm2x^;!EKFHd_RpIY4-gg;1KhMocTUqB~-K1T& z;}_R{^8|*gsqufhgumZ6%v&b^UjEjL2Xp^?UjFZ^bjZ3)BQcQ|uHnChB^_n0b6LJ| z@0MbUdmr&;|I9=G{2RR^x(v;}|N9}AweDQpVm6uZBmYC?j{Rrem-5^G!|ry*)wj>e z)$V;_UDCJuYRR-Z=`SbykDk%L`%(A!$K9E0=GAXAVG!@RbCyr>yI@@1-{;MI5C2M- zzAm@!sC|$T`i$*KilIeoRNF#DhGicDzMhX-DEIeWea$<~tkpV;*DRmC_t5{u|64x= zO?DEiKR&Ozv1eYL_UiUI`}qCl2W9=Vd)6LZxcT$i4g8+lllyJs=GMO{-1I;>_>8?e z&w)AZ#gly7cW=w{JhO!H?w2J~i)2J+d|VN#+j7Z}S2Z=N++VH1Cm~}a8?)1E>su?A zYS_PKl{7Hl^`SC_amWAsZ$6ciSq{k6K32sBJkyrl2Z&g#hkpH6d ze=o`@O8smdcU(W4=Yvm(&g1v*_y1($y-}TJp}q72(^HZ4;sKdS`{$~qM)H4DBteZP0~+CJ{)_!sAxt$r>E zz7nh#p>}z1a%)ZTAqI}0s?2+KrkQ?yy(>%HY{Eph-XiVI4QGRYzu8ilD!OvES@0~z z4nZy5Z#{BFyE3<$3!k`hxBBKk>00~Wrd~UBLT{c=LavnbwD_mF^!gy~>_nCS78dgR>zPodolk4Zspy1T+CX0TR=SMSr zV6?yU?J;}o`umcP3LPX9LL+nzZokBTeV=pe9I0pL6suEa2DsHluS=WwJC{voeYmck zs{J&j-R#f#1pZg6{nhRGzx-PDwvvFGyY4nTS-okBoZo!@g==2*%x;VqiT!UUS#}~k zL*m!h|9?uSW*g=1C{GQWS(FSgfQm+4*@2uM%_9$qBu33!N_6 z-O9RM&tty|6b%*W|F15e*L-72cHWNgrVSO>Ov+93zg*pZV#{>v51*IMD{Ff{<@3@- zvHZL1gRh-WUv%%k^o+^NStehtfA&4_`MO7qc9SwwJ({B$ZZ+|nf9ATvv3!!P^^Sk{ zoB!E={g}Q`wROwunzLGN`Wfvi%PQRCE1RExiCW*fL%vbv{PVoY5z*!;DX!bz{A-bX zaC63kU5}5Qjaar}|MKWv|1Zscer};*9;dNE*tsYBm_oLCsA=dWpF1ynRPJVd$t{LI z7mN4a4XI5LbxOFp>sUq1kATbX?Xw)6B<|hhIJTkq&yQLyt@ZC}J}jJb<1eQ%Lq=}p z{|W!*?O6J6XJyGAXQeL;{c~P!f5j=OyCy&2&-(qmSKm0EuH3!mKmW6$%`1ONsK_VZ zUUEzR#q(Eru5+!83;({p=jyU_$ILTY9#{DPe^~MPi|x&AzlGBpTE72J5C2=dxoM(# zo$;#Ee98$NFK$gdD<9B$>)7|=%gF{O{w=5QodTduj z_z8rovn_eKqFmVaZri2X$!Fy?v=n&{3rHHAn)|o^S8?M1tGo&K!tYOW=+l(!U0%Lv zv$V+xKl9B`UTb6(E~^qbp7f|s{(s2R&KKK`?^k-RR&eK@{gVCaV!<*W+BaQr)=x~* z(>Qu1`zTvC%i&{pYnQCOJL9WtW6XrkNBp+8Z~I=ks-Jk>fAZ|T!8cAG&2enDu2PS@ zeXMjrjZNnHlk=y%*tO&DzWEw96AtISK4tmwcs7&8zvbcc>;10%j@+1C;q>Z$X89v4 zr!CVY*-RP_Ci~xxUc1TYh`m;qaxKTiDIZ0qF4_A3x8#5Rw8H)JE9MrJzCJ$1in%Leg1h`47W#2MU3%(eXT-NmB z&a0L~b}tSXW&ioTugq`C2{qw;jaF(2KP$@f%BSm?J+xyi+5GcEMTfMnVYEITyo{e z%E}+o=Tw*!9&OSvZ8+L1uQ0LY%7(_OpBs;T%rfo@(H8u#{djiXx!e!0td6|1*=iG! zaP+;6zo2Tt4J|)6Pp0D+c3hpadv=zZ=Caic|yySihEA09Ijf2Za?Gvui(ZCUG2;3{+;qYcy`9Q zov%8NFWS3m)^R_PmlkRNSM>c16xZLAt5B>9TN1!ZE*7W+X@mnsxdDi#% zyw!BR$P$-({{PQ!f25niK7GT>B~dHR``xTay0JD+EsINJ-Aw089ktAvVgf}gZI)zR z7L$AHbZm-M%LGK-$cy*HUz@Sy{D*1%BiG7X6Rq_+10uKQ~zv+Ll+(zPv2zZ^5zW_#xPoRuuXf4FV_?sS(stN;4g z)^!DJg>o;PPn!H>=H2k^Wc<1%^8a7Rt>*4fZ#i_^w5_Fnjhv~#yu%9}S!ENZMg2Kv zT|MpZ<*$9851T$Jw}>!b-199(d!}mTgLStvzrIR;%xt$h!EfE_$F80lrsi!b-A~es z7HUopxVbjb=pai%r=+9L{H_y+s$ydQ>uGM@aHlZtRjPj$|FYR@?l$-?om(V0^@O)c zvcWUQ53W6mcb%p9rzW^LPI)xLqF!f}yk&jk`)R-Hl5!JTm-lDKP3w)a^Ot<^vLoT; zo{#qp!rt0W^YY6&5X|23@|JmA^ddeNo!w_&-7EZ{pnEl;E%>};zuplB_3HY&3Wt{e zw)t1doA&+Rul;p0xi8;qMZMpcw)9A8~YSvpr z4<>y1^K|+X-TnVQ=LM->-%+P0nP6>}Ygl|FPRI9rK<2r9$IHao(nc z9EB9x3N zREB8X{P?f0<1h5T`|H1*Q^Zp`yHeym_a<4J=W5~3SI-?@)TDi3S4#5jNgrZPT1|_% zZf2`3JNd(N`#*hkrT_ON)mJLi#l8r`OK}qR)Ta#(zoY`kjqt1wPE~x@S1r zY(Gv>wVLuiOLt{rz~n^=)7(=x=_E=oc~_YrY~8X)Nj=lf{?zuK;_2~=Vv9dtpF4fs zbEm$Tr=M&S89eM)ul>L0=`8Jx$Lr?$`Q6U??!-P}w~3JX0tWLkxm6MC{+&8|Zo#uc zK|5CAdyKd4oU<=q*zmbA|E_2L`dVwd2mT!@-xX%P@G&xcS)EaBF<<&O$DRPs)GHHZ z-O3+tV|DOc_TY8Waj{E!r%tQL*q$(FP+HmaVU4LvozkHPAM)H{_m&y2Dw`~6C+z#Z zFri_q#JU|HruoNv>z;d65w_n`!B26Y)azF-XG!n(`rK!ymfhk%u`RB%KlaT2{Xd>0 ze>uIoK4F`i(yGkgjMx4=ircBv80fM*P_=U2gl(y_`vlAFEc55*+QhSGGnW}Wypwp{ z%0@a>;-P4sjA={j*V|_f|NUuNsrdQQ>-FJtKb(6vE3VMMvg&afgZtn8A5I+pvNyke z@}%ueALZE=1sdiS&HZ$8{T-Ebj%Q6DGEIcM!#r7p_6vE-#8>{?Sus8FhirSmHT46M zCWgnOrZg@v3sbzlX8-p_O+QP=sV-07DW|1Xd`at)+^e;#WXiPKOFO44Le{rwDriWvlo=$+?|3lL=PpaS9 zxuyKsqz@)G+B+|4`lQx8+W!5nv-Gv~y(O=z3}yxd?Rt1d@=igcJrk3JFgKs<#tO&O z;Kq$>jwI(>9DKY--pAA9`q!JA(|)gOo;$yENA%_I8Ziq**_lqC*JO6MC3o}wotlT{ z3;vZKzIn>|qEo2G5}p57zD`;4Np6#~)%j4l?`k&~CM{tRU%Bqj!}83}*Unbmc>aB7 z**tCi9rpwznht5rGi+3}W)Hn4CF>w|aq@v~L&>)$rt_skpS*V4vvJ|U`m?<8s_)MD z27NDIa{I*BjcE+gr>x>@{siuNK6`th23PIAMqY>R^nGX)PIa){hF#Kx!M=c zUmUr$vfc2yMP;49_GHey$mdtH-w3b?S1R(QIy)U%?dA1ndfb1@sHT@I>a$zqr!vm@ zpwDOeAY_HynihXyvrj)yzZ81E|D%=d&)e~rj+JJA?UQJ8V0X^k-aCc8`PY<{z5Bc! zez2;~d1CW*Bj@W)Z<#-^Ot{p~{jhzO!G*~)6IvGwelyEme)a$7`&*u^R6p~#<8H5w zTn5MHhK|Ib!i|+@G`+8EHq4*yzD`YjWyQC5$1ff{EhX}&&_3t#hC>GhDw0oh&rtYx zWBrES|I6qv&1OKi!qT_Ghzsv`rH{d6&g)M_Ln>~)t!1B+k~;PM z&v$EIy?XWT)tt*u7&w{~?3i`57HB6i1Uia29{dpV_3f`4>21%A?PBLYTJ%mTEWmM^ z>W^z1SQ=Gzm@Rr*JkR*}`#(3ZmDOsm-v4+0`?gi@)~#E|SDHTIXWjmJFWG0n=p$kk^ zI(|kns=W5W1|FMqCe-?w%rZDUkug@P{D99LHsOtrcQD8}zn)Wk?xXFd^z*X|ZrM9E z9#~y)Yxb4Q?e+^=dY8Mz{Phu9G|^{CZ)x`5%6yJ3O=7(d>oZ!5qO~(-eT`6Z6yf}S zvSN?_jA!SyOx~V*xo_Xe$4muN!Xmv-pWfj4-n2vS>Z;YZ6K|h>cqdX`XKK*$yGM?3 z&&gm`kA5Z9dC^elYG~WdD@%Cx>#0g6{mVVTHn~Ca!U9o`%bru5wH*|$Bwvs)5G#h4u3Tv^VDO<#)lM)5SlkIhu?F`xb1J z7wqjh<*`Iu=xcG!UD4O?<*oD>R`2&7yWME8Yj36;hx3}52~Hq zB{fMlSLGO=aBt7VW9m{;EmwCN7`>{U66UZaVZ((R7mw`u-o$oE$bAllkzpv=5FEId>dp zN?hX-;QA)2!tHD){J3rM1ulVYHV>buY&oa?x;r7 zP=@RrgJZn+e{6Y_EBK&!xsO){z{Tq z-*9+&Z;!Kfj}pU&$bC*Tm)fdiD~NH#^q;h7%ANG7b@HzV8#vD{{`hr;hLU@Cr^gcc z>(vg+Cf(0AIa}@K?!H)Gl98jNEH7yT+r#U>w+57I?|HAV`uU!Rvx{DQu@UdfJ<|4? z({AlH-sjS5ujKjMEEMH5xt9Dn+r!7lXw!6qa}};XC*@r@B6z9I?ZX|9Fzp28tEHO? z4z_QQanIRc_uFb~Y_;#lS;nTb<|!8b;P|Mz`SVO(b>lZ7$DUsK!m#d3-i*%MmkuAk z{a=Um!IH^-TDOaTe3(6<_P0jJ=gg4Eo3B1te!z(ggeCUp2I5lgw ze_%rIvc3EXzRG@?t*>>@^WML)?KyL5!Q{xJpV?MRi?2Cxuf|MxWy`O~+$!JFd#^9d zzb|X^Z!ej4UnHCpsDb%zo2k(%(eeJcS8v7v~iNc%}>d9|w8ZZCYxYD5WBj*p% zANRhA7j5XV*m6~1QXoG=)jmyQlP@>Ay%=6yTfcs0=h1V=&;HE5abWU;3#L2dC)lR4 zg&s1V)bw;w!H>4feY021JIp8Rx99PcjhoY@GD|0)-F0hE;cp$rieHh3ZQje&nilWT zT4Pfq@!-;irRV-O-h8N%tr{~uXT?$9m5RY<%4JN&UY*RGlq}p4_94bhFwbJ<7MbH7 zUnb;9*xlF9aEp0e>mzOuexe>t3|Vqet_Cu=7%cHKHueq znF4O!xig8AMbGI+ndp*wW53Ma*H1pQ_ZR*UYZT`Z<*z<&7AGy^b^2P`e(qNv?0K%K z1nm$!WcN1A=s08Af;YPDeg4(+1lBBIc*D+i`I?u^zo~bYJ^HoP_P53Jga>s8EH7@B zK6z+%<29w63}Z$#%CNsy@foo@{KaoyXm< ze(P6#fqk*e8Q*d`FTZOr<@>SlicP-MYU7xiydTTHex3d7*Vb81mlr%zwW;*AED;U+ z@$AUoJwI!bDlUJXGb?HOzdP?*DsP>9x;pWHx6lrITlZVbzN#n|EP5{B$*~~KlopyYBSm;666Sj7QI{AF6Om{k9i7G36HX*&ofp*4FQD?yIfd zmBJKo@7gvuqlm|!V|h2E>E=`~)t>osO6jec9tRV8_3h=(f6)AQ?f~cY&ZYAMt>y@D zd-vbGu;yJ`{_4cdUzg7}?D-tGzFPF-i++32<>vEbr=0D*DSh_h;d_5w-ux&mo9J)q zt}nCo!9C5h7p^S0;A!m7vSj1_gA-l%6-=6YzT!=XrLpl+2sX5? zDc%#4Gp#YjXW!&gAB|R5e7nJ#ziMvqb{6$jb^6Uu!+uOVt{5ZAc;mYBroEvnll`y! z|G-iGmGkGcVsTLmMrr+T&H{YA6B5#I-t#EcD9HDn!NI7zXp7T4=Y<<1Qx$JqSKfLn zD)CeHnZ9i^HecZXU2R|X?(|0I_O@=ZhE4C@)ldD(D}MUash>B^W0u@1iH(1-C0%Dj zo3Ost@3d^5vS$gGm*}ne!298iQ^WaHbB{eQQ#}*DXV0DxrfKK@b)S{?n71P}^I=N7 zedpcZQ`(NKULnI~SzwXP8t-Q@b91iLq=;WnQg*%ha`_M2zVl!Bqn@!Y+*+M*^Gr|w z`-e9oSSts(Om>(=TqVz-BI{xA1 z==#q;9c&h$F&J$18_Tv5^6Kel=ytJj`y%b%z`A&et9 zR#x!Rx?cF#Y~$Zx_Dk{Gj+vaDw#e)7hxWG%+^>7SW-sm9JexmC^oq^mf<^lr4b!Jo&2O98 z&=qc2T`u=$_W#6Ep7-}xvldTTFl$0N6ML`n_PnUC-;}EYExIM#BrL=OR=-DZx!|~WX;9nYNL&E&iTeighi&VW5oo{a)5oB( z-y!re!=8rvgq%ALZkLs2pU*$imy+vyVe?%H`!h%7HP8F)-!xaif^EYd0kb7%Hfncv zoz_#kzbnt1yVy$VCri1!rI11HeBOS~%WL$#7z!R;=eYgOyW(Sz@a8xBKXKmJrgLE8 z>EE+FEqLTs)$>Z4ZC-iNx>35}Z+`YSp9fdEj{S*Bx6a(~H_N^tL-m{cjSagQX1ZDU zSu?xN+O||fo?-c(z!#Cc41uTYj^#6yHqEkp?b>~lXWF5jg`0yPNuE{}^H;nYrDiFU zbZ1U}*9LjfvR`LAmtXyE^!tX>f9s`go8u1uig&M2yI#gRGe%3GY?kQKskU!hnV&>o zPPLrFvo7;o7`JGb^3`<(3@2Z#E?qHI&0RF~r!&9p6b%gq4#`(n)IRgqJeqq+Bkcd1 ziW~ca4!k*By($e`k$Z+$Q+)%x zr~lg4t2Wg5`S?DnKD~IG-1KYN7VGcsj8l3f$kWN+$8&j|nT?drT!9YfzfYW-yleRr zFP}Q?5m`MW{h3?Wg1PDmJPqr^pU!qY8@#*h>Vxat+y_*r$1J-4^~q#YqvuC<`zf@y z*x5#NEEE@ioAJ;<^6S=lD;{%w_@ck(QI^&JyVJWCA6#!z@W`(2=~9>M+g`u(E*o?1 z-F#SxfvrWtH^sikmvOSsid$tYf3x^SC#`sG_rXA$>lefK{QKuV)}LD2fBJ69*Ujhc zG$Ruu?)-b)CFW7S?pxLbsky}utzTrU&9DDxT(V+!>9qSHLhZ&AKV-{Jo3N3=;+edtjPKIxBR~2Z8i7Co7bm)>zxqxZSBjl&;Oz>1bu#0eQ&ah&Gk9E`wvdp z{7_4Wp)E7);Or}FgZuWLe)>>5deYy08tN0?)@w}pn8bYR@6(cduJ7%%X4_vX@5tNx zI9%lZj%{C>&VBoTMEB{<2?hz7=}+H0yq!{YZQf3%1+TNkL>c6nP3!iXy+3(Q-ulR~ znA`vlW*4Q*CtJPyj&Y{gZO^&ov-WOwUl&8o+v4k&PH;-^soY#3@vVMa|H7%!I+^$6 zQ$H70QeQL*{m z-npA!xmf7Lf1MHWCu!-IlL?uk49_p`ekJu{iE;eXpU>?7A2F+XvGTaNzLhKebXjaK`uk(-{TN6fWf$x!dtB*!^SS zl1Mv-n`#amfhm9NC!4*_^2+=F`r*$%M_Kbf$1v<`o{*oBb0p#4ymW0D-&eA^Q}%B- z@b8o;gZR^s$T+(#|6Ge1KgU_LGc59P5PWst>-eU>>valWm^>gjO&fORAs0o4n%MB*!=%QH4? zoHo;+?PE(|1W-HyXtJWcB|_D#}A@7Zu8Gboo87)fAvw{%^MgB-tz5=n{xA3 z!?V(aB=_b{_Rb?p-|k;Ytz58W;r*lc4(>BdG0Fe4KYr=Pwy52YGL(Gp%F5mPU;89} zcba2kvYNp0pJ7X;-3^`c)2iTJU@JF7vPR_WwV6c1vwii;SD_^!(y^ zy_SFGaXMJ!{NTD#|8DsMnH!N>^S5s7y?3ZZ!sFZ707b7G>U#TaK24qf_srWRigS9y zrYu_H7T}a9%=_uc|1{0V|Mk8+vi>f6ueC1voWM_MuVbKrod6oD7Wq0+P#xdjJh5XakCa>JM z_pUKx#Qsw4+ONOu!=~DE`EE84H0)1%cHv}E-S^A+^>dG<9a?4kca!)pZiWBzBPSeQ z`Ah0o%<}Vz8Qj*1&mF#;J+n|5h2F5>Ja+nv{qHw-h(qe;I)+~@zWcBLsD9`5=m(S2Y`s-_3^kkWcQFWT zZph8rs3dMNRV{{l20On~Fw^3YKmQf7p4_YaIraFLW5zN6wukR&pO@)2G5zo<^Z4ds zb)T2QtV(=W{SOr0_}Oqv!dFe|yj(;Y&rG-c!l{mR{~KNvr(d74^WnTp4AU4^*qPpu zO^N%XzcuLS{}q)>|Cjxn-GB2ezw)2IACBfP-K)OHJ|JVN!v^LJ|5+c^Z@u`U=~V&4 zj(LY!U+%bB%C}J5$tXA`H9*UhYpc&T@lO{vl{32m00or-*58AKCiRr-EDoV zH1qkEjrE@=uFiN+n!YCMGPj|{oNL>2bR>ejeH;s;j~E1HTQ^Q}zkkD4;^s zu`q-#`KvU!Z@2VY5#Jl<=4bgHk~f+;C-}ekxhbputv3#Ee7^Vdq~xN{-|fHa{C%%q zH>>TOP3qV98nvDkYYL7eFHmeL*wy&K?gmdzvDzy)c8;_C3(^)YUvX)}j{^r3oDOa& z`X^IxkdJ%kC)cmHo`uCQsCwVB=e{2RkE z2L%Q*t7TJ_{yk^&WET?L_3dzYl*N><{8rg*XIJ%=Jy};{=8}6(^Y)}XP6_+xEyi)4 z^1tKb6L`04T`&E={{52q|Np(4l(SFz|N3}~f7@mHJ6xHP8lSIA_G99k$S5B${n~sl z*Z94e!RMWun_amY62BB{mt5UC+5DCs%fxdlw>!H$Qo876{cnBXxBV)y^VKXmL#0oh z>|3aN_Q3+fYh_*+bDf{gyK8dozWdwP;ePl3J+;5*@%?>e+p&ui7N&f7e;~oF{_bk- zTlK<64KC?jd(gacyZP-41vb|2`l`)24OQ-E&+#ckR-@Jrgq= z|J?s1sFcTYAohgoRN1Ctd$)GB1H9WOo{igZMrXb9ir2px47EPYUY^;N^PWNUwU!gh zc6rC?0{S2RSBl&5wr^g!FrzWMbLopm-|GvGzOO#~b^h||W4|=+g+^&aJ)ZWN>07;^ zg67`$4OeT=9#d%9%g)Bvaa)a#slhG2U(b_4sJZ#~2N%=-ex^+xOVh5-*7TS$*YMrb z^A!!tIQ6-dV@l`w%?wHTEuOb&%hqh&wbl=hOkG%geb4-No_>LAb}sxPUm$<`|JLqr zf6sp5T_N^)RmuEns~gn`O37Z|_9&UmeRKHBrg^HI3`@?p+_gVp+pzSi*|DrgXY|j_ zOH+C|O@1+_;+y)dFK@m~pW5EXaa3%M*@BCoT*?{x3YRG2{Qvv;yDS%bPy43-ZkR_aXZH;=Oy>jnb;ME3f}k&3f|m|MOp& z&MREZa-7dEE}112Q#Ro+V*p>Z+U4!#jdcfGZ8I*{uvIn+F2CIJjKS%YpigvG`|jXW zqgl(p$)6Rx=(}gdNeOUVZWTUDIARv8W8oe=@($^l3YE{AKuXI;L#GB_>bpD<6KcaK4u+ za?qX`5*>SF!E%+guFo$$y~1O(tNicQ`AZJ23%j&znbDQ2?_yh$Z~k{>)w_H<|Exg5 zBlX!y*6hg&<_>0Z&CBjE7rfZ6@6GV$>x|0<4YLKT(+)g&r(k9n@>Qho=w3_NKl66^ zi(Ia6_y50C{>Oz$_aAq%zgzrz-G831X4g|C&z<#sBKtqT@b~$&fEzNrYA;^-ZJW@j zc=y%gB}!XEvaBpkwv^vwQi!Zo5xN%OY{u-DHKY3cjXH)u%m<5q?%DXiphoKT*`qs| zGhb<~UlJT&{%um+KgI>s=Kr3sn3>V(8;rqbU5-q zYO(H`;4^&J=3cW|v+;fOmb*R+MY-6vA5@gw7Bz87wC;VGLmFoqmT7pTdfl}Obn1MY zd}+=4*eeg$9E{jj9$)$O(uKY9HT`+}e#d95v1@;G^3VUiZ(G8v`&*>ii=D2BFPpG* zUgf-sQ(F466+M@gEe>CQeJ06EMeShRzwM%&2U7gcn@r;2|9sN?tytlqhb$kSwI9Be z`W$X|(hE!pvf`N}jdM6F-|2J3M)3a4O|fKzZuZZ=#$HMOs3g@ry-Qvi@w8TD$xb z-`N|p{v71CF_AkTcIooL!y+|yxf`1YBQUMIkR?0qGG=h7(rcRDHr?t66N($tWtgwJ%6ng_^bclowmV)t=?z$s^e3>WRxfw+x$7P zilZU)g?@dXz!|AD9^D1%YrI4@-{Im7b!1v`c~MIpL&&TL*S@rd1?za`M=go<5pk+I z%liD1o{7FTi~8b+C6jL5-s5axsCI0Brt`r|ug}b%x4lB*6w7jhi)XvS&O8hhaIEpW zT{SP_+ibadN&|?;oZIz(;-szjocd<3%k}X8+Xsu|KFs^B+w<=43peq*+C|QjHXU~UegCre zKi=13B^JTA|8>;#zZ7{V;L}=qzfxqah*)U<+0S3T2()?r->1TqaGqyZq@S-`hE=`RgWuhf~xG_Wk319vu3%=KarU^8c9c)?ClcOKw-? zne*w|zy2Pzuf4CCxC0Jr?oHosS}N)=Bd)hOJb7+i^YTv1<@Q3I$>RU&PR>0(ebXan z=f5YI?rF;C9{9LImt~sRh7kK2mP_HM#RGoSA8uN{Sop~T?t9k%zx;m^9lyN3_6NU- z(5eU{nbj}y;`}VSj~sFOSpVyyx`)+P%YgsC*jCGLV$oB&+}3(fL+-$pfL-g~FPp^G zaEWQ6+M&#(eKVKs{Pd%q@p(t&=lsg^ zshjJ*@8pkn-T%5)QGZvsjKbk>`?ucl{{8;;4!ifhUH|{rmp_c1+4MF(|7P96s4i*u zn=P@HwpZuBd;dS(pT!}Q@$ip@Hbxg$>#-%D`x>$BZNn4keC4L7P}9t2W$o_&mS5*A zU)BDxO?cZpi`D)Li>v+9A8F5W>l4|rV452L?(LGR$b4zwz?%-p4<-yf)KpY2*?XUVk$&u#fxv z?*3!bzPkx?-~OK#uvdTM%6k`QN^;-j7IpjHH8cOn%aE53uLyG9&(-@spWRtazAh$r z)1rHgt!r-|*6^7ZaBOqqjc=Pj%g(zwQBLAV=W?b6PWryT+h)wVlgsEZHO%OQpXlcs zCM#55`>x9Nke80P`*%Mge%|^Ek5fuG-#RR0zs_Cv=##fj$@%??YA@`G95LcLBL z_*Z@N|Mb`Y&2mkiFRKnd|6VazFgM}*>#PY1n`##Dv^SUCSZ3VMLoT=Z?C+dBWZHj^6Kl|kmj%a?7kd|EZ|MSxG zqW$kgxh+i1CLI4!UzvAi{*LdCtm~uq?zoVdbDC}X`{f+-&%LxaDm*d&J!$M zyqtMP{pl0I(mkqI_G)Esk~dD^I>X5=8q%*gGq5D&z_q-1z0* z+uPH6-s#HyKm4z}GUI<^Le`s{Ti@(U&o`$i%nI6|*I>4H>BKp=9E2x3@o?%_vW)CYf-eqCdHEUeQ-}FX9SiJw*S#U-;Mk&;Fa6{y)3NJSFKs``)@`l~Z3X$&bpPY=Q+ptGiJu#~j z`uJo25_h+GHfbylQ>O2gF4@rVbmlTqQ=RpDlUEd9QtI<^I3aan_L~bAoqp5@H{IyvhWJUst@6I+Cfq}!%GpNRbqH%=s9cQu;2eueO#|5oqIoR9vO zy~iozXKP;E_2*MrL#o++d7rqcFE-XPEvx^0fZd$i%IXqx&sW*icI_3atJiG)EVAOi z*z!Qb@+BqQ!k;r4-$fq|)?1##RT*phQo+Q6RsEgUQj<@cq|G_h=RNw*&Q~NYKL3i2 z8o%`gDUG;UypF~!^A0{V$ep&n?8ym(Q?7P~cdwgQ`fxH7{MsJ4bLqdU0-Z{;Tnb_r zG9K|e6JcU>@rsX?lgx77-bKk9|9<~{a<^iG=h@5u{#SpWZ4|Otv)}&cpM7kXu9xkK z`Tt|v+Z#33Pr4hkMEmbfdGqpTuBY0>^&Wq-Z%sXv=Xb`Ixo6X(1rd4k^FHu6ZJ7}` zcW;F7n>xpfXFCt}O-t+Dvm}|dIc=r-oSpB#XA6|Qk~UpxT9{E|nh^ zhr^!l`}T|euTJ{E)w-Vf+NS$l?KAHL3M%|<@wGg1UUu5$=PrTDhj(9M=ij$6<@#nN z(`B!pFBDpODe!-iq-~S&97~ror!AScGAJGF=g3H{>wjCH`MAFA@X_4zW^2JMjq_Sk zirU{_nY`)yqnoi>A|=_s+t~QSJbqfG{CQ%i$>3)2Bk}m}=Sx~Qp7D`6!=c2YyqYuW zc1zz9ch473-4Fg-ed%ZXf9p+)wq|XZ+~L;v?UmF0Nx6~f1$*N!1sqCDWI0^@wc-!& z>bGCk&SGG>b$j~(#y17C1ZUlGITXLGDQ`h)%8L!1WgQtt%LOW#{~kCvX?e2YJ-=yL zhdPg)d)wTv$rJza+s+wfRbIdR&XwsH@3>|^^={3TN4*PIAHUi;apJv6vzI)z54M(X z@IPVsmx=GnqRU6R3wTmZCaI}c9@$cCVsq{PmzbCD7%I3H?GB#uxZKwx>XF-i@w3=z$*h;`|PZ_%23`}$9N-z9pEj#t7d{@|s zBaYjpFIoPV=a}KsVsP=JlVR5zmPr{59-E5$jkve$Dp-?m`gT9tynPLO#U)qzEE2uu zByel?35NOdfA*RztN(S`-VL;cd#=wSjn@lT z?crRmdS6Ix&9@h3LMQTfL|WT@y`&)g?cTv}hTlDc1=e3#<2nD-v;JPid;8TYKRl>? z@-gb#6W5D(Y9_B(nHhB1dEvC1m5WnnFz6Wy-w~ewn|Hxn>FW{-`U?t0TMjcN-I(!J z#JEB9LCe{oQ1`#g*H|WtZm4(7m*>)nUYe61dy&QKV2F9jXOprgIh!?<6sCuTPdfPZ z_qS)SV~%h#>4%1P%jECBoskMMt}@MGm00dwg^sOS$;+!W7h0W)x$c^FZiQv<=Ghncu3XdeNk4Y|fx~+J zsaDaU(XvaorZ6__su8|Yzm++-=zc=@RNb<}GhQ&b@e4aie4U+Yru1;fg$sRa7cGh@ zTFiOuc>D1a3CBAlUH@FY=VVoWv8lm;aq420b<-B6m#viB_v~1yx3TNWDf?pn?cesA zRq2O{)TJG17ruRBO!HhYTWx~vOyg_Q{)!!RmHEo6r;)_rlwXd~S=yKjwrGxjGXV2)_mBTi9VcgpM8%2e(`x}I?z+P7$f*}PEIITqXc^@0wZnRZf{eW7UGo|U_PMO&A@3t7@| z;MZ5{vlWkaU%9i#ajsGZSFfN`eNgVc%lqt@b00j8WSy)q^+0(5Q}Z`QsoAVke5B{* zwm$#Hm@1OJ%VZ~uiGRVSu9Z1Y#lqHqlHc%E=(|JSja6JJMWJ^8*D?rRyRym9F8!<5 z)Ekl0B%>!Czj5hP+}f>g#X=Z4`z{7bxy@vK5qalQ?8>YgZl^Y$uZh}_Y1926Ty)pJ zw=3`6tK73;)wOHOToek#FCAIVyimKGrEO&pTS)D?>*ua7?9%>uen<1nwMjc`=VoQ^ zUuV5u;l=HFUKb+Q>rL-2c_OxF;`s&I;x)WxvCID6lWLiNQol&|_OCb3FFRBU?`0O? zdpNJEbp5g8Zh=wtrJL5jH!tB?tIFAs|M!=>Yx3pnskc(j$<5e5Ga(_aJ8bUH|9d1C zURd*T+6!$1j`RP;Oy>OZTeH7DW8?SF>tlb%inPWw3T(KxvTNcQy>G9l%ybq@bZVX9 zu;hT+!cAJ%HZxfpoljXdEwKL+(WX~BJ%6E>604v+FUutB@`LAgJ1ut#yKpZt&8V2o z>9xDU>5OYC2~sha4>eU+JUaO)|z@yn^i86=ezElq5WI6Wc>|)?_`-+Hpg9jWp$fhM{GRXs*sR! zX3rwQxt47&rk_qbc+sX$;ll}Q=EZR)W{I`TonOUk;CyWPW6N8K zZ(GIkHf_DwnzxoQY{SQ{j`z%JcfL&iWuKb%GoSb}K@4M3KMw??MZ+|aZ z_fBU|{m$x#4qTO6bgkodZi{&w*A`=URy13OqwHAFOtyEi3``m;!rLm(WtZkL9d*+B zrucFTyV<=hZOKozM2Du{WaxR&V|K2%s?_d^#ZM`-dnI<(_USb_{rsWU5_> zWO{IW$47e?=f^i+9oryvMrCc_qMFYYkLOmIK4U$1#z%4GX67$X&o6U#-@f+R(O=fq z>kmGwnI|Q^JJ#`W@X0K>%bR*EW%o+Vz5LLjD<$gT+dJ3p`9`eVd0fr7f5A5QkoUGz zFBJKi&7M*c6w0X>zF^bT;wlcOZiPL`#?NcYRwpn!w=ODQ^YOR+w)+47RAe8o)?i$b zm6_=m68?V4vuSRpmFI0xVt9A*amubAhtHq!aeDf;ZPg#Aw3084K`{kKXPM?|YUVQt z{dAi$E49~Pb;Y+66P*p7Zz;Rzv(C6<1rv9#tTEeyoZ>^TZWq3p(tj}4Kk{y|E1y-F zbg?gwyJvleKJE~#VC{}j4K{pZZ<;`eu?dS_V8{KIC{A?_eudU}rM%@;G9)wnX3 z3iilU%{=h(>Z@#?5{B!nADG@{F7Q}cpz%3W#!}kfK>3u*kIlE3VgvdV?$j{M{(tn! zhYxvGg6mva6|P*oD6oFT4eqb^C#=ph)T-N_H|xIlx9|TSWYlxiyB|Nj@REJMzy}=; zr|#hC3-;9aU2Qxe`R2&MdD*|KFO?ih+rQRfS~VAF$Ug&A+wHkTc+YZ5j+bGPQ|#@VLK*3BH5sTwnS z4U`^AR4IPR4yu!^6|8ftXY&?W_^-Zs#xJH7zr_P?R8}iY{#pO<;K9!1s8zRb-QzJj zcHO`&mAiFSbKmpzyE0vsC+&DG(cU*>bMmd?2@)=o7PM#1DS9TySoN=lb;6$dCH9L| z#kOwTcw_O2-}bM(m+!ALxjgN(5pQg4c+<`=g)UmJAAGs`H0{Nd<>wVd`JKNGtA2L(Zrysn{FA7@B;y0oH*elVWQun!-ph~_%fS9FN@U|2RsR!=+HW^C{?62M)L-~CKigWiXOTbCm&&PY zR^GJH_Y|G?(p_V>xW%#SUaiS8;tk0Otkzamys`fqG>@c4)z+%ZSohpEsAuQ+-oA3; z#JT!Qt3OT>VMw1__v_`q=Wg!$Ec`zoezgTe~ HDWM4fqxSqO diff --git a/apps/electron/build/icons/128x128@2x.png b/apps/electron/build/icons/128x128@2x.png index 9fe4117cf005e742408f5b528dd6ede657cdf8f9..be55e24812965d45a69591ec1a3dbf030c9ed567 100644 GIT binary patch literal 22479 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ⅆ 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 diff --git a/apps/electron/build/icons/32x32.png b/apps/electron/build/icons/32x32.png index 3c9a88098ae34b0b6c9f958fcfe3268b64644ebe..bc4fba44dfccd90642b4c9d738034aafe6b91d45 100644 GIT binary patch delta 2308 zcmaDZFhOX7O8s?D7srr_TWiBJb3(3*+I`pkoOZ9mtlCE6aj$EFx`3*{2BAY~JUiY9 zBq`)Q@(P?SvT~`f^ujG!PE*(vO z+BLOw4G|GjU)Hw7##hY|*H%A$z9hINZBMO3lj4y>4Q+eZEc$WAjQvS!|404!z26=! zS+vN%qWIgyB5}^U;s+e-m)v;%P3N!s*L$D-U%QsZR<&!UL}+fy%kKgu%wonFZuN{F zHg&$IB|o2d;H1^W-O}*(E0af&z@@ihvU3EcE16A}nDgz(mwlm6U-R9V8|fZqdGuB_ zgA5-FSGND$-wzJl>+iZVcV171g-U=XU&~{rD+wEdOja!Gl*rP1XuDWpZ_|YZH*+7i zS06c6Fz@Icw?7AEE?u6^;LEEcFejr=dtczp`gIq6iEFL5vC2KRI(yDF=_f2pW3H~V zEv>)1_i>=-qzf18{Dse^acVER=)*qmy@{F>^Q@VSAp(DKzt(UH#ErUAK$1>m$zmsF_gq`q)>K$Y~S9cuf65WXdkMBztQ; z=2SjlB5RHteg6Ww$(9xj@XGZ_QDm1$!A;-fu9y^XJ->&TAGI zIr=;_R=iwzwO2FE@T0G(D5tB#lzZ7S%3mgT$y=^n9CO2T$@_EpeV69+zdGmGu66hA zA$zv#N$S1dS8t!S=}Woe{ON9tZ(?-BHo7MV#>F?RimLA@?W^x)@@|*B9=%VQ*{goT zl{BN-!PBm;+y6GqHj9h1!=&`Tbe8;qThG&3z$D+oTeJkVUPgP`7JGIfL$;9@* zkV44P)=fRBKa|p%8Bf)pnzqd3-qV*2{NLVXEncLVYR|r;-B7Zyc9Mdte|(l;GtYVM zTDOA|7b~wD2y3`8+5h?}|H^jJ?06gQOK-j{IU2g;&6AbF4~lx#TKjww4DUFzx-Flw zG0Nfabg4@|0gizeIG*j8KUw17@sDhFfpt}z9wcOW9kdTS`AJnfsOtD4yZSW|ySS!l zc+G2T3i<2GEAuA9MA;;}5Y|2I5a6V(=axrA?= z^2h%34HJXeE*xLJIURW2>Y-5Jzh9xt!neWxYRKXAj2LFCIrZW%Ql(rM9*Whm*1zAp z>&^3m>s@;*zx>dR6HwFGbSSy!j?wA*9yz`TKDDxQYBOtvWuIyt_|uTdD*WJVcs=tU zS;H>(#T(vEwk=q;U3q5xp)UdlA1s<{dtkw;O@^L&I

Ws=IhCsf{~$<1*Vpm6clW z3O1eLd%piZ@0}J4y)}tSiDwcYu9@Wc*!J$+57(-rqx`>bQTI(=Quj~u+;r*Lh9PVh zQd;YKWbGf;EQ@n& zGZwtB(tfVvQBe2#o9~T34}V{{^OUbC1>P& z;umjjekN-Yy@t`rkn3N-s>ROD`=rHEpC97+@-OHvYensE`2`nm_o|*MVK~2h-T%6O zigh2Q69l#xsCB6#Sw>nWt$77|?Jm^ciIw!(C3_>R|M^$*d-p!ZO#A$LiH+p1g11$F zH&xiEsr22t@g>+GVTY&2q|;Z8{m#n^JM{98AM@S6_NGDUr}x3G znF0qcO32oKI-M+>YGU<3y-O%;oPUU`;jnGwYV=lzQ9z8@s9!^6njD z)~y#dV_94)UH|pg!?WDpags0N3^*3--dcI?>o09R-}_dAOzlP4+n2FVUsLxjXV=w> zYhT+3syvXs-SGOeYTv_%|F%~De?6R>{gUC`{pmsq9VaEWe>(O--|S!2?Psn_*WY=c zbcpxQiv2~UTUVW6-(L$A6b9(+RsPw+w*?L#{PX8WAm0H zr(ECQZk)n3llE&jxRxvymf%a|*7>k7<3s16lezY_xtFa)S#SQ9dy!S9;}IKu|5nM% zLqChp-TW-R%{F>p-RuyPyyp#3ya6SD0?wXWWm`Y zImz89pMN9b_m@SLwf6B29;cb_^RCX@s$)~~Vza%yS?RC#$ItA(?$bM~?7JebBz)eF z>*4mREd!=rS3mmpL~~Z^jt{dwb>%;wGA%ED_Vlg)7v>#z*W9Y7rt)Ed@b~RIug|fs t{g!&iddf=Uw0BjBHQ$!=7hnA^|0n#H{}aR1nG6gJ44$rjF6*2UngFFKa9scZ delta 2138 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 literal 5375 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE1*a^WJ@b_xGIT{mAu8?qA$m_}ESI)k{nBO;umlZv6JG@BUS*Bk6w+RJglWt4`bz z(|Wl4q({zL712*qUM;WrCuwN5E!ESeZpZfR+yDIMYB0^d#=_s*x9-B)we{!IW@v)@6P1s`s_S7n&^?wx9$Q6;ylQoV9cwP8=Wu|$&R^r~5H%nn=3q8g{0h;r*kJ^iFCxb&X9 zb&<+nYt{voPfxixc5vU#_@XDs6W2Cd^-Npkk%5glG0{W?SL4)5rF%;?-+T zQbFRaN}U%CC(V@cY&giEQRBxh$&($U%@DWkL8pg{L$%7g&ECr|@87`Hnttl<-*)?8 zhC{Nlr$e(}&rdF_S8G~$esh-gb;H@oYoFf!#9gPX`F2%FE_aQ*(p`b0X~FU@KZliP zYi5fxUlqS8(<#_+aKVmwj7~Qh`2IhMsOp*a#e{PPyXa|^ZdEqR#YH=1FBQu1KmEKu z-G7e6&kzQWFJDZiFS@9|GT}phs!Elmigf6@*IC{-0?w`4vbRv^@Uevbp_%Nump)p& z^q5g`coPeM_{y3k({$g?D^C0|$75;bWtG#S$xf?U%%_*MKkz(r>Zh?)IK%P=2SzTr zz5Y)&o$o05wUT#rnC!iMwYz_BWZ3cbTJ+lI_bQTGvod!wvy^sExRx|cKV*i>&XB-^ z4gu{=6JkQo>Yg^cZyeO^>T!Hgz+;EAwofynE5V5)@TG z@Llagd*7kfHb%B))?S5-79GRPjy+nU=x|isTTN{N{E=O*z;I~nHWO(VJLSCMu!G&oxjU4MY^_-t%*QM~IUa@&Px zyPtF(blm%G&$^oovqT&AB{y$*cu6m;{-CzUa!(m)1uN5}6TzF08D{!rv_1|!`{GIm z^ZFD{MVZi*Z`dUIb-(VZpWR{hwv%0Dx=!Y)?OXOFw<^z#+v&0{eVhHeeGjG|JadUJ z*hzbq2!Gujc&SDe4=iB`b9E5L+(0nauemw+m)hXEUtWk;fdlt?lgu z!EF-hMcZ;&v~{Y5FF4$F*~lR6cg$2d_W853tZB=qO>?`Sr#@NnRnGSGUz4A0EmfX= z$o{C@lK;v_CLC624=z|3v01d^1J~Q7-JbL17M@y|Y>=4!Rb_{;eMQvq1!}Qfv0`Rf zn!b$zGalSO$@(cTc+#G4W)q|*l+HC_ZTj~&{itNyTld=Eub3h>>|9y9@BGU)i)O1po zkJOU0;xneQCK>-I-7mgpr*_Sx`8y>F(*9ZL_r3@!-8S*+H7l7r1)V8!!Efpkk15G$ zaa&*bTo)g|=NL;$@MZB%=9z^i9g?+w(oDkzvt+t&)_uRgAskhHGPO5PC+6_Mq$d6& zXWq};v1sMujWWKMqEjc#<$tjBwbiEGmuIYRb5}_GsC!ssgR{YF3A;(N?r;=+T5u(F z|LHaSYfcD<>SQr$h?W#@x;vfg@x1t*70iFXmj7Sq)-(A@=AG5+D$nnkS84z0vAevJ zjKa#eV-sKUoctE1bVM^On_H9PT-pZ~MWe+Pc9S`;WH8K2@tx6d;gma?SG36ioTj&pEq%v z{Bp*vwXZ(vE^VAq-``x-q%Ekev9111C(H9&x88JK7uv8UiebXi+is5@pX6!ZVN!ch z^+vtPqtpMc>&Cl2kKa`1c&Yx^N%a?NH#***s&LXX#C^8eO*P?6l_p!xSsa-&!?i9y zX81HG@!W3R)m|pXZsnrwZ}-=|RCeC|<&n3hQ2+0HfA-ydf9dn>dHS!mZ8N(cFDJS5 zz$4e*$96|=*uHn4{Us*EvCwkQoK=kLs%M18hwcyR{kitp|z#eQ!5@7k$S`||Yl zA93|r6*J8Kzu`O;>ZRHBvu}37f7cuJrngPJdXl`ap6{y`4c;WMij5(qY9{BWWNX6; z-=_^WCWdkKCQ1qU)7Qni>&~6K&wRtrhwLl#=RaH%!hYs_Bo zmSKPEk`U9p3!8NO=YRD75kD*FipX#Om(!LV`xQHXnRMQ-W$%yj%UL=#FK^G3WIYkJ zZINT>mnX9-o?40o__s1$ZOK@6R{6=?E%m~#RgdpaJ+@a`f5FuWk1MB2F??8l>W8t< zw&TwfmRT_#KO1atx>5TMnKQ(mo_=}RZnLDlVym;0loTGVeqW&fH|2Qu=DdAb z|3Ca+9p<+#xOgg8LdM}-x5Kh~$}e@faBXc2(E7TIA#$U-K!Nlj7MCieB`RD|heEPn z7uBln`gQBISX|EAH&(Cr{;j^hTz7r`;(s6RsN_8Tygc#$+R0Lk3>=0G;S+iehQ}=F z@M2r4^K5w$LrlEiO5?KkAH^*t9^GI4vHosOiQ?{k-PbRxm*(F8r}g(Uw|{W`g;mST z9-KHLx&E;tU*HO*jR`+RZ?5A#`0pF{>hS4VCI_~?&53-i7~*fmS$3=?@j)WPjepUv zH`jNzuZi5*RkU)-&vcWMH>S<_BYA#N+p}l8%>I8`zwOer?eU9iO8)5tHN9PX^lnks z)|=8+sq-`~Mco*$w)|M9m2-F3)@@2#lqQ~#3;1PmWzS?&#;JZz2gM^Q_PvpB4XUa= zpI23VUvAT;)-BiX%rLQRwVTXf>bj`p`Te_|o!72ezW;ir{xAFAKL_6JGRxNsX?gQG z?0U(ps~bIL#W+ijaUPu8YuQ`p~9hTRb|Ex%vSih6r-W{#<{ zi@}jYDM2o+FSl;iathsXtcl^J1skJ-EaDp-e;V0 z>T<9uOYW|ZyJiO@+RZ*|ym;}Jm-BYNyxaUcXqVf-B zMN*gcZ_d81m+r>UCvR`JOnd6wNsArcohW+I@NAym)IZDzT%^{iuIIL@PMcEq|Dy7j zX7=}szZ)sX%ss2G@^8EMv47_qdW&`zGu>7B@!x^@mssj`mVg&J`(vV)=X@=*Pa z*j|f>hUF;>O(aFGF73NBGc#+|NsYjpOK0z|Q@(jQ>Gxsw@0XXczgrrs?0i)&K}YLV z=7u@B|2twP{`dEif3s{dXuI`+r?v-RAW8(tQo5 ze;!^uNBG97pkMceFYh{@&UnC?J?!XT|IC>|lhg(NMHz5vKVPi(aEG%9m+!>7iFtdT zS#i0Zf0O%L`}T|K{`_VCPDy@tI;`s2+j*?@$^WwQ@aG}x9x`|=>PfpYfA@)b)2AmV z_s@x4HUDGVVgAFiqOLk}Pd4qy-gR)@#?`;LK5y8j$+BZzHK*63^d9$)IWOZ%*=joR^sDphHU|AXIZZcu&M%V%U9Y|?xU(xN#4JpexZ);o_^@|z z+>H%>^FIDRz2Ktow*M!d$zNQ&exHY>A@jmbouyk`Yx3p(+GTs5PicDd?ykGiT;<)W zo?K7XZe|rPc3r%fvcQyV+m^DJG@{eIQ2(EBZN$`$c@f{c3AdpW?GDAMPl)DpxsvJO9#( z<3jC!=1**Fo@R?q^FRCE)>gSrPo2B9zUK2;^KNdYhV>O2f7HJC>h8E?LrkFCUPg-u z760BdH~!Dx@c-ySjkj-YBYNLG+kNAI`IevG|9h0Ko#(nl@$IMG)jiXqZ09cVoA>Ng z|B{?%8RaX6pH1G_Z)^Cm-zKEybL`|7EaK&}RtD#PSaNAy_z{8Y zvNQDUOyAo+>&@)=cd6&t%uGg0L*Jyj?E>}Ds#9ifWH|iJ*Ym&GnQ!+6uI{@W?{}5W zF6+Uz`FmG1rxYvysbB9|S*o^oW5tgT(qHeU_i0~ZX5RevbL6e6sGyj+lB=F^Oj>TX zu+Qq|g{RVtUq1dl_CHP4y39#SDJ@aRrEL4;;w|@6YLsTz9WuNKf6jzh@)& zQ!~H3Ig|G8n0-h2?~^4D>o(u~?>VK*{O#@S>pyie2*mE%!u@v>xB9P^Vy~rE6C(ri zSR<8>Me%>xl=6Cpw9e-{3oexkEGzwD!MVfgoKB^IFmKN!Ym*q>vQ0Oyi=`Uhmw5a3 z><_g|kvHuHe|K$oGo$F#RmT^S4iA=b_RF3uVEOE_>*8a6I?9H_cUJB-aPXyVq?YUFM>Dvc^kM|@~1xzPQGk< z;EX`xjRS`?_PDHDFq5P50n^ELOP0jMZSu$Cb68Zk(jMx*JH(M)()Odi?6>*i&wpod zzOzkxR%e^nvCVW=iqG;1Q`wvqZLKz~HJ<$QSx(`{`HNX868!V z)I9z8&4od!Q$6#YHx#D-JkrTu87(U-8{V^R`+a?Bp?X%o4S@|x{Eu0< zU|qtpleeR8w%z=4xh(_M5vyJ2j?XTeZ2V`LNBj_lq*DoqpaaKmGf= z{muzH7w1b z|GBtq$F=q=A%&H^30yt}(Kb=%gYVucj;QntTyLSSWM`G>_8^z7!+)YUNC9$(v)Q8@cCyMHFM@1&V2k>P&SG$YKzxY z7rXD?8Fy^wFS+uZh2hnIrd^Kr4{)Bl`{C(#liuFk-xlp+x2NmAmf&Uk@1!#6zGMHs z=FD)z4f7@kYEM(uNtr3bUhpkaIlS@lae|q>~epeft%m$t{0#^%mE%^NG#qDWw*K6ON zP%lvU^!?kHA4jfUxO+D$FJlMS;WOb5uk7RRU;gZ8d;E^w%h&%ILg!7ma(36<`wR>W N44$rjF6*2UngC?knzjG{ diff --git a/apps/electron/build/icons/icon.icns b/apps/electron/build/icons/icon.icns index 7ea0993357c16bbe60add2f9cfa59ae74c78e4b0..7f3b5918284138bd07f143d54075ac99c7672c68 100644 GIT binary patch literal 257363 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

6na!x-Rr&RM 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%0DmIOx^zqyD(rQ;DO+ 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 z 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%0ARVZs0N-@nw~Km6O$u~O%s@0t4#&F_2Y{EJq5 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 Y_epzy)r(*MZ_Ql8t0R5b3;Cc!0D_}#AOHXW diff --git a/apps/electron/build/icons/icon.png b/apps/electron/build/icons/icon.png index 8e56359cef01a9d41cf285ccfb3aac8f983711f9..dad3edbb7b050f4aa35552d6b23f60344238aa05 100644 GIT binary patch literal 41711 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 P0|SGntDnm{r-UW|U4bl% literal 39230 zcmeAS@N?(olHy`uVBq!ia0y~yU}6Aa4mJh`hA$OYelal2Wc74$45_&FW^eX{nD3?P zW$)(BJGjTNg84|Zg32r*Pmd|7-Zd+7s(b^dofb8cUb$kD{e)?oPfb@@q~#U5O{?$e zn&97wb31O`<=51_H({&l)ZkC=CPiL9b>4J}kZO>bZh(m9M_wk0gby9P=IX8elx3=<2JVey|IJbg?|fomlWDLN>un*HUqb=e>DZ%2;&-??$;&np+6JZW|g z4!#l*St;qx-l$O@VZp-TvUO3}hX>7mi$7ZY|JZ34zv;yK^tTTmuFpSrZr(9LXN3R; z1%ZyHV=oRiAKz~A(t6rg7Rz&m&Fn`qPj8z)OG36b@8g-7t}>o1Osot{jT#O-vKAjW z?mzLj===O)+wA%d!2_M1$CxDk-QU=pQQG?AS7}jL*e^fU9TF93*?I3o`gE8YnHU-! zo@~5bK1biurT^QjZ@Qk}jCXgaS^m6jTX7&d+9ilZCr&xNc=Pe#!&Zmyf4y?##tq{c zTnYjp-@6<$toiWZ@tv36+y5t=&#TXxl~J|p=G)iDdZo{s4Z{kq>^@_$dc&-XXKT_z`&m-Ksg#hG~T1FyZg8jiY7H-2#C zwQUyT>&VL7b7yUvH@7-0U~o_n5Sd-`{^Gp5`x1U#dg=YiUpYlfA*M04jpN$2s@kJU z;!OV6bzZ-Qd8s9Hd;Q~MkLP5~f8+ULa^8LAFISC9zKK10ur>Q^(t__H52lDPPY_lD zd!L1O+WWxZUEf{KOP5!rZ@w)rz4*qlUusVdI4Z_4HnOvw;7l}Xfw*Bw`nAWWzVA7b zfBR#}+e7cfr`ezWd+TybOP!rhn*fIh0|$%Jnn-_{jWv5`PN{zUZ7yf?0WM+Tk9(dc zOjhh%4l`y|^0mwU`@~bOIV-yTiF@?E@#16=sl6MjXL6lzao}pQuwa`v$KXIp#)(by zmLTs)VV^=77G`UZd2|`R?4v&7NI4b&WRn+4)yj2TVL~C7itQQ6&H26b`UMrrcYje)ghO`R{Z4Y@hh} z?zp?}8}p)lSLbl)=zN>U^+w`p=TV={4V~PpByx4w z^CzFkE7&w{SigS9``M=qC3MtVP6~i?%Yrv&sxD1=-`hXY_~ed%FZjM^ul;_myrb^@ zZr#1?o`)5?mka3?Znz(!;CIgXg2)n8^*IvK)oj6x;B+i#)y6MZQ?sB(-|vsL$G+#M zSk+e^bZs-fqG|NTd;0Akdy2mpSpNQ=`Z?g@L}4#Qf#oMJoXU!~R6Gdv*^#Vk#&-9v z99gb<|FPeG#k+O$l@8Z^=PAE`Ht)vH&wNFXq;|K@<4RFb=P{6MngdM&8b9NN(rlY2 ziS?h0eR=Ok%lg~zBN_I56icsDH~n+}h2!H>oZ_=%8smZ)HJ90xx>yxC&EQcCV0a*) zATTS|CigG<}CGTn_wddD@tUwp z%;T2pZ@$gEkv_BZVCBL8zRQ`eJz}t2ID^O6|G2vP6s7~8#Tp<1>1go!ldMuNV$D8ez23uD$$lt#5q{T?| zLr1fLq!Xy{S@9#yc3ztOx;%TepK(u^9=t7|?YWx$Uw&?pcT{z6KLlGWhEUO%~p^N0MzOPod)nohL1zQo@DplkK;C^){xPAZ}!{>N=joL0zKbkLyL_-w$jDR*0v zXCAN)Qs^w%Jb#XWnls2emelNP$|u9+{_QS%8n;jUC)=~aeX0Tte`Z>jOjp(K%vvp1 zD_S_AZJ*f_xyQ%m&CFTO6nO#^El*e>5%0M1^!H1KuRR_2iJP|RofBM}|HU_F$o`a5-{>}NUDdQ1 zU+-j;{r<~Q8+bA=h~ebMj!)HWYoCZ(KGaj=@9Rs`SKqVi!taPvAr4)QGfQ?TLn3~` zZU5VA)YU)jT@bo!Tgk6atJqI`KP2WH%Nn4=Y4GBQn6ID4@fkwql9MW=z%kL0HS_D2 z$?uQmUR$hufAYjqr!?Cr^Tmgi>(stP>f{%9)_Sf{;`6#tsOBJRsp!ut_4x73xbAO8 zr#Z!grU@TP;b>%Ha15RDo^|HeC93x)=f!i>&S{V+I}vj1ncktuSm}m9_YiXyQ3vbg z)ke>gnSzxjDjqEe>nmxATOIpPnwQuNegk}V%5**$52 z7&ztJ8ufQ;^IRvs_bi%fSRd4x8o;O$-0#eO!m@Bqzx)5D)4M79oB}`Tf_v4tX2+H+OZ>)LVIZr%hPMYn!n)g-nRf0r*#>uSiXy#Jz`<8cU`jh;G z;GB=ox1KvYN%c3|FT>}TXM{X)^xLuTo}r|dx8IHR&^TQbkY*b?<-O;nH;LDTrMKCg z*zd6GZ?erj`@-4PHcJ1!bmkW;GR@@rqLuQn>W|q z;Y?0A$1ZB4qn^{Tq+pR#k(2CX#f@@pa|9Zh7z9n*_~oWd-QB+|=~}SJPq})(?YHGs z?$4glvn)^G=e#uw-kJ;9pSZiv;Af?v|Fy);RR?D6zB1WjM%SDP%b9#1C44J7^eiO7 zQr0qY0=KeH8>ktxarW0E58al}exqdsha9jY+1U!r%3sj9Y}$e&aKnlt0rCxX81Yp!M$x0ezKkXKBGp$^X`V4 zz55q6_HR8r$zuD9s_(Yn=chcm|Kmjar@sw?>lpl5?<6gFUpTwRO-83_&V=>FH=j>X zwp4_;X-WFE$*nd0*8hBV|2271?byXO@xAN~_ujw1XSF{|&lfnWZ^F&s_m5YPiRetT1&bd1ube9U zZLeDJ1mP%~uZ4ewRU~c|R?Tt#Z6waPXjw#r&oYfysYWWnJL^Cxb|Hg9z{@jLw;sRQ z5pg1Q;`^f;=V&isl+{ov5)VZG1R^${t>HpR+xxWYWClvpA z(XdyL=j)lc96#2)HOrNuwJIyaB8^YBieHu{f=jr(`v;os41dlm`Tbh@wh6Q(Ke)ZV?KjD7ix00U4hmB5rU$jcPNrYGF{$#&+tA8Df zpBg>XW7i zkta9<85E2ry|;{x?q{F%)kQLW^0F}5Pqwer?|0v^oF?&~UsZjI(}L@AO%`GwSspy{ zwN&&kR8#AH(qi>v|3y;~X5(>D;WFR)+x;`|M2P;e53@{^IrGzT$BuNPC7S9c2mkl3tKO;JYM|j7 z7zK@@kOOPdFRY3@@!cbQpZHFOijPanCaq@rC!fWCP{A@W$8=eEfYij+<#$FAea=pYtlYYr-P%&NrZvJ_otlc z(rSN|eJ(01cCVaN<8Q%t=+S%2Pr1K7&OY^Bsl2r3W7UnqsUQDaJZ;%{$62b#slA)G zy|cNbRyFL;{TUV-MTfeJ_bz8DJk7cH>RIL|E#E$TxSnX#!o+Y<_kMD_o!=(^FH_%F z@~_o8`Tg4UlR}4rFMZlu*VWeXY43@n546{B<;*|u-`S5fMe*VSTb4lak1QWko;?3_ zeFtk<&yW3uh7-2UDL5d)tLCi1Ah0XVHt>VD@Y<@YPpbb~@Xf1P-!5PO>iTi+`ujHd z2mU{vEX;SyS)kSOy)Wyp+i!$qZ5&G86ihbpjucF*)KU;=^kKa;L744rTEZm-pSA#o zkn?Mn&#%$X+dOa4iSO5TMn^}<>D>3;6rAidzvt)UN$(l|pZ_VxBzgM#B;hKFN|~ZV zb~`M5H}AYKG5W`>$FFlUG&Uzs>;yH;G#EJ2Y(G|?pYF3yTsqA9#lp!8YWRQDJ3eVy zck;rU1j|H`o|*u5oz}PeY;7cO`1ihC`DUGIrCZFdTTgs+^n*z6 z=C@Zm%mY{9j1H+LuRVkJsk>}j$#mlTq`CvkbnY|%i@#*ca%j%{d3|jY+3#*{=Qn-W zcz5@vxm+Dz3nt7dNDGfrb6z*6pg8ZHWXw_xh9dE;&Fu0|mi)K)I{E$4%xl6b_dl=7 zu5-AWZyQzj^PYlz-Ng5vkNgX+YJaFd!704)=G6JsFB-JvbKXcS^yzHQJk9xgvL+}6 zEO1D(-Ds4>zJ6Be@n<^oi=WL-_6hHvW3=*YQOkwxh7tS3uda)bn-=#-{=xD2Q$Zo- z`CWi#lCay{SF9h)p4i>fJ~z2~^Io%5DTUxh$D%_PQ@xvg+7#4X7$=zjj8jUpWqw+n zV|A!A-sWWM`SkNfb=&VfVX$b=FFaW{;l1daUrhhv@7S^w%{{HH<0hw~J|*d~*gUQe zd+$m}wn1V|LqE+n^W^s@&-=HZsoKTi{B3voEPg>xx$XP)0}sv5zNUQp`=lxFw|=HDMmMLS;_A^e9o8iI#qj#Jy`1?t)yV;#cyFOXC$Z*2SlL5DioMv);FkYcQ zQwWsGg$!SRJds^k^1Jbq?Y_Wc7B9JH+b6K^+`8exJ2`)*|K(?^mfRK(il6jpFQW{* z`NQRJj`RPKPt;Mb`JN+uzJ1Py{c{YoLXt9!SS%H}7`jyMcip0P#uUCpJp{Vz7x zzx}-Vtfo`UkNT)jdmUxkd%)i6IsfqfU*~k0bHTfh7<^j5_hVYK?;{0hl6rWi>d}<< ztf8wm=}qb8aqp;Al;bLV_-EVS@9QM}nw)Wg|tMY7S6BL`QV;?zCyJuEE7-t z9T)P)K472taTXPiS63#ze|oZC{)hdcA2N2|=buo1X&J;&@qL29^Q9a=ZoWRdXu+u> zr-_1Hual&ToGjJmZD;UlTNTZ~GVAM(oU5Hb&Q!4_maeN=zqMAsPgqLmfBxz3zh-__ z(Y-(Ue*CfDsuSKb{&&BTzuD!(^7W?wi=N9qsrhv9-uJm849nvch4L9Sc^+-M!~3ei z)>6^`rjfa%SFqoTM5C0eS?8z3`elT6UI;Ir;~r%Enp5+Bca5^-ga1*V_O6)gG2w0| z=hNx~{{@}T@4sCu0;@7sJ>mvBrtdEo2QlsjgnPg-~cO?Z|`cAn%+P5u1I>r>Go1&+x}TVe!k zqC+efhO+&fw|VQ=iUpDWQ+$inKH2)M=u}>`BY?^(L|s)q?D)S_ZbV{kODV%-HgzrP54tQ&-Y8cS?$?!KXoeMXB;cod!M@gAJyN$isqR~w|+Y6@Cxn(+RsmF}gN z(XY*CUE4F^{ZzX(y3dOCd?;u6BmblRQm{+7t$~N1gruEJ#)`@EmJ4%KpKLw5@&spd zALnGY%?6U2jLcuZR0kJl$3N}$+y4H;x4l=N9SzD4cynAOz=mAH5Mtg#!T6Ca>7(^aQCjcBPV$B**yEc z?_CP_H^*e(dwS12QRcXc$Em|Dc9Nf+_f1cHt|1$FdJX3f`w#!GEN5zd(o$G*n011% zk!Sy!{l5$AyT9yMevwhlIr9YP+AX{Oo^^ZtedYWbeZS4~7M=Y5MCrx$T7ABsar?c5 zKkcni?U(=dh548 zuukybkJI>FZ_Gn0zI>OrB8e7T(<2w`MpK<)?=6B zYWJlRqMoSL{P_4>E9UJc_MaUyg(lS-9`^p%^k3ZI=kD|DiErQUp8q2J-Fr>-l9_Ke z1*_zk>zscS_GnAh$Bj!AtKRSVy(zlr5SuW2aQE!Bi`u1++-iSc6yM7|eMQ|fo!q&z z-^#Ez2CP5vx~POH^@3rdla2Z6_|(t4zk94{?+#-qU_JcVKwWb4JV%#pdro}+aqz(= z|IL%$b1ppZ{YT-;Q+>U-S2hvf-W~g>q4DoN-?Y6`6=OJ>Dg1V!8GeymQKZq<+t`(?4aH82RVpj{4^%Tnxu=-u(A@Vf3Ym?>)EYhdS&t zKhZD$X|Geu)*CZlSyq30&>-?r=3Hr)g;mXpko~i*&+hoX_}%HL!d;P5H?<$gwb~(^ zSAJNpCeuUai&et;0C%f|_d7NJi>BMx-TV}}rQ;<5;6Mrg-N&}$?f!kl|I4^^UfEAtq|C+)5cMC zl2f_-@TaZ6zwOjtJ-y`IT(>>5U@pU#nsc9PwbnnZez)w`8`WD?kA1Ur zG+Ou6q}92q1^oJa#OEPbgBat4Tjv5gPkcWnvRQ6<)u+8;J2xI&A}a8UV zTa%x=b^G2W>h~uL%b97izg_e!+2QqT-J<(-D)mhN`WgPs=PaC%+W#(OLHnEycX{J? z3ayi#wqA6T;{G*p=Usl9AA5SYSTM*h!*JXB+ke0Rm9$=-F~hU@UC4tom8V6NP{6N}PD{?JUFT!d~0Y z>w70O#a*(z$#O!!Tub3L=T3zSv$#%t=RNfQtVRCZl?;>jzh0BE!Z`nsGT$$bDMd1U zvfL*w&0YE6)URC!UM}YfX83SpQFC-pFMD4?jVJ#n+ojfbPOrC(VbOei^lPaI1Ir(I z#{>UAd&vBmI&IE|<8n;mr{>J&KHq(5qVTETAHBW(R@`80pUd#&jI5ISp9gQ>tuFky z$y)TqG-0-&tL@oYdRB2dLJO1_dDeWn@J`Ib+Ic)_X4!j&m^m>tEpWv0kp#S~BX^vw0RX*g=CGI}YDhQ|D>^Kl|SM_HVoO zCkp5NdHz25@vWrg5t1Q)Gz=W?1RaQ4C3HYxPjYs!r25+vDnHfr?tkW}t$kYU^W(w% z_kBN)|MvIM5sh|YbU5%|@W6j=74&!J^{J zG(Sdxiix}{dB57WYBBVvG;lTFliYM#{l2tH@{^1EdVWe*n-)HJnhFl0iRyptxftH= zQ8+n0J{RQNDna(i(}X{rpDxR=E}u)BcjCwT<|8jo^EQ9-Y6?0KwN9nMT(suyrpuGx zpX68;zFoe(=6#j-=KJ3J)PwobnylC>&*ZPl2-v})!2rn((_{QzoP4q91m|wq;JyEg z7!yuz$C+ihosqC*DfGdy4I{=P$h^?Bo8&$R88ABDfw*!&~k z`q+$Gr)bNozxN*JdbDLp!`3?<410y=?5N3KyFJoh=F{HBXpZPlww`|kMR~7Xtt|P^ z@<)DRq2Tvpw_p6bJV}`A`Xcc{13t@z)=OhQo#bp?sjokqv(Z^SFV*vY;Pi{~%dHlO zf7i{`OwctKa=3p|viJHLcdKW0pKNy)l)d$G+xJ}X*RH44fy_Vb8UMSd)bZ)ZvHY7a zY?)ZSGD^a7VY<TkKoM=~(c>OponIslltQi{GWcyf|T*D(jl3ZcHoG zGL|cR+FMumhxtkMMwSntOnt&;TDT$O2`@hl*8>Y|S>(!3FWD%)q4WIN%f-|0PXBu8 zw2i2R-`24q1$Z!bq|BkB&KUc%8WTCRgaa`ZtQ#DT=af95y*SKegbp4}y^@!|iMw@YaPGOH@1AZz?NlF^AZV;&Fu*db2c1gb2hL4QEno}CKm8H zX@X>cQ_z8^Je3A5!6Xfz_IE#a*CtlGO?}V%>G5>Gc#hgkeHEsE{s;aG&YXW(JG|ll z^Qjg${QV>fweOo*D&9Z-b|u5_<39>&*K!{4Tcxelt^-K~qM9xe!V2ELSLOxFw<>($ zz2Wpit!De<`6u6bvH$Z=J@kJegTjOV9WGB=)-AbUD)~xTok#oUwwp{_V z)10~wIV$E_XtPMIUj6rJ%U^|f)o{!1Zp9D=>+01HOr|h|O-}fqGcT0k`xmQ#M!{(z z*R2}D9FD&$(Pp*z87E<1$MmmX;Q=V)1a1hJ!Zi8+<9hGj%Cyh_U#Ob>sl0mhv+bh= zr~kYUXIOFT&(*CRWd~+g*|8eB>rQQ!{cOR>a*|v@|$g7;W0%om`PLQh@ruiuUBT-?Ks+Y zv&B|SpTXLZ&p~5lld+A^v$J2ictz6_^`9+LsekZawex28i+`Ly?3Es;zwEbu{Qn{U z-IxFCdw%oR|5_@AF^O&I@IFpwKi=sZcyRo-28}dzX^#iG>?J$8LYNjX^+I zVR8Nr!9wl_VX^*<1jx1b37Kl_sE_e=>dPAJ+o%~N8{iP`Dp`I$kdf6hCL zTqLeS>!~9tAd;}lava*7(6fMb{6&g-+XYQ zv0>lr9UU9@HF7e5ib0v_>scQC_vJ{~@_G7f=_pT|9+3;PZh8tzy?y*she0VrMD{e- z)xWPFDCd6P&!ow);J^BV{~Qngcf82VoH>7~?y`Rhf9~7fS7VKH(Ny>v(cv!jn?WMW ze%^J?hKq6y28)H0ITvVcJhAw!KG>~H|N1?2Zai>j|8IWIUvNpowGKs=1%4-v=FR`~ zg5`yUb?|1!Yf~AtTAL;}ELCFs@BU@iLDqdcm;GodR?po3FKx?h?{&=rSu=0sz30*j zZ1_K2;oQ8-hyGt(f3xbftkF#_jUb2W|M#9KFx1=aRiDnmh1;lJ`EUkRUIo6pbtKJovZ`swxEew)^or7$kmDdj4hwfoKNGr8QA`wAvLc*A^W z^6H3)D~JC7wrl_WR6JE%L3J%t$Ii;Nsk@jJ_>$&XF-n-^2Han+Ai(h9e^T377v`c0k}dPZ%G zELH}0*$*ey`v?Dzdi)cAcB`uX z<+uHR>i>AlOkr}l!+L{D{M}oo2fvK?3`B+he-~wtYO{M6^ z^f3oH{F(2gexl90w&r{l^HqkUJ}f@hI4_h4PEce?kj&7V+xs;sb_@4)gMa#$e$Lu| z?cG2Bd)4*dl51VmKK8EvcmB({)%LmnT0hoT-Oshq2=V#5e{CL%$%N;o>y{pW-ua4c zMh@cw=QG`xW?J)pUbRBw@&Bu$A`Br*KGrY)UH@Wp|HFm=)154DFYa$y!SF!B!}ZAj z?GqU;zdFUM_;E#EL)kO+=V>gG35NsgCNC_C-7-&C<-`A^8GpBY`S-hD<|)&IVhat? z?x{;ve;wBU=l5LR?w@zU|6tB9{}qLbRjd<4h4fWe5+eECe%$+Dc0e_Xndi^`1lES6 zcg^qi&-!>JeBTo>#wTyNc6?uKp`m)j5LfpZyN}5@w5n_WqOqc}To4KuhfW-;d@oFXL~se%Nl;+U#`n*#F+C3|>Kf zI;`&CQoRn9o4^jJbe~a~YC$s6_*3Au+dKdlqB%^^Y!y*BO_UxxOnHm1< zmpB<;VCV6lW0HN-lm1iP|9`77SPAVl2s)s#^L%07^JNS(EbD68E?tRh@7%MRq2a%H z|DX1E^A&zN2XKD3i2Kyg}dY5)29pV}4*EGOlgyjK3-?&QR9 ztg}L`MtGy>K^~23Obz0~EzcO1JY>pX5*7GR-_rKw{eg?g78)S+Mcx0e+m(b{y_ZyM zk5q2EFU`J0u$(bLvWnrz_mFMe^?RBA>(Bebf6Sicq`cDgAN48U?YYvUrkijY{Fh;v zyKYb5au;4<4Yx&#AL?x)T)r*$`2X(rmF0y29Fy!>rbhplKeR>flAD8b-khfv-=C~! zxNtK8Od|EDIKYwl5kIAu3whUVT`ajnH+xY*t+&_~g^&xd9 z@0=^^HQ8t19AQxi>3O4J$0_imK5i_ni<()9;rdjqI<_V{n4s4S1`D-q*iF+@X#E*K$CH2~?SzgMACVlxo z#p;*%NqPO>jv^}p@_S!Ae)F$aj7jt1nstm!9$Av!D}*OG3n_f4_xLXWipHuv->g)- z{y*Q!&~c$cT$pJ^{?zA-SpV_Aly53h{W-Z%N2Q+S&-^o%sme#23cAlTa$Iu0R{W0T zMWh=OIQj0J@W=K~zrs)D2meLdg3UtKOo=-EIH{#VIH%6D;oH>JFa9b1bq?rLsSln! z;Sb~gA~W~T%HYkmJd zbbiRyu+{Wbb#ttb`hm9KzV5QOY-$XwFaA0HTb$+bPo+=(XrtnT|NGJ#Priz^R$UtD z!&|nk!8K6qtBPp!h5zD?zsf)DV=o9;@nn*H)~~^# zC)f|{E0Mfg?{_$C*Z=!$-~5+O|5Mp$y8poc)!)`=|H)4XD13U7{XkU9Kl}BU>}SO* z`2Q+@f7syPLL={gIZp*EBv?VMD#m~{_YbiB>+e|4Fyn2>fBuc{Uj!(7khd9 zlaf!KU%ym<9n=@oRCjY&CY*TO(yujy@kW`ce$<2iKd1a#oA2<;{ps{SmhwCHR^Hdu zVFESn+!7OX`*RyIGt@YL*fU+SXL;%Q@7ueD$7HupKHts)>Nzhz6m{D8-M^x(a~NKi zGX3js_`>g~HpzaQe{Rha=d-^9tlU9OVedkPL(cEFI+b5I@LzDkKSdA!PwFS{OUh@f z_IDrn&-tVN>f*3(@dg)Ld076)U$SR;D)Rlmv)te9?@jN0crIgg;U^QQ6Ek0nKl^s- z`%7zOcK&Dle}4NHe{fz9y#FWuzxb|_cRH1m&5j@b+X?PL3EZBn$KbVTllYJN(k1o$ zwciY71hm?pykEcnv-%V1zuK>Z8~;z|{x5G=nf_I%#)r3Tp<=_G((ecUuUv6yzi|0I z)|c^|PP^*nKk1+BT)vSP)MX4l=>Esh^oD7SC(EDxixRc(+Hd$@bR;;w@{;~f>%yAf z;*6j$`^okEnc6f))mYZZ$kXhN|DSvRQWs{(^7=3L>&^3m04}-vNvq@MKY5?L|Hg0b z#{a>QAL_Gnro0gnDLnTmNOKzFT&}-+d)t2Ap4sPU6vFc3!~eUx3z?sD{C5BDzjVT% z+TYprSH!=w|KtB#pQ-G0@9bHY16r1u0Z0EE{yX3JCI8~_))*oY39A9hKx6=Ud#T~zt?e4Ye(2>4)%l` zn@Y83Hzb~VZ8J1<^vmTiFI=X4q4#6xn?=gz<=C`3cLC1Wi7F4F-k3&H+`E_V4@gUs1+`>0kV` z0-e_-{}dW5zD!8vxLPZ~>Y%rzUgCeSsY*S|Uwg*?{W8({`zB{N&zj0x@J5&+J0rtz zi}IvS|NXgvg4@h*n&+4GF@N|UWT6-qSUcJS3BDh)T_5a5I>2-Wz z*Kb|g|JS|G>6g3c#6RG~#@W)id5vh>6T2ldC%xu9Rm%9_MczH_&rx^2mNNb0za7uA zRR3pia$O@hHEfx0Yi#|s=xJ7m?pAa2q9}%lYt=iV8vj3c`&GV@`LN9=)(QVtFiqN@ zyRmRGSi_t);X>cP*Y4a|c}Il7=e)J>uj>4JK4yw8HWyg_?B8+M-uu5=`MV>I3zZ)J zi|11P`PuftJ-g<2@;~YeovvqDycb}2sl~WxlAOCa|3feTbN=P-I`z-VZks#y zXI{jwV@xgK0p+acg-ilYtPgV5h%aEc;CaruY}d5IEPwWMC3=5q|FV9=$G6L^cI^M$ zc>A#UMO`KhH3pVH_9<6Fg))U$9a!WU${7E|-Q#MwJaO9AjM{~Bv*j5c{I`7ZPxOua z6MHS0kN$CSA9Iv`F0MPK11@VKdj7TTOVVA%IL~jN(S$R>ulySNlAn3U7|Xx5R6d;Y z^1V7ox|z#?|B8Q|Qv~;Ao_!`JZK*2}-E+E@9W;@*X5r*HqBm~OlHlL$fBZ^r!Nj7S zycd2iaNKor1$U#__APtZWIX?APGo2VCDRVE?{V9TTY5Q&RbQ^=g7S}B$wNtJJ_MEHs zcsgwv6T^>sy(RU+moHEFCu*|q&;I}3zn1s^o&M!q_Ik0;;vADLo>bTU;fkF9pT{zY zN5Sa$|GCny-7de?e+iu|6!lUR5Ly9=R^J%mwpz{teY1e_rtL&|J$Sc!hf$VFAxkk z_vQcLUoS7s^vdOFR7pW#P+-je$H|38HnIB>_(OU|6lEIh-duyvA+7d-liW@JsAz^ed9MSn{nx-6GN|dxN_~juRC}C z5oHLx)2ZVtaUh-hR>ll{HpK`3Q;+_Wcm3YK;7_#d?@9YN{5$yXeeeJ0NB?aPJAIEu zBaK6$vLMDT=Ysw<-%FPz-`^H%4U~#7l(Tv8-?B2|gJtN_dT=9F@MrJ-f9K|3xc;wQ zf1>|?{kirV>R+w=fBpi4#v0xYd-K=dV|g&kiD}DMwPU&WqIqVQPi|uHlP-O(_3a|Z z#-}fiMcKV+5dCxi=4Nj5Lbe1*v|ohb?T*iU zMRq?G_;{WQ|1ZB1v(R|zJ+6&c^Gki@lROmaRSz?6cx!yjueL4Cp|1ab+rHC5J>4Q4 zKkT16{km?oe8NA)34go;F6{sHIp)Ft-p}G^ZGK&SeyPrvV?iiG#6z8r{=stU41HF! zR+vxP$Qg{%eny*uwd;bT=|D5FgE1UiFpE><=jvRa`ZeMRK z{$sykPtL5}N2RLTTJR!V%*`&k&0~wa6|Ba4R z_4qGPY4#&C`;Y35*X28YyYqBtf8KfEzppLBoG_>B(-?knG?dxYn4e-~5je)vvB*QF zWEqcQ7te$L6aFa*Y*eXN{Hgd;`e}pC$N#yk4F_-i3aDmq61X~dj}yb)G>2)=)Kt`$ zxSYQkVXnjy^@jC<4NiPu+r#{QK5dN+-$fsyB*_mRBloHDU~!75nU#?z2#~ zj660IlazDJ1}kS>;d=Ls?ZbZ|&;N3dp76hvXF9o`hy8<3-iQBd&3VNbH9wVRC)xb7 zWwtE}*JYDj;H%kJ!glNg-_$z-k8*NdS3ltRVSl2YgXQ4e{)YeVjT1__8RXd&T=aUg znCFx*CZw^MEZOljH#3hlK{k{DE*_PCEoN7LJUjE-? z^*<-&_x)=<`hPa(uc%FTOij}>{WjZ*JDjW0e?E=n#$}!k9=9)F*9!b*cr|kZ!`juK zU;HzE^Uv|0^MSkkKk6rSH|WTo+%c)X#IvE-)mgM5izy|td&=`zh9tHt)0ke(VEj30 zry7ev$mj3`;mK9^%Z-nnaD{m9|Q^)&1Qi zyX&NgL#yPp>5c!zUosv%C2;j8|0R2tN%oBY{Z}yrC^jhc#C>JBpu+HL8^bFthHF;$ zH&;A6qx5tygF>+80xPbIbD4M~KQLTj-diaAqkbY+Lo2Jte}S1&fBw8vue+K5R$HoG zrCw|Czxz8kuA9F=w7%}HEyFR^hNzSov)(*SVp_2I$bvLKmL*X;m=1J#u(14_U&L7O z&BpOpd&6#d#{d3`+wN5@cb4Iw^kOB;f!gZH6B$;WUG{j6rVHZ%iNBf3N(-#cT{mGi z`o#2r`ED4KOAAB8|K&P=qwjtKuBWCq@B+??gh^LW0l<)diCq5<)I8WIE5IlJ~QjnZCJUMS?mx~ve^DxYDO#}Hbz1pyI8vo%feqRf2??b z#ZY(W!-BKRSqhddYxpnj@=N^;sFY%9mS_4me-gWc0^^4^OU8iQw(P^l+??(D=kCd8 z{vs$=VwJbm;esmDDzAnGYa3qOIy%9N;lY1RF^1`Xv+D&pKr<&R9T^&h4(yu9{J@OE z;ksGH;6e zz2azG5vQ&`!&$+-kF}+mIvZAfITXUl@W=k>j5l+Z|Nnl!W^&w*)Aq*=9S_{?Kh^%9 zU)F94|DXFIj0-k=ej96jb{a#bA5YEX;^UD$pTGOgVcB76U0s#&|6hS{gMkdgVWq<* z>I@(Li>xl(DfUFdSVV#URsFYk`+28+b6qKT;9(`)E?j=^=qonkq{knC{j2~1EMD@S8EAaGp z@r(oiu9p926YosibI5gi$v?a1`TqZ;CfTR9|K}GCWL(hqtdz4Mi*bQAW5}$inJdKC zGZe`DywJaeKPrLo!S^@iC0q@8?gt#-FVtcz;puAlpB~3z@%y`>a6$Z&`Kg~-j#vG> z`Yit2yM@1)<^BB*ZrCaM|NPXg*DqOqJU?B@p(FcyE!Q&-mS%Y^lYi^2`IgIQGMJtH z@IOG9A+q#-mHf;l$N&Cb7R8gFmfw?N4`lKJEn%{vWeu2ss*ghO6NU z7sE}?4R1H{&6S-y0U%A}lj@Kei-D8yRZ)o^G-E4{R_j3>DCH2)@t!BE% zQT6ex{SVu!Z~gln4St;T-1D>S--r5O)`m&xB|Z%`EDm=+?pMm*ev^5D+~@Z>%L^0k z&SjYPHSYGs6&E?~-Fn{pvUDoL;WoMduQ)HXGKT!APm(b&6m)*bpkm4Bv4x@H@7izk z7qThnf(jR=fBuHr3{mfDwmo6$U7sJbQ!104;rZO)kRwbBjxt-MPFWB-C(e2Gdo9+e z#kFfe0g)lXaNvKpeAEB!=O5lnD*ONK=I6Ifp_BHnU=+9#{&@e{TjKBPZi;U>t({xG z+vef_h2;zqQVf!!3|{McW;4vlVoX>q)@E*EmG^Yfg>5WhCz~8y+aCHcJota$|L1Fe zPZy~iNobaj|J1%a-tLk5`lo#V&BGWpEPcY6UVP@cpjnl2Fm~^~xK-0V;{0+M7Kkw{ zb2(sO;1Dn|aTN;#XuRn2<-hOK7b{Kp|KMHt35#mI@*nj}WEm258cGk%pYA8Vi{Zms zgDYALZf83il-X<;+PHQ4e=OfD%<#jW@&EZ9zwOO$|NEQ|8g-t3<+l98{r}IlTb+!T z_&5JQ&!qZ!Nr{H#KkEOUEkCoX*qLd;c_xb^Kkf%AesL;d5RqNHI-BRvi_n$x$`}oj z)ZPatwlTUge5hyoH^21L{!?xqx)NTy{<0FV;IiFUGTqPG%Nq9 zO7!;M;hYW0kB{*+9Nt#D>jP_p|M3-?S3jQ-C|S;M?_}}D$!m3UQ{vp*1(2lZ0zch&Fst+>Jk z)G=gzw=MsL^_P`=4ZA0mGvq|RRG&QQvdx8kR}WZm#>!sIu3+4v+jug;bVEpT)5q^O zc`{B5NrA@8?0>(jPpX>ru2$kqeG|CWJ;C7d*tl|WWw+;ZD=r3k#)2br7$m-PJ$R$W z&^0fRdvUldl(K@xKhLZD{2Xz~s(Rnu zzxJP4CH^0{+u!j2xXf2>@xu@Q?_zVvVqCz?c!JGA-+WW+zU-y`stpWL!VQ=EuAe-8 zaLx>qD4r)heY0}eME0ZwTwOZv!&6c4l9J-bzrL&Os+ag9@S)zTgn7Yph78pWj2Cnb zq68XFo3Fm=^YMSM=f8h1{TbTY{MxU*%D;2v9*=}qo`ylQ5i7$#|EGuk^UFGX?|;(I z@XvqYvHyX*4JGx@*YP$i)nbU^=ACv+qIQDfgi}}inV2LJI9UGd&-w9RuH-*UxjhTx z|M#v8GVehk_*0n zzVr9VLhfEr+sld3K<+o&fnQGr_!>_A{-N{bbP&UhRcjJ;6(tU27$?ZfF?^`k;{A8N zbFqf&oLhgrKiL<2kvMpFz3BW}7EpQ&7Wz?tfoXw&G(#_ML(mO|8I_C&nEwW+*)$Y> zKHKnWM{4TP9`*zCm=FA4neyv@Q_26D+Guh8t^fc1?2`JQQ~Z5$!W#*YImbo5eilEo zt9UBIia>@FKknaQ$gus$+b~m{VcmMe)6!eqzi6=}BygmJq-e15CUNtChCbBh|D0?5 zR%!dHyZ_C~?e+U)j=B0C_^;Xdv0lJV|I!`}HiuoV=VzT~+A)XqfLW!p0KWrI;~rrZ z*{W<8p$v{IN|`%c-6p)8;KeZUoFKS(Sn#|4x6jhu^@ZO*tNu@PH7k80ur8D7pL{&y zhjshx;${EK+f9-AxBiLj{Uv*HSQ{+)9TZ>PjZjavOqigZU@j;CGQ|D6zvQmpmdE=( z1aC2xE$O?{ls&8A|M5%ppF(alGsJAasZjgxRF-=ATW^8?`FH>OB-dN6HzZArlRXu#6#TatkA$C*Z^dyGI^$-4M zmj73OzjwdU-Fp3I`RB^=i`dHlJ1>uaS@SRvw6<@)Q6$5Xl4t9F&u{y8zx_Y^&b!|x z%~gNHFvFI8f#tIbGm+r=-K^f>yav~Fm|`+r0|YM|=3ruVaCA0&puzI5zHHj6ZJ){m zK9whfM)`s>Km30|2@Cgf7-{sqUc>+%{(doxbEN<{-HTTg&|Ksad2i>jLFW-NRS^m3d*0vJ`;L-2@F&qEae_A!scKzin8P|W) zXZ+uPX-<^phX2KZ3@2teCtB}fk97Ox7_?WQno%Z|dGa)wfTP)M**m(se>@1hvAy#6 z|JB$2<`;i|yyX7eKeH#Cs00^%oi}Qpn%36D9ejFt)Ul+N3L>W+|c`W$F?*! z<~ux&Y&=!{nNJ;;Xqvk`(GjtJzUT4(&{zMq@BIDM^B)UnRhR!th8c6Nm_56A^}n<~ zLrcmFONLF3aZ;c5-w|PWX47C$$G}$PP=aE~h9=qv9Rj^!~^Z0+(_x=A*TnsAz zfBVkgJx}iU2STO}lpfbFFU^gd^r!jH|Eru0egEz4t9w4yFV*}i_;_^ygT!Zs5PODL zi31^gD~fo<#0r#!Km0$kq+ayJzukBL9(l0*T+9Btlkz|6KOWv?Fx~sl{fs~NRsU}` z;dp3Q>e%xtDHnkVh@x+45p-|H;mCtv2<%<;EZW|FB;! zqNTe!>E%E9UvHkT(0W(LJM9s{H}yp49(*$WYR6 zyDr|JjV<75gQEdMcwVkV!$yw-pz+st(*BV@qmRAYKYw?8z$f;9@sk2dK2*+RFuC#T z`u2a<9sVtU`~Usr|JeczJ0;IL{hPj;>A>--nAnRAj8ph(|FTJ*W)zK22bLeV$wP)+{lG+fN##wjHpuT(C~_!ikQ3+6oB_5B_tO{}jMj85>l zbnvss{|!FbZ)KQqMS-Dc;*wMU&C=8T!?!VP$lAL6WDEO(z8Co_54diueHgQ=PkMI4 z|Km6R+JD*|zh=tr`C&gk)PwW)CW-&EPyL^B)ii6(x|iY-cYQNXz4?Dflp*iy;m`^H zI_fUn5IAu)Wm|#d^It(9svFoH4*XBnDO$QZVAp^5eIJf`?fgAa^WXk_eo)Cc|JRTB zj>@)A``u=I+`pf*cG{{K28n$3CoXxFYTRceFWlsN5i#w)u)+)5D@x2Z3{3yzuYNs$ z|F8eMJDyXEzB7Z`bC>zs*K05SxZkL8-QBV?GXLk#GrRWx_n(4QQ4BwP1WK+joYFWR z#l4U%;;M$x9wmn^9udX^|CLMr%k7Ju_U`_TyZoR+_xyt2;nV-WD0zN*F4KW)2mc@5 z@&D)3`uoE6b54mf=nA(i-Ntg5h0UOl^-BW7-0uvKSP6D1w+9y_n#zCv%YWHjoX55I zh|Q53^-}NZ!`vQ&!sJSCD@!DE`EI6bub*8z;Mn2}N+I%h?OjX0U#`|z2cGi~`TS%5 zIWC6pc2i;mugulnv}fVtZ8zWq9SurNzL&Eb!s~k6oZS z{F21o|2^K-IX(}ta(^$g=(qZV|C~MlOLrA7HI}zpWd84d)%TqAKkHxro4)an{&v;_ zM_#O$slCAH(#Dc&oTr_=wH&XCcpR=+@mFpFGt+X= zE05r5kL&Z;Za=O+_|Npgn%u|rvfu5OzI?L2PV4eB&HU>D*_IcI-yXGftg4N?FD=Oy zA@%3zsY@Im7&Pwx_doyy+U>_P_fP zKi6o5*$)kdJu5rDu9>KvaLJ&dfOk)KdTsNXtEP9}OmY5GU(++^&^c##s_`>OBLAiGHm-9H|`ggt`T8~HC&?S z>cPb}LHOFHUst1?*Ld;i#~wWE_w(@oV)K8~-|a8mEWYt~|5<1{koeD^#WTe%xcYOv z#JByIa-z2V4Y_t)V>)ZYZkdj)6W>0O31MkzVXP5y5H@8)m-^u)c4u2CE z`neSh7_Kl(vHoN4F3hm?_x|q>?`wp7zkm6zzsWz(liHxU^8Xc&pLKVA{~vOo^t4Jr z|J3}=@8XaDw!iWt{-cDzyy&oJ_N^KW+g36*@l=<+HM-BI@#g=v^QHbi7nV5goRG6M z+fm@d|8-0bFaOEwUbr-W$KAgi;1pl+vwxDbM#7(bb<2O@Qo-8EpW@$fH-wdb@v*jK zpU4=xXx_2BhHZ2FTe+Lm*w2_|tmk<4{(7mrO9=P>?XKUh@A?Ox4czmdQES!i_)90{ zL5BA4R)6qr|J%R%!M7FO|38|2a`XSzlpBGwb)P2wng5!pVOK0;@;%;!wd?YpGrrh! z{EW}@^fTukzGMG)|L~9JYroB}->qhFe7_ha@WfB5=|n@;#6rm|2Bv@e_x{e; z4D7n__j}3r>iZun*3@$Tun*+{&62C9`u_X;q&~0cn!*1}asB-t?ACt&u=d|vqx*l{ zC9D36=Q3SzWix4EWD{k)_ac6YZ}8+_!3>rBN2PAK2|673-+lA%_tNjXt&g@_e5lvr z{+C~;dNuwYTLWqt6xeR z?`HCC46%;)lsR`}#?3Z|tK|=v5*mE;Vm>CFko>p4?7#ZEJ=)jr)@y+VM>&7kr)K=! z9ejJr@n;wJpL=GXUf3yhecG41tkpgLi@(a8t(~miEmV=%v@OwJoF}1@e@5Jo{Ye53 zUn?|o@gA$WwU60Hro}jcjbE|Q z%k(`_KkM=TwdVKU-OS0V{?E^E@2bJjWB(+0;kNIEske%`E*$z_%i6GO;oD!O#@`)1 zm@e}#eR1kA%Yj`LEARe&Z(lS8v@W3Q>AUGi#ati!XZc%Sv+?8J=U?4FpNfcEQ@_>h zf1vsA`k?$j^CzFJZ`Ea};TE38JGof@UPJr;&p(c>G_|f=eynBUwI+q~O9CM*D*~9k z{no6tl4HwkbLTkA`7dAFyZ%$x-{mjgfmd!Xm*9>2^*H*E@R2k7%g(<4vwZW<{_Fp& z%+0^5^Tc*PTQjHkKX)+0mNkv@FPpsybpMica#aOW$>aa~x-+VR?n?%!@yZ=jX>q>6 zyuAFP)}HQ|lK+p~3rg*-->rWI3Ho}syY&|`;_N$J0FKylK|2}vAHvFG% zKPA;V^3i`j`{lOx>(@Tnb7|v~sYmUjp4eaf7r!rS+23#*woe;=uD`(QaN2U^OHPI4 zsSeBjox3N^RQ=%pK4DwirRP~6G%d8vobZ>y`})U#1z8XOSHAzZx!}9Q{a7FaPMz{a^j=U8XIv zZgQtOzt<;nH(dMoWO?=4{433j*VrEYe_Q|j$@|~+T%FCoPVnvh%OIA0*^zAx-@o^9 z{%haWH?7|q|Nl(#POpD6cm8JluU{LX)Sf-}u+HxPR=fXgt^Myh+1_lK{@>lNnU}o& zb3MaXc54~;mRMf_jr7ne@I92ANHmC-zV2Ne3tv3keB^)azWi1W$?YtUYMuAnf1pZsLSpKl2Z~xS`H@T&(r?+e7v zEXer(IpuHk52l2qoHv<4CmS3k_GYoaO#D~-q25%=`0}q{hJTfBWm%lq=In1{XPGMf zf4j&Vd;Yuo(?3k!x?6tcga1A|zD~>&WchP{!EgJod-88tPxy0P^>6Xk|I422U-13K z(?842)@U$j)EOlRxUHYW7#%vt?@@uu!sa?wVuWq( zsxb>az7lrf9Ft4p$NH_m>pME@Bg_8BeLCN}d;Y|K{{{52nEv@IF0Ie~G~ecY^R!Po zamMfeg+8~>{d9kl|F7#=5rGT=f6g`BzkKXPsL_JdQlZiS#szttR~n^5^cZ>?SM>bY zf9r4XG4J}87wRqh_khRonf}cW;`{M=zgljRob~Zl(f>=9)<@^>%iR{WW3}Sh#h>Ff zxf*iMc+LIGuqw{}gtNm`7C*lLeIZYKi394KM?@M#w#e;{zjYTh9d+e>2x`=9T}ubTsqT z*SRY-_isF`!0t3tEP*Q^>Q8)`S44jKyO-zFQ-1$`yZ&#W-QB<7wIx$_|G!(^WcYKM z@S2HV{8j(IT=zHh;R~jc|E+oq+YEI|zx+D2;zU%`C2a;5p%-g;roGb3sA|x3$oyCz z{{6m`YTDJm-jDuYyZ+DB?(ScnW$K_YvwEq!|NqpKyqtgT(R{s^^Iu0cGc{bAz%uDu z9mCN>7mpS-@0+(rw=vkZc1h_nhHuvIA1-t}di?+A3xA*A1Pw_EfA~LT_y5}8P22xz z&Q5mz`R}#Yf00QGb0gz*1B7GmWEkqqe_1NDV!q0S&#Vu+4+l-^+NKg;?7^6^9zgqT=*;e;lIg-`qDq^ zU;d7_uivQrSNOk#?92I1eELma)`zejc=qPa%WWzF%dMx2?wiNY5U;ZDFN5PGhx2kb zO1KUPGx#t*I{1ICtz^&t^Jlm1zCQW;J%9E0)eR5crC0Dwy=Vv;QI+5Nn?LH;VzqkV z$MeJM^W6TuE|ORy+VUrS7E{9Qb*ZwR3%uB3A}`m;&$l&L#xRBTpTFde+bi$>&tKm1 zSN!B%f9)$w62c5j|K=BbUoY_~qx`?mpX~gKip7%_uc*lm-YvVF&x^n#izIN$~&7kA`bW1gBi4xL2VAt>VM)_p(*E2 z>HkN+(vyB?-}x&Z0k-J2h(mVe`E@UX85A25xExXs|G)aK{{O_qCHI%x`4&L>V!?<1 z=g<39SMer((*9?Elh6ElU!|XE)2;GXJC|`oE|-CQzotXuVX>dFZa?-f-BUj4M*Txj z_6eT)0kl7A>Zxk0p7rbh|GdBC_TSgH{*`^^$@%?~>GsR%+C|o^54d-%wK*W-@c!W9 zh~vvT|3`<bF5T3_|AQ46 zyuR-TwOn@BCqCAe{_mv!_oC$g^3wl@xBU&(`sTFvlWR7Y!@^|@YO9+ngBKWEF0^M2 z_{(mLuLd$PUh~iWduPv|yt`YY{O3Rleol`@8w$ z`Rm%VYj z>3{FZ$;t7$e{7?!afi#Eo#Ds0X6n@|%NSN&`XVmj7o04VEt- z{`bEBS8BNHKa=r)?LdYtZpP=o+`6&kC@aUWUv|L^<;-PkcYofD3-AAlPhV92pX*Ey(*lNI zhH}q<3l;ljb1zuU5wMIQY6A27jbY|OQSav+Y*tJDbAQt3yG}>4p5eZTgVxanj~Z9sHhWU= zl8d8pitfLB%^USGck5Sz647)!9o0a!yMMc1`v3jY+9w?!5Pq)vhSlBw7Q7!X$#X6K zef{OX)Jp+}-tGUwdSIJo1D~h=GKN>n4lFp^^hzYb%~L9TJ+jty|Kb0q9fAg-6<}6t1Y9l!&;0dg z>$g{{;usH{ynl0TOi1`T7JnI$Mcqfc7-H`+GXC%1`+IuD3u91yr(yS}{=VFU|E|5) zHfwnPiSMYNZC|<7c+&mt_A`2x=l%J8;_k2MOS=BP&ikWX_&t6mQ^IT|g$%9>b7xd? zC9tX%tv{7wrqwIChWlC8^|e)dlOE6g-td2U$N$xL_p3mwRB){qvg`lW{QCBqmOToO z=4bt^KK}dUtc$a+U7h*$eukjbR`Y*T_xxV(!>C|rYWHtRzPp3KHvP_<$*+n(ZJ!qI zQ6G4rXQoboBFm*eOp%|jH~e4T@IN|cL8RBgk3T0Iv!7c0-T2V|Kn8&i|M$)M|81N7 z&9zAxzl?Rx)N?id)i!#gRsMgf7Q?o;91$00FlmS{Icm*RvYdf0evVz_gQ=&}_ApOl z4Z9|-;QHtOr1qHX5ZP_N*UtjA+|(cZzj!!u$FuT3+){r*`MJD4p#CBMY{{*=>oZ@e zsh!w8umF8Lo?@?AOjPyKO@Nt%rR-}i0JuU+o^XL9u?%8dW>?ykSRXw~#wa)xquf+EYRA6J%I z8sBTQUp0zQGrnv;`eZ-f$NYGOkNqMU1wZ7NAKmw__XDjH z%6=$!_y4mycP?u%oVqmU!^sql2T#pB-~amRuy^0m8Ll^aF1~hiPH9wDmUT)HcymCQ z;eNHI-JJvfKVSYEe(SFOiyLt}96*)+e}=RBU;S{e{?3~Hai;rIuN_Z6-zn3+`TP4T z{Xc>87dl=$B>MWFb|k|VgYW8|rf)b8eY2F@>RHA1%pp&3!6~NFo{lTuC#5=0UoY_C z|C3$+Cx5?}f8}rZ&Aa~E>((bQIUM+(d0^Fjvyc8(pA^jYJv#I}@3*nSzubQ>^ttlBEJkq?rUxJ^`9x&$Zg(pka9*QojM|GL{r zs}D_o_y0*P|AD*u>nw`J?%IE--sX<^ai8~OWUCI8s3-DmI30P=Q{*6_!`v$8uo;5H+PU+*dX$ue(Uf1^-o?Lcqb1k8Rs|r5B6DH ze}B__1#cUik#mXKX$aGZu{fPXz=3D&XSj!^DQqdI%Xsnx+>j);|(V(OCdi?SwL>nX*O1s zp8wI|;x%{wJJ0_s172OIEOhjLZQ1@!A44K1iJANoKl{If@#FcgzxQvuqA2+);-A;z z<%jn5eNMURXUWB&@5#e&|M2z$@hMYw$NuKwXuQ3!!TaC_=j~bxRHT_NANZe}`ZRw( zC?G)Du0H3-{+wT*Z~m3)`{!==FYxWf{R01M>i+NQtLOUYUz7N1y1sok(}F{r9QJYS z^AqG~+{P&KphGKRhvlLo_W&!igR!d`f*cq*AOFw$USC?50E&Dj&?!dS-qp{3c)pSO z;F|h-Go-4%obRj8eKg-ks-&Y{$v8x9uj%QkMU#$N>;3if>Fce%x?Q)RFmSQ4y}&u? zhW*<&x;HYFEaS7e7PON+bpo4O?|=5v|DeWS|AHGI>L>nLTl?GpZ=1d2ntHXk-E5hO zZvTCLeYX7fvh2TCvwCm*)Q)-$h86aT7uuOU!{uB!o^;<{YZX0XlAy?e*u9&JyS6NB zxK^>+w)DaGP5NghJaQ@fXbhOnkoj(;ex3 zzngC@t}nm({-r=)eNe%gtye?5^B#v^bYQ#?8)(G$b@up6x$)y6#rti)jy9 z)@=Is{rzG^<{uB2S^c^msq;is=9KZ>wBz>MKRPouyg1Zs#nKqzn?F?SL?^$#S9BN_!_619DBpWTJfVMMZ+OK+@boF zf?nhMJ>h$p&%W-PeCYq$b?@qno}atNW-tF+W0F0n{E+AUAOCy*zg+iE>Yer5+pgOS z|KB6=Oev=P@_g%G;bDKXvj6S=#vQ=A?e9Vc4#^~rho9LZW|%iK{YW#|#5t`y!j$7u zq;$=TX-VG9*Ug1yGI)G{U#VJgw?4jnzcYKmMq!X0?~es^a2_x_d0)4^x8VP+&c`Mt ze^z|^o%?S~_RaHocSHA2uQ{@R703@9wIx>43-6pV%t+l3vhdW=3}a4Tajt^*-Fx?Z zNb-o3mRaH?F#SMYW`g6Irr1CC3pF_Z?BD%+f6c!+_wSzf{%7!m@n3&O%m4h1XWyHh zj1MrkTfgS#+?4hItKVI!vu}SGdViDr-HZD-MMX@B3sw8Kkm17K9kWFr8M_5Alz&>d zkReifPxi6$i&>t`p>__Ae;6kn`hWFZe9|QGrkvvMzn?UF{A2kefAIV1&-Prs|GTfQ z_y44RwxjQf|Hb?LHIE*>b=ugOPv{ckDpPS zu{}PJo4fet#$A^jQnMF)eJ8m}3)Hu2`d$B+zpnqmJN7^F7uC>xe$|fsCbo`? zD`qZOHEI83d6m-(1j^n2ue$sG%({SC^*#Rr875rZq`=B`!Rv$()9hJ!aZB!8jb6Rl z?fp#wX}?e@2^H5j&zK9!bL00pg&zK|`%d7>yZv{+dK+Bp2hH&d{)>pcNKSDjFEi# zlXEXtT>QQB(t+CQzue7DYWzu}d-ChmB{yj)tgmS}^5OsLy${6-zppmFEe{&`cha13 zbp4W}*+vKdrygCu@m{<^Md`)!%<`B2FEIL5|IhXF#ro@YjC>$3&2Yb4D5vWBZh7&; zt(@v}N)Fk`s76}u-X+GyD#+DZZ?HG`Bm0TxuO6s;{l6EqI8`I^&;KL27ILmV^Y^$d z`?3GWpViuRcb6%zD0p$`fv?!#fb9?a1z*?u#eVx7BRc)>0)`IdPK$Gom(2LUa;)pp z+Sggp)pv6~#U(G6wL5T>`{4a8`SbHj3-rFTskiLX=v4eF``5lvc%N;S1xs`Cmj?$Q&+a{D zoBOEq+>4iP>0j<~WUjvXkok>Tb>6wyncCu8RF&5{iWX#-ZZNIh7in^0A440nlzQIM zO|SpoeXQE1RDS1Ok%qyio_CgO`NQ2`3hN_3 zuio_U?(=zl5Bo)ACH^KeIYjpS|M}?i8{JOruymCuA)(9%W~&o;?Hcmq8D_IQZ55fZ zA>xX^Qq~re;|1aM3`2TH>`lN5dCY+*s_c#6K z|NqD{j(1P+{*RBIhpsT)e<~}nPxapGPbz+9Tnt>+|DMNPE%3lK;1BUGTdp{a#|1qH^(7d57aO15{bJ znX#v>;_(mwA78_AwDo`Y<@=}h|4UQ<>218w`PXBWHLw1*zu!5#N2Pw%?fH9_zuP?h zWZS71|Ep(D*RyRE?qyOaDfs?B;kUlk-8~uqZF8pBu9LOCclh-$=92f^98p0k^BX-CKpU(%@f7i*~TYc@$+x69F^&|dk zFf2Ou>Q~j0kNb@$%`uK@KH0i2)y!(i0UHhGhX3OBSDuC)_`kB}$9{u<=9Q=C3qIa2 z{_^~R=kW#q&t6{tV<(%{oYi{s89)AFe=X1IAoJ$GALD_=I%~DIEG?hPef{IEw@bPh z60gjf#I!k#t>VZ29WqHw0cRq1Gya)>s{4O?(w}_gzjyOoetj?D;AG@jt!m2OK_?@7?^Ndm$I7+z2px{Qvc-ifWU&Obd3JWb{jF zPN>pg4$@%y^TYnw|5hKlQ_EZ*{14IkQ$PET|11{S^M5;**oVJgANAMk)AfUYcZYFr ze)9e_XqRGPQy{|<`+x7_{u$4icetoHGeBH3K+}y)i}{LD!&Ju3Q_QtL>_PL?@{T_b z{8#;%Klyj2;Xi#>rN6nCe{;KgvVWhx4IF zPmlkp1(D(fkk!njA!AV5;VeEuuJ2@Qb)AL<|c=Qt()ul}}S z)Zg&?ch-I7_xg7!BA@ixMsP0IlKvN;FItlK={aXYg3!B3zi;kNoAtWZcb>1)ui)B$>18kN z(?zE{W@@^8Y8UQeQuzIGe|g}kAN3_B^84BAryXnj`!2oczn(y=(#(a9ZjM=k2ez#b zyvx)GI&~>v-G};kkLT+r|EZj`;?&==Kew3EPM?cfvVYsn^FMajy}SR^DC73G$rJu8 zWbjzT@FR3F=Yig>F}?qHKW*eyeYmS9R<@r(lSyQ;LLqlg5KDx(K4`yg|AIdc{=faK zb@bnj8S`$(Y5#1W_}eq*&)e^Rm+W_*bvfxpR4;Qy{|;Dd*qcy}#RE-nQsU zr)a9~s~3HD{`whBEco`;@H58(H9hfY!42SL8p@mc!t1x${(ODnUCNvFC;pcGS?oXK zjCsx~M&G~cmW&Z6p`@88&jVd3!`7amtXAy&kkzD3~&vYh*9aFZ8 z&owkWe(wFkHK!jb1ot;cbTRyX#RN)59cw24&tBi|{ZDY~ze7L5=lHU4Ab z^{flO7c(pkNgk&MGsEyFT1_=Sk(XAo_gWs z_J+TA7DcN5{mbW3ufd=Z{@-2QXI3Z1t0W>I}%r*B9Z*QHF;lJIU z^*P^y_t*U7oD(R*FlF_}{kwjZ7cC0dpC1KUqW$212a{^OPR;rwTK|99(e;&|-cS22 zY533amouY-tK@%esjBp(H5c~pFA$eX5?S(&_d=xHmDLkZyd8k%1g0m z$`A9rNnhXAi${Ml-}Ynblk=URQgQmn`=+%D6aED-1k5}BU+bT}RoD;a3pb?&HgVk8 zoE|O601AAixljE6zq29f}`4wcx3=aG2kL#zc*y5>m=_cQGuR?)4 zdl?hE8}3$b%N5*mZVzZTvAxpKC;BbcuTNYInOyI`cK^CN=c5glsMLcjT_OfLrryN- ze`Mga|2|Euos)>KrpFcbI;7wP?32~c@W&ane-`SV(b6IiL z)*`v-ajpk$e*dD<6vXmD;?k!nf@hdF%&(ugX6fr4mmB^oKl1vww%XAAWc&j5*tPcS zRl=Xv$@n*X>}OKADq&aiL(b3d_-*kGen#JW{~!0Rt=T5ZsAk7#)b^x3Xg9}$C;gzZ zQ0bAS;I#kS|8JT6=jqPUKW2NM==0Ub963JqPpzB%cA0Db|2|o!sP0tyo_y*4W{ce# z43~ThqNDvwc3qpBV)IX4`+vl3T_!$Ro^&yl`^v5j-y0sXx7WVjVih^I3c zo+$j>|3hfvi$8n!&n~$e`)%JwwfdQMFZ`T#&tcO&{mbe}od!df@xSkC3`YO-PkfqR zq0&@+Se)^AUasAmJ+uEEw^#f<*LcV4PjdI(RXq6r)8I$t!}ouEs`srwq*A}}d#~xw z_csKiUhgk`d1*4peJcbW*Qb7tzj^$>?b)Vp@9*xjez5D9N4#9nAvq3=*znFip3UBP_m`R9{)+uxGWXBIukMTiKR*6HmGv;}zuI1h6SX^Dh%w$> z*T}=l!>NCunA_!v`p1|Z9tZw^KKdnJ`p=u&%fBY~4m9?%F{!zZ3TgJfjr9P9G>HExy zocD^l;}s7)anN8X5|P`_{G;B?r#|$V`s1qDW_kUetA(un4k_<1ihuEBf9}ryb+J~t z=D!-R$+J3qJpSKcYvJO3)zkNLOz@4{@B4TDT=DToeC%Iq%f{79-AyFKGG$(D znB2Rj*|zn7-BU-^Jq&WKP2vs*{;zKM9v}a1!rvM4%C}9o&iC!w(|63R^PQ#Vxn91N z*HV}op7b*{Xl?!#K0RddrvJwq{(rBp%GnuF_dB98j`7q-X$fQFf3i#uSQ-AWm%68) zVjnw6c5+^8&27JbJV!0%{~G-Md_TvzzzD1Kev1Q(_lCyy_lU}?z#JI+uXFb zeX`FU|5xn!|J&}uwCS_?l`9!~HR2e>^9{k<)$;xw^)2^>g ziWbigmzz$Xe75Y|!wVOckEz*%%=D5hE&aMaZ|d5fOLI6&{x8{RbxrW}lf~P26nW0~ z2?$qI;5Yoh#PP%aL*1+AE0!DmjeLB6$LqdxX_vCQe?6`@|7ri;_^06~=>^knD@?NI zYS`2M*rI>(B3JWc|J?%_c-C!rmHTFgp_SLy=%0>@JSN;}Z>eZ}t--?fkx4J^&_=Zf z|69HPEsxJs`@f-LfBLG;%OWP#e-K|$c>H(uyMhgFZR}nQbFXd<`xO7h`p?V*b7I2| zN4yI@vm%i7*#FtRZ8v|!r(hhFfe9S?4(Fyyba^x??rD(U>vHaQ-r{3-<&QM7|BLUKxWD`B{=e($C*N;u zPU|iS*)-p#+pfUc^xKNJ$RsM%vzklzEdfmTWd5i9LPUB90ez^R5n99l@{|_>+RIAtd&dB1h zRO-L>o3CtK4Gnxx)1IFXzRkVn*tyKCJ7ud^`{zw&K0iPCOl90>uC24rHCBK7p~$#` zh2uxP-{k+@`nl78cwX0!`?afL|Ag09T(o`u$M0IcU&fN*f4eP?;jvTpbYRjZdd;XVxtY5yA;l{TQf_Vq@_soA|oPPU>S9;w%_a)M23s;%@2u z{Fk!5I4RG{aP0qq|J9HF?-l2a46!fN=8fHVX!f~h zfA=ul)lHUDQIL9Ztx{-e!wfc4yHAQmWqyyB2z>bO^R9LK`5#;UzT1EH&87H`xgtUINH+Xig`EaJez5TD$ zqSK%IWfdHfZ~6aS_f*Bw4QKfk<@FP`g|fU5$^7&niLX&LO=F(iE>=zp_4iBI-rKn| z{P(|m!~N6Q+kYg4u7vR^%Fxye;k zVZwoh%sUQq{-{rK*)RU@-v4~3kh^=2zq#Q(DfHvN#qD>0AJVYNiU06_CFlHO_y3lE zyfVWuf>+12v&vub=VFEhT0Q?&S0;Ydzd7eiwQAk=Zh`2O{4aTtXH{(Mq~6ICPFi1l zJ@d1YaQ3^R>ct7sS}TkjKlU`INGZ6e9yM;b(ams~!S~PnzoG(Co$>Fw?SFgMU)R4r zz2vW&n-!C(*QfBWf8X0bj9#+h>Wj%2$e$Jv}ud*t#J^8zn!{AlS6UF26FROA?Y4Q0m^L+U4Y@uM)SEs*c%iI_0bNB15)8h>L zP&YO3JnM$y>+FYeW%l0CnWI}*|NK|c^LadrKe~TfAHy^CM0Uq{{>fukO!gJ+pRy>crb+mJRk7Cr*^Z+YOL`RM zUM#rGP~Lgrib$kVde&Rx<)&>4*YZuy&-aloS;iQ{v13_q;g%yZmj=tluqr z^4HAY?>Vjf{}wgIyvB9bj<4tcnZ9Gik1yBm+}XT?$$)V|Q}2K4AN%t{*Y^F_KJ-s~ z&t0)K0ji%XW%sN6byPk(ZO)13m()9_i8Gt#SxUUy!>Rw^N8l#?jUfdOqu7NkKCjzX zozShI;d*#mW`nx;o!!#q`?~)7`%gTq-;#D+pLONBde+jgAG_x6=URQYtVe2-xw2At zyGV!jlr!tyKW%Ssm%lS-u5GV2gD`{EtsnKt#h?GbJ5k7&B^_IFcm3w{>2;y;N7`?N z-Q9Y5>blsYKWk<8^X2Is_pr))skHa*GaJzjuIF_)RnHhcd0%MDx`U&*v+dH=6Wz;= zm0YKsY~I$KkS(P!nI$XNVe`4U`E_yIG}nDHarp4xj78zce$9_-R>l5b=zR9K^Y>fR z(oe~h|LwkRRl_a$^Zw!3{XR>a?jMd$+5bmNn8Ez7jO@=EwUhDhZWpIpuRafMtwbLC zAAGs$as58dIoaHA&uvRo$kdkF9B)-8`F*?le%*O3r4xkz&)Zwox!-!p?J!|o`zbn# zN}k8%u6YK!%`&z=IVtq;z4WJ#4*lI}q<8i2&P@|M?B=tFZ{g`#bJKGBi3OA9y*|M7 z;H!D(wCKezs{M9VKNa-4{{Qa&k2hcMirrswO)a@pv*qTuTY<~ik9cu^T+P8db*Jk$ zHt)FlXZMX2Vp{(GKHHV|(1ugxVkQ$f!~8jDX81Am-+A_1n`C4wX9*NtoBded-N4e> zGg?u|-d^X3S-70ss>Dv!C;OV)zw`wMEJ}T}L{+)`Wr;=R?w-ubf;L^ImK#Ur?h=@z z(|?QH<{)C(KnxzJGJ|Pdgp!bGpo`fh5kqM)UazRwa93^S3MqlqVZC$ zyCQql9G+|D(W}jGEpeW%P%*iCW+&%gcH{R#FXpjzeBE4{cWrOnk{c_07(d)PZ~f!{ z-u)q!{PnNd_04>1uU%VI`Zp+qbKbtQH`?9*8DADO=P}ArKI-{8@~N1*d%x*>#>o>N zJ$V&+_3r!X$&VlJ-&pkTk4%sf7sIM6Kj!D(*v7iN=l^nbZ|4uih5w%FrP)7jxu)Ab z`q^#cPcOhvUqSQs0v;Fd2a5@H2ZhCKIQkVjctqlL|wadnwsam z{CCdw{?BveOTG)&EMZGgXH9W;cHw7F|OsJ7kU-@t=+op{LSA3h++Mjq?|Ndjd_y1p4{*PaB z{(t;_Z{LG2;;dBuZ&EHX_;t`-WMxj!hr{o^*WceTYkScC|Eu3_x%vLh&7vnNMZeyw zIyFuC)hbf|?AK(56(6VmZxvj;UWWBjg?^u}@sF#H*JL>251c!E?(o;vSM!+nE>@f^ zsj&C&gNuiYvKa1V*T`0gUl8k9a#hfr^VPrlC0xCU|Kn%>*_2rq5zxA`j>T)L>7~0r zmGZwdpWdG~tz+wbd+X@BJHl!EeGc^Ne2q-y3^~In!TQFoGRW??{HOYoV2_I&>gv+7 zZt4sDKD_?2dYwp|$BfH-zi(-5u&_)znz`PE)4O`o$;MC2-VFxb_vg)D?a0LU`s<++ zJRI*zuX8(BiC*6tr)3hXG?#b2_z&hKqDzi%Wq8SYyzo$cS?ZQeib|bTXP*84`bjS5 zop;Xp)iv{HO#5-*MfuA^jjyY#-+hnYJ+E$V>g2zR9`QFhEw?v3#j+sk$NB5MasQHg z-yP*-3|gjb%6zU;hyCRw)x8^@pP6~@_bdacxLtGjcqgr`6;{gMmip5(;&G{xwe5u9 zUFWvG_xf42QsCZgqn~doc%5>X<}iFr==UqRYw zt@3QUp1eP-+_K~4rX%*VAFtolS+{BgbiowuKOXwt7K?+` zCmFr0Iko9~%)UM~Mm~-RZx7cEJEzvoO})wxI^mAmq`V);R{#2HCMx`2FYo)hq(%Q; z<%-sQ|9bKME%nuf!Jc&rg#jD;rslj~aCeH&^pe_F$G`dhFrGB2eyZudyXW)wY*}sn zOx^GQ_VT=YcM@+ZyPabG@a4n9{S)WcMV0B8rP5nohl+rko{U#bIS-xacr7E! zpTd6PBv0~G1?E+axs8P{|34Oy-Sb^~X~8VNb6=9rh=2FG`Cht3z-@p2e&6}O_J3b) zWM%W#?UR3+amd^6?tcF@Zmel8@0Yjz6)aZo)SJPbV5n-o`r@SjrSs)oKV7{3^8Wg& zNt#v<7x2%!!7S(9?zo|8Z9+iwzI(T;?rt@}|Q$LtKROx#ZT=+FNBI~%s zygbf1u`8|$b?jy2G+nUCTp`MoC#m)3%NI}7ReZLy>dgsO{KM#*#obf!Kfc{Rai0Cf z=j&C!-}d_}8umR(^?(0*&+fOYw>*h&UGiY-y7kM?)ZI1QuNqdDloHJ#TwHwnS4da> zi>KjL)d$p{)=OUHZ2zEg#qh`5GPx`}-nwmv`g;?+*4o{^6=fLn+4SejxzG96DnG4Z z6nvn2APL)W^Q5mvgJVc=QscP4MF)1^JQ z{C4b<^XGYU{v6NDgYO+*B|f|JAYK2@i=+QP`7c`*R`pg~&Z_#`+HaSazdx<-zpQF{ zs(i}C_Xq<@u&cYw{W3k`cZ|1ZW0um}{wop^1zBOM84vF$s(57n|JR&= ze}B?@^BGy>IXnNKzrS?aqbo`$cjyQBY~Ox)|NBo@_)q@lmtQW<8#?t5@8S-tYvoy4 z6aUsF#c()O{*+&ScHN!csdL`0JUDx2g4yL~n~uM9@ss#dGO_5Zl<%fA_V=fZCQMbA zmNpM<)$CcKzhG0fB)`cPmPu|J(ITnra?Zv$k&WTIhC+)vo&FZ>G$;{2j{0 zw~jNP{Qq)u$)^V|FN^l>n!U2l{>1K<-v&4PCHR>FLjQ$dx9`sX@{RSSIs4j!YCjHM zeSiBwJNupRng2@99=bnS|G}M|UY}1#HTiC1S+bzbqH|{e^Ajlr2aknECxu3?`Vyb} zk6}-q1nWW$o{FRdkzfCJeMnxTpZ#IA^CaIQ`+|QxT>A6M#rWF(a=$v3YaTbH=JcD! zFTbbXe6N12m%$|L-}~7I&jTenfpb z?zB$p2~&#d&smc1oO=uzHT3_h$2@PI^#6C#hs`ZNerWyi^wHDVBfIT(c<3c@2KBP3 zi)L|}Tzo&fCw{B{*S@T!AOiKG6SLgrhulJkp!pZIoTBrY;=O0=A@SEkt|LRe-vZ1e3 zepH(LxOwUKlO+oLJ*x9t?K_pZxu?(LdCO3@$;C)&s$FZ-MhSQ&-v6vD~nIpT*_|Sc=Ei- zJa2)=P7K#VB7er`E&1?m?YZ@?ZMWC&Tvfb+r%vspjqszzY{D1!%=*N7rBdM8@ws#Q zxXW%a`7hDk@NS!K!s*Bt!h#uI|KsQXFue5rq598>`>a~;Ykl`GU$|DHs-W5-M+AWdJ6yX2wxY@4c<80|4Rx2k?^La1*rTXeu)-}tb zm_nBZXvip7o&45mb6~5~gAE;0x0yOp zZw>Kg;NrNqTkG?!wnE3XY!))RH~Vp43C+vNmGXB-VL{?@xL zJNb*ha;Bd89G|v-z5?S4rT?d2YVRq$yZg`mTh(_WuT3`nadjf2?6U8?Qj{_Rz!rC7?uFP!Q9lg@yVbsr0wQ5XZ-m~piev@V2lF=;h*R`(Oh5u!(ueEH6=p2yKyQ}=>t}BZ*%FKx3 zJiFh+24cyHQaJL7-z%u{CudKyv(wH`>!9$_fDI_pjpei+<(_!ogH>x zXE)Wle43xLRV+58MBs>rKttY_H|!s6-nMq{{d@HG_Q$im)lcs%`g7<(yYPW`^X!}F zXXczN?C{^8I7ev3u7DHQUbmVj)SbJz#35_@f$8xxZ(Elhvv})0Q|mbgkMsX{_8$t{ z%&pJ0XSaR5t56^M-aT47$IH%px}L?`&(+pnrJL5j_@wT^5VEo5&gY!UpnubYukQ0W z;>T0h|HNhU=L_=>o|k*{`Cf{EPXD2k2}OB%t{w;MEh}e4`8A&4<#6RKxFwd+o+Pqo zdemd7{dFrCkNf|)aqfm9Qvgd<&vM_d|NlRHUKLw(Urz6Oewo|PO^kMWCnlL@J9f0_ ze9!Wpf8TUdX5H2r9kZ{i&OhG8!r73u=1=|4rT6^!`kvOmXS4sZt#H-L;HvuvJR3AE zIF=up*)@;z@>l0Bg(>pKJ!`D&8B`wpE1Sm=R@(60fn`HBLkh#{$QA z^`6~*V1D4sK1XMLk*YsGR;{qM_uR_zVM6Ug)^tUiD9#3@3q{t9i+Y=)zX#oBo4d8i zfyIHz=O6#iUsZ{{Gom)ne;xAwKl}aQhw*=I z=)e8>$p_&R?x|-T|72m=uvxb;Y9`~h+*$+9c@rld6n=s23uPt+(;qTiD^H3# zHYXZf{r~^={%iI3!jt7YqC6nn!m*VJ!Q7JpALU-{=N5Ab;gOt z2RZhRObcvI{r_};=jpQGyM`b8G+FT6)4 zbiexH3ie3@c#_^|1ZZL=RdKm4HFp(;MuxyH?l*FabN(-heY z;YtFUvOnHP)-ZiIoM7Y-TWR~0cSG(IZ&CL-U9qe&yo){@zRSP!|7YvU%Sp16=l{L( z-`n!*`Uy{jRTyfg{J;A3{G&s+_bHsNZwfo~pxw9D`X5i-wsvXm{~uN|o|>fcqA==# zLq9_YFW19DcWLE|Wlfm|{w}318xFNFbp1;=KeN0xhFRRG{-R3r^F#T)A4(O!NBjNd z`Ksu_aOJ~^|Mz(7zJ1wu->d4r5chw9)r{M=HKf-&C<+#sIsv7=U3p5g`fU@yc{y$UahaRlh^+*3unWpX_Ei9+}#%#_0K&h;=7~V$^TJh zwGU1{SpNL%{xiF3k1HKXpK*mj{r&RPr~}V$JZN-L__a^r;BJpy%#03(=Vq|Yee(Hx zmfsuahu4#9Uwp2wJim7L{N;5`EC=lQ&Ysube)z+D@6&rgwfu*Iv?$j8vcD34a$eR7 zeNc=qpUL0ExROzCQAO@QhMud6UDqeuJM8~=H}zs#St7hL}?{96l{1-C+|2en1HRq2$KV)?FaIn22(*rxncg!>IRD17_nDei? z@&%_cfBt=~X=bmb{v7zX@!;tR_sq{J+BJtT%e{T8X#Y@ld0$@W1Ad1(ht7nRr%pCy zgx|gYO?<~=A+z_~)4nvARCc^EJ@>i3Q2qY%<6CFVE89PFGRR{NKd1gbct<}rEcI!< z{?0c(@3W^#J$Upm{t3T@`ag#At`>1tEpcVb+Sk43)rdUq&+}}Nc(2^6w>9Z|bzT}C z`+n%b^tYdPD>RB7IuCO5f?o>%o!8md?%ML_{TWa()E-&)?w#DJxlE^5@-{0p6jWcI zc&_^o<8uE>Q!cmc4(5sTN-g?3Id&Ai{$8cK=+J!AZ=Nyhcaj{_Z>f zZzmKL&6NDd!g;{p%<@e;fB^ILxif3Zz`^?tFcQkTbWg_6@RXT_cPds9I^e68T;sCVqTAHM~>RQ6zK z3;frv!kad-_AOx(sADXuAup3dxi-D3(d|n%}ag% zyzSucoj%zZ;-nq@;uF640 z1*Wz3UU~o5z1ecWQ$F(li{A8Kj|^WrZrn1Ht^3liDgW2j*oxPMOUiW>fy!?w{r}Y- z@0CBx2P$pYu;EJH_V8de$8e!fjxG1rFUCg&y{vF zx4?(xW|zeGnp=EKpDf_{i&Kcf^wy{Sx=VW+<+5TnGcQqCb1MDa*_e%v*$eU>Ztk66 zrNY#xvy;=z%=*9b$6XJl*WaAV)WYQ`dSh4m|EBa^%l{_3|Nd@Zwc^9>3Vp7y;^24c z9t>AFPXFH~nb-D1VAX9gj>A)*Y-!lsYB;ac;mZH(KOTPHYWV)Z{?ENV{7KewA&g6& zC6>ke)ZRMFKeKiU*M6;>uYn*l+`|5)SIIB*^5KB=6U6Q zPwcqs9dpci>sS&i*708Mp2+?t$tXDXYV75emul_8>J}B{zMCVZpZb}(;1rL5(&I%F z8ePtm@U%NlJK@!DcVqWrwG_7a^@?`$6qx$=2cEokFkp^O%NdplKi=p4)cQ%K@>Z zrAs*#&*{gS{9@T7TGzr=yK$cJx1%om-h5gpwejwr|D1~&Sr(}O+^?|L{|xi#-_goC3xjQe508xfL$kX@)w?gtosdfSTBQ8*yWYI=O$XQ$9e-`fpY-!%zH4`D z%tRTnx+aNQri3Z~xt(e(E;&!&Sn-EL#>42?gMB~UW;V5c;fg;gqVe`w`=0(o{g(gU z%y+)$ez83BP4Ywaj*kiqmOtfh{-5w``}Udl+$V6X=(1xp*EZggs89DxBr<4ddy(6US_BH=lk}v zM)f7P$~8YfE=^k1-a235ST}>p(|YC|Ynm5C22{!@_k=WBDk?>>XN94Z|QH3sXH+CuHr<<;|?v(o1EIK2A)MaoB) z3*>KMCWWK&7x(Y?yZ1-v(Z(Yn9To4kx-UEEb7}$KTSx6fTUYv*?&UPlOjECl_`#W^ z!+BuVpD%p*bxj-8xvRV{dy73gUM+j|py|bc*yQ`p-oG2O+pzkms&5X-_UndzeQ8!A}!zMWmOTt@Qulwb1~T#ZVt5Orc6KCm>S&X_C~m2<$3q&2MZb$rG9fX zu{0=fTwQ;%@#q|Xg;T->rfv};hCa#i5F^==B<|FHO1bz%xZ^m-ML7*?+kiLEt{d(D z6Omj$U%`WcqbZ;{pTFhpw@F4%Ilp8{9dUCk{1h$3tjHLXD{Hmo*Ozm1|34E|2ixCP z*b{Kcw09MQ(LYC)KG|T~)^7WGPG+_U{v66GOej%Smro^QKas3T|;?l zPkwJ+9Ym%#?o`6JE%Gf7rLGqUvv4vv3S@opX?`T?aOuHp&*1qJny>y{yLR;+FBV58 z2Z19Tk1yQZoZor4exh;>ScJt<;7CXEr0ER`98C(x`2X|kZ}~sr&CKu83=9kmp00i_ I>zopr0MZdyX#fBK diff --git a/apps/tauri/android.png b/apps/tauri/android.png index f77258e977ff88c5aa62e5a7bcdb75fb1d67a419..cdee032661153f50832f75da556ebed54c495050 100644 GIT binary patch literal 53211 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 qZr$H83PwX&6g#iqHI`6J$U|`@Z@Q5sC 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 NgQu&X%Q~loCIA^#K1%=q diff --git a/apps/tauri/logo.svg b/apps/tauri/logo.svg index e40aa0f..d6b091a 100644 --- a/apps/tauri/logo.svg +++ b/apps/tauri/logo.svg @@ -2,14 +2,14 @@ 4mJh`hT=JnG7JoS!JaOTAr-gYMn&e!gqQux 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 ZecN1r?M9ok%?u0-44$rjF6*2UngE)*A_xEg literal 3683 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 o42M36Ni#5L-t=^F45_&FwwALZ^y$`b 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 literal 4166 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 KpUXO@geCws1>VvC diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png index b2a36031395adafdb5d92e01751aac864e8d1559..3de42b8655622c08be0fcce9f02bbcd569af5ca0 100644 GIT binary patch literal 6064 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 diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png index f5fb52ce9fe58287a6a46355d7908bf1c802fd5d..68232873cd96d9eea06c455c286e4f7d2c2a066c 100644 GIT binary patch literal 4056 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 T>e$S{z`)??>gTe~DWM4f)E?il literal 3990 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 V&qj7(0|NsCgQu&X%Q~loCIB-Fu^a#Z literal 10901 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^TIVmw_OLn>~)t&Pk{c|P@? z<@al+k_zKzkUZvf2mU|nUY5tp`}{k(--JKf=*+zCEhQN->kN;5a;X>lXQGkxW$rRfeYtOof9d}d zwKri~^8X9JPw>k-?>)XRVw}HAYaRE>!jQD}2b-cK-X%F4%4{w?bMbt!PdeX(2h1xI z`4+?!YhHB!IsdPrye9Le|G)UpDx3BxU7fcyful)EV2+F3?MZSJ}=;{()_i^@FzBM&IrG+miy0?E5XZb?N0R_pf>G z`=}AVcGfkad#&HMEsH+uw{LQGK-1B)rnhvaOYdWf5qMUa_5G*A!hbq)?TfPh-TyPO za)!9TOkP8!W1fXC>imCjn(D_Y{Bx)l|GFefbK}0uX?8o0p634iBgW%y?cXcbc5aE` z)@wt$wlJvaO!YPhW|S#mP>W&=@)dYC>8s=)ju{)j`v03CAHm$`^=tOb#L{`ktjORjq>*U_QGD`p5w&U8QWswHSRkc%3P3^MQ)K307?@7(EH?QUX?QdKtSM3+#d)Luy z&IdcACmhmumw3gvB$Qv4sb24q%D!aJ=B>Ru!~*#0-!4&^Inz3=IIq$C-JOL;m%7Hy zn7{DUC!r7e>ol(~a@TzDcS}k8v+3_Y9FWa$_SfJ3^=n|+g86KpE%&UQyRA5(;Lzf& zht$?~cNRGvt!{CwX^)$~``HUQzT)}5bN@CQEqHzZU+2xzO?#7yCX^ldr)Iu5&EZ1V z3`Rr4A2+|Vod11gqSxhsea%(IYem-OUU>FK=Ir@%m#)0^ycaXWeA$k}jThYR-M@5b z%2}bup67BpBd%+O8XMbsex7VTV{&HJ>z9ic1}mEs6m_)u%`>@j&2RNfo%4BXFH3E4 z_X&}B6m`ViqIbe;9^c2aUVkrG@%u@2*!|QSb|EcE*aBXzT6sUMyd?Pq<{+^6nMY2d)%F#vQ3%cKy1@H7(<- ziIch5I?b*mzD-YQs?cYyu&>EEEWf&S*}urpbWxT5sKo2Hql>1nRGd6yxox(J>hti7 z>bk~j@9#WxwYd88XQbBpbq;e@@30cEnZ3}(EIZ->&w~Ao4_&#P_V|6865Qy?vw6|Q z!b9n*GAkrPRwq0X6Ahc*`OMZ!_sk`S_nfcTg{^*7TXMI3Nei;@nb&3DA8L?Syxf8H zM>j|7QKk=73M;-}@6mgvXmFsI@m$@H&g8~Pd&29>h4k&0JGlI;_BL`&-@R+4_SD4* zm9jy4YH8=r`1pQ0_Q!_xXzm5`B@P|)@(=#~Y4&54W3d+F>=x^2Eyu*_c?mC0K8aTR zYvC^#6?8)_e|1BBdB?WyBEbNO`8_{6x9#C_TpG0WrN7;xo6_<@O4HjrUoBm@Q1Nno zQHTFL8I|?BXPbTa#cQyJfl=V+dZ&OVTPA%=XkX&g>p5$I#=i16m3PvNoxbKzWL5=Q z=QOMQycrJPy;U5-bt+`mpBC|l*+m?0KJDGREV-b;zx?43*}X1nBctx#T(q;d zRI5?(O_1Eg%+w;g#helk+m|waOgL$!n_Y9HDb2CNY=(sV{^tif`6j2-FLij@>KZk7 z_R^a-Gd=$DOn0nV#U!?@=I~6NYTXGHHPf6ACnorcm^oJA53<{6z(+z1Py0RaWt(rKPo9D+m_#nAoVoRxn9v?VOBMe+zcb zwt3wZlNx_6jFI|gyOzcLgQU_&F3Z;YpW?phOq%q0b!EYI#?L|Kw?0W`bY$i#UcT+B z(^n&`mX$o2=ZtWEPUEB>v0J$MZj_XErOn`yu-d%oz~;-_HCfy5-@NMjw^{w=k&}wX z231{u=gDnOTV=DCsnO}xV!e)yCJ*->^ZB0Fr1Yn!zPi{_D&sKkp(7#YW*R#zedp`w zT{?C~CwJ|-OI8<-vN5Rz-`dC`l3nc_iTcBja({d`F6lp{H`U|sY=fXVrap@@M8B8amYF<5>!Wn*qF+4C`x$LF{!lpe zJLK@juBozGXYMQ$JtDtT+I&Ur1C}!({Bv8}`VQ51)JNWkS-Ny??$>I5R@TbG^v8J- z3QrW6mc^|wUN5@BVmrefJMUrxV`JmXA#su0o+-`@D1P`fs-d%r z2Y-v?JX#bT_4I7pWY2FbURffVllqqDD=u~LxO_2B^`hJzLF1Aj`KMRrinv}}xhK?S zvw^R~YwOJQvsbq1sy!Ddw{@D`a`}hCF0sUI2JsS#`^8GS!F>(|4Q4g=@@XqOww!qKRoaFz_=>5W!|4y)q8#1t1r}O*$qUR}7I8^g8<{ZFRfzjZ8eYn#K$w8WJTCqhnn?Yfb(^Wl;r0brPX6u_bO>;;3(@jU z@k=Y5*|aqDw7?I}``<0EUUSP_V&*kBc3I71G5`C!Jad1XS;@V8s#*5Yq}YU?89ozS z{_*8KYBKH=QSEV+H9h%KWs(zrTKi;Ht~SZ+%c5eZ*c1C*|4#kzioJ;~ukXwe#-G8{ zSmp^BmS_d7zVWzV@`E|a&rZ%Xb99ulQG6sStR`^4<;=wIC+@STbgZ1bm~(RVu7ztm z*xd^C7O3aT)g@&0WlgBbux!me;jVaq`&zk%%btlWy_*WYNLx%lfA3;u!x90dgHwDG znZ%zztWtby_TrK>qXjQhqea1rf&>S5ty-^w!evX_P6`})-Fs}|n>zL5h6VEkgkB!x zR68<-VN;ix#7FIW_kJ8ViRt*Gn7LK8#rOMzd=)M665$7*Wzrq)yv)9#?Nh+OXy<)N z(e9nMo$xuG0MT2GY7ER0-5j!KM4vG({kbE)Oz`tX)yH#$`+NeJ%pX2XI?d5_YC~m^ zKq7DS%~|Xzrm7m3W=}jJn%3s%qWr<|CX3xW@9Jn_v6rvTY`^^T^x`S+UoPx&nOF5D zfZ42TQDLo{&W4MYkF3t_Qe*N}5@ayE+xGJ2v}`}MS1Z%I(rq7WXcgW2F{gjaHhZfz zVV8AuC#rvEsaGj&+w_Ag!{SqbNMp{{7WaoOH$@GU9KV{pk2bzq)EYV|Y2nU9{kD_J zGbF5H=53HF+-@ciD)NKtP5_5e%E6B1>th%1|Ngr^oO$upwTnu{<;<7tud@o~XFpOt zRbi%_Oqsts_u2dN7QNs5Md+;FxeoVsXWv(bO&-$rt&414FHtQxTwAqv?Giz26U~M# z)t}^ImZtZY@B>8Wi12SWu1wY`(I|<6Bd53My5-$p=I}EjnlbyC*E*QIOJAx zYT{Xr*~JHH{XSIiN~!&vGx6f)FK3?b_Xs~XXW15!++9n2nh(2fsE|J|XuC8?;r)Eq z0*k$SJ#SAsbuMM?6Zt7=Wg8;5L`X6m+PrM1<)yrB8s{{eS9DdyHC_Ezt!G}AVzA{L z&s7GYmo1!pu}=>jv@Y9V)R%Ncq@=e}y0yMcAlTA}2Is}m=DQj~lkt0wR{#`JV?t>q&ISLPFFtYf;nl7;=v?j_+FvrJVUZZ=(<$!M== z$bI?KBdgl~&(~i%Z~rr(^S$Ehl>$@vHeBQ@&8T9$uK)e5qSG~%1%DLp#GV&(Ytjs3 zYmE~;YxBOtL_zH4&0?j8GP5E+2p|8@d(ED2uCmyhx7F1Po-aSk-+lJze$$r!nF}U( zr=P!k;|0gbTydtIV)6$!$Fp1dX0Yk5%radqd?GbBwYl!oqwX)qj=xvD&hq)fEOq(o zv1_NS5w>e!tom`lDVzU7^aJg6YZBd(%g#j_AMBp?!KJ;gWv}y8QQ7ddEmhTh(#eP9 zGJAr!rE070fqlBaBe$}i46e|a+7|B^$!{?sI){BJLr14JZm{aaXaEV%gR zwfuX_-v4``pSg60>&bt@vxE$#`YXzVt7qTW3D2!GN}gO)yyZm=gZ5qS)IJ95$?bc#B=fTq6W8L%Pwwv~7Onpt+y;-vs zy|4MK{~~?;|DIKmGx%8oZ##sTs@(m;sJ`abvq$Y|0wJ=x26m?_m#)!N4LV!aRvj=~ z=$^vK<5{W&>*FdaL`uqeKggIXzvB`X+Hg#$gi|=?&Sek#os+fpnVIqK(GI{yi-CuQBFz1_)&ewFs zeM=|4&p75jrK=!h^IR#5z@T0HLRzwFYck)f?ff=*SIU(&TV|&umES+($e-aL#CZEC zclZmYd5S)+suQGo-q&2rW9(7qoY)bXtC=GnkbQ5N+>3!AhU7)=E64o#p4<}2ApgCC$6(Ty3r+2! z>@FXtxm8&#OvseKn6ftNTFT6%G-1=zlHB$)b4)y|&s>%hUOv@O#{HA#+JhaN^OUi^ccwc_e#&PkZ!X@3-d9e)VwsSg!eP&+dl@>m;<1({o(=ezi^0KtcJWM(_4RZu2u*>YmK>y3@)SlYei~+gvHT`lI^?~iUtIHj9q2Zm-9-{+QeU|LvGIYkngXA%_r0;&y2hi%)s2Aa3w{U)6es9 zgx1MPM&BPx6Z(z$QIK~UC~FYD;xim zEGk^hZ+e|+)@rfFww~m;KT;;mGX;F|CTC83{qc^aw?X9Wtqz$tXL(*w5=wo)@3UO( z-{txjUz^`^G+H@VXm9PUTN=+z3tfbtHZ0kuI91nkUniT36YB&A2F^Jf4k|2ZxV)k} zeMz|J&A5vZy-odF3{OA)l_0%I|5O8m)|`_nE0?M+U+;B9;$cN#{Aq^uf*)iW{wpha zOxe|Y=-X-i{Vc&#oZkD+6q*oJ_+?-I+yYJwwf^sOt=XmR+c+e5R$0#dB6QQ@Fk3R` zfs5zFRK5gM)c@^`zdZl{7uTxv%Dz1Z9a%y>j)XeP{>hjpw1vT`(RdbX3*#cyNy0`7 z`>v?ftW;&LEZBNVS64Qx&$(gZs_ai+lM2rYW;iT1jTPjud27}&xv4m7s>oWWz{6sG zR%{)7+h`h3bpzKA@Vma~)RDJg$tbS+B|2nggB2->CE?7eQohAYLov#L_vr*U^p=uN-8 z@%E+t{UMHgtvS=&R%9Wp(RM$yO3%@$@tjs^DxX%v1>SKBysH*;-9G0~DE&E63FM^$!ldd1iYW?fQ`*!8pIgM^P z>|0|c1MH4V- zCE*$S;;QTwH!@Z7a@|$D;C}q1VAZ$IP>a8;&i%D(T1 z#b2<$-|u<3C)=@mAxq`LkoPCb!iqn4T+U)Rw>TnhL;ayF!>VTi*X~?kOWxglJyxJSs>{_&7rU-+5SuD> zi(k^?z~mbT$}j5A-W~6;Ms0QIwn+=-&ruCJx@|JcrI$R##)ej2>HhQ84%BLitnOGW zfS3Js;hdgL^yq`IQf2o;`SHsZ@o^w9Vy`#md_xY^|oWe{OUiNE+-aC zwRG~n%Vc(ApC4cQ*!+wAzQ4S`UgpQS`=8@eP2dwU=$_R#>Dl_-Pg7nk-+pj0*M!sm zGa5NMe9ri9*pxLjQetzk%j(tcd;iutWP9E!5}u*t&^yIeepT?Vd%G4Nb+dNzV%s#$ z=L2WRnosW+KfLOH>zUePnQc@4vK+hX%eCk+ds$UbwRtR)f7idFGy8(~mc0FVJ}^Ds zUi9FSHCwhboZkO&wfW2awSUjQd^>Ztm&8YLHoonr)Yuf7cAsAGe2M&_#d~d;*i?8G z1>c|IVl8+h#9UB)@4$A$s8pYIoBMwkzMu3&_`eeGX*Dyp-xF?MX8p##Ab-}Uf|9$- z+k74!=Ht6|;nebF@@9b>YQ)T9KIyXeRqpzqp?ECg@Vfb4*@Q&-s}igJKXrB>5oYHp)cR&$}Lv9q`LIdw}ofU*3MdR*G%`+>C+jRp-KrM z3x2V){djU=gIB+UlkOphqNS=67Oi=)ucbrGVMm$kjgs>>^H1{k^3PeMu4nJJcLsO! z@`Y1dQ-9ry|KIWN`S<@_cDrh0)ng~EsL%|WShDeer{aRF(6@SZ>RYyEZ;O?f)iAlN z%GbWy>S*xnnTr{6J2~gXKa=3u^`A%;v zpUkP*z%n~>#k37t3)ts!AD)tR^6F=YS$)&g!rwYPaN|$goMm1 ztDU<%xj&Zi+;JD1j{lFm?U&jAJ{N!C>`qUwgE!R{D4Nb$u6AbHB9E5){I5!tmK$1Bo)@gVyS(k?m7SlbOna-Uw^zr{S8=Y()}+&q_s;Nj3|Qf*cXscIKN1qx zuV3^%Z&Nn&T-i3}v~w5g|6VhH`C9)^ew2%0>(aR~t1_P4ifDP5^lk}r^ZTE) z${JkAKF!ECeFamA=mO_iOBY8!DBbAfIVY_mr>DxVfA%EKva1cPX4NlCO=1PB=lAV? zqmaqe7;xX>*@|O+&bqgAuB^<}tl(mPz#p^j$K?)y(h$;*^)=`@V!) znODuSJF@1c`Tqa)FRJZ-OGn*|VZ8Kmk%&sXkDtOB(MKnD#(Y${wz`6YA;DC*)700v z+C#fTlE*M2qV_xUCqZTvwqGkYZO*N+_$Rkz8UK81-FDR_1Ln%atDAyjbzQMcQ@Jr=`!fHd?r` zx4%5?Z{J?onft5%|7+AgdXFvZhdN+MAx4xssgxCmCk{4f(DA zn*V{n(~Oy?e#oF{4F9+NOvP7Nmz2wGePzRDY39v3TU6lD?|=JBtcrL$I^May z)mnFWM&Ux?`McBD+>bMIM#r*meyj9h8{@+ijdgP31&h-|?6fcSKbfv_RYmHZjMP%^ z<;OB)FHgPSwz>A<*6Eqi=eT>`7bahKx!dRdwtwc7Tud#9UpXt*3GNeBF4t>i-In0G28)!3BoNCt}(%&i%S~ zTK`gi-B&5m>=Or-pFTXS6PkGM(2Bc;uRJe$il5(h?7DgeUq)m9C;NTxm0~R-efD)M z=6xo%^3UpWjhMKlS57E|PKa2OFx9D?pY4-g>=L;>VWlTD7dg&RtDeuFA5?dqx6@?} z13!Nc-)GeoFNN5?mxYNxyyEeTe-|7c`SyjyWM)ur4>FYZeFiK4Dai2eH;V1q3i*Bve{50|9SHp?% zM`~5BbC-Pmsej?dQ|>Kni5lL=w?wZz_9fx>1-Tx^z^livavgb<_Q~>cW8|$Av(sgA z3_slTM0DTEefqfY#?NnI&vka*vtRNuyRhy@E#uP@tB$yBc)m#T)|S?u6`kj6UAM&x zOh|v;Sbp&Q;hyeO>8U@Qx?Ux0m@)6u`g@C5>iqlW9#T0Y)wYZK#U<%w-3GRQ)7>*y zrcBN&V|aXUy0z^NHV&ax(;o$x-MRNjR40Th<#y+a9bfny-BX=hr5BlTZwp>`H=ieG zN2k}%*tRX@N9L$Zx;0fnO-Z0f{^^bHLfc2YR)%%LSeD}MI%qc4W3i@9CzP?c= zD~?sE^Jjcw+Q-SaO***lY+Ya1TBScH@J_zdq%8VZ@coY3(i)tE!lkw%^uAi(om!41h9>aH6uA@Qq*32EhBw~MG+8p9rxg}KV zTJ5|B#>2iQx>Ypm@=qf2a-r(NKCl&+pc*y2+EYqf4HC_P;z;-@f@(3|C>IXZn)Y`;@O~UNYHvqW=QR zN$W|I*qtV(B-h?eaA#p}5-~WG|48=uz8TulcGna$wp6yTCGKA{)6?{th{x{5VT<{s z7OXhVe~xi^&~Iafb)rfvn$vf>PU>~2;XnH4%gn$>|MYInJgRo=Did#S&qeY1|0lha zwLcntHK=)6`((9BSq)Ns zM>rI#EJL}E^!%t>ym2~Tf`iE)#rOT6+$WywTF+&$QIsQV)g?2l{e`p7Sj)fgTX@C7 zYr6XHO!gPrJ1TGY%-?(B{Qq~?SG@ltAs!g}xyh~YsLaPjr+?p?A?nNU%7G<&yGcjH zqMx%TZ|Qp5)^d05B$3JYX0AwGYPj#kN)f5M$J30L$p!7Z#Fw<;q)XTtjae&Md!O9B z_q4Kz$2@cWZe^4Ims=uDr}K(VR(?M*SvOhs)>%!Pd}e`!g5(YTf8O!knm2FZtv^C@ zrR-1p+ke;bwfQO`8pM~7QCyImX;HgOO5pbAm%D2Mn9goaeNrtJxI<%6%L`MpjKV#S zdy+RZH`yGy!cm{{Y??vix|_jgSR{NFXm3i)VhO#d;Blm zDlp%EpQnj!ezE)Aw>OTp*4Q;PM@AW|@BZ~;b^LFsx%Iz_LmX$tZn;%1`LKHBXS+#r z3y-N@kNEDswe^VJ20GJ?L*ZDtIYS4C^xyfE#=lOK74?ImY8zqp!BUAU0#sq4*2j}j*e zN3CDk^>xN24cmV=O#gk_d|v752a8a{=>Zq*{JRd$Td%=%kV@W~q)!wqKY8 zeVk{MJI;P@`irqeRsf?^?9G#|$JFeed7+bXP4e#E~ z9d}~6=k6>ySo2Ri{u%d#KT&22tLtr^mu~&sZ+H0Y&fk^~Pw;2lt;y?rmUnMSlgPSM zL-$>+Z&h}0T-he25yoAzanAfxMduHA#x9F$m5o2}{MtqV%_&>-q8v?jx!jxkP(0=5 zJjR11p7U9vIG6W29$uKu^5(%>qmx^wFFx8Q5fRsMUi)=fC?A)*%FenB7G1sBCThNV zi!Q$YdH?5ao07UYUY@sW)=ZwbPQG;i)YHHB9xGXq%D}(D_?)Q!qNB?sZPLZX&fIw- z(sk8UHq=pe25bGHIU6*m2{tc$%_ey%uEdU?cmAT!FYepdew5j;ePMasN4C8mUul~Z zf3`|v5qOqds#5x7t9^*rdrv;kYe!o&PH8AFv3S(6{;GarkImn%t4xN;5i1(IH|?%} zVwIXd$KftRZ|C;(h+90r{rNsWpI_Ox&hEQO>4IIMZqiFwx;gI_ipXhA{o_&Vu*Li4 z4hI#f*r}Ty-ulFqpO>#$y}`G2>&~#*p&JjeR<{(L*vQ}0Gvi`$`j0C!jZF%wST6VH zPI<(V8gTQ}ftUM!dr9A&wZ}DjlLlwta*^;9i>O~;O8GT{4&9Q`<_$J_tUXEJ?$Gw+ zwXcpG-Pe86Q9(m+`#P=Wz2ffK1+@p$8l#0JMM93f6q;~O_`H33RJC=)sZ~<5cl>I2 zUt6`Z!_wgt|7TlK{ymoE-(9+v`*9PJ1=q@s19My@_4g zIlnoNyZvJy-6lP`@P>joqw^{yx!Bg;Mu}06Oy}H zCx}g0;K^2@YB>3+X&Sz7VW-|Tz;Y$$WTZa&{zhT-_G zoqN(6{_bpe`}ENln<-q@8_SCYSU-0jU!OGj3d{C|D<&S#t1s-ESG?rnEn7!vPLX84 zSX+O~8S^ebKX-v$V#7a<*DtnjkPFhzSNi%>%$isGg{Rk?6<4d0PM7XGle?ekpl#tT z&W47pPUi!U1P;qtuGww*`H1+7Lszv+zFo3>HQ8r5+hNh`I};M~4n20?v*+K2;zPR^ zRY|{E&hXbOd-j)y>+e6=c~f$(%6o_DcP`wRA!$`T%}xDSrHtw+nGN6kwk{G(SsPUx zum31W;+S5IF4qzk$6pUPs@>aGh`avd`*QbA&2!nP*f^J;`R;BJlA7$+{o0wYR(y_< z&=NG?;=1cfK&WwAakHcvw;P}A)xRcnKPT<{bVmHgnWLYloLQb3ePM<)$9Cas?W^Nz z)p$N6n*~fto>VfqD1qzcBi|K&L;`wzR`4I%7QeUVrp?DU##aoDIFc%Fol%M3bl_b5 ziIAu3$^v(O-*7QM%4z?~{)2s+{o@vXG=BW$;(Gl{yYu(DzTf}bZ0-4TCsv7E>)oZa z^6lDVTej{zC@_ta_uEEQ@zar!*OIo*m$>lj?b6lZNADDD((bnv66J7?{9RtMF|O(L z{ovvVmE?DyWF6Rlw*Gc=d{uI{%Bbv_bJ>!q<`;KP%QW=2{mJ6LAmO6*h0}92ju|M# z`(EFEz-Oo6g%xhE-rp*^@#1uP_?3-mE1hQc>Gax`vffQsF5z4D_*eeDXPQfPrl&1i zv14D(!@R3`r%gGSRE^Fh?EUay_d zpG)+n2o}%q7H&U(?DpMnic+gJThAZ6D0fnP=im07v(vs`=lHbT$4&Nay6eWyeWF z_ahA}D!ZgwzRuaLagZ@QcAtF#)5D`;dX>MY8rDafI>`Nhd2UJP^`^&uGvDnJe0NYU z@A~wY5}UQ%IS-O k>@XH@CbRtsv;QZ5+t$XbB1-Nd0|Nttr>mdKI;Vst0P-W~E&u=k diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png index ac4b8501d3b79e626dec4fd8737ed3291e7d9702..cab8a74d311527a414d9fff5b84d904bf171c23c 100644 GIT binary patch literal 16335 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 J);T3K0RXXf3z7f; literal 15926 zcmeAS@N?(olHy`uVBq!ia0y~yV7LLo9Bd2>44n$PZy6YD|9ZMOhE&{oTgy2o~#(9UcS5jcWr!V?d#}J zMIm8f>qN0h{SH1p3~Fj>48p>~!VR6BoCl5^VM$0zN@6lFG-RAHV+Mnd4?;ylCqe~C z0bB*h2(TGMsQ_65wgqGc$P%zEATyAiL0APLhwj?0TNaxwHSuVDyx$YOjXL3WQ~md8 z{^YRR`E1v^s;8oxmiwt*f5o72Cw(u|0bkXkg89?@y=`XP2)w1-pRv1QVHks-%>O6S zYcE%AaNcsFq5FlQ_sX;P;yb79%v%wpxz|I}-Ol!7LQ?zZFqZtO4<=5_ntQW5BhU6? z`nPwhXZ?F8y?$xN^`)KZ^Tl6Z-~OaEXOaCiA=~10L0|t(UXfbC$EnDgkYuMI7kKJP zXy-lld#}E5Tr3UMefKo_`r6l@FWr}0p6We+`7P$Fg+X0KpFcZ4kGE)Ec7Feyw%*wr z)~jg$sbD)`=Cx9EZCpV1?Ef(ZV`15`T@`;%SuM>J(7S z%+>XJ%a{7w`N`MrQ1sK(^m_XAwq{@Z!4x z%k%cX4EBCKmYug{>CvTsn5^f_S``wkymN=8W?~Y5nrl+Z@@0alX+b7(mqUUdw*&{R zHC{d^_w1e;#ol=(RnGJ0{XBno_1{EgCEtqU8ma~poq9M9_{kn(S{SwQn%2eWwb!dc zdR|-(EsWYyd$`>>uJ)Z|)ytd9GydPRH9U1{+uJue+9JIZZ{Kk63vOndYP~>SLv#M* zuA?5NrW3Pr)Y?|@E;t$-bTTuiVCBCB(N`9mlsr5-{lXT@&lw+PY>e&>erb55yS^nn zdism2Hc2jzC0TNq46J@;g>^2d3Vr=2X3@`v(_gK(y`Q@)?opU3|>WnW)c*s+(h zz2Q{Ql?Z>oV&k3Ll;%$LT(xkbhHY<2rvIX2YVS`51@XLiAl9iQ_*r7LrBj)OkCt(_ z5(D4WYZfB?s{Pe)wsXe6#OsSAFa}{$lG>{ny8uOZlEYjeNMJ#R!yAwIZe~h8dGs&B}F^mEIL(_(#?-Fc(qQ!XB^xMr{1a_5>}OAU|W6Qz}FIS<$|nyy|RGuJTS zVh&5m{JXJXw#k1_ZNL2Q-*xwltE;xlUN77uU?Aee(XnUM&Q49+OD|W(?MRPY8|SfA z;YsuIr1TXNq64FLG4e<_Ki>IcBbQ2hl0z%QiHIpB+y{=`IOTDi*CEBIWq*|Tjf{`Z z9yaO{!u=A3vCcgTN}-e0<|m%t^@mHU_}9#djDM^4O>zE`z;4I*;Z0*O#X_bnpE6cWdA2d3Bertlu zk9$G|Zq2mOdR3{tOnQcF%7hK-htHSDFgSI*_@<+%rSqXKF4%e1nmKE3HNTn9aLDBS z>XZdXl^B$4lBUT!-73>IeAGI@H^ox#=7$cxIQ4rsUR*k8WxjoZg2~%OktGN3{FHHe zr+t?1zo^0A!x2lvO4qE_b;|7pMekgVLrvLX4JT4fHQ3(Y*_7=Su=!WP;a?W5!6HT4 z)}jlgoQ#SV3+ktPdFLvtTl6HWP1x(r6URNzBQ>Q;G3m;8k2kGS6Q<8Ko43NnwlSkd#7J*Ig6d0o1Il_5Y1V&$$;!*Js zwyk*a;li1p(=SQ}>o0LsW?!$>67Kx)_eW2!x07$pV$hkXnDCl&OU2Di7oJ{T7RzE^ z@b(@v@ASGK@2oAo1)28!{FR-zWar7J0s>oCY?~!I|Fq1prOUQd3bHF?b}GemOPpVP zBY5NSB>iX1hgzRse6#Yy?rZP%KJk-z-gu}c`rmcYKeHXh4i$g4XH46=zbWJ@V~~QS zh`s*)Jcfu3ll0o>a47d4w+>)7VzG?*U-!ed;&4^VM1@d}dAd^l*-nbmrWRMOo!gie zSH{{qug0x*zFg&bL&HzIuIbla+>{g)E!+?oo*njnQCjQeyuj2s>+bCg6kQ&gWfOvnj_~`#6^(zflY8WIoM04hg=Wl@nf9@_Y;9I2+?J85rA1fX+Gd8Jtr_ZvS z;FD94x-ox6x&Hf~mMtye!Be59Pi8%H#SCh z1-;PUQSv9VCrFxa?OIMlB?fCJjvYR)_tY$^RM1&>cjx9ehrZvhJN@r>a{q-{rtc4$ zE;!aAU~sg}yWx6)Qq1P0LrQ14KQgJE7ZBrkxah}azDh-f_WU=26DDU)*;A5d_VSNS z@N=WM4rd286}jbQjxR$d_|M`#L}t@Qo$g0rutPLIFBTUuIp>g?vjFYC^B9X{}@ z>M+x*MTfRcp3ivbp?o#Nzk}@blCq#xXVbPE z_3|eLi)3uhSsp9i63Zd^X`Z}Xx3kA;t^*HuTl$o2J?>=mb5diH*@3jU^A&-gKG{8K zd~D_oP1#`q>)+q#niU$gYg19+=0l?QS4TcfX(><8ifKHV zT-HA$>-mTN{5iiHxXkZ$Wrs1$=41?ZVhfq&?C?#g=Fn%|4;F9t38rQxT-#^V|KP={ zQXa*RyRt5)F|57S(pO`s(9-;DVa58IRD*d_^_gT&eR}_)_(4R6=S1eMZrqtmmsM}w zdW?;IUeNcK*X>Q1d7fArr(a$Wc=+D=?JxW*R=HbWyS7W(aM7;G*SXd$I2|)LY{?5D zj{bGGL&I#d4_mLkyfbZU(b3s`!tOp(<_BzUdUih4E>ZBxnjb2<`sQ5RM{^czy6xn^ zxBo`8rWXg}<=Zwf=?k)0ne!54cmo@smmcr4`}N_&3pNlS?LXJD=~(r_%dYA8uW@nh#OttNHN(99CC*@C_{kpxuu90C< zGbhX3{s3+3)4P9_^Dx?CC|e{1{c_v#f&x3)E3 zc~@((Z^eB7M|M}P?l>8ozO-6VP3qB$JrHLLu);-xDX|dW!Xq+iu!! zHRqsnRP@C9Ub(~&@wE?p+6r%QIYgvhFh4i%oniYed+r|35x7*~`}MJF575rJUZXcLHKXuWhXsZL9yfY3I?|_o8JN+x=Cr;g1$O!KER2%gMp+ zWYa9s%?&(S*H~`Vah&M?=&U04Y?iR@{qvzeCYSuV^Qyv@@4sA#tXPQDyColUe+C=% z%;&xrk$c}&Ojs(|?|7lf_LEzF)b0DY|L;EIb2~Zu&E=-rP8I#6rxRoU*ucp4sCC`s z=r-H@|Nq#h@V%P9ci!gm{Xcz7iuOvJ=fAnxy6@Y}De-^b{_MJAl6~Ojv@AcKyPj?L z=EQ6}V*R#MF!1HKSIm*3S3^_y53~)LyXW#BvJai% zz1DQeujUU0HBAernWQZ#-(>jU(MPie8T}nUo*etE$#Cz)oE?2)o<$WW@;B~l{BoeK zJ&r@@zV&{+`Jdi62EMqK?5^0dMum6%G6t!qKT`POXP#Q+aX5Qsjqt<8y}#cmGV=!H z?&;&+b^qqh_Mj|jo$?ME^@33YGh$IQfln_K6akc2|qa630f)g=?C(%I&bQf23Wv z$>D(iVcU4yYL)BNsv9OhYYJ$2?69Ny#`oL<&n7F$7=5~5?ZD0HlTl&I+uG^0&rMVz z`Nw{Pj>&2@VOOhtDrD|&?9Q21zENuFk{LO7qT=f2X4aPqY~9jqYATt@T>U+*f%X1G zhBqoEVW|>%O&JBU>*nOCtoqULm~)bHn0LgQEe?y7o-V6aSJ*T4^d;4><;IuAI`Sh= z^0l)3|FgoQJDHW?dBqvIqKDTDC;$FaWB71_{#|L)f-6rtm)<&Z=#TXu8)x>($9l7} zJoE2o9`b9olB{ogz^?gA@Wdqk?Ew`>1U5Nd$@o?wGw+x9W+@k;ifxV+*RJnyQ)93` z$vfd?_`dXh%gB&``cK9Dk9T@iRoI4=ZdDU6=ANN@I#2u3ET{Em>eG`}2KFCX_cW?q z(LACu(eFWt{EL%Sb#`$TiL4Ep75d*!tbKB9V+;e+rS|NkoR}%|Od7xJxVYr>!seP> z)<{EDH&lx4S~imIkgvMyk-iOjnlYF%Mt-?#ojP1>@hs?+ZpH-x8{ADsPc z<1Sm)Cv$3FoaM^9cJcm{^2Z)$9{mz^vVFQEcJX$m4M%M!8ttzS+j66}D)8ELyYB9= z&72#zYGxnll?&Qvclo2;d#x)1j9cSWCfEAsJ)U@(P5nfch0BrY>wFX~KJdgC@cD_| ze!tr2%2vB68y-w%)?W6hAC4dYyZ7+X()~L#Pw!T*EUJsV@=UaFV9T9L!=N8vI`j{uFgJZ$rl){aV&R^Yf(d5JYRl7FL znQ-&#H`y854Azx*Hz#rxM19q{zrBBQ-qPj^+8+|OiL<>rGI^(R0n>ql%o1(-GoNj4 z-;yrhD{D08Q`Of)uJ-SICq3$J^xtS1SCLxM%(wc}!;dlVejnmocXsO`YrWp8sjFp+ z9~S)F@guInp#AW!LqeO%!vkbzTw1k|`NT7s&8rnI$JHHwRlhqvp4sfE<*UZ3`L#!1 zKhxBAc~U0Ju%_sLT~^@=m4}in2_-^h3dMWQCk4NVEanRdEm-UJ(&hYtliL|*%%8kb z{B=+4=YuPDR2r?;Sow2$>#vE?vA*fw; z2VP`;W)2oMIWEp-vHxr9>y=!trAH4vPN^_dOLzER+;L)kYT?VpyUtxV|CPdZ{p63W zPMHBAR~-!AJe%ccw|qy+t0}BAUaQaeamx5r^2ak`FD`fPoj<@fh~ z(TSX_KC3Eh`a#i_?Hv5h7c^&Gm~c4!-{lG)nfa2Y&!=;4IhiWTyk_G*#mU|`m;d^i zKKGFp-#kEwl9N5iTd^bD@0f8xAxxCLCGlzbUBg!IL#>mh6-$pLmDoGyNY$8#5NyjC@9 z=j_)h9XA(GoE8#uEl7C3HscM?j0fuueaui1G0s&z!}Q|Xp9#uUf*%fT|RX2LxV~GOA92$lPg}NcmJPyihW9uM3>0*!b!_*7fOsvos@FdOJDzt~Gb?PCPpI?mo5P);BDrU9Vla>RJwn@60e+m3&d`A4|}W^lsJ! z_4&Gf3=%IAx#v!~W!+dB&3A2G+LFFG^-EQK&b{5F<@JzDZn2NHkFl8EqBP&PoxLd& zY(50doT(V~`&;#w*Z=>it~6F#{CmerU)%XT0@Gi|%g7n+U|PR)?<~2WKNGW`mp$5; zETEk>Kg!QMKq&I=0|vwN%d7_qByD3jR+Qd8b3plN{7EJAn)js#Z$1y+-?&%v(i@el z)rO|>UK>{m7C!IK+t)eg5z`uLueVmJ_YMCiwR)s(<>Ze(sl4y-_k?9`(<8hyxOMji z{1sW>SjydCX|vv6^ZGX3r;JOSTUX9~wa}O`@6PG{n~Ww0|4$0*zt6tR=IqW_QeiVy zY)zg_wvyfVFx-2ew{^Cb2J4|1^O?7fJ=lEkdD6!})dDh(|DGC4uFW#J#Mo0}U9+*3 zHKD|4bBAMxgnQqE8)YXhy|tN;6~E(ZyWj)2J$iBLgCo@sRzE!Bp7?W(p>W2NmyZL5 ziza*J72KOTIq|YF|G$~@;y-G&R()Ss;kV7aPj}|Ax%UP5Z~utVk((mby}fqLyz;F7 zf%3mDW(zgUm6GF;Jt?KYoVmiZ)UBkXZG*ypr+bSc@6PM_qaE;Z@!7|hT*Is7>x6#q zyWyRx@c!1GI^(~O_QfysOkZ&PQQ`GMo0G5pOqgF^SZKNR@KN`2C-YwqHS5_EGn_64 z$vxhAxKrGjQDW{CW5Gol_uLMzY5g4fdevRewbAQ$&7Iq@%F^(EP^_NLZuZw18T0>@ z{Q4rPp`+e^=Rxx3gPym~t|VYfqeoYO8CA;KziLOPe~L{XS}bW5&FR7pEM%JU`~Rh}G>zO$CdX zyP5w|uY6y7X}(I#*Nav5<^P;c89cUqeO&f!*_l>`&jAb@3RIp{Z#cTV zU`55L>J47LzAIl!_Gao77u|JsKEjZ*i}`k{ltQ$Po6geLatB1FDGF+xJ7qk1>MWnc zn|^Yt^YboW+HdFD|L3pgozgrP z76{1Ow6N}TEMEPVKl`a{MvWum1*6YKn#$I{6Zq>-&i9#W6?yo`(eAaX-qSwV?K-tc z=*+bnn<78QIG>N67C;Qv-bw?(gKYh{tSw(_TV&0kTP{W*^X7~E?ce)#%e$PfcHW=Z(xJYvci-Q# z&u0&_ztwf~J9PT#j@(0AR!+#fttRC2;O&h1kDk*fUVQrDg2=Rq)xOrRW26kW*l#tl z+-IggGgXt7aqaST8zw$zHM*?PV}JNXf}i$@gcVe%O)qI`F~Et_lR^Hd{{0apI?zt z!~CL7Psdt)!G<{;M#0TRw>Ljsw)>{Z^jlL{+5g?%UFWv{=kd)F^K19bJhZxh8%OSw zzaHTx9B?8M0b~vrv_EPun&GLV}a`(5iy@|a1ckQg>693qKhG+8EyVZJIH*8#9Wa;wc z_pH753}hd-N_?yPSOGCcOA9GrTuBv&r|nT31dXE}GzfU+ei1&WbP_^!d`P4fQu3U3IDX#CG=#ceJe%9*gwI%7 z^78n;KkJeccdqMm?%PO{+v2HY3-adg^k@)WlNuK{jzs`edoRN zT!BB%7@s(}<V65IXBGTa_TSybHEQO~x_-6Dli_~*+rZG< zl)2XT?OWhyllXg|&n#*GYL|{yTrK^Z&BnXD3=1CGakJl=?bm%DTfwWp;8Jv#a@K)1Hfp=IV!a zP2aFGxOVLuP5&aF!`J!rpE*tZe(uA@$7%cae5qW!shDTw!e*JyY?GLdyu2@N6CU2r zE36B;70fgt(xz+n!PB3VN`CHI>{h0C{!`?Bi$hoIBnr(+?yz(ndHEuvHcjVa70Q7b3M+%pZc`M5e5RLq_?&bC{`8eZSW#l5-D>#N`j zlTQvAHa~Z_zgTB~KR@G#fS!Wif;BH5y{YLvuhx>hvEsM)@sr2SoOo0xE_beC^)$5; zD~fC{F)v(lO8dd%P-pl4r=Ico!R8x-taeb&Uu$;TIZniT)y+5EKs z;5W?-R^IuXcX?RnK6#0+jMNRMdg^>#px zibEFbkE+dlA79D+ppt#_-R5xlgw%*6%QOX@9|gv{pf(SUFA1L zJHu|#FS1|T*Mu?tc(lhxHqJZo=(^CD7f(}sE`DZZ?Opx&oWI}1!7VVup2KC}ICi*5`i#Kvl*>1(87Vzm4Un)QId)8&^ z*=HP%yr3g@vihiCQz~;zb-?3aw@Sk=R`Gt!y}xh4L&gV(4z0^nw?4c7klKH)h2OnP zMeKifRo*-NCTai7lgEP$|4A?25~~qWp=LMzQ?P+^-h~en4FhD?e_F5mp6zG&cE%Y` z^CKk}g}A+Q(&Q~=$-1b|J9)2yJ z{J!+&oSz{rbsG;?>aRa0x~z0X;oXwMTes|1kj`%Y)hKto&C}=Y(geL4qvOmQlolV7 z@4x%}DT>-k@ta>A+@VrniXotjr1%dYry#>U5)4_*jrUu53aI^C9K=SGGeKiyQ@ zAG?#1wwz#FoP1hZ-|E+NMTk~xVv%D#a{4)D(@B8e3^yh?t`IIY9UrK#i zB~WcRPhqNt?BnxXZ#6#p&OUg?Ou9UM>Cy?YF)XL{UE-)Q)aUm-yK#&JV=3)U?-CYnxV7!# zI_{t1tIt{TyqQoxGg6kJa$okvIoazLt8G79Z8&q{tb<0&Eo#3P&tJa$ezfDYOktnA z6~bySq!<>cwmEbMZ?ax`wn|B)SGv+RaQ(NR)7RhYSQp_drMNXSS(D{-NB5M?)$=X4 zE{fPOF+4;@s{YxO<^^$b-w!*xGn8>{?u;o(E3JLM=ED2u^}np*8lFd8P@MHkT-@y; zt4UPUkNaJj=}-Jh_8fK;ejRUl^R24)vFfF>?quKV@m`U>-l@y%_+LiL!p)LP^Xhr; zGD-dG?Yf)NFPR&*@0B0do-Rh2C-GCBe7sRAdrg=%`F+K9lNm>E?CQ;kZS333nVrJ^ z&G@Iz^}|1muZliBx5it4@j~V*Tcd!LfB)PpZ+}#@olkK3Z%#9X;{Pv$^>fZ07d1Pz zyX3*qp5+hO9N!hSEe}}mQTM|ASn1hs%iTBs`ylXMbYaY%D|h_2SL(l;`AF*ex!&6^ zR$td$#LJa<{lP)EhlL&OTsJ)b8PD*a@#dHK>BU{$He7azm#w~6y55g@$@{T2;?|)8 zSuw`V-!Dl-uGxG1_T^_WUMp(vy5C(;9m()4TX?!|v2*g2Tc!)jFE0MPZr7|Y|Ni#% zx;b>)idnOMF?=~os{hT3{4Z<|WctOqm)$AK=BYMVo@>A5W8Chti%T!3C!Y%L{1~^+ z|M2?SWYOBM$6jaVd&;Sqe|@#*>XH1dfp@ZxZZ$1-dM#`$XC2}1(s^(7B&F5Y6jaWb zo784}U?`54*=oZrryCae&}X(?aPKUWZ}JM}VMX!xl$OdcMwo9{8EmWHw&%fe@kIL~ zx2h_Qw#io?X>ZdsOFz(kw5R;RJ;UzV9R0_;4H<4|e@a=}^7F&7YQ-t1I;~9J-+JBq z{ZV>af$s0y#b0`(_c^h*^C(#B-#6%KUwi!H`N*~Bf-FD{QcEG)BnjYG^sVWzxzVi)XSUUTj!ah zJgN3!E4M1MeXp%xbTZkV6Msif$Ia>fn@YnuD!ZOFNY*4587_OK z56D#A%YMhYc}4jCc^PxN0__fby-~Y=`TKi2XFPiBzIfi0XIFRhmBejgn9i8-X}!vK z-J-wUNB8b9h|sz7^!fLLPjl{bX4UCxitOB3CLw2cq~iRKXK&TMcZG#orO!3LDrcSg ziL1o$&)k(i-@VwoOZPyJ?W@0x`rj6JFZ_G@fJCE2*UB&nr3Y;O3r-!4b($Dj_@m>< z-x=zEK56_Bv;Y6;uycNG&Xi3D_|CBwpK#3N+h+FX{9OA*^Y7O8hd)-@f2?%L^+yw? z?p5~BGJ318o?t6@=sgP-{g~#@mwho%p1Ql&I!}Chh1}`&(JyaF zId6>SdU$W&rp4cr4o=asi{HFCYI*p~UDwy$E%~@p{KA2QDHo1|{25;Ad%H?0P5a_w(b$b$Nw>?J8JseeZ#g{-Jbd=U z#T(1keke(B`aa$Avi{6$e~au(MlKxw<=5|c+eo}A+kabf`T4h-?Mr=w&&Ta`nphEX zJJNFAw*KhfihmiW`oFmA9{Z-@q;8*=(^LKT##{C4t(QID`)EqoeV6WkFSSGX3u@oD zoximC{rXQ?F=ut%;|r4+4h3g?Gl){R|NrT_aADq2WziWfg^m?lZ2t3mEc5aR4-Kq% z;n2f$LN)z!*q0@ZOB~m6hW70G_hck%kM%BtUXFu#_1Ycch@I=>)-!Hf4ktp z?#LNWQWl=QJLf~f|CpGSyblj9eAIXMZMn6)=KrKxh3Xkc?quICi?aA$bn4vM#p@Ho z9!0aCIw5DvWx8&eb9RjU;&bM68P@Rks8{|sDzE%p5cuxxp%~t26AJ@(O1_>Lqy0os z`lh6al+lTv%OXP?_w;AXL@e!sNSii}1kb7o`5=Ippymi!|>C*In7U6@_|WcSQJ+Kh$t zePu7#Wur_cHP^cpS8HzZ98cqyx>DKu`tc$EZ+&Zod2Yo|x+!z2Qg-|D4+YZSjwsY9 z>F;;jc-A@~#v{jm1U^#|dhTT0r+MkpqUvutyl4NPdH(vKV%=<^XA3zF?E1|9 zV72wTzmLR|HLljZou3!&Bgw&-%rIf@yqE1=9Q~Ib)}H$AJc(u5M+ezg&R5&nBRAO0 zH9S0})aKr<%R9DMdfETH>Yo{2CUt22z2kO%x{Cjej;7Y}=Y86`nQOC2&b<8-Pi6ho zy|Sr9Qd1}Q!qcZGcDKzu`uyWs>kTi~pNnqVm%hFDvuydL2b1pHcGCU3?(XcG1k+2Or;M5NS{4)^J!YXM6I|!-c-S zbDt+W{yTbiza59=pUnbA>(<}$PhHBOdFAD~kKg9Z{ImMr;^%kQz14gDX6Mf7r;o87 zlDp6!6C*O~-$yLwrFc0|XgFLC5jpR+Z!`nKCN zhLp8G#b3o&TD}$es%Kmjd`>}5@_AWKjE!6AKBlYwuIfoP3^uwqoUPT5mw1@}eWs}Y zK540q+pqS(#g7-7Z~T6(+4D@};=UJ)_WZe!p8qq9XWuWkSI@TWVOX=dgfnE*O~Llq ze)%23Oir6Sb|lww zJ$P{`Kq~LXlR3SdlNbDLouvKYX|BP;f3+)rp08h8k=pz6wNd5um%@A5PM1ngFyAJ@ zHu2lL!o1%<>o0DIb2UF)UAx8SbwIhg8B2of8`1y85$+`~Z(Uve<4Nyghc}wR&Sll_ zk9_{W!!B&wd67_EY34YG;O$wWQ{4-t*H627vh2*dirEVPSJ}QW4OgqSSoLk1KvA_9 z&)0P)+H{v3SP_(JxztB4Uu>TBiQP%o-vcF#`4-Q%>$zKSdb@M_eA}OaCY$a(uBv8G zF%fBym69`hxV7-}xzqPzcQT#ot~uH*wB@G$8or6@8@F9J*cH~h^jS;HsYe=y43f+Z z%WoU)IHaCnWf1+B^ThrpQNKTB=J|^wLUj*4VB%Q#J@8b^MFH9GEpu}0U9TtZmpCzV zn(gj6oAqYM?R%vie{<*JCcESQ8(sWV8E-s1xRJp0q@c=aSJ1DEYxpVy^4i*IDJy$=AebaV-_4;lcYwI`j`aj0%<}TCqUoDhsF%@Z$HMEIwHpzdxTSji# zk#z&>TJ%4+9LMw2Jkv(Dqb z7q*u{tM0d4u}+PT=Hj-Xj28*UZi>4e$zC~Jq|r8Soq<%)e`apAwy$UQi@E;#9=1C# zBEp&RhT!4DzVdG!Dms?R|74xU$#1#GTFByzh4J+lqOoV%u2+AnDAMw2H#XJ!mJ*wF z<&Dn&O?&=yzxIorEBdJ1nLTk$)i2hdYKMCpc(UZ1vpHJZcnudbDCMs`_BwHm?5;gu z*Ude5m;cXADeIgAZ!bvMotc-tDfK9e7t;pi*7nEO*2Wm_Ec##9Z+k={_pEJ!2RBd+Ej)7 zpksX*tl=UL9^L)O(l5ilvhcX=_ttYWjb7fnJS8g0qc_hi*_oki&%=k-cGV}cQ~E{Z z-2f6q4A$2avrzc*k1o@{==Ka>9&TEEA_WI?VEk} zhCqYt;-==qhxyHO_rJLts{K=|w&Y>r^4sn)#!Tmq+VIE5J$uO?`H^vJ^RI+t?ZXv! z6dvE_71Jzn`!B!t`Xg@k$>s|lUcD6Fv)$Bd@-C?}Tb~QEE=@~}d-8Sav0}-B+6{JP zulwtS_B{&bp6`5atHOtW(;B=Pz8OALR5Xz4|4*V%*+O;~KVaKx%mw&EqZ!uJf zRQz4|aN%#q?1~v;%RNj|+|=vl1lb8j_y{P>3A(srrrc5HVu=*JmQ7O3*17_0$0mQA zvTFN%Rq?}#CK>t0F3%!v`TV(lQMpYn`rp%E#}CUD9By9{wuf6`>FgTs#VQNAH@wS8 zs6YSM>4CJXU)ocr6Wvk^eqUU6<5BfH?s%jBla`+k$%`ms6 z)OKvRVlG#kcWnL9>S;d3xRN zna6(J=uzI#-uP_7?pnhMAvYCutX>>+_A1@7>Xc*bDX+J8j~5+q+co3i!$r3vnnO!= z^z-};)p0cXYLs^`W^db_dpDenG8&GXe7d6c%4O!m_4!X1THl$z)bh;hoXV;sixbD* zn*N!?u(|2ip$c6S*P`-mvzd+wv!(=lGZ%=OEsnS#)@D$@kyZK4r^AZB*QHNuQ|pua zHQCea?yX-lId`xm92b&vGPZyJw>+%sVWNr9r8|8^7EyEea;&~F@$iP}n;iI7yvdPW zySg+Zx-#RFOkrBaE6kH4R@JG89XFvam>5{J*}M@z+g z_PvO+eGpk)p{U$k_S$dCjsnIPm)oPZ<#qN;SXz}F-@AXY;@<9kMYERchj^c9Q$4x! zg~jsza_`3ESc3XbrhH6^9OYz7F4KyKxtj*T;Vx{Hr&d*RnlWZMebWqx-+4 z#sd$06~+8+cqAv!DSOAkD`}@>^7;SW2WO&6&i?(}wdviVoatx#uU{3t_u;Dk|I`~h zI4_IWKkcsI_09bIJDP7-LnU|T$FvxIX3=v^v8z`x?LK&^MpyY(gjt^2-eU8H3)h*Y zs#otYmp;;V`&?!;Z3ze>jh;aPczU_}JQ>;X8A` z83+GN+b5M@9-aw1e_)})`70ZCK3}~={E{4x(VeZA^zHf0Kf_crnY1Mde%eZNATa`v22+`S*OZ<74GExAX9}Pc%Pjn110b!y5^W z7ox?LO$I5UVqPqJWP?N#Q)K)Lm@eFTyW8Wln{eFiQ(tWI>k_->A3U~3;r@=7MX$?( zUVjwZ;2V^B@ORR*j+tgx1K1~sReJvn+N;`}C0o~uiB#vO2oUxY2jpy|=9*t$tkeF?weM7wMTiw>>XL#Ol zHonMMxw^Q}=iOKHTHTVbzUJ4bq}?!I5c#Pvk&89KlapV1i{0C5{y!h*&abOCT>4Gk zp-_OI@5^VgLx$Zm9rI2m99z7{DKTu3skC-Qnoh)z?b_^Lf7W#cy=PHZ`qul>c~boZ zrqfe4?fm$mQ_6h3|GZyckLm8V`+E8P9k1+rae|vC%r2ZhGdQp@tj1@}ql2bCOMeGx zh<*NKQ^9N!m#}>A%R_1TlGP?Hty$`a9P2_i3!VJ*uHSVJYtx&J5pNGp)bm$m+aPkR zvEAYPam(ws_UW3X969kpxBQ-~u)p+Yp17~v>AzODRveo4B${c%W3$cDJYUyu-x61J zJAD7Yz4d$k^jCN}CZ4#t^KMSYlbc@xxrOVsPlXnG@@Id$^OI-I($DR@JCws$n)7au zt30wyd;OCB-KW^sAFYpH{I%(n#ow%#hxw=9`+Qh_hwsN3elPDHPkY*axKb#ic>3-4 zHy=;nH+fRW!?St+%*M2v_o|}J=C9yrSRN>Sc~3)s{rraqxmmtXmEQ14AXM(Itgd#k z)5jUV{#@Uen7Ad%_x_p>X9Et~-}tzl&s1ujkJ!>l0@=ECziz6x5CVC2= zd){=3i8;HTRYa1*{2^myQRtDD=BMYjct2~iFMnO0@nk|Bzhd$3r!q^mn0C$x_`tN` z$;S35|6Omt^RNAPbN_w6m(1*eOLpFTxJN@>{rJ4vlS_HlY)|u-D0R2bVKr2U+;c;! z_V?S^TYQsVC^|IwF#3MHY`Xf|ywdmmbq?9#>pBG4%9f?2Ycrd?=`x#Qdw#P!$BB|% zjDiQ2Y>2oMqteB_N6GL|3~ka_R?Pwn;EG&%Cu;->&A)j}N`~e~DZD{iB)9 za5s8F_FkPhZ-%l%hYp)>-S@aU{{Qp$`@VeY4!n0@#>{DX=l4|bot?2g;p!XXWB;vN zoc(`3zM}gi(ldJZVbHhnQEiP%x zM|ADvE^V4&GGE5<=SZR-HZT>>DTTCf27mGNL+3OEx+NSMI!={$RlcQ}eo+=VsOx#_s=f zX8z-e<;?||0&M{dWruVuHm=%g_xqju{F=vG)8{X8HLt5Y+{$n*W05`Efu`x3|8GCE z?1;eI(6!xy0(E=W*!_CC{r|_Le}}*Sn`QSap;qSZ#jqV4E^Kl*yW8hxw!bU?LNT`H zXR~tE3`M#Ob8pDn)TCrw5n}7XzZt1c=^k2}s|Ep`3B;PpU;H*#)T-p7*wN(3_*5B8EzhCS! zkLyp)YhzlQx!hnf$1H3^vo(}tER z@rJ+a=bn-E-{SAJ=)Pcvf7V>vju)3FwBFg0dUx4HeY<}Wdp~@c98$gD)}8sY;{|5* zeVF#$yMKm7ne#-~{l_%su%8QE71yB3@OwY&%}J`S1UEEs+czp*>vMSgo;~G+OosWs z4cYNmk7`fX=ia@de!k(`LlOJ!RL?7}`JtjMEr=-rShDOzxxk)RL6{Gj`7)aFhuN02JIGx?KlQ0BXPGd)*Z)$_7h`q27L20c^jW^bZ-35A5c^quCP-5 R9RmXcgQu&X%Q~loCIE);^JxG8 diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png index 7ed0607ce1dd402f2a9ae58c6bfc652a02bdf248..fe68af352a914237ef8fa16c18836c2a0598b8b1 100644 GIT binary patch literal 12409 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 literal 20299 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 DL9(vG diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png index 6ab46b6ccedcb8d6d08ec736f9e2a63af5b8c987..8fca244767ac66d461aca3a951b164c6cc652bdb 100644 GIT binary patch literal 28585 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 R%fP_E;OXk;vd$@?2>@)e7kB^w literal 28151 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%0A@Tj7Lnu(&o3W@FrGGjM@_t z_3z6Li^J{G2VCA>^;A`ASU==mpv=ast8J0T*HZnUW&N=3pxtZDN`maHotmp$!fFt`>+Nks<8tP?*V z&r}xwLa17~N8$GI)@47pN3?`TieBRl3@tt!Km^8lTs_I zt89eKQ_Tq{S&p{m1TSA6q426~`Z|M`>E)Ak6qy(8?p^$RdiQ|`ytaco^mZMAORyJcy| zYgO0uKP{P@)c)I^&r0GItKZqQomUt9d)b$_jVW_?({5j$C=d3#@0P{?ar)nqtj_>IR`6+D{x~(C@`CEOc z=8rqA(qU^pl;zxe@?2!PMbt8m1pz)&ZP&k!Pn*p8^$5dOoy1=x7WQtcVk21Uum;7_evJ~PSsVob>n`C<&{N> zhI?Q9beA_X)l!eKa&=hZdBE;jF7pjPR$pGLtCtT}C1ndO*zxLag4E60K%=0*X@C3l zh6ts>isTLeO5PzUI=4JSLgM6 zEY&h==C`+(SZ}PFYW03q_EpvJ7`5Hsx7?|@{6jE1cU2DK#bf`Lo$h!(b=DqZuj#)- ztF~MdifGc*(Fn3#%W`&(rJ6?2mfl&@*+L}vEHZd3w8NK68woN$dQ)g&KKHAjrBI;H z3XOC6){*PvH=XXCr5Vn)#A2Fx%8Hj7iyuBtSnA9dru0Jg;vU@@IgeVW2R7>(U)G2* z*qXYzN77pF>(u#wF0A%Gd0t;rdq@A73tSsOhk!JcNY44N=8o)zr=V}T=^FK<;mp(<|Q*K1j2V~hb^C}WWDQyw8*Bz_cjSs%YU`XQk1>s z6}i}Z=_dBJB(=af;s5pSv>r%a-f#QtG^_ZmIhXyfn7YP>f8A02Gqu8E$E|DK`bpAm zTHVZ3f1PLlCvyDho2$i-&!r#9yRf+-Z81$rQ|wj;oN5-fTzxT5?_xqk`2J6CBo4Vb6|XC-NK-tcbFI_3Xo+Q5 zMb4fBPv%uMMF#lCD)to$t=zJI`^wn-71LXD?>@T!@Ad8^X0|EsqyCM{NQp?8~>?>=pFaE9J?rpigN4XD|%seZyY%)8S(83k7jAZv4F^f1ad+}gNS)tSAk}##eiD8kO@*{3M zXsnI5=Ly-7DDc1T2d6~QTJtj#*!XIE7!J!s%&T-}ld9y6$(!UoEwP*{&%CCkE;hp4 zM<;&Ov!vpCzViP$W@)UI-=9@*w3x*?+I&kx#$yI0tHfE0-xbBp6MkzkjoEkl?pxkX z_rK4y6BfCdk?1?|Zu$&Ii<0eW$*R(8bT%*c{v5LFt$@JfmHSE$J)0H2X&<}1So&+f zhKC&mtⅅ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 bf3}w8PRj*9KbpwEz`)??>gTe~DWM4fm&xSE diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png index f596b897bc7af0df08111c01fd496d718bb03d2a..2f8677fff89821cc5799b62e0a3e88e46115a2ef 100644 GIT binary patch literal 22568 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

;oEgE`4%3-8NbGrCg6V5rTrQR|2QR>M^S9QJBA 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 RF)%PNc)I$ztaD0e0su82UDE&n literal 22190 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 DmV|xi diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 1030031dd924b83b70db095497bd71c2f73d9c93..93598e4d44e87eb44cfb19d85de2203750eb6503 100644 GIT binary patch literal 33412 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 F1OQf3LwNuI literal 32583 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 F0suV^tt0>d diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png index f20325b31e2bfb709d00acf7f06864cf0cdca9f9..b3b35eeb3fd7ca54e44e19b210cec56c006edae7 100644 GIT binary patch literal 43307 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 DXYC^* literal 42785 zcmeAS@N?(olHy`uVBq!ia0y~yVB7%09Bd2>3@7{yv=|tcz3_B#45_&FW-t2;nd_yh zHSwXP-=7>*NLLb=$=R5oc7P#GD1kvjH8SpYROZ|GbJJ4adlgOkW8Ge#yMAlmq@x;! z!Bb`&@abCOVbH`f(b#}Nt$bD0f7|z0U$65#z~jMm_loVGS;jA3-U)rbr~3WQ=WHqh z94t(ZqDm9`9TWsOSez1=8bORkP8JY@MGYjaXaE*#IRF+DU=rqFVQLhZ0a8b)1`Z#P ztxUw*fK>y;nb@5~yatHB94OR)5^`ux!fFFH4X8nl<|Nu_z#98dKVWqdRt;Dq6Y2-z zHPASH^)W8e2>RoE^#7H4&oh69ur&3H&#Pf!I(XbW#@{WF;m{**k$97J-JZS*0v;@C z0wH{vhI`g$=X!Ln*Lw8pH{aJeGtNGJaja0;EapMwvt8?5CvI=Z-{bbWLq$uN!%is0 zT|+=dHhbmzk3W-7c&xk-TU%fKJEK2qU2@v4jmylo&RBnGXUs#1{xegZkD^f{DCmDgc)s@Y z6TBDTCpgJluxeh^Th^7cUuEqLj{31H)^gGJ`d?WeFTSr;|9>jjKgHyJ`9sU+PxW{H zG(Py}@^rSzuWGDLY=8ZZ?|#am-S#?9_Eq0~v8-J9rN{fczE?kXDhbws3yy>Ct8!nm z%(U4PZ{9ld&()e&F|)mvualX(Y?jTUwP&ptZ~b0p|NqWm{w4P+zpA^e+~Tk7zR9Pn zG>Dx~Aa(P@Il{6~SMvN}PEw}XEu+8>W~RII%(x;S)q^*{Cb zJx!^nPfeWXpa3d~__`ZA9`D=sXXZS<>nx_G*-}O(D<`hMed*fb>$cx>9)7gWzrKD= z?WOlQ`JY#=^jvz(Uty|WaU%C}@qg<*#6O4J*gXB@n$YVeCNCyW*WuOQ_fafrM^2?d z_8*U{N4LK@Q^+v=^nZu;hqBjuR#YCdweKidyF`K&R9q!25K(;2di8ECi==(V+j*0` z*sm*9&p7qtc@OW2+vmS*e0a9}@bSF=c@L*9pXZZX*T1=b>(+fz#%)2qXMK$AT#qKz zlpS3zuED}mMzON)M6 zVoCb83zg?*O;p|<gIl_2}=HxHVdSUb*A*a^vG2lBx-HT_-+y`NY`TF0sDl`Eb`UwMDyj z%{XJB^mxCvpRU$E|GfE~r+yrLQE+gP>cyYo>#wB8S8lbh{-q*sp06ELzHa#kh5HZm z?oO=xG0QWqTr=p&^;tD2tGG+7bwveoNA+Vf>dx>#o z@!nH~Q_p<%G<+E7%q+NE{PFdqMMe{%j{HqJy0=dR+_$%})}TkYQQXjybKtM~a2 z={;FX_>44<@wUeNJ7=(H_qyDZd)~!aSDl{r*_dM{XUhSWruh@+t+nQpm6{p2bv2X! z+C;}=N0To-Y1S~yzp-rop6BP@aNAd@Z2h-2T=eRdA0}BQOOpfL^e-g|B{i}Mx<~KY zeA(_UN8gTFvptkwF*O#NxaG<&xpm7!)G27|)+1Yuywm1|cb&2Ev)5WS|Bj+q?UtgD zYZn(TKQmW+ZskW+RzJgK&*xa(Pv%;3Z9<7zbVb*U6IE85%h%7mv88{>b{}x|-&MU$ zV6DzeF8wF=_XL()zHYWWQ|C%U^tbXC;d1{A|DCLUAGqFj^R@F&i{w}&GsRM7h%D4h zc1?ZssH2nfn2>l@+)tU88S?r7XedukWyMN@Oq({NAcbD+VDP6sre7UpNaH48( zkB9yv!yn%&T~gWkUW8~ZeLiQK!JZ#&(wQ%hPG{M?yf6HPZuawgMt!H=J+%ItP&4=c z525qg9Uq**PVB1MCTDTO*tzZ|;);qG*y?-X6=pJM>fBTYS6UA7hvcAi8iJeh)$`TZu^{O~)q1dt{ zrNjRF_P=_eQu;t)Wldv<*3rPoIY~#}pA=D6esU#cNB#al!@hYouJg;z?fmJT|2rn@ z-Xhh1OWH&ntM6YG-Wz#F{GH~r;`_Vvaz6jQ6s-m-C|0>lIM}^q`WJ~k#pma>&Dte+ zy+G*wFCVqin3a0(b=dM}XJ)_rsJ)1p_0-ei z*7n05_vdGO{cpIuELY_aKd9;r2;8#t-4$jIqg|i8SFTu}>Ud1|&SulCjGBjQvwS;5l1{3dloJ~C<%LS!h@m4l& z;aPd)$dlYVNlJ#bheT$Zu~q$ClJMoyOFJJVm^tBn}%woduP6U`14KQ3TI2@ z-sNfOIPS4b`}Z;l!I>Ys&HLL$lwxxlm7Rl^LX>MySr_&a=tKy306&5%YS7vYm(!X zkOW7zjqIR^X%={mXl0crk(uKb?VIJB9ZW((4OAK$1}c6i>ejy4d?G~pa1V&sP4@9L5sG(d3~lUszn|g8yZ#HgqnKT&E#_e zbxXqwLyCf}Chy89=`wn8^H;%NwZBL1mOqQDeD(3c-s^F$DZ&?41Ww6&I8WC;;gZ%d z_sTn)TX%`MM<3H<4!?f9sfUH}OZPSz2Z&+AEmu;JqRC2_! zAV1Qgw^crU&5kV<7kSN>rEOkmaJ+fT{u8QO=N)=Hart|Vwwv-X*YDi%f)+wAR`{04 zztGTm9$H^I!R!8oDGN7lEvUPHeOdjdAIYs-zu$AVul<&3KmF_>m+3)|)uk+V9jiY% zPj|&12MZ5jrP>pGlFPQWYMh)n$Qcb>v^U_0S(9(sD8@6g-xj;;6JCSmoyZxg)V=v=s$C2X*awza(+8n>3~&x2_pz57#i*hQ)d6_oPrYHv02{bgw#4KTc zP}cD#LAg~#abET>&Ob3Z4|Zp23!hPpKF>5!F{tR`G;hPEl-rL*lqUuHuAT2Wx8&GO zxo6X458c@`@5R@ojRo!RE|#yC3E%BlbsE&S6-@aen)2pGp!v$oJ5xKh-MIF0Rbb{S z*Ynqwt=;|AnE%f7+K27@toeIB%z3mW!C{V^&et5(*HIA{CQ7+H5xzc43EbS~Q#;`? zDNJUmgi^vKBbNg&En8QdFqPbWyzu3LZO+pgX2>k|d~@fZ_}xpFw6lUbPL#b-*_u54 z@7%@q&S@PFe9rpb+@g4oKdZRl=ZiwkV`^PdvrcFZ03UP`|zH)m`PN+N)#5V^s&-6kQ8j z-py`e(v#!HT5c|>I%bA0RXgq(iO&?B`0LHK^EdD2wyIV5E2MDv|5_&TvvN*tXl(N0 zxD6GVA0J8Qe-hK*Z!p8KtmUQd>rCWc9mK`#!ulJk$669@+CZrMy=@OF18= zlVq^X@2=Tfw&gs2yIpxt&ReUvjH6dd@M74t9`ix(18CvS;x92Q`&+8uGVgQFw3 z<;DL`+wvBFSd=;~=hw0?eC*$UIp`Qh&e)>Vk#k+n*{IFqZnoDl3CBBr6Piji-Dg(0 z7=NE`_%XHZLNwc^5zN9j5W>@v;TQ?Q|vwOMUzh9qlz2DBhwyJEy%xq9MWWl3=TczqjE&SWk zpMR{Xik;wh_f+w=XT3eu+wRqUJo-rZ`<=KyCnx)}{Jyw3H2gX19HlQwsR>g|jo_0p zVBC4rE$+{pd)Ds@v-I2_9({iMg}3a}l~Z~q{it=6^OsSqjNUerEz@S3qLGW2$Ir?- znOHZoQm%&_9K0_5B9A@PBA#EnXnypCM^AQj#owx*mfOUxR~-;g-&!ukxj(BfyO{I0 zmh{w*&d;iLY|oi5SZC5J=bWPz^WdIQ{Xxle*2_^j`I6lBb_wl&c3U2;_$GUhv6H8oHC;QOA_D{*&6(CZJsO00S;FmuPu(1|M^&#m00 zn)m!@$BHShiz@uKZ8QI_yHw)$*J&F+FbmFntK022!(2W&j!S&~K26i-S1Oln?+NZ{ z%?bZk`0vfTtoLW`*1uk|>@TGD4RP6W^}6EYhwuLEY^~X06&$>InW6JzMZp_I3%cX# z{O&^$ zS$fKe(`LQ0=MojmU0n`*kB>#{R#%VbcYdXM?7{Ib@qaj5PoGznvOTrz>y_gbT06hD zm&m(!sXaaEds^-2j_UPqzbAz*EOIuSd{Oztm8B7mNB-=*DU!Tq0ZZfFe`=a8S>1jc zFDAd-TWNNP`DOE&N|&Cjr?+HYrTQc-y|th_qxXZetVf2LWd4)IS#&=U^k#$ba^H|=S7z3}S$*ctrW=a&SEj72 zy14VXxZd8U#s~i_P5&`D%QnljddiEd8v=gFMaSOVUUa7;DF5c%@~rt`!k_^Y4xbO5 zUvq4CYOZ=IGj;!*{~OgNpNu(a8{K>3c>b+z?eq41XTSNp{zt-wcTcBpn86kiae49a zSx3!_xc4fnxY#QQE!p2=pRji2eTkpH1AyAN6;wTb2`V8j(Nq_Zq`jsrr+j&HKBoFU>C7 zWmUo74}1P;y4_aEeKzfEi zd7<=DSD2%b)2>tG;ojJvs;f?vuJt+lY8TJhoVKnB?0##jAKpB4>-~MpQ7~TO;UEw+?Xzbt%{E?+>2QE^GoTD z1CP!YYbzeCY=>6J6$MSX7dB zX+p=F9))Gw;=2MjM;0+^9=jG6d;5yW+@fbUA0Exl`y@8EzVUqVX^}^}-r3}yD@}iY zVP5_FQ_sG1|9v)1_01Xh^Q*Jp`3*Ido0%Jl!GHlU-x7;mRM6C5>McMVj*Wr!UgKyyH*d_5FQeM_;@O&p76m zRj57r=0E0RC$8_vKOm_x_g(mZ<8`VlrZ2qKA=cRW_|!#hj&=F*(MCr*xbp>iO0TZl zt9Eonz-DKW6OXgm=0sm>+?l#cSVni%2=)CyL4ys)P-U?)zRN%7KzK(s{Fp={Qb9m zY3u`*FIrgTy zg}!*RT0qnCp?huZ&iiLOLnfSJo#{BYV~UoxLFOBc$0scks;*vr9rJ~cI%VHr2!7b|!R_wTVEm6twi@)T_|CZ?n zKij5OvZ1{pA1GuY4)~)A7Tydt0ED)WN_%O_!&O>F@r!`QOU) z`LF$R*KORJ8d>-)r=QE$%3S?X79af3lq>e0Q<_r()2}Vxb5x~0{}=!Nw@h%R zV0dv$iShZHQ3q|KGea(!=iOM9`1;GIWP7jupKod3*jRl2+KYqL+kCnV?j6*Ay{xZf zuHoX+Ze=lxI0@UhHH#!KuUVxxQ|U;|>UB3<#3xSAHYw}fsh4!1xOvMR11}9R#}4J_ zH%&Ru@?I|P-^O=5@%&zwS=sTwj!4SK|G&Ob!T6p_#rgdyiy~{EB?Zl4TbgU#b9mp( z)VB9q*Vj&csoSj{s+{y}o<;9jM`xSjoDCw2z4aei)lAoU7O?yKOb%WrVdazNxmD4ggaAi z?pn*q+j^$u0LvFm(G;5tYtMIox*2+BbE)$89N$CxD%_)|&Dc=n|M!91`>D(4eb{tU z&c}3HQ%}nIX`bv8-`;%H6YL)#_=zdwM2f=m@;@%JDfO!rSH3v%a%t-&0kKQ51*aN* zHw&lC5J`MvljyPOvKyP4>xph%;c0H?!)oudhSvUZH@g%!=h&CHX!nbi>5^ZQLIomL z);*v6{m11c7i#vt;tEzanf_IN!mk43^Q&*B+y8#{tZ4t7?xMSGitlup8)wc^vSY6B zx4K!kUL<+`lx3bD%OY3nXsCURy>33mTw`yG{Kq>+OC20+2uf7rTL$B}r`+bWv_imfN@&l{VA5bqLxi8@E%Bd@_sk2IcFE96B+O++Y zKkIhZ#{DTa-QT}`nzi}gR`Wy0-|tgC@2qtBwt3wOi?fd_W3EfBNnbrh$>smF_tQPI zIkx%To3_?W_o$}k(Z_Z@T>{;6R-aeNotw0KNzj&7({(#9x-d#@6}__aP`{yT#f@L# zU3>V=W?h##)O2$1^;HV%51di{e9g}N*DCMMG{5ajTFy%f8a;o$Kx4`G8E4G$w*6n% z9o%zL&dO*0yOYyS@@PiaqzfOvDWWWwt)b~QK|Ex#g7FH;y8`Ey9hqZN*K_HP(U)m& z@29uOCol6^>iT?c{Ei>TqMKN~&ztN`{he@UK6gBC_tEMbKA-zmM`xLT^EX@-aE(>b zz)|!|?#x_0;NZ`{vhvTgV=izvqXI znCAU2IlYqE!7V5MEvtAp_3h19X70W%Q-sRyul#bsw`8HxosEb4To?_~wPz}o*hWXh zB!+coXwTowVp*lKe1qGpn{leq%l#ExEi^bk9LoB&e}>88;`5u1MCo1>KccSl>_c4D z)GzwA=aw+*o;;Eq?I5D(%6;){`|OCcQz?6MmzUmhFnJ@j^lrKAd0pfC!hO6xlimF9 z{xJM_X5+%I(`E|lztCt$O=%Yn*h|wpXu0vK}pQtloCUZ@2BV#p=N=hc}is zZIRY=()nf3@A_)R!i6^Jt3!%kZfn~cQ*F42f8FF68LKxYewcOI(9&Dy=dbm}zY5Oj zT-xlvC24AwqJdaZh5b*>-DMxjccfiCaQ6DiDf0WoU2aV{zW=vf`HK99kA(mCo#lG+ zBX7g<+jkc5-ISA854`y2?iP;&?m{V&a?7@#St>ENcB;4GqU~pHhD&Y?u=%Gp?XmJN z{WmvrgL-VX>qJ$Yt9Z?E^QsNeeDQb~YG zI7Fh-R=`!)vG3nO{wuvXuU%FYB%(WEBw76g(c!M`khttUE_2%nh{JB>adh)(1 zOiqqo{$-=5Am7&iuY0#^#1uA$TF7~`_w{q_cz*vs$Hhm%o#&*TzI1$l*1>w;@={xl zMow@~G|x`SM&6(vy{E5VC1lKHn3?#vInMseJ>QPtea95-d!&!^r^ip-x;J%Ak_q3> z0*Ql$8Lt+-{8xNhfc4PM{d;}=Ek3%`{`%D2HT_;qv_bVn&3hSjJ8E^>be}DLAK3r> zsJ7ecGDSm01IEyK0nC;E+;=VBFBQ7FuJrRe=3lMu@+WP-AE^D8ectx)qJ0K0?ruK1 zJL1w_-`s~6E~Nf_r}QN!@uCO6vTH|d$@aM!Idkq$R4QrWagLfNnsTIVvzn^pcUeW- z6^8S(HtbvcIMzAo<^JQ`s}wh6Ioa49t*_C&zF$vqmhI&q(z8VF2i)83{ZrCZ^XB{9 z!)ihA>oYuglQR|m9B4cIb(-aGEprBuwR{^mn;)>9z5liSXW#Ez;f_BJO0!36fA!_s z{$#@YOA~geRG*GG+VOMQXYsk`_NHEUdmdNnoAvC;##LLR>tBDWdS8Bbr_$;+ff)-9 zDQ$4yb=X`gdvEZ*pV|8>A1wU;K0i9+5R2%B&UNWANA?z-pSD@FXxTOo{ltbPuWx#N zW0Tc%?eN?mk@2A-;!W)0jozkGMcOmwZhgjj_QYo9-PY#aQOSpXDq8Me6?9;J>;K8u z&s0p!xVZB8{o3RiTdlv;FZ>yGf7h)^?nb^fCVW3Tnm)uPe>qh>C#j`t;!z1TUR$kq zy4*p3TP-ZkG4vf%vZ$MJZ_}9vn#Xo5@405@KXYmKN$I;zu6<04_pY5IdqP@V%z56{ zt$$nOb3}YxubkeNfBpI0n(XW5|KG+--Ksitecc*vG3Of--_(nQ=rjG~u(N&gwV>L> zP5W-o+Nag)_pHhM#S>~=swMg}W!s{j6H5wAP8{?7(%L1!TA{<_`TYCApp?#ey8IWV zL{c+sjvcZnnxgw4S+LMHI%3bGUDH;sT)6J2P*t$Jr}~`xlP7)gQf9wwFn4opnx4^$ zS-M#|XB_T}axh=KaIt3JJG(#|QR(^2OTH8YTXsM1+IZNu_CVmxV{6NTgHIo4+?VX} zxiDwpx09Ri gI{aclD+_7ds&E)AxZ$h88iA}qeI)Oa$oG94^>(-w@iBJ?4xi@iIZu?vRl*B+e50} zbb2h;EBNOxfBtdMouEc;yV;eS*Y05bs-I`R;CrRlscE{`G9+KR3W%8L82oiDd3Wi= z@0*XZp37}!G&2-I+CcYS-_a4ojKnxusUzRoYBK zbDyHum9oNWKkKyOoo5a<-wnAQaQ)KUQ~uAw?>##w8EMsWfaSR4oh_ZBs-L)zdcOR% zAoKUJw=rceIM1BBepN)EaO=C}96`^Y+*xt(QcG=cOTh^TEB38ySGFEIY8$;&M3F@@ zcAAP~Tue*D`-St2PX754SAUqV^T^xJKR^A|lKnBq;H3nY&z^saJ@?D%e>$3d{`lte zH*EK-%==-n*!p|Siq#M27rczv)$t`$J#zc6uhJgQ)Ap~ty3BZD(wg4v)jlR^%q?vd z0{7da->lgbQR}s$vuM_(*;Y5@vh}K5c3JAADyi! zra5zpQvQWaIvh7Q7BZiWt~uo~^?L<})ZX5E29cI62Uw;yq<(DM5i#eCvhvHPzS6gM z?b;>PB&ge1#uCQ!_Jz=rACod?9SmxzWsyAAEnu5;Zsnb&9FA@i{F5h|Z1dxtwk66< zs=avg356_YmbR$yrB}E2ZEKF5x9O70qIxghOKX!3(?vr!JCs%!z4PJj)BIwlm z_(W$GMb9PG{wLZRO)g#ebN7d_pF%&U@eu*P8#6y{d{)f0dG~VbTN^(fzH_tNf8}cp zk>wBalDCL42{Q?YFn!Zp`gqnsPK~+m@BB#Ic;l|@Qp1vqf>QUN4 z-G4EoNApx)Pg0S#sg(1c#<}{}TfQ9WG~0B@>0wCAx@}J@xE}H9Ebxd8>#a|SQ8ly; zp7%C=)wUOc(!A3yT>fJj#&$o{Vw=*G#-JXB<;MQ%dq0TW%Y3_y%k9ePZ*Pr{&t4h- zaL3_|OzaZ{b=^#a3PYy38=JZ3*mb+tY&-l(LFi>PCtKsr#}_yqYwq9PUY+jCcjwh_ z;{wxT>?cntvZyV1Y%j%n?o;``rI+W)`?XL0(|C8cag1@mlo@B2_WIm=Uw`Pc-?iq0 zdK?*FX57fUbJHp_`>DwHoXBYPdw-Mmu+56tctU_z@5F)R1$D>1_HtyI#`?~V`+ala z_tQWAq+YtJ{J`Lyw9L;%Y^}X)+CTbsf4T3Ps#esM9l7H4N7wlqZ`=rJqi^mtO?^Ejv^8EpN*<{BRwxE(Bt*Gxm-&B z6sFGnwN-sSkBv`7-+9?c7f?yjy}!q1hWYBp8jsokO)0yV_U`7!y(fykO)2Bnn-U#y zU<1c@rHMx-xR=e*KYPBb-C4?!P37_)3AZ`VHokjY`c!1$?U%bmo+y~A2sbvetkP^M z++Dt8kDBk6`LTNOw(I5Z3&vTS=?b`rXe}xC4cz(Hr0>Vs^y*tDm-x>*J}s2pqu3?w zM9ycmdnHSIxi0?Fu9|kmqU*B!p8P)FWG0`dS5`b~%XH50JKB-l_d1(>$HASet)GaQ z)gL;uvv}iYtzE_L0edIBe;?fRZo}q2(Zk8RtZsGxE`NJsW@OB+H(M4K2JugD3W>P! zr$vLA?{m(M)#Y!Ef_`T_-_RX_>Iz|pq8Z~y;gfV7?}9qbWLzXu zd#>rc?xk(%J5FvX|JH5e%aWFtoW1temnBy({IlK7E!)nQ#mAyvWVXmHj7QPHk@bP} z$Fgnv>}>mfYMvlA}ovzUZhWZC&Yuy}oYQm}bS%;b&PGVi>Vj(HvwoH6x8_Vwqb zTlggPni7vHxmC=#>6aK{``T6JV8zy}_zq9_I zlf5M{z#r=JiOV|o#hsGIGwgw-1tiMiuirDs~JO95H zzFBhdLf6W@d4D<Is3&k|Ml2{9eV`v;F;@ zn75dH7vq%0Z=xO^jF~=lzJa&dM3uC?jSPo2e7fsAW6y=9PmAwQPy2NA`TNEm^IU!T z<(CRRqUJ9arf!Hxz-jX zAB@j+9+-2W@4zIUN3Y_4ygVYi;(NmLE~g*I6_py8cW&-q)h0EmTc$Fw=Uz>>(u@cH zo?JC@Rf*rP{9k3|RHX$+ECen+eR0Ia4;LnF19ryeD>#O<8JKW(H7IEtv z%@0(Z{2jgGjehbglF%aai{BPvbow%<~1%y zI{fbO_e^1R=J0V4O>CC9xohwBhTz`^_Spu$pKG<`2=kQ#cU)4^zdjaAS~By}OuI4> z_l*Jv8CfpRkxqJ9yYxB#S*hcnFIDWjx=D2UMfrcn_Xov@%4`W(!)EX zD<8j_T)FMW>Hqadx~B7r*!vrnS-s1we>zkAWqJOddoIbx!VT6Om}hhT+ucMP{|2@6 zAiXb7|E*8+_UhEUyp-ci@YD0`M!YTw%XUV7Rod|F+TU*%x5z1i3W)}-B)*6gZ~0y4 zIG*3S^=F^odz-$QO8#H_R~@=B{R00f*SeVLezjXnWbF613%-Bxx2e0r^vZsRZ3287 zo?h(T|7~{5(oL(C)W}EmrF^jCD%oF8ecEi<6w8*G`Row^#s1RX0b1x8m&B-l+!6zuWvP5TmJg9=HAQQ zdzE~=6V^EKB-yR$H?Lo~qmZMKv(Nb5eZh^n3Uu{ga%Es;{ z@>liw`xz(S|5cIWw(pRvPQtIQpMi6BS$%He&J;U;?o_JjZnGsTA7z*ARXcRF)aQHp zKfB;Rd;i~kU)y>u|E9-5aXbIOMSUR?XLD>b{an$*r6;i`>s9ldI@f3pHM_-bt7DEa zc)9G@xo3_T-pJKRJ8($Jb+3XM-y@b52ohadFdM@c8PH80*HY znewkDn4C=AJadxDy`2RKfuDc53w4}1v(7Bip*`!v;x9Qzoka|t&)jl%4NcsgBIdm> zrs#CK#^b=7N9SwByo(QVoL28H()KIHd9Hu|y*hK-4|nSqKWLjOqPU4qyFjWTuGrMaG*H%FA09J1bX}f=@YJ?Trd}OE0&92jG|jFN(DvSGx5BF1Eh~Qh z{E`)MVFIAKY{BP*ZGFlexAGP@>1)i6TX@e@-~Vg8NkNnP+odtWo4XIR?Y>|sDxcGs z;FyUr*Em6hN)D$A>2J?TL!Z&)#iabVmAP$9ESNvjv^&Hc$W5yy=EA zPweIA7u^$f$h#*j{ir$hp3Uhad1>>j} z9=VHWXEDm_z1;ipVxUZ8YEtT2EkTL2hMSLPS1slKeO3JD zwo1R$^2CT`?xk8!udAL{1kcX)bGP?}$o>yIFBUW*QTt7rx7)rFiOaDbn``wISM%ro z`j8>M>xRIM+vl11Bp!rSi6k%5-==bF<773zc}~w`_nzX5S@-A#cj@{lzOa9f`~Npw z+xwMm>AIbV%nX7>mpI?Ancfs>ykq_9W#2cPI^mX}#^wD@Sc>Vi`jZ(O`wrLETTOIo znH#c^!`?+8VwSQ^@Pj?S^9mn>+UMad^Hx19-nOirQ-}X)*n{ci^C$YbB%D0tRMRBQ zx~O_V(oW9r8A|HUGx+~In;2-Xdc(o+Ly{{`Vg%Up2mZJ@5UiD81Gf@7g@LSH9YJe8%QL z@0j;9cO^{Re_w|0v`BqK*uu?G*Z36;4t})#e>mwt zpWouK*0Hpk64dePh0^i}yY+lB2IoFY>2U?Jp8s!jQCyqfGWTl4eGl!teN#U@(_N93 zyK=#-T@BmvZ#&n2m)?IWxPQ99!7k0&Ykx>Bd3pPhFUzYwJL>|8_s3E)Pu)?w8-IlH z;KbRJCd~O4({;c^HG8wG-M*V|r26Od?diXy4H_)0$6V;ZI{osONc9a(!g=Cxq1X0aXzAT_ z@qXRU>6!B7)=Q_&Pd>St>(Y*8?+dQy30M9MR=>Sv!S(h70jph38C3eLJi;+;-{w2N zT>g7#ClyaWpQbF~U1%|F+Eix_p8(Em2Z<;qZ4o6gg^Z~-Kb3u%cOBdnn;l=j|KKuh z{?Zz*BTNMj-?eLMxMIwAEO?*(S?Asl%S%`9UdTJ5UjFB4{Kf9`cCIV4*FQV!;}UAP zkL@_`n*|Ye@8=sV-M&6C=%JwZ!)jl)j@h3}lS;ZQuWg*@b!JI13tOY`_L&mT9!*)~ zlHiok^tjW|KhpS;!%@MAg(q0VGKF2Ih^=4o{lI|~-ZlNn?wW5aOjz1nnU(L|EI!ZE zuqNfFjgr_7)0`U~-sf!Ri_O_MqxbXHm6JoHA9O~XFI_+V+CGQ>AD`b>dVk7Wv*}~* z!T{4}C$C&h4eD4q`8j{g`tH-)UqpszS&F$${ViVI8}jk=5^?tx&#YV$WYU(Od6>oN z!&BROfTiS5kHF*DoHs>*)>{TYzWlHD?HBX?-%f`-=xr{)WOMsYw62%e9>0Hj6ZW+=98Tk5 zD~$GIWxk!MT78%;@Qzff63>Lsm9jV1w1UHf%P`2CB}_+TYoYG@-4!bjPw=x>JQlc& z|6}vh&r*KRS1u^x)VbID`mObgBaxe5@~o@>+E6~XsCQKsQ==yH-^1_!^W|0-%PxI( zek~vS#C=@{w_l%ZU)c1L@v`UPd;27rJDMjw>amDkuz1D(7s(G^W}bTce9Qap{|g0X zEKs_ZA}Vo8OYC!vUbJBQyQy^-n}s8S_O{B)A9VBD*b|@p>(lXshToogzvP1aqPJg8 z-Tqg`wCI zKC{Yg>buvBlKwLCCzLnc-@!0L={EcKj+O%+XKGldZk(g4e($?Hm(7KyfUX0lSeE_f z%aED&KXH1kk5BwEuD*Q{FU2-}D!6mxWXV0#)f)1FSHIRC)LhcHcG0!HoBH;h;P2IF_@(SCw(4f=BpDMR~_;lm^h55FV zkMEJm%xZjPUbpOu&HO*N9WK@<6|9)X;ltq*z!(v272j*$c%G%LPQi8p^PdU9Rli=O zS$@=ua%SS)zsqawVS|fq?0lO_>m8=w`F3+h;my^X_Hymf@BH_(zILkJjUS9ZyTyY} z6rV9U|I;Yhr6k1kt2J|8&G#s`3FdicCdxWjRm#a73l8L85L5KMS3W*lmqm?5&0^k- z?J+w!H>)vyZWdX8e4kXz$5?vnbHtBP~Wj4s}|=)%q) zWquB@jPBPn!0^1j&opA=r4;-0y&rOh1-7LYRXuv3| zue~xUhWT?XKg%?qhhGCF<@%Q9@GNUzdf$BZt>*TQtSpbuOM{dRHXnXIGk&>FjMMVD z^=74u3wL@g`E1oEXQ=usf5*G4$4m|K8NXL27QEOOw#f6bW$A3CRbozMOntu5Cm+vR zXq8r%pVJoUKAj~ge7r&_mm@hrYkP}^`qt;q&s@3kW5y{Nsq3$c#GDma)GYQ1 zMm$+w;bkQpp)b_=w(QigW$r8FdA2k2^2xOG6@4z6TgbiMgXwVg5rgBl)h|!Y|Ig~B zxhPAkafhJh|9|Q>N>7)spHP1;QbcrZ=h|Ca+rMxIuU^e*J#U$he4bMM6%XtG*&62* z15SOLEd7d6X}6P4S=^<(Ufbqit>EC-pVh@b`RS{Jn&k_GIDD3K%@NmJQW5y!!G+kM z)R&h$*DTtn9C}4TuJf=5DbdyL zR`1s=npg87&{)Y;*Lu2>c^*ri(v1ZU2Nteg&3N0V-OX$I*=o_Y`Er3jn71ZIY_s-` zxqp2{RI>H+D5pnP6wh(a4_-U-R@4%K;)&v%pk&ggo>!3QV)*LW=gqsfEfm~+CgSW> z_pCL)&oDLb-hSSg`TIMxrFn4`Gbm6&&};}RXZ~Al&kq2kHxdHS03OA<7G*6 zTXN;smS*=QfBxqGx4Jkda@#f5?PdSw?bW^AalwM`{o$mIU5oVX+`hj{em;%a?SSJ? zMVEMsmdeFTsydBxZe5UAsaie#Zu-OupR-SnYnC}D^vuz_#qowMP?@WdvyXqD;Quqv zW*#spz4|$6n%`1Ww%}=E8R<7}hsX8CW==YAr_WTXt$XKfPv>3za!b4>pFgf5UHGaX zt$syZkBhJLvJv%w_Fnz>I=>QmE#lgG|FBI zuuNMxMS6Ffm!jJ7RRQlKy=rB7V@{=Nu!!w$(4My_`$~HqtDM&#soFi~_{}f5+7wnY znd^N%GV@i(z8}^r(pRsr{`YGA&CGv=pUznywJ(ua;6UuEvIxY#~)(bgHSM4KM|xZe3VQu4QuSoW_eX-v$b%RV2CDH7HI zwHA|WbnUXMrKENp(s;A3`F^I>((1_9JDkeqbNE!Rl8?;vDJm1ZF(Kv0o{9yX)1(92 zuj|yVQPbOeUQwFo`ZA-EgRf?5tXlLluJq3PuZM!qU)=xyrg`T%yJnMDE@_F|?)N6W z);p@@a`}JjltsVw`kxi$l#715ac9R&rfKJsPkj>P^tt&<{LQASoy&Gym;cduX`Pfp zYleBW=Db%i(f1qTt1Dz8`qwC^#C0@1?w7V*|NP)NC-G;_8&0h{P^rFO$8_7|cEv{$ z6n72_QAcCOprHCPNnH0^XoE&JOjI~;~6}Yo*N#zDK+I>RM*Xyq|qPdDlKi^WGFD?SS9= z?#gf3?YqDw5!9p#^7`;)Zq)DWDUaT+e0Qw!ROtq$^jEY9^dx2#OFjaGIBCs>K^IHX0Zx?VZY!K3U&hQB$_ydqmBnUddGUZn@0OBHEt5DWWPJCsVnC93$iU zzjr4aN=}_Ak|a2Lx50r~%U9}}J^XM=`7|pia<-?nKg`n$zWkzda@MI*9WC*{)xWM; zPnr35Y0TaOSA;A~TRpg@Z;_gFV8eov&D<=)5hi(FPbE)0`r5cLVpZ+S@coWo&#ZrY zci~qjl~r6q+D}YkD^F+bYSMSTyIWLC%E2&RXDQ=pb3WO|m7BU*-)t`O3HiDv=FawN z@!HSZW@qGAyU(%v$I=|~_K5nNowql3Hx-|ksrt*izIVU>+2hixi*%KhnpEz8KJDeY zM5?%uWm?alA9FG!ZI5xk-MG&mG9;KVzl*na>bhM`ow*!42%T3Gn zPFN$idhgDs7zV6A^ zU&^oTS<7*dOYB&#b;i-&?FIe$y6)8B$2)9)1o2il0Dp#u?c;&xP+bw}< zyPs@kU6q{qFWbIyZr$HW+%KACCSN~$J$QJu`RixYvH{=`=yzl7qb2Z;qtC4=$OZ zeln*+e7RXpmdC}*{WfmE4ln%E!Q`m@-x(aTWHK<4vFj-LC5o z)?{b2+;&hjQkfF4@N4Pa0>Oy*O@}(`RU%ErY(%a;WLOyT)FnY;x}dq9{^QQm!G1Fi z1iF{H#mg_(k>KQ5@xk+E{pv8iSw)fT**AOLo=;=w#Td)tp`}9HuuR{ z9gv*qyhi79)Un>>0$-WJr4O7ub7aY{A5Rx9KXzjB@KI#TD&+6>sBuUF4ed z>+0*bv<{eQJ^AI;JAaX=`TeY?srHATw6(ZdvN!z+TQ+KW|Vp*mz(SI4+T&L%mr94oV4CjY`9Q=zqlFXn=_X6=jUOncd! z#j7ixO;2B?{wsaj9-}u&^Ut?_Id1>m^4G!gf2~dD@4LM^@^Z;X$;wwZwwpF=h_HLV z@So|KgUfHEwEq6)92Tjzx8~xNDHkInNxZM(YX zzfYK$y`q6*YKyE?ACuYQN%8l2H2*Hqbba;ilB&GRoHHFWxc1sU+M>K6Zf}BzsaRFF z^)EdagNd?NlgbZzg`PX3zpi%fncmaO=Wg#=bMWx_dk=f>t&dt)zV)4T$`PsT`IVEJ z;(y3|f8D!LYu{tRiA@F{TMLpa3qJjMm|Nwu+15Rwptdn;)0T;+ZX0TuZhb0QR%0X8 z#MY>~ncpX2j@=brf#|lX+p|owo$S&@&dEkPfF@8SH!fz#l9T>W{AWvMOa{jmJ+)Un z9;?3;zR>8jj>)>Xv}!`Pq{`7`HRb>oz_=y{TkhW47JVN9X5NFh98( zAb(*RZ}iLZh$S2IUbjzSsx&p7cI=+a^jj+Prr-ViFj3;b{{jn^w)bL!_2t{bg*Qtc zJQQfIv|-ZMNPh3PJ5!r3J-x=ax%1__M{AC>tl*rzCnwQ(-TvR{h2_dDYAZt6HfyEU z8=uzB_;f}%`|{VXT4z#EXC4W;b498x^&+bn`*Ob5t_g;Ls=+PiSm)l=?fGT!(zJZf z($6cNzP)vJvz+>+o!8eaS~n;6o2lE@9XuDzO{bjxSeh#zH`(A)Tdz-C{+=(vzs_pw zFZ2yra^-p6LV-(P?VfErE@QFmUfuK>xnnEcdbd0=PD$)@7vwJPdF^(omHF(c6JiV4 z#DpVSUaUU<_EDU%ZQ(DTR+nT&otzh`2SFS8W#VKI`UC%#r{X&D; z+N(DfYxlIy7nhV9e z(rvtUa^Fs3U3pL3{zdJ_npBbMlir>$1mblzx)wezNbz`Fv0Z4VTH1*x^J_i?{yO#b z&STS5o23yO1l=||91lJoE9#&;Ild8M}djHhV%oCPL()zwAWAcuI2@#&0S~=Y3UT7{eXII?XH``>{ z(skR`-I#WInOESH)$$374uW^@PFx?ZV0E4U$#K>X^XApPd&l)ScteJ=>Qe3H-%r1N zVf?0KU*+$(Qy;Ux|NS(AwB@o-qb}p>ub>Ay|F1a={zxMsLl$A|o zuUd0AMuL51=JN{=UP+`iUI=TH2 z!SFHaz{dOk9@{Vd|D)Sp_5G~V8WvAg-hF)4dH4C%kN3kGeIgnj7M6&dnQOb{qo(Ia z_WE-Q8-lp*?7X1N#N0U5%<#>n{W8t#WntAiBUtei`86ID=@4Ma{|GY01FOQVEbxIs{;uCLNu&&@m!u!`7ZaRdz7WmF}x_NQ&j_=yHt2-92?AP$#7rjkrZk3Sv*{k2eB6oes%=B^J z^iDLshoSBL<24U=Zu|1@|Ig}e>a#rN|L)ZfuC}vE%loddKBVjQ^fOEAKR%6L&c6Ti z`zIThFPvq0_FF}z=%=GAepEl;IMeGdxhXevPv#|?^SnY;M;FI?WgT8*x;o4wb-K=y zu5CAWZp(R;J+HO@`^n>@4m8Hm{wnD%ne!GUwz9+%Iyf=&MU7B!7 zJ9e3*OPJKfu%H=@u1tSTR#fhsEbr1@zk8SS9)}gp?3%MI>^AOQx4_E6y(KNlP;6J7 zoxYBwOZq-8e^9k&*KV#a%lH4N ztopX{xW|phPkZg1_gMRyga;Gz6{%g=Q`4dZFIpUSM=397Sxxk3DZ%e$M}=z)-+MP-nG+;<>DRMm zr)nO5+;A*T%UkQZyNS8Q>xs%1kG`-}z{lVsEd(YrgKj%l^`*Tv6MTH>>LZ2$Wkdw_bTEL!k4Y0^>><$={RJ_+o2k z$SgUNT<9aF@bh2Qjnrj3FGhJsy7J}+@ZBsa-(%=J&EUxk?YlQtL^i(Ic)%_?<9$W@ zkt5+8J^?%9pOl_GySBCF$Fn8Rq-Gh+l(oEd>&+vn_aSHbOy}QW&5pj@^(gSovx5~E zpT8FA37k9I*1m7%|J1U*yQ0?Ic>MCB?KZchEQ6zq)#G!^e_Xuw_R5@93s?WUtsfY7 z*-%0M-N#kjFP7`?^NQd3tmxLGY_HmH&rZGgXtkzMUp_o~+eG_CoqISRuQ^gH@vpri z{$ZQ%x57!=(k)yRA9Uo*6`sHUrD(B}s`CEtD^47Lv*e}mmnAdRi~fu6y?9URt*CIk zqJd*;l$WifYoqOP?tEvH`a^dr6=$_<5!QLY;x1)4-G9gYEaj!Y$zV2+D0&4qT zpXgkfzwP7s%5MMj6?gWCJQdd4V|BhZ^cD^>xvsBy9SL@1O zp2nYUGg$atdT$^7H>d56#cG4cOD3P4+}8TXN{F2gv_O56ay#eN3j1G1<~O#TxBbf# zI@zmr;^rxb7KKNrtDZRO^qy7LiC-Y}(fyQAMb&th*Yy#uZ;jJ#6`Xnd%x~@e)FW!=PA!oizivJB?ApnGVWHyIj_&g9 zU8xt^4rpcmyFQ^WPi*mwXV;`&->=w`Y3>q#%Pn4f-LAg0b8{VUzWb0YKTUF4)t*gX z+UNh5vHem1pMUAGf>*`gcwTRd_kGfOzKv63hT+aUkHU-vmX{_#fVp#MTl!XbKMM_gwb z=-70|r_J3au#I=(%I2L%B}xsh>@Imfg;#1;Z^=HDCo8trCM(!ah%`OOdp||7Ax*p^ z=>F}%YsHJ^?q1n<{o>U4ACn9p|JV`SF3}p)FSkB+t=pQ9XD<5(yt*=3^HFQ0x~%#t z#ZN~ITR2bsnP*U28DZ$3Q!Tdfx7&_v|C_moBW9LLFvs&>7kxZSf~V%@;>#`x=Ng&k zUv3PudOGK`a?YcwqMPzFiyy!CdKK@Kz_g0Vo$u+-_i`GSIDgY= z;l86U#X?W0@8O&3d%a-q8WVG#|9D zVwbefm#L@SZhAPE_si7K@JrG1MX%njI<1-Vk@MhBm9p^VS)O;DuAaKg z_&`7NRs7F82COoS=3VQzYdU^W-qp*#d`IGg?5x;=xQDl0cYmL7G4)Es)WzQNt9;fz z`?B+XYRJx=(^FDG+h&f7XT3_ezU@lhxvwJEeC03uO!k{GPkmkUMB$|5lYz>zBay<+dD zJEy-``^3%OeRJ#IO`>XZGoJic*r2dt-4)#fnd$xM^^*S&KQb`4tI-j=zByOXpQqsS z%bp1wf_E*poiTE|^i7#F@k{sZBhES(x5THM-pm=iEW<21OeZa>e8b*S=RG@x8A0nD zFa16k;hVqe-o#7#k9%TwgIFFTy zX?oO}wl9ix2|VnV+Fve~+4nN7ckfR#-Tj}kW)**$)4%px=&O&9PP{(;-OeRGwpMp* z-;=icsm}vCrm0VxApObpON36))hqiq+)Vtcn0w3XVAIaSGV_xbZ=bOAyWn#E-rSk9 zxAm;xI;N#J>sWg87e(QvSy@`{D|Q5?v(GgsPP5pl>HKrvq1W**4Hm-;QdoniX^K%08!G6~FeKk)Zd`>Q77yxM`_Asr*;cCfn+3 zKaW@}>5&b#WqB5~T}Jod56czx(&O*8iTp-|JV8>JqogA(sXml-w1PdgtRuKruIFTF{-yHMeifvM5-Bv*fl zKm3<9_x?E4Eh>L>Zs5Kj8lJxbID7&^;+zxe2t{^s2y{kos0zs#@ysQXDT&X3E9eM#oYW#x&}mqfHKPoEPI z+xz%jxuIPVG`)QClIjCN_Kj?Igt-8P0>P&vp5Y ze3e%;9DB0E@XDFSa|YV6$VlN zI=5Gwt?$_!__t~nQ@cg2M-J0l|G8(p4kSw0J3F3udGOKg_l1Yc`rkU1{EfFri?qxC zwV$i(gx0L-%5r5ZV}1$Tm#iyzRr;{@p_spC4k7`E8hp~W~2lLm4I6jSk^P=;f z{o6ZB@3owq+#NW(*XPWm1G~dT&;QlpG!bZB_?_c#!cmJ}4)N+4zm-<4OyRfN-l5d= zP^wGL{@shL_zCHoTWpW=9=%@oaeD5PuY&hBzy5e@Z>@ao*I(H$cBWsSRR2{}q|knH zU+%7|rS_2wjw`+=2=Xs}wX)t(=kVFnU9;CU-&8;5_cQCo=HMSUwD$e%yX&yj_}yV+ z!5N(|k|woZGI06ATC`^KTiG4!E?o56s;gUdvQ?aY&(*B+som!%omnr!BpkAQt;m${ zY`4Cg$6x+`&Tx)9Rmx}_cl75e$)r`L+}&P^l6JAHsKsV-3B+NPls zrYzR=@NUP_bG!a%z5B$o)vwPtapk6sQ@!-26#DX%*(_ycTe2+TOXE)Osacw$lQ*=7 zs4o&vW|HR3XA@nt-nQEE*Q>;*55@cUeQTBKo%#6b<( zgjpC8d*_)n-bs15%2U2+gW2al>t|j*v0C!p50T6Jx7IQHCp;@rJofF#r^>Tt8UI>7 zrrNvSH(ng9RO9ED_I}O2h@TbjLa(pb;yG7bZefdYuLFmV!&S?rGe61tmp^%V_@}r3 z_hAzk7GG2?`6Su>Ls_Ek3+qf9y%`JsEUtcMZX3sbe9MI6%l3Gv^ZojHRN2Gl zR?aCGZ;m+8-gS);X^+!x|9`qN(Qtp-*TjE2r>`lov)nT&*5=Pi;Wr^4HT>i^ow{hE zXFZ)S?3CLaU61Q2UvBR4bpEt^`QEp3Hb-v9Ust*Zs+hB-1eyPY^-5lz`1<5M<9VCI z(%0-*)8TeL=t!&UCWAoW!5$xFxbY_ouk@idB$h+qTCC4nUeFW z>v9rV`1dW?+a31z`~Sq``HB17cPvi69Dmw2uKeHQ?JxW5UOv~{pTJk?EjDwa{5tpC z4c8wea+MWt_U#XyTr1Ky(fRGOz0L;`PkQs8EM-pO_leWnbbEiG{H_<>*-%#N*qYIz&-7AJN>e78wVTjfi)c67F`!JR+QfB@ZkQqF8uA? z_{wLS3c37bty0R~P26lCb^|9{x) zo$CKjy{}?bt-11NaZdmAxeP@WpA)yOy`-~xz1H)3^#>KdV?QOzxBgqd@Y?Y)F+E}=1 z=A}1PM>lkQNbnGDOl?oRP^HtZaqM6Fl}k1ypC3kCShREB^Frp2TjPICO$?tG(=Xmq z_+Q^W|Nh_E_UidZTbKCF$f@4b_r+??50<~>IuR>&oG;T*4v1)BT&(WKzA2*(qkPQ~f|FU30>Z?puOWU;i!rrraOD=t@aCzHfp4{u}d-2oju-^t7zFq$M zeezny?h4Qn#J4-F=cP$L`+Walmw4;};ntgX!lz&A&}cI6-%wO#QKwwm;mXu)Rj0J7 zP_Xeer?c*wNtZed87n57cdmWG`+n;}wG}r@AHV4iyKwUPoO3oS+GBnf*~ZDyziQu7q=@q$6UXe`sDLcwRH2}-R$f1BI_p3GubwiYv-e6ZRx9W zOU^B=jO6h7pn2f-#}3iBaJfgaS-%&hin9s(&sqAp`g@dN`)khTKQpJsc)WhGgE7L~ z^pnBScbmA`#Y)wz`B|P_>6z-35MdG7wC*Cqnkye{_;-GLx_MXbQ~lb`phDej3){He z+ulA5)Cj-Ot#9it*YDIhqobs5g;CKar&)J5Hs+r0cxCkAsNs>9c1OSNPPmujC;zPd z+bu`0JJTlCKVyyl?5#TI`Og`jZ+5yIovkw2?unqT)W*Wv+L6bbr{10^-zv=TiyGH05m&?SAeaD*GuRJ%%`o8Sk*K5{WzTEko`SH`{ z_L$#JPp%%YjeC7R#(#h9*QZN`8Gq%h2ay;16I_}jEcJRTQu)}W_HTPCb8M;51pH9^7~0} zcY1u;#QW10hnH`8SF>t5Q@8?)+5&%Psf%kgVy^z1&Rmlf|MBMewaJQ zpX|qBJ0(zK-SOG?AJ(XSWJzw_r?$=K(jA7JH>E%Eu{lzJIjX@xGB+icr*n^phLyt#SVf@`-H*Y?84 zD_?Hx%(=@Q7$NfQ9p~dIylwZglAT5GPrDo=A(1IHTYITko0Qy%ZDk$4TW%aJ&hpy) z`q<3px{EKLv%Z}Xyyx(Q_CDpX3D^1G@0wos|C#iP+&>wge(Y<1`_XF8pNsp-uDm_g zyLR5m>xT7`N{LUi43edGALT!28z23$=Hp-9WtBIJFN&K9+gQe2O*=8)Y-!FN?^}2H zjxQ6GK00}N_nwtmlE!ZFTb`-?5AgUMy6!`)(8o4`84oV&K06^^^q*yWlW2C{wRxXP zPS_^6P3$m{S^=9ch(m&7&SMw>oNcz^V3#nr<8>*fFd$-kT(|A+O|MwffhdoG;&c**_Y z%nZBax){I3f+~;ogcfE^JpcLiQ#n2Uzfr;JQ~PHtPy1`~bbd{n$*hTnR!4in`FxeP zpU-8H3u;wxQ(Kd9zOHO$eros1iF+^YyV&=3%bQhGA8y&GeB+&V{qs{Fd#fjCO@HAH zDgj!GRZqBY<$w2@^S=G>N1vN3xy9R#+EynmZ$8oI_t2G-^=Dk51P4!jyS&l~zTL^+ z)*OD@mo4&aR)(U{!(DUQ+8+p9ZjWI38vXv#Bja<+RJHXMyjvr;<=fOZAAjBd|5^G= z|Nqb0OD;Y(Eib$Cc&S~}YvKD7t6!VkF<-UvU+S9e7D`F+PW_8Z@-H1x{$78y_w>DIsJcRs&2GtsK{#a{EkH;Zn# zGBUDe>uj`H%$D6G`thar6^X@aQlEP+9*MZHLgUnCrLNdF9358{@*6N4^Aw-9{2%?> z{`sA1N5>`o>%Q6=n0z4lmXrTxP-@lhWpTz>g;nvBX)iDTjG&vOVi zNltF};MTQHSa#^6v*B4CpEb2*>7r_jt+s5KGU3g&ZTzi!p4@ksX8UN7cj%d0dp-rM z+LUp|Y)^&sq?z;gyw6KL*(WZeZWO3-d!K!3XOsUs=UeSxSC(<;%LK?;u9&sPK=&uR zd)mCN{eO1lC#z*k9^C&?p}pTjI_REz$wakN$TR>NVw?`%9T zxZigF{&eEm(f8inH6qR0o(V0#G^PK{`stwc^k1!SP^hd?O2iW9_4lk4|8*R!IViyR z@Ajk}-#!$G)!TRepYU_WnL|#~t0HsO9o6CasC?=sZ)ikD{nkZ?*6-W)%&=v%eudn- z+6M=-<}0%~)~(%Vo@+Vzap>w}iTA#q+U$SO_g}>4%_Xr(zfWkdZZcf!+!?@`yXRH+ z?>!+;6lQq5e`l{_H&IMS&mbuNT*%7E;we|x%=|BDw0XT&NZ2;P{2$f@x6ZHx-#_;` zy*ctyrGJ^I;uOichex-?lvS?0viGH!S8bT&z|*ep+;T^=9Vuw-QPdvck*ucX56H zvuCTXwn5C38x^ujxzYbWyqoj3TJl)@+@`NRY;|8#T?~Jeub!~K?OLMM(a5IIk8(Rd zpZeizXAZ^Gi?s&NH+Jau@J z(f`sZ-JDyNuARXwS-0FrR9(yY&bgW?UCil1g^R?aH-~uf+djAPzPGU=_O7kg7h4sN zgd^t{aeZFGB^@-&Tz{&U%^i_dyB>-alGrB7UZ@2n&TSI=WGL z<_Q%u^R_8950mU03c`04pE$p2<-t#-eea)raAx9D)UwE1arAW0i( zu%bM^KDt-d&P8{tZT)fWkW-P@`h@4R#7&NpxwE$_%wa*$^-FdxUsInxUw!sgJnQZ} zITxu?{e4M?0(+|r*UU?lewxsJhKt$eY@Xbz^_AQg!*XY3{^nY#8^5gT>;2=>6?Z0< zJ!O0UIPqxZ`4jQ{i%RCPxUHB!cW;Q&)4!6NH)KV8w0OJg`xmoWt(=Mv7HnL4H|?gh zrckf-@mHoZBO_Mc-?v$8YWkz_E9*M^9rtkCd++VcwEsy~{h?|K4Pd6n(qvvSyZDemsYx3-bd2i}~sXrEEw7Hfa2ec^w_XYg@XapA_t!Unlq@#m+b(jD$K!*_ z4Bh9mc5JwEH_>~}W_=-vg>`Y?f%`9IySenfW-2zyyy=x{ zR>=B0(?9G;`%H7sq~g16TkhOz>N*$Kr{%}?d$&`Ve!u^xlPdp~R$i9pTR-Kv%AqN) z-d8?!>jmz-c;?=8f$$xVzrL{jzVf!-zJR0ErQv1&>;Cmk53-&YlTz=S)}DH{>4Wd~ zx}(cGSf{KJFUi?oX_~e{``I-8(2wT#f~IZZJKU}K(>%k~y}I^;o z*}O=$`s+s_?`c2O_ABK~Xbn1}_eblD*W?)+b0#^9w;j-$Q7EyTh4Z+J)_Xt859X!^ zL@$Z3b6b8{(sVP(Ei$6E*3|i{)7P#43y*6H3eIYc*z!(kQ+Qz9eV9n)^SoKvCKIc)`EzNB-7xuMG_>zqZ%lX8E-VUbY#ZU!~rV zKiulBa@&r(ev)yTrfz;)&9^46vy)xFrUcEe`WZTnXZNI!Ki(hz{%Y!llDX=Qg7)vV z-rNxSeS25MqkCy9?ELor$?{M6v`f$U^rj_T&DQOT+}a&o(<23w?4OjWeKE>V^%70< ze6YadaQUh=_tdqyMdypL#-9@_o8a_R@s@v(DUbDkr>XOmwVcgQd~`Z}>gtV;yF6@5 z|L;9z_p4xO)b=~OWY*_SJ8%7Lqc`i~XtVY4|JpCDI{K>RP}9cCn{Pk+zP&fc&R^B; zmy7E1`gLojt!28oXa5$R&-*j>$7ME7sF2@PP-ggSpVKQVojD)>E%;^iW5?sY&HUCU z*2TQ{lMTD{K=bDBO)G3v8U@!JiU}>h-W65;Fi^S8;|317XK2il(xt(dCh@iaU< z?a%uszk@D%JZ0uAsS>o3GWK5n?T@R)6SE(=yXSHW7I;*o=A0JuS+wrTjMXLYFGkDS zl)>OW_TKNBBC85@)%3EdcD{@;I4#_+Us_gt5THEDs`0^sB zaBT9Y{o5qMBA33JS1b6tsn=*)pwq2@HCD0Kn$fGa8@%UMnfL3D_8Y}V#;QiuA;&)L z>wKQ5BXn`G{@y#&o|VPkZHo?_W-8^#q+E9_bcV+ScMbHc|xujW+;?)2Dc=6!l$0dt>p(hcd>{w0d*72a#NcAZ=6 zvLW?y&%%uo+Pinmuqt|T@?G8UFOG%tYw}Va9}0iD%W=X1j%LSgh9&`*m+$}l;8j%l zuYJG2_si6N(#*^HXH!!BW=nEQYpuTYr?kuOjPCO%8E(kPn)9mlgO8BWzWaO5sC@C7 zozwoltyNDzseO87%;HOD-DjM5!_CCVzccu5_4iPq-`N939LUwi9 z`UVjh&Qt4T&g@;=J}s$ZQ(Hg_5EOusk-i+4+~U8pDyg>UOM5z(a#2blG&MykNw)BUH^JbsiAH0 zy+mR(D~6h|aj;%EtSLi%k z^KeDYnP2znQoE$Ai&jL5Z4G_Wak%VF-}SJ!>(+kn+?zT1muteY{|0$E$7F8)zjejd zUcrJt^m?26ypPi-9BnZVS?{EvvQb;`W;J&w|NDs&zq597aDLvmBi8^ zxA*2s-g|eX*4g`${j3Mv<`K1mDh5uuQ^d=X4&Qlx{hEr}w^vt=+5LPJzk65B!u@w- zWZqo5H}Oi^&&lf!Et%R;Hp!yIqgvzkLg%!kZ*MH4!#MIzD|Q_|ZxJ!Y^ls5c<<0tk z{`kpSuWmf-K7;=ccfVbu?E2sk-`Qd}KHk#5@$r_cbp+$eTijwZ!&cw?ze@jS{K9hO z7O_pc6iy#sc6ZmwWb;*rInQft&zh@0yPWwrZ%DA%rB!qHR{cJ2xx?Nws%&A*SJiL( z4h242-`UC?`n~qsXScYLg~5X1HzxJpTeIoeHWo)FWwT!O7TbQgZsx^lSB~y4t9n!3 zFg>DSkGgt9UR!h%>-H+)g-Lw();vjzR1;%OzV_x!*2P0HYol+xzPWI%OXk-^cAwcj z8hd}Wc z{TE_g=<ojn0-0q&td;5cl9C)#MZWM;S&s#yt{jSrheOJgPZz3 zwVzn0J?s8!$|F4e(dlQod&<+}s~77{T9og6cgI54Z(1|2_oaVzop7Mz{pK07jE)xj zWlgfyp4xFgsO#N@O7pvqTp!v#KY6KW+JeK!Y7R}yn5w{GoTJ)xbA8kDq^PMJk0xtp zM=OOt`F7hosgZTE>Q(U*A>vQi<(jU2KfiC^53kaxaDxR%e|5p_{qA_I{cc7oz;&6jOPq2N|x-KJNf4Zj!e_+JQ*vqT-B-x zTckskY+hel>oV~{_ikGylOf2Z%BYWpK&@t@1PXYJV}zgxrdXzL*riROe zJ}J~ue7wjtEplPx`=A?>57z1I3ZL(@RkPTLqh^x98`HIi9duN5@Bg@@y2>+hrrqyb z(sN29u3pajBPDt!Q}d33N5T>QV{1E%441B5eeEIB?=P#@7vB2z;;CwZsH|1VjIc#B z{+`O4ar5!UORHS?cZNkpxqaAaEZTlYF8szej^k@&&yv0{u7Tn9;7(aOKT4o zXN!ciT(#HIX$lt?l)iR|)mXMC!!&-~V=bB_(>^`+|GOu*Zjj5Vx zsn72j+}`#Q5Y6ktP9}cPBa!K1-@DP_4Vs_S)sQadiT6Y z@;}6V_MyDj>+V0z$GM`N!lrTgPHRj(Sm~Vm?AzL?nXe9utzMa1_>zM!a3{ZZ+;et^ zy8C}loVXIKwP`_2sN>gfM{ACh%T!PKWH3L_UZisW=Ja@r1GzKVoepmI{-adB;=f|m zDdYWtf&%OBF4}qWn^CB6)bWoe*RMLletGKMh0f1*dQI(aO`UjVc57;IuGZ&!>h^zw zDzgoxbMM*QwVE=u_sN|6D+?yO?L6$(Uo!3buK1i4eSP6ytW`V`T5h$S+3?lWwEv*L z^3IZfHY{eYTSTp{c4sg*ml>8`o$YqATT5`W=HsaTZ-K{_GOt}4HX+X2<RPWZ+k5Gemt1GfcZF${Gb&V1DfTv>TyOX1+Tu+0Q;cfAQ|#TY2p-w#(Xce{(uwtt zwlS>t_g`vQe(~Y?dvl+NT0}%BIf@IXBrkmOF6!&!Z^xFONV1x?ey&_Bk6`!tM6PLx zTmM(w+1{n4=l8zg<ZVMD3MgaaM&tT)-Y?^;T^T-{i_;K}UoUwLG6Z~0U<=Fg1@^loVrliacL z#J>3jHW9p)2V<1yv_~%emzaKj#>>;I>wUC+qrw6{zEtb2wKJ&gH%C@T#UN?+_k(IW zvDca1FCEPHuW>t}l+@n$K2e%~owOQfWwDBoRbofHTv?s(%Z8fL!V1aDe_y72wSemv0TIqd)I z(O>^7mzH|#1kQW8LA3o^|4ByS(EI$dhr$$IH7qzR{Jd%fQ|OF)+HV~^*5$sLeAA%l z@4>EPTk3QT*k7Kkm@l(LKfmHr5FcJt3Jzi+!#LWGqVdd0%_Dy^TuF6Lx+f62O3 ziF_7!@VB1g)RQ+iUp;u(ZO8KXs)?I7or~_N?cqLrULm@jg|jE%_A0xa8>_y&hzfsN z|K(V=rpB2yIsZd=zw_#DDk*OGt5N2ny>a5Fl!KyLro|nzuPHqFntS`8TvqR<2WLLa z6*zOi|GW|RnH`tJS>tP0B{XTdy;<*aYyFXfcUP-F-@N=X=c%exR-@eli<`Lnw)jq2 z6RZ=#5m~#jOLj}X)!N&8%oPl7@_s(Dk@fAPfZh!E)OV)-TVGvp?EiUqzEaR?#qM`| zgt@q;bzfJU`;1daVx#RVXXz^?e`KCm>i+npt=$zNqCaKfX;G7DlY4&^L{FPhu%pu` zF#C@DGu4~nKf`8kJJsfM``@$Z{}=9rbSQ4B-l7=Vyr*glgN(+HCmXqEne)zh|GK;8 z-ugv46*5wysgd0F`_!hKo~|EM7Uy%6O>V}_T&{vfWwpI})3)`VP%fFtUa7j_&Yb6! zRd3?|zuT4_wkYem>M?%Jj(sv#2R@ijRA>~;l1__%7E!w^Nmi`(%7N?itC-%d+tVSc zCo@}Tg;hP9+HRk!+p7in*>@h}aXI{5@6P*4*JjC-nN7*s7Lt@`ZMb96_V9I|?ml1o zYqh!V5e1$S*9~qL_RL(r>&|6Koi&S=Sk=9by;0=2;o`p9wmmMfU11w+x+TPpt~Hnw zG*43NjEIc2(2VR;uAP~VY>RmLr_PyS+yC?M-FJ-D-wUT*SNUhW#NxS{>q#3&CgpAH zwz~VTXzJ+5%sX=QQ~Ub;k52BJ#8mfV-(h8%^o3(%*RL~cyXPwZ z&y#r`2Tqge@~P_@xQnhl(7*rNLpL&Ho${nZGTZo{uD+qb*_iwOk7oCgJyt6|o2@*; z)0vo-qVlb1LYwA=G{zfi<2jF2oNbvf^~CeYX;V^Mq!Zr!=vjY7QN6F^{QiGZ>ArJU_3U1G*)Jz4)PJT? zt7QBUvx5)49abo;I&|#b+4``sZ|=?6@4u_QzpRvUhPrc(a_+x`uguzNQP{< z{dB71jSV?FHyt$>WSr4wlhprdNvNiRt&~tE)<-YaiRoh5B}FWQmpCpA}K~PNmC?Lr7v_SxAf5hH{%Cwm+|? zotdBRev#=?;#TEDyf+kPvOJlaQu2DMgS8=F@byohd;*mC+*kW%3wLB5JawY!f84E) zd*Z%WT(F7mDLAjDaKGu#-F&S*mY;;Y4LrN%eURbU?i9Ic$(*@14C$5JeUg?L(osrF zPDX`Xn{ZP4( zoN%B+R&oCH_5M0h*SNo)Wms(2^YliTj=J#$adkGujd$kEb(VAded_SMDbJVo*jNXz zjZpLUNxAba`n^I|YUN)A!_T`^eL@$Xp7pNsU;D#z(=@zJUzDo(WAAa}*rtl(eVI3R zce+OIV2EoIoLYQkp>%khQ(VEse&-hpWABHm`o>+H;iWXydigrP`2QE|gPE(!yLIBF z>q{a$?}mqO zcgHa*o>~{4C3=lbOY6#w-~Y@_UrhMB*n5?*{``O`#nTo&nxN1qXq{ZS(_mHKoSzqu zXIQHbYXJ&Ut3V3DrG~`5F7PPe01vvvke>>e$GN{g?A38;kc%nBKN~&*k;g zH!b};Q%%2RhEkO3zh5Eq_q2RzDrIzzTOF>=-!y0SyM6kVhc+C%m}yClf?AofP0Mvp*Rai7yXIwc?;7T#zb}}SA9^vRpfYk=U+VI7aiLa=vK<-uGs_qpH9XsuYj3Lfdw&(Z>wK&I;U4Z~C$4SQ*LuD9 zd{6K6tQ!U$E`@)xq?>qGHZ6U%DX{nTnvmSRWplgsvwfOW7&m*{%ipF?wz{3j-ni?} zy6Rx{`F2{nHeH)LchlU&W@+=d;{{%zNSEF7d+Fb&PyZ}-_4;_OTYtx@oh$f_#ZN{} zn%?`XKwR!nqO|uaJI?b{G^T}$O72#&Y_WD)*wJiZ^fXsRR{!hsq-rm3L!bV(`UQEn zZ>>LeB`;61?X#YaRCK>>>(1*zsip7Uysv0YoT8xM9M|DHk%e(L`wZuJ=Zk&<)$a+{a#%CDss8C=+<}JSGs)KA^dsmQl;tYm4Ye;N$EYG zMAN>g*Z#WpJL~7B)M?5WH5dL0;L|9aDDeJp?A?Ep=J#55w>w|Yz8>}Rl?LJ!H#T~NEjTHgPL(G;!FxaG^$rM7#oPFDY4*jB$k zXXQ?h3wx_I?g|C{D7|{>nB8>M`u3m8x92SN+S4|3I`jQg*K+^NHJjmFG0dPd^X%FjDryK3ke30o^$xz5=?KVs7+`@R+T@;yIo`m~1Q z&72rPxfzijb3FsD?cBNhn}8YnYBR+NyE2n?48%3pFW$m?x;Avq4UwlT|EhgwE2bFU zpTUrQ;?3T@zkf~h-Q=*xI%wwEC|#3K^!#_ZPlxHh3R&|IF9) z*rTd5MN&7uVEXxhHN0y5J+IS3MXX2EOf8E$_X=8@-*+9QSr{xRne&6 za*)XPl9d)p-||+~ZCRNRviQ=Pzw7S`G%Km_`+L5=$XQ?-`R0AOsOa+OHnrQl7u6>E`*Vssjt=Ff9#)_ z(UmCkvwQkJNhlUyUmak3aB*Nc$CJ;EsZ*jh`P>X>QcFJ*v{HXxnAYwrW+jF77HO%5 zTPoK7dwoAxy-(uNnwax%Ks}_Id9!lKw4tnjY1b zon13EG2@u@8s(0F!y4YdzkJZ$^~5l3?{Tpw|3Cd-rgii`rNZPuijI|ADE?atE)qx>FT- zKH5$B_VC=K6|=(-B_^k?S{bpf>&)RqouHp@STg=tZ`@jB zy?7}HYuB;HRoB9PPHmN5A!1!(z`p(O!Q&^|X6D5_bnV%2d1_bD^@2;`Njq6o@B8)p zbBeYtx-sRsg=BT?`8^7ced1FkW_>)Btt|Ajve?)A#ulF0rsv+2YsRasH*nvwp=7Np ztAp5-)LN$#-0!CwKAZcwSF88vm$m-?j;pVqb)}lqyy(UUHWmFQQHh0Ru_a!0A-t9B zp{Kf@2FM?(jM*LO^}O`;pKq}%LT*ny(mFqR?aH8SXF3J^^S5R^m7lUOOHV)|V#9<> z+KzcEG;BDyd={jZbq6~M-QF5F&1Jn#e4-Y6@LtZFC(lp#ujj(LGiPSk9>dVeySo>~ zUelYbw|DXCjSv1UF$#&b`q84$G-Gb)SI?`W#eaUg?>^sjb=oRd)7!gp)w;ER+>E;O zZ=-*DRNLF8DNj(ovFz{L+U2kQtu8B^ z7Ooz@Qn#nC#bsaH6W0j`IJT}{6s)#p)h+Rmi_wdML$oqo1J>?%R4HL)*wLZ1J|MUH z%ct*}+#97?FGtKQp2-|M=d|K&|MbSz-|>+jzqoyE>pFNW#;uuWPnxg!I-4a+IiAkx zX1*QQv+ZFM>%YHkk2ph;g-)zUHT(86Jm8FOaNPQL8K!1mjw)Fj%{w~5>C*SUDKlmS zxNKU?sk7zBDd(%INB*8;_p0sI64|V`Iyn2kS>jdIw+@Q>0&}nL_n)wG+Nqc+9jOxk zB7$Bz{Yf%Cv}aAB@c;MCDyfxrA0v%J_cylhy#Dw7;jr0hsuNSMo;-evYtH8H8`nIU zqN$?a#NzhG$s{kN=1JR>Q-2?9ovvzi^y8sd-h6H=F89bU?7V!#kBNIPk7Cw_)z^ML z-y<`@quMXLoUyY*Cz>ygU)Nc>arM~mi5bp*VsQO4YJ%&CnV@S+3nx! zDPFbd_fqR^qa%&}OnH*J^Z$cI4kx^2o__uG^w*o$$10!ydv?l0cHX&JuXg>HikkDi zfvczTSzCSkrtZCVdGF1RCr^?OOLB*Ynx{{MfLZ^KkQs} z?v#6i@~y6@TV0#>)FnTdF1dHa^5_V9N7?~ z7pXC=$1sK?V(xC1VlBZ)7ID@MS1);-zvlGe?d@M;2{)%EB-H6lU8I`j%8_>FjzNxf zR|IqYBZJaBhU-5J`E90H6<+!9VwTlFjwj`Xw)(Mp@EFQg2DR4 z&zB~?e!b<_pSziIE_`KG=egOZPrEi{1%I-AP_4wfqK6l@DPEWmtLH3oHu{H`h4Q%% z`qy|1A8zx^%-4;2A}TWdg<$gfZXVn3Ojnm=ew6z2r0s2jS@rvTz4G|#H-XldHcl3G z{QAuCSMCLlcP}d^v?Xs#cCOODI^#{xQdjPSHSQ;L*BsMXd2B)AYIxTkbj< z-8QmkezG+2dCDK9z`v62y#?2%>V^p_wH$6U&E~r%cHx|E_QUXe$I}<~=+7`dmVQ1& zw))$*b^lH?-)peDyZChW-N*<58PhEm-@TQuC7cHJM0O`vM)vJya+m%3?e_Z>OS#2g zWL(cXb=oRNcLl%g#FTVS&23Ra{gTro1SE?DJ@>qkZ*>vqFjo38S>*kmqfd7^*6lO@ za(%kH->#INtXn%W81pKhAAf(gVoi4cx$DzJp2t-lX8!Je>+6e|e~zy;SDv`|)+xt~ zMX%ZPWOwARmfa%|-Y`cY!9Y-FQ4r76o6bWU;{1dFwBIo?f+9 zOxLG1!|~$^LwR9+hxNto@gFv9bx{*d^_7@^sp9sO*=-Sj_vn89b^7sN7Gu3FKbQQ? z-0J#urudtZ)NYd_ZzQaXH%-u)8lE9IwQf)2;m)lRS2b>}Pn&ncF2FNwD^KhX-(AJe zUn%=p-rfDBZ?}@J*QYm2Ur##ky7lwvWbZkqAyPsr22O8}y%71nbL(sN1s6>p%=J8f z`e5p!;7j+~AN|qObzyP;r{P(%)ZG>ohJt1`XUe;u ztoyp%BTk<9!~WKj``zyuhgWi}k`uK5;S#nfkoD(Y7qw@HGF-JXGf(lnIc`yq5*`zD z@?hqXS^swCGpp98hD>FhnfhkJ0+%I6b7#XVuJTJQOE$d8ZQe13C5Nl> z@IjT|`+QCd>@GRi#`~-3|4!S=V@t)43jKIJHT&`7wkc2U>6E)JRouAz;3Mx3pN-$w z`o4a>fwk=P%Dq*~!d!FIxmxG*ZC-FKY}Q`w?WNsogTsHgR*32pBe zJQNl`laQS?Wp{>RP^8kk!sYWG&MCSX`k*WAbitAPwvW5@|CJTq-#1k&V9VJC$;TF- zm2=)No%JJ*<8{TB%6*rUuN_K#XB!^B&c3Fy=t$o6b44FM+gKiP{=Mvj!|^|QvArkN z@0=~VHvPD6e`r*#lD+%v%V!#%IEa7Z&^G_6Y@Pb(oL-BbsH8~Wsx3$MpMRnzI`fXX z9?Kg~eeKoiWoP>=OoWf@41LtI;{R(6*y0|Q?* zvF+OxU?YCFXO{8bSts^3bu4u*)`yq8+9ZE}jz(blmM*8CC!5-s}9Y($-Zi&r9AV{pJ&I{KVJ9&c9Y; z{mHbbgoT>~!aRdYBOgiVx9^|eaHEKaFRC!tgR^j|{-tftce>BDxn=ox)y7r6zo%&z z2%ENSvjlf&pZ3&a{vCW zotR>hc67lUZ|}EH3#K1$&+=I;WxV$Aw6nFQsRoaKo_ol5ur;MDa>W`Q!I=r?rcL|S z?$Y*L!PrRmnzzCBsb0q|wzYq%-MRKmpGsZIt!gj%;vGS;*1vZr%wB!q(1w6a(No-9 z4_m+f+;lsj(tpzy`*=<$M4&& zGoMfI+RvdE@hD?|*Q(Da0+%oO_j=mxIoo`@u5ejo-^hD%=Ai1gJ31TNp5^l$6jRz5 zEfD8uzi~?zL*Ki&;Q6&te3qw=UEQJI^Fda8%b8#)^N`u0VqQm;j@}H;b>`^?T1Y-)YOV*UjGYZ{M{k zHRrdim5SbEWA>``)e+S`;k|$V7*2ok^~U#xC${1LZq57uRD5E_@^b+qN$EP06F7a+ zd*>%vNH@3K=`eC?IxAF};W9Tvu+oED(ceZPp|PgqOplj!DZVU=HR=Y zPm?=*qWUj=6J9hSInLwh?iu_GB=XvS6XDj<^ zxTb}wznf!cYgP6~Vb3>_Y=JcgI&2veO+W8io_{l7_O5qL&fkisUt8CI#30%**W&R4 zz3}g%r*yMtfrs?wFmHvW2W>1pWqK0WQZ`*(I_dq3%(wrJXIyJ*Sx&t2BEpW<3vt-Ef`)%x8p ztKKhlm)jIFS*?uk&5D?}xiP)0?EBUI**9y(#!M+pIlnGKsjj7aE2P((d0kh?9%kh?Qaj~Xzr=;kLupMKU8eZ{3$EA z9k->OjOsAj9V*e%+11?fNx|)4-R!)}Mvrq})NVIj<+4KQ?IEfAL8rI4Z=Un#sjZO{ zugi)zr8gelQ{DbQ@cZj)iklW)i+-|fk~pvCxmwLV8y?h&J2EL>ky~VUW%|9^@^dfZ z|5v@*oxgAM{rooGvgEzLUG{t^n5JERx#2kb0O;BG(|@yGz zj}?b@)_Qd3PREWcS@Ek1CslTGmJiLR?x%X>3oOp14Rc-LM(Zn%a= zZS895#%;If&o(bO^=$2mFLJw5_gMejSnrxDH~sP|-Y#eT&2x00Fsshv2oYIzq$Jw# z^#uRb-`*^^8b@Zpxlb=Ga&8?YtrQ^Ccx#)b>+4A{H z&&&Y3q@Na@^INk{PdcTy;q0kzoj&0)llpW-lTYjTAAhf`x2L{n|Fx!~dRYgtNr%1k z=9E4x$!XXx! zUyF6VKV2f%&;0Ay<=k^|f%lMBIeWH~Uo9`D%M9M;)*ATXiuYQ>8vW zK){yUWOZES$Ei>5AB#=bpJ{IX=z#PEH`7UBTC=t-GD@7hY}dp`!oQ<#X>hOYb=AI^ zYpKY&MKrbFXWDvQPZKdE?&P#h+UgUQtUR@(RoyK7(yS@dmTcinZM3T1H`Q;x->jRn zr~Q=PxBTKE)7>$foTsO5-#YP1Tw0{SDv6u>mZ*1cUt+_bn){|mNnE1%c@y*Jy~gXM zUe9g0lJfCSeCXU7(a^^;gp1zJ{8Z&-CllJn!r5~pIlANWmVa-~{;%Hq{%iW&SC+C? zH#2YU*pWA*c2ViS&^@b}UE@66w#iDpePrO@vH9n#(7f-p-?uBC+whBDW(C)xtV5@^ zp1j>Y{m8QRBduXm?#&EyzA1Wm$*UhHBQkfdjof#+?%}GezbD@RyFK^I`u1FX_2Yd9 z?E~4D%w9Rmr7JG;j<(6I`n3L48s1;GTPg`Bi7QR6oH=3Q3bEp1W0z^JUdxn(r!Jc? zmqTw;dcNbYEn7^_&f&}Zos_KlWNMj+VgKP%OBhc)7E7Ac6_B&w$i?_Qs;RLGTTXDf zO6{m*>I&Lg)Ozp#jmLYrkKJGOt1MT3<%-~`A1m&b9`^cV6e|92X%e^%U!7FawdIc5 zy14QH&%=i_x5rjRep#yiZ*6ha_l3Q>YViy^Df3o`i zHhuoj+ppLB?X&Xgc-^{H`pVp9>4@M^w}ORbQ{Cgfoj;ry6SUdx=kGsFH(D1kd_5Qa zzO%XA^zq+vi*F+PXek#VGQQ+v$K?-C?7Jq8gxo7e^TJ?)9n)%UV=?2ZhPTz~4mgcqF{e5$J z-Jjml6P(T=i6MJKwmROG6PkYJ<`q4ab-JO+=hyr49h_O8ez|6OvFJYIj|caw|Npz( z`pu~>t}UVq#g06D-}*Z`b870HeC@7H0*|<6_Me=zA>Q<5Z+gn7Xyvtz=kq0RX=|O~ zo1rMYMf_}ywn$pb5mgsW#)UysPv-bN`K^0V?MS$Dz)ig$R;wRPs_&k*ob_>%u-Q!J zEV1tsHtdx+cEO`nvV8(uUB6}DVt|JRdj_2$nO9fR7 z7S*lfkFU~v{^W6A_4m8i@4vGz`|&Yujeq>@({>u0SF@gM;99l*$SKiDDQ~vDyL8s- z@2dMZnA>{;j_$lBGK1lMS;@S=o8&px=;lm$D>zZ==G7Z5q6_Blc`|ik#+U8B#i94! ze46@hf8PGk{ePZ3-X`9C)6ivAN9&a7UU_@;6pVE&?q;v-^KoTcl)qtSm(S0SYD#;> zn*w94HM3t9#XIS1URLUzK6_nca*Oh#ZHXz`}51$pS(T#TBzQ4#f={mTd$pZb5pV2 z8WiEL4uAR-EE@XTBtPcQ#k1mZOXBB#*(3V;3TyT8`=YZ?Dy_W`5u>#()qC%zZ?a!9 z!((JEi@s#8(s19~{^9g}S;?(&947{<`R}IHrcdBaOqifT|3!Heq}{lCY&&za4b1* z>G#*~qkT^HD&HBjnZ?9ONU_R!VW!Ixvg<89Yie5<>4yg)z{RKl&$e|z}B zg(}mP_458Z_PhSRu(}}Dnrr3Ob46VSb*(>UIXqo>>h#@ZxwoSh>&Yd{*MHLwP3-%X zvUl}6i(?z-O-WMnjkzIuYjSkJCyV8NNAE=xWZ1_?nqTU3%WFNcc=e5{J!TJYKAHUe z&&7G)uZo)~xvrV9N9_~K;k#=ae73AS5%&A^X`x^yp-W2lPMnh8yxh6qCiA~`j|wvu zwQm7M>6w@AMfpy`TAo7J`qQM0&R&YagM1vnY4aOq;c)3rPJNn{y&lljgt6X(!Bbe%sM{nA< z%eW)p;gZRJj^3F*{pFvEx=%*xQhOIguFKkyQ|smX@A=`A%irxj9=CJH9k+mGqRqd8 z_K03~5erFiN|~l1mg=U~<#=R`#LvBF4kYYZ{r&Fk{y0x{Ic~$qf7jo1`KI6Wlw^K1 zWqlS)VW)@lq9C8wfgb*=d&MVyd>?z};+i}%_(7}g zW77H^iORN*_UrZW?EetHDlzemx6Jl(-YskDALa$k{B2YhxNF~jxli}cuUnV<)?(tu zjdyPR>`m6{QqB1LhWY#QxQZw5%SuB-k7Qj8I_jX*cET)Iw@bpg!-qxEGSEKGHEIGo z-v?I1o5s3ZJNc6|HkzM2TUs|eaLtk<^SCeSr9IcvHy17zx^wTza>u;)x{*viW>hm)Pz*Red;KZ};bey`1IqIlI=xuAASp zc0$Nf1~+%RiGS05_vD|sc-=(fjHIq~!sciCrRsJ+u3uR#Jg?x|x^)}YhUKo&c=Azt ztJvnULp7m^Q{N{kmH8(HhK9_zY0T{^f6P>QMs4SxxJSN6EFyf$Q#GT$y>KvM=aL%J6Us-FN z&5on;hM!XMPwW(r_*-4x%Tc&?b?Nd%-UsEGk7M`yu3D)FS{3N8Zk76T)!%5->@W9t zpU1CQX7j^be|>58`-m3Lc~w6{S57xd1+j4<61F_OHecT^dV22&yS&G~KS%b@UDd@Utv^dt__W%Dp6PoFWY#HgG%nn$ zu{&kiS`E>eOH7(~^sp!G_@Lt_t;O^AN@P*RTkgySI%o8?KJm%dO{#vxDsH)VSE<2F zwW+2nw{I*Y7Mk^I)-1?KgXaw!aEjH-%1qYEkyz zruy3(cD*;(ay*?zvbH-bxZ?5KA z+MoI43pbVDnVIfhRi2yge7qxN%9Y#eUf&a3rX0M$Q9xzGe4EC-3%>?iNc%^9IcvTu zdc9s!Vcq>V`p^G9{bMH^{zpc8oxJiF0iT%JHi}6vPjhoGZuibEEPPsJ`gG><$CKs% zrazf|-fp8};dWULJEaM`s^?7?tVsz^)$%?v@v553!zby>bz_w}&+m%e{_dUO@_7$s z3qNUYx4x5#kx?xaWa0GryC$mRe3Q4Bep)&uol{BA=WK--(=YwQ30j8AFob#ip%|q&;GR~ zQ?SMFwwTtY6+b+j)=b>C@|McQTYOp@mROuu)|JwAxm&)U`Hpa1VV_;WhY1;y-*$v8 z4bh65UL&Y`YX5KiB-ppxZs^tOkxW?k@v&#j?VyQ!Ll%E8x_iX(;+z|j zy+t9KVRNpkzxVa`tNoUl|LXJko7rLO3IuGET@`;Bygi!m-1|z4TAf>rv6gnJV%ZKh z9;-{%-@e30{N}Sdp*f{ua!ZuBzsh_U!S4<)UYzgh23dIDD`!r+yqVw4_DHdFL2-NY zpBt4#J^g;D>Tb~PkDups6z4r=n`riFkzUL;xBXx57=P3ho?n<&^JAYyriB-a{3X9H zb8Ysl`}^y4bDzCp=?~Av#a3H&jkm?F&f3dbaH8Jik(-=cOwxJYqpJRkpGcXms(XJ= zkcG2H;oE{PpM7nj7bkbGl6ofcWbT6_O3#lcO>CaM$XVmF(P#BZY;QT3HtVX94Z(a(dfi z8EJOWCvG{vXH;i!^2Qr0Ce6rta>DNBoudZ3{Ui1&HcyuhQ@!#kCH4=eb(VcyP4f+F zE$@=gYVW2Qdp0RF3LeQ5uJMW3wa&Bo&z<0n>}6Sg^EUTy3|!+|`=s)h=2pdjKQ=sT z)z&zpz#$~zxWabj-Wj=%zifQ&Djv4({i+K=e-=glTl3NJ#pmHZ8?=CT=cw8!6ShsP`^Xx^>^>dJ2;wH+yq!01=#rFnVJ+}JQV{FTcJ^q#Zds6 z4GKOEkSkdn1)yw?1Q6SiNtpwbiV$p&^T5_~G=ZHe01h8CHq>&66%dC&*rQfMLI5R@ zIeQe)0vS2*aRxXfkS81fMFfNmjZ>lm9Ad?QSZ#LnKl5bHr#-v+mWePhFfe$!`njxg HN@xNAD#X^I diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png index d70a938a36a7d7b0052df90b8454bb2341d03271..94582d8204c88e18b392dfbf4ecb5c77f70f2754 100644 GIT binary patch literal 35454 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

AVha z&wtyN^>6;IW9R-qTdWYwW2L6HUCZKPWy8|5`#5(Vn)!~2>z-r!pB?<1J@&Tso!v?y z$|tK9Hp=nX|9zGJPxR-P_4RQx_q$L0?(b-Rs@Ec9VPW;y;*iikeVcMC%_?{K+?OT0{AVxwZ}hg`&wA#vzR6`a z+k}tH=^v5UEZM`##ByswOWEDx{dVVn*FL|e9C@QbOl61q;)Irx?VtC(|E_obw+-LK znVa{WmB`Oi-M+GDUPq^J65q)Ol7g=pgPsRkG?#aiabw-YsTywg;`e7~-~7Lv zxzlIwxoa6yE6=Z5a64JFj$zuB|FgPI%+Haih>TdL>t+1GwncyPR{c#@FH=t&9qH0$ z{k=ox@Kdo%^CJ?LdpR@+OceV6CUYfI>Yu&yE1cfls@@;+An|<3wnTjv5C7SxKYK== zH#99e|NZdt16#ItR{UOha>o3gvvv^{j9P_@J!jv$d{z6steuvug_>#s(~*`tX*U^9 ztv)h?Um&}za*x>ZIlKv-QU2XV#}^8}$YGeww*UHS`La3ZUw=Q8t$lKpbSB@#Rhmli z!sQGR(|P#)eScpTTM;j#Jdb$?=VH5~Iw3O_$9%3!{hY9V{)=!Ow!*{OOfsrgl~P-; zyQ;Yw9Z5LMsA~5tcKh3D?(?g>p4~GEzsG!RKC^ya!_t~{^LH<~duD-Nz^7l`XSdHZ z{3yB1VeX;6IM-cQrcGaxn_j(pPw@j?ovOlelgAxjH`h6c1~2HD`bSFg=JRxucIS=r z=P1|BH)Y&y?a|3}U^TO!Hs{O>Ps_KjTo$NzjJ4O&WcHI4(&9CTa z6!)^-53h-NrYhgwkiFgJ$B)OG>Yf^%*j;vdcR@p*jaz4Ydhc_`gQAaWf4ExDHk|xm zkDlIF<_Wi!IBEyYJvW2r+{J0njEnxfNMv<>dGY)ecK4ifm(}VrQu?~D{7_L?%_6L1 z)X7_|6lUa|u<5kpOuo|`C6A{~JyaFU8Tw=8v0LId?wedcx7oghm1)CCo0*?X+jgWi z#Ai-1PItXm>EE2 z>9gwdYl3z>y=rKZA-((70sf~~Q$Cp$^7`FfSE-0M}^8*Asaa~rjs-cCFEPJgECmdA$|Fne%KZT$A;8Aj4y#8nMW@oiu;F*WllPjA1i z?6>=@QfmBV&nKc!o)=09SNM6Ix0rjl=Is*M`gqr4CI)Hwx-Wq{-#=_Gt$b#3Ywp<{`<*$m7N(a?);{v1KmGpq zS(XRp=iZ96U|pgh8q&v~TIRZwv44%p-eRY7CT1_W76zSiL+oSpQ&!q zAFY~g+wX4=m#h55sqsu_iknYW|Dv6afm2KpuRQMg^Jh`)SqYOD^YiW`a^0Tn_idj@ z@O>|rxr_!YWDh^t&Z=wn_S^=Et}WjmZ?u1Sb!YXbBNxP0+H*Eo3$71Y`BGpmL+eJy z%E=RE-&^kA`tP?2SAfdS#!d77PrexOv|s4Fy&&I&oUK)vN^ieRxYD&;XO=+GhYpSv zu}oR!OJx2kWoujtXA@Y?kstZ&npEP8!|GBKf0;0Td&4#@rR>DE?a_Xp-~Yei{&e#E z-)pWknLNnxpKjZF;y&|==5OAP0V(({Y@lq8?3F8$_|zuL0u zL&KJ&A4`uLoSc-TxYwZc>#rMydD6~PBZUi`JOjk8eK7g!cz;%)o5Q|lr#xLK zocN(GanH#en*tlBc;B8c$6#(?Q8@W|ibIE@yrIX0BU>1@aZbC*>{6_FXZ8aJKE;O& zieXaBOKcRC?SIY=5Z~~a*-oPOPvo*ywzk`t=FXp6eowQ%?wN5Azv+U>4d(J$w&}kP zu!c_hwnmo6=^o!Q_m|eLu?khWGJlOv{9k>++s`>^pJ>Dc;p2TxQbNsQe)X2AE=NwX z1_?CE`Lk@>=AhClbKOW)>AQyDk{fQp%nlcQS6*f~JdYvp?1tY5OBALld0Aa{`S$p+ z@B#h(8lv3u{kbnDB>ByMQlR~=Ak%okp}p=Bd*9e=Fiv^Nd`QZ})7g2ci|~?oUbPP` z_3U@*54@ICyDTl+%BtTJzx!(LTeBnk?`|z$Z}WF*{3i3mKh7ueUA}Qu&sJp13G4Z? zE7g7}uF^}c{d=-4`fN{Z$Ir*V-nOw`(20SZuk3%$L+pHUJlqVr*v)ar!w!& zTa-^sxY{^(zrw;hLNP%XpEmFRS0U6}e<^suk6&Sb%|6d9_T3q>%qi;p_L*ufle_Q6 zE@5De_VP+^`tw0>(#NSUAgilv z^0j7>z8gP}R?X@@v$4WWhoNw5K!*O@C(~+beoubgzjSHx3Hh0;-3zk>-&VFhn%ufJ zm2dlmPZBv9nGbspPMz)iMSIPipxq3a{h$6%pZap;nbKo2yGj`)_b_HB9F$I+zI%yE z?z@VD{=a9Y@5=~V6RZ84p+I@h&!qbP`;RwNw&WW0P5vDHdb@8`e3h3>L%46|&XZsH zZ%uZ;KXF;P{{+cf2~pXMwFi2RTCIs`lK=myH%lZwQ>R=i`>N6@!TpC!y}g~nAN`qG zb;0n@2A|Bp8(OMCTRtyZ?Rw+xgY(BuYu07!%wH64P|Z0FtaR)3IdP_@Y9{G98mqJO_{xttWxoEpGTEp4ydYQG>Z=w;BP zn81^2lY^dCoeRs#N;{n^ztdUn_n+ryt1iq47XOuT+frv+$!e1|lWtU*ISBhG_C78t zZ#bTnb@uy2^L^DnCYU7tSn6Jo}HeG6%_~K~IJO3~v(bNroIsO}q zue~hPl**qbmdeI$(k9FAW>MBS;r=BK=Z+YSa$5<36MvOcOv8G7%AQ>ME9$zPrOx(w zW@N|o=OMfHteLPmp7($HIk7T1C;pWWvUA%XZZ25*@%zya6TH-2m#V}av$TBatr6qs z!S$LUV1|o@ZBX&EmregZxUSk$e&f`ttm5x~zn{Jw|Eo!d`FE+YQoZsA+q-}F+C7N= zf3c^&@1y(cZL?mVVyv(=*?!IDgLM4n=TYZg`lh!iT<7<15G-<(Px*7wGplHK)(ux} zsXdnrn@*gXvYcCHTC?9>l}Fbk{F%g#)$shAYvgmdIZBXKF3b0XOG8=ixywzf7aD{H za%|J(Irk_^)nK}!amWo%vyImrZKnEt`>%ieXEA4B)-_SprK|$7it;K8kEUFASmd$b zz`DmLF3c5~cIMiR!`pJ&g)T4Vn#X)glFLBaQ}72{;b+HX%Sx2yuywx@n_a!}!lyz9 znQ4cAG``-hekv@L3z72*;r$=tQ6xDHb>WXJ#KT;EH zEJc^^=!w0(g!xF36Uzn7*)d^PU7YkzDQ{PIo&V{d@IN2rXT^mmjcs3G?}1Ys zb9eK&8!2}e<;qkDNcYa)``67uB;v`pFWSXzKNx4LE>-z|`K7GqNBfh7e?VJx7 zc!V?!5-;CmpLku^Z{LQz&O854D1TbHeEuZY3ubnmCC~TvnI-I~X^<$aeiJ%5xr|#sp^rFwYmM&d?ggVoM{0h})1V$CQ{ZRL-*Ds0C zH%VmaNz43GEv4=_?N`W-n{)PMWeeCA+_igb&@tuy-`c(!@7~kyHCnPp>S^k%ehV&6 zZhIOjc*I!gd8m-Pv}2v>W#4+!;Ae;YgQkTBw|{7UC}$|$y6UENF01Ye$&VBFOP@cO z>0u;OF;7KQe&f2s%~gjt9d>q4>y|QYI{3a#K~}HPIZEQc!ph89ep-%iclpkK`nbQ& z$*$>zJ$ql3*vku^TdeeB_AIFVckx)>8Pm>{#-|ydT=AS7weOCX+^+&3JjvmiU6ey$>DF{@+;6V}0&J%f?!>bd8foG9-<173=M1s{E)B?d$Nm zxMWF&%c%u!r-T=s;eF+CBim|acI*Ab-xFMuWgL&b*OT6P!L5(*&=Q^%R*jG zI&^BW?CK+)3|}8H2>ht(Ja;5ENy&&YP@v<|#G{V>EV2e&#eF(QH9q`gxON~WKHk`# zdyo7w50ifa^AnGF8q62&KN!2SlsEdxLUnuH>i7HkQ-f#DIZ*PQMMA!9^WR-(-o?$8 zU3kxE-s{=fX8t?B#{`$3&AFS!9@#R@`qji5xj8Pn$INYyoxM=;fMHMK6%mC*?S(rI z8@!NNHsQjjO)8499B$8}7kWi*&zZSpu624m)7FPKmD_oGZJFijW49d9JowJ-h;YZO z?WuORCi6_Yt9*^`+R7u@x(}nL{<1$KxTX3~aQjP?!LX2>q6^LyqP8P|CJd0+Ln6UqlZU(dh2%G5c#e7Wu2+qt^} ze*|s4sMfl1@5lc1s*h){@;*Ce$@s@~NB;bYzqXbgx%D{XVMcsTmU%m?UJ%Q>#ZfNW zv6qwo`OnpK`CH^5lQr$ijMjkpH#b$A&uD)?DLQQZH14&!H(sxp_WVP~^4YUhou(|e z;s5+s*f-9OEn zTk=FpWZT|;{Kj|r%Ei93*JNr8mQJpnyIMtQzwGgluiw{C{22dPSfM`mc9QJbguE-; zu54J$qxe@bI9}$p;$n$B6ZJ`v0;`OYE}lr!jnLrT{%(TxyM5kLW%snEdiVzwbnxUE zw4c7~ksVk6GxX>C_jTd-YJR$^J~Rzj;kj5>V$u}x{;5yp78M}>K!VyN9fQA`Uo_gOcKKkBtw(gvo zni{uS))%gPJ8v~{_zK8J>Q{KVZey7L;C=C>v->w~d+>PE)03{sM#*0+ca=B&cd{s% zHG!?BPf#XH;)2MssoD;)pFS*~Kh5^U_jKoLD}*oZ+qv7>>cTUbrq8XK_5DekXEtnk z{yi*j&oVQMTCHiZw{zvV*H_j(QK{5ekbbAAMvo_EN#}uUle>MS0`u*9at$xd*&4m= zMB7^Hl(%hF)tBFBUG^^ZS`vQ8Y_*%*{uNS7d@FXZxB0)w=J)&mYQOJWDLgm)z-c3z z*zlaMkSU;B;ZSdwdq7LZsq(HWQ{A9OKG7=?>m903VY@xpPhbtei$p<_(pPL_({CIvG-+}DoX4khSUO9S+?em|IpE|NJsfjsv ztb(SoOC+=HUX^WTdc#^_>lWd_`LBB4M15J{wxgqJfpo?ZJCXW3X3AH8?pbBIX-!(+ z+}6-D!U0Bq4t}3MQQr1yiH*=-3@9~hg^O&UW6eTZ=d8={sDkFpb10SbrYXl-U?YQ9An|aImyzr6W zrit?e=ePN1YOt{{vx@UR;ApaGom^t} z{mzW%*L05-yk@L?(Rn=e?y)M#1JxF_3(szI*sw_cj?W(-(Peq+Wsd))wat9EZ_h5X zU47+P)#-J7o%whB{uuDGC7e6KVsPZA#)YtTJ6yx^@9AW}Ha~S~s`i_v+0P_b36?Q` zua`S^pUqveDRAnKt*1DSIXT4LeY3O3JGFPyrMb<4d;c8b{&Z*a`BS&s`MjpDd&?^J zz~-p>#Pkkh=B3M%7*F3)@JnW!6ScH#(T%p2Kq+~}%q7<@TVzGKWCkpAE^IujCwzHQ z@9T#QrRO@Pik{o`KW)`vCh-vEIU(Fup*EFUSfwj0Hmmal96nNg=Hu3jKUUxQk>-dCxtttZb_zniEUQGSM(H{!s|vzcH1x9{Yc zT$bQ?{)$!N_aEiUJ3sn+vp)!}dd=tE6!q+9j`gO^ll_*Ty)9E`T1C*@~7tifA}k3 z-uypt+UFSo%=hOtee!-Gs-#@=RKWKt=ag**8=YQi@>XhXFkX6B=_udQSkD<>1#eXe z_8#!=63Sr@by>?iJ{?ElxiD)6_OU=EL=$ z?#q*AH94M(HoEoqVf6{7R|$npn-n*2Z}OL~eiOXu^R~CAP8aX{zKAthI_S8a`qwA+ z+duMcbBo_!?EQDkrkyXXw?=F_V)TEVW7ej+yHz)L)b3t$OfWW_ec`LhtutP-a2%>l zkd+8H)+i^Ds3qF7BT}ugx4%$J&`N&lgPoBqr>0aId}BCvmFsZz)B1W1ecSJQTyqn4 z-8#3~ICX|zN=MITM}J^Yhgdkw1%t zFBB*$E}48|j{K&=(#^}yZ*<|YS|uXf%(7Qt!KrPZLOz~baoFPg(ySK_Hl`oawX#iX zRjwp+_<0FP`-w*zR`*4+ciysow^y8RgZne*Uz(}y0uBLh9;J7@T(~IRt{~#+^VtT< zKi_7i{keRbu|RkCf5+P!N_W4xS3E!G)>h|dXSA4C9&X5V?Yi7H`)YT``W1&+cIMuh z-?!4-XHvMa9nT3zuG6br{_kD4EKF?SISH35)sL@UfBOI5>*`OR{Ogl$M@9EC9h$Ii z!rq9Bi~qj+sU)_0PVABBm}3>S>m9dOc`83EHZZ+(uXfh~##3Uduetxl?c3(Sb;bHc zTHMTtO(&n#->bT$<+^#(foo;io{lfu4EUCK$7H9xJ@V4@^3je`;U!o zw%=@aD!)E=yLYJ8ma{Kj&vz7G%N;oXy>>@uN9`fwi4*^C&x^Cy&CPW?vv&XWdx^#j z+jtMXs21qlJ(2ATA7934{SR*h!zxd5@suPtx|K2>)PLz-*SL@CVohD-)H90Vnikzw z=gdyOUcXmS-|m0Yo9efzFAsg{lhVJWw2jZ%Y?Xx#bKATtdP~wuYUX9yZz#5kKjmuj z##MjMvW9H|M|+wIz3X<#UfvwNUTWnfU&;ITuSYF9^O61I-(!_^+r3MJ8k6@ioRA4} zai~hlIxVuM=AhE<%G-R!=l6a;5w@j0TU=l5!uhgqB{RizHg3rCYP$X@qHgAlE6-nF zzVab`3iF3wWuHB7w_Z!*J6dJKkmVYGci4LynH>JyKNZyT~*8b5?6Tb_jv51?#Hss=$2v84ArM6 z(td|zx6Jsft2pVno!$N)v37jjsjlmOmE}BXHJR{y^7D?vI~ZKoZOVLcE!wLxsJJ5c z$>Vr~{CRixyf!QT&CKt4_}bYBTMfru9En^HDsS!V%gWieH?#I`h{x??^|iG>cV*_s z8*}aaGF_c7YTMHy&OH+(o$q{@)T3ax-qf@GL!ZmC4z4A9rY{6S8M$J59V7I+PB!Pi zn=b#@q~hgK@uzn>lfz_}?K-w3z@yEla7ME7`?T5#-jeLu4^~d_6W_Mq!cwiHPm?Q1 z*g4k7^jVHh=L;*hd9r@~qIH#KX-Bm;K6rPjt${^j&&iEq54J|FWmJ-M<6_~}t1aH@ zJ#F^g@_VY~_qV&h+HT^(x^1W4qbsjiwTsm&CRMew$4+|ueQT-hVrC$%RcFXPL-22Q?z#>xJ&aJO)iNu^O({qaMN-ooy^;%nP z`61DBEbBgg-Ms8VSoY4tBB?cJCwy%?pW&Yr<+oT=Xwqc`f$}{SX;ThKriWj@k*Xbj zYFq5?v)krcryjjEHAqnE_Qm_@D-Pf8%nMGraPJAj`5i42d(O|2sCt&S{gOr0#K*O( z)aSi>^7q=8+1}UBY0REAk?+9k_5O0Q#&^#vYaHz`kL|M1tP+T@+s)9xVqPwk3lnuO0J zpWd?NN}KA^Wz1|hE52}WJ-Plw_l4Aat3sySD`MQDE=wC8hFGvJ=AZK6v}V+^j`itz z>)xJcJ+*7WdCC0NiyFoM-k0#4VQ})A9JJ`fbWV{Mr?Ye$L%K^^U-qnBJ6GE~KQ7UX zVcVX{-(r!wvbLU?AAkDM^=-UgW`=Dsvy@a1ubdFGW#dn~e*Kc;lcYCI&(wSOeBZ8= zvprjuO1@?I_|@F^{S8jVkBbERUYy&pZlY`aUYR!A-As3tmbh=`*m>a4$%W1CPp8WN zb%^`>k^2(MqWg7HR-dc2!j%sF=m0VXvZwlFVzi|1Rd%pu6B(8afy0Ts9*ZDGi_flroJo(_| zLg&}NGCi;6-0Q{Eac^6Ns-j7wi*w%_$um@ZICx9wpcHhwd!c zw&~V6&*?KwM9y3PYP)Dyb$QRXKgFM(ym7MLe8?aO=}cC+sL-c5zK&1PD!zQX62vbuQ1 z`KF#zC4znvwK^sp;bnZSu3W~n;Pl6@tFJdcjNcA&RsFLavhOnm4l}w*_xt%?bZxxU z8?xlmHleq{9RCe3Ph(u7k-lMG1q+up`~8a0dv)3Na~5{SSeqSJYK+eDm>ATO(7sT- z*D7_!V6~qja{}2_=q8Qx|fmJ!y8jd^aQgTjGan z?GF>CY<_?G^JB@wE)Of~mgYSzP1nD^mf2^D@)6Amo?Bukhl|P17P%zW_3y0S`Xe%m zx(wmo>J|$9j{jah*mwQug@5J~)%JGF{^i@*@u=*^jR=cv3JWq#8@yHh8nPz%>mCfd z{i~PvMj-=RRxq=ib?X%ELy!4p`V|zEEn3^TuP+3Ckzx(0e;?!sm#KgttROJk;^KT>{ z@AJ^#`I-HfY-^2L^6BU2nWN8SCAu${(>%9o>*}Rqr(Wm87O9sPR2+zF`N+R$uBFGe zw4C*l_bil`7@uiYKGi2;*0{Ubs+4qF%a)tn?Q14kC4AQ2 zc-*pO%L;ByzJ>Q(vV`RP9z`0@;=gi>Gj+qiQ@ja3%-1jW&WAV#$Udm+dRJ`_pQLW@Iw<#T~SnlnRcU~8~{QSwxNgtICUB7y_P3JdX!`xHS_T8=Y z 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 pSSeP?oja>iK`h8E##UJw%spln|ZyR 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 HDWM4fqxSqO diff --git a/apps/tauri/src-tauri/icons/128x128@2x.png b/apps/tauri/src-tauri/icons/128x128@2x.png index 9fe4117cf005e742408f5b528dd6ede657cdf8f9..be55e24812965d45a69591ec1a3dbf030c9ed567 100644 GIT binary patch literal 22479 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ⅆ z&9z8LqNY;8W0LUaDGtXnOMj)@3Og%$w7dGK#L?sO?{1&DSNwOml4oP0RfCe{!}9$< zw`y)YsV~ELdawE04(@~c;Wan=`?LDL$z9#IcI^}~qpv^apMBw{|1aKP{X2VW=V`(h zMc>q%)M-)J5n815uF~kHWJK4huBGc%3Ku@sS)_8hf9GBX9ZtytS3}Ji;nfTunr1W0 zotybH;O)u6&M5~>K9)@{zPuibCer1xHShwZ>- zUF=?vdHIp6+wI?a&y!0oef%K1-$?i9X0<5{6FOcnO!>a;x?fk=pWlgwGhfdT;(5Zb zMSlm;eV`qg|KYHpZjj^r*1l3 zIz4aJ!~a!B|EufzJxxD;@;?9n`pcf(>RHeJSmyoQ-RbtEo%xZopOl!4M1$kGn>u{I zt(j_t8A{*8F0^G}^jXwxzF^$~l}YD|Umlw1cJRN>-XHaTR`JrR41!<0#jR`puVu~L zQy@5fS+qge&5ZM(?gef2eZ}C_#Bk*8T8`I@33a(PGBrCN%@o#xF*~+Ys|1Tv~Ob%Wt zd+qnC%SnO0TjL%6d{=xXH&13M--FC)OL%syn!)@-S32C6?cx1Beb=|0-EN0CIXMY|8LlKmm^%Z$F#KPzhz|G+#m5Z+g905 z5j%2?zp8}cN@(}uccS~#ejEF%PiIIGf52@ZwZi7Of}zbdwPJqT%kgGsKI{*6e3+uT z_t!D~F4YN3V-&-@rhnxsbXsSWsmQp5>HqwiNxwgD74PmkdwA{9vg&t?t7}huR;+%W zCZwV;Ii_JB|Gex^GHM03iFb2?g~A!tKGatUG00A~O+FV>_HuswS*f>8E1xdgzeA|o z_|@)T{txQKqOL7|wBoTskiGta9~RwNPy1&vH0i(gtay9taq{AY5@%f2ef${m^8by# zD_6>UV!y1@j!=%f|MO7%=6lNR5&zca`X|2OIqPsyxIrhd zhqZ#C#M$=K?1Hc6U;mdptoJ+a^;9!5?pNcn)&DGP#M)0hJ0G7}^-^+m`Jem@xlhYJ zFr9Fnm{RWlHKi;O8h>@BX#Rm|k8+hJq&GJL&w-}K+V z{cA$jJXrPp+Wp4=l?x*KT5o+aHWYkOnA@Mg_Q{7~Q>%ejSfb-O$Jq4Li~oZ~{z$E| zU+a|b^5%c}{2vn1jfFjZ*4`8Uy`THy<^IB*3Q?OZ_b@DttNYBbQ1QUG4l(De-5d3r zH^n~6mHkjZYnA=lZmYLfpNGudx&BM(?X&Ue{`P+qPRD%-Phx_>HsQ^?Q%%pd9%87&qT z&iJfVx^?b8gU!KSOcU4}XPA^lWR*`?!Orl*UiJ4!#lMBO{@%;D6d$Fs|HLo*&(n|h z9(+7;pZ!KYg-D0nA@`2^3;uh4?dHc`mA^~9K6N+#ueE;t`1oSeYl5Lxx?TO&pQH_} z!oHbX=Kk2OO}!NV zH#Yvq=kFT@6`oA-sGIn;et)$!5C4K4ard@rfBDI<)S1Cn{_m0SX&e5{7y6yQ*t34Z zpE8@@Jf|=7{WbBZQ+@cKrSlW>?((Va%qNaUFdV#n%jnO1&-!)Tzg1hGTsKy>ofLoQ zhrOn9KoaMIt=UmW((_Y(*iZg9Wzv1~b^kR)Emjq1pYwS8Z~ulL_S;Jeug*(*!D1kB znCr~(Q{GI=SpVO?bU!sb{FzH~VmIzpJNx^;*Ma|zyBUjDxhfXcv34(D z>N#dnwPH=U*9ZGm|5L17J~1Wzzg*||uKCUJ0wIil@< z^V0pF^(&)aEw%TkyT9+_e*?30u`=^lIS>D|-TW^PWdWo`$SXSnfFrA?*IQ!>VEuE-?}Jmilke%-SH;zUiGsv z8x#U}F1pftAoJk=ZC}i@4|3{!opj$g`o@jbVFtllIY{jQt|D*tY#R*xchQ`1}9mpG}$*W}iCqM%p4;IDV=R1M`tP zn>Iw(pQ>HT@IU#f_>%p_;qixp^nYHQGJjvr%Bg$WOUj(QKK@_qKWpw?&(vw(Hss!B zj?=e$`-Q8Vp-#H)Q~{fV)Q9~M-|sS9nm^$WpL|ks`pl~RZI^p5_59!d*5k_m^_4z5 zUtLmMaBg+1(&Uwn@3rHZE)+f8%C}tPzw(dEdVgI5KK#!Wf8@Ds zSP|2VOO~dWq!t|!a`XCF-`DrkZ}XRQ@4920pJy`OJnvT{`L91r!$j`1#uN({jzgk0 zj}qta5xKYE+(-K*_H&=iHSwOU3@UZ`6VR-Qr6n{`+_J|939CT*vIRnECHX6^2J& ze`UF@*754dP<$=%-}%?&{;$i+p2bi5)3t8Os((gvDZJj{^5uJn%*NGW}oE_CqCo_i-Mb(AmkZPL}x$?NO>-&=L` zztb<}Cbixt_t)qB7nGKgDDbZ9ZTp|R?f*~P-;)mhFyyE@Z+Xu<>Sy2XHr}s6{yRfI zRxeuIrGE92kof=WYyY&r`ai2%&u{6M?LSO}Kl|4`3B2^r_SykiX@iLB*~jWXZBD6M zdDnBol8i4t>v{jgw=pWLpWLwXyvf@$Ke^}V9r!JDlfy)?W!1N4;e)Q9oZC+yYdOl{ z6S}GL2s8gHNl><)HN~qwz{KwRT;46FuQd0EUbQ*3?UupyeRK6U-b7&a0N$lv#D2se&)B5C6hQKbL;D+`ec1?=;1!>coosWlpT>r1K>eHQL zYJGZ*mzkv>|J?Co{`J*g!ntj{EGIjtF7@^3n_u~S{)WXrH{Lq%KYd=@rP`C3EBo$P zOD?G>yt=VUfsxnQGM#zS&Kxa;uiizV!VkPHF4!Qt7_a()8c>eazus$J}S``*!!`(f@WW^9*fP-P`I} z6YcF%ryIm{V9v(pK>}A#F5A|#u!&btr~7Ny|Bdgg%U={|Ewv9*oo(1uzogXYbo{q% zw=8@!nEp?{;Phf%>=v`!RaN2+CsGyab~7kBGt7Sbb=8ZQR_{Hx{&Gxm-TUhQ9Jc9~ zwEk|?lIXRo{+XIn^6ktm&VNE*|2sKcj`Ii?&lUGw*{vrde(zNuYp(@!rDVr_y@mrU z3jQp9FW-dlYu>o&of>d}TVgUF%hq`{FD5>)I{JTSZ1u{o`z^k5+iMH{F|YshxaZ=_ zgUR_jH!M3Rs3ZEno5ewEVwOmRC&MjHhrkF!jwd^}Hy;gPG!T4YqC7XFoZ(ZL{BGt2 z)2?T5D$3sSmy30fIK%YEzE*0r^~-*tr?b}lnqE@-eA)TUz5k0=bJR8S39j}0U(fkt zzX7Ml=cEvm(6{vm*>vjnyGm(&D|^#1mm%YJ`TXEKod*#tdA~)hSh=p>otGXCkh4dWe9qo^^!IS z7xm@$;B}7A;V1~?E`Qjbn!ev_XP<=Cvg?rzZCxxPoXYZi{~vR#^qd@F>sjC9_q+1F zy8T>N!|vrDuh)D~Z~1>b{>HMrmoMMXdi2MBBhQiJUiFKbmva{}9xGzvn(3JO-nD^` zPwN)P*YyHF+U^wQ1{%!vC*>BD!cMgHllFx+G@F?utfK}2YQ zn^$xQt3nRbjW>V1cds=*CAwGOLR?&f;a1-p=LJ~)*srboQeSvYzScv0-{Vg@t0HB0 z|JG{x|M`4=aP%`nd#C@;ycq0+9%y{b@AkJ>{-U#M&p2?%BgJl3CH$^LnXN2Ffo~+E^ zxW{ehEo-aTs|%*xt$l2o_JMOx+?}{h|KhiBdgQ&F$RKv^vju-cwR*$l^Bpb>ZPOT^ z?q!hRmaEHbzo%a=aKf+4nY;0!WiKhmm7J0K<_J z1*>;43;dfSq5b#JFNO~Z`2|9a`Z<+e$)Ci8b)VbvC!}koGacw&7+aKi@&D21?%jrt z4@GjT;`eO$k-O+2|GziIKJle>k7W6dCkF@J{rEz-DQ5LnzXb^&D*slVsW|%S7x%w^ zj5$vpdan6@Ei>rK)*FXcJv*g&U|(|2_cJBsr$vgn#q>L;GHl`CT#(`XK|pKo8kQR_ z3)ZkCEMS;XAEU@xHL;Grc_ke0-6PMLo1~R&-nHS|wZsqIuRC=+&;IA;PK5e1D&s2mRE;j3Kzs`61ZT05+AqkVKyDns{R0ZCti?@4|I+cMDzo&ztqX_n}}a(}~K+hEUE0 z4h-}3ipyu8zQ%aq;kFl3f<==L`Yx+ksPJuy7egG6CC5{ifc{_h-Br6j_I%2?+rUtH z%kjrP|GH&ncWb}O{4x9I@9H8CjEC|TCh%V$jOjn zM@>*V=vebgcKWsc-Rqlv$U8eUy_n2&YYuP0XLtVjiOxRt-&0HF|9C#GzsPu^ z`tO>)sMi0i>jdHh7Y^8`@Rf#T=n9&R$2T}W)Bwy`$-S~2d(;FZU6D*D(M=#s*|jx&);#s z{BmXXw7DU6fBZK-y!x+ORl(Qy)I!CdIu2Lm`X>oDbcNb{-gAA^vWteXrpH#OFuhC* zkZn0}`<8mgfr%4&{vY3IS^ie6y+7thU-{Lx-S0PTU#9(|@xQy+XZNXj_Wne+`tv=zO1_7R{NKOfZtwq`VX*1mg9huw2NFy6O8)Dg%COBY{_3m#1N+}TTR*$L z^6$=hBM6Y>>HdoZa`2elHvM zpZrgpCJ z+?@d{U*)s^H^?m)ntK0b(qhvWlK=PvndjX}dQ_k8;QUWouIzNZ2Ln6bs;Bl%b$2(X zo$gLIKf23&@xO*H_J%(ux2liWiZ`gQS7O@x#6iZ~&0M&@pr|1Bjtj>GmXG^a{If0# zUGwYqyM0a{PA>^*`+r!q;rL4C3DaLxoTz^x@tK`p`=fo%=XCG4^)i3tr!ybedhq9T zCvBqz92s6*E<&3EiWYo*wqzam0R{J_AM#i2{oiX|>kmJ5H(lVOdE2&lu75oL+j;)A z|5wnmom}o3Bp7n4e)o6Lqb-}0FPt>o5j5+&!mpg*~)180^ zRZC?u4l{h(vbp5t|IUZ?A^-1un=5KreW2{S;*U~~+EvddKm1?7+3;b%#Q&*J?Y+3P z{`BWMI!R66e_w0UY1x1EUB{;{I#sW#%J9eN&!r@Z0?X6#*3a4)uduGLYG{(t@E2Z` zz2KaJu7N`4pY!E!6Rq}|hsV@2uWs3W-Xe8n`iJx%_IrNw|F~beXxsEZ?cd~IA6iys zIQ38Yt<~ozzTGdKe1HDN`!X-5i}h$2@ysyucF1{NKLfcBRzQs~Nxhb^cdw`#CUVVnMh7cni!t8HGx*1%nG zkYNp{vc>|fzt|YW%$%`1Fz848;xcRh(3LS)<=N)@UuK){^x^P> z$KPuLmKyz$-~V@cb$sxQ`eT{vncu%D@#p5-b-R97-zu41ss0QzET<(h$ zes=wRzvPq9^>6aUzt;O^s=c0R?Qh4Bk~~AWLCBwBVnV~+Yu+gfBE4`ofAmBD7tOJ%Nx1GeeYgIV(k1$b|0mx5f6g!bcmLb{pO^w_`^$f?pP2Y!PxpPL z@<-C%yViUCO5~StIBk2!fZ?=#d-vP@GIN=;l>G9wr$;<#Z9)8>(`}h82gKy`^|L@j6d$a$_x$ob&Ds9RialZOC-z;V4x_`+{f6EW;-*KxxiL*gd#-q{TfZ&B0 zY0AzM5*2PZ7FejdlrS_fvh$hQ{M*j|%cJP3d54`q-Mn}Ec>YiC`F}j;{r=N`%~yQ; z=lt8;6AIy* z>eu$JcfV%&GBhw=SRLKgw>!#(k-39W_d)$?+e-`oKCb`nH7VhH$z&dzsx|LE*lTb6 z>;Gv%zsI|MZO8xrb<_MIe>MKizxOXnLhCO^Y6vxK__s~_R{gJ;mEL}nuFgOHxa$Au zNepXlHoP~?G)qWHXxQym=lCO$xxh~ULw#V_;riG1&!jYu?PQFSEoEf=6VJpr#6r=YU^CSPNo@0G7-{P0|zq-}Q6|bw;f6?8s z^#bFLc_IedC9jt?GTwE4^N{z!oYNJ@75)ZKXxya2vByQ$VQ&c|(|`YYITE>RLv3Fu z_wCj<`8R+1IhF(4a&$TWJO7eidNKaG0zX@Q$DiP=|IsIZb@N5E$%M(oDD>7&-n{Rd z5Q87zq>~O0rWr;wKmA*u@mletr}}XYBY~NpPb5B5;y?KzC;Zy31OJWFKV+@@)%W&Y zcF7i1T^{F3VR(tplx^~d$Q&WCo}PrC5$^fZQ$wVbPF zWIgIX)?#`5!1;=MwKWl|7jYk$?Uf(0R-0+*qyIsx_g}tizU$M}lk+!Cd03yHvgIe^ z=3l2T$=^Nw;qPw0zp8iiPwda^N^+cJ(bX`S;n>9*&y4@6-V7POcTyhg&L}l~IQwvr z!((429toL}a>iiWT?~&n9`LMrs<$BIPy8uI`K7yl8~u@&|G)TGf6l)9Yn~K+RhQlW zvM2cN)&DQk&#Eru`o!OCFYbA6zskw|n^YLqt5@ErNY**)PV z>y}-+8LTs}Y_i?K0yfsKJbq`>e#H;=JEb2#sNeXR|KGICcdz<;_eY&C3IE#uZGFi< z!IZpZ=g;r_cr)sE=x6J2DK93l{gMB^ zfdA&*@M)*=AOC-rro8n>{f8ZnVs|4>RzJD-JM&e3*2hcyyMO7&z4-OdX4$_FdyQfo zzAmqpa}AFAy>*|=`bh1|)jRt(a>T!;k(8Kl^y)QN7o_!VmVV_TRgm9(8@`tNzOWcNVd(n_GYAd;j@Jx!+5bZeF>f zBi^{!)2lw!pCKbOWYU7ZuYsFvCGw?qF&w?IzFgd3t=jH}pbzzPn(eyo)TYk~`zJo* zVZG`%`F)S4KfBPs=$HBG4fd@24XvKV3HDhiynOG!{^tapzqvj^zgD}jKX}DtaGb|C z`1Nb!nA1)dSigMNHe;_YVf2vtvaaA$&T_{8?zS%$>%7}{;YWR5+ke$(@ge``&GfnU z*EIC2`)~gH_KuO)`y4|4KT8W0j0oR$erpW>o2#r(++V09-hA2KASazZD@gFe3#Jo3 zDk6&rBU>KZ&|8q(|(Ts-+j_0|IIJ>%lVl9UHr~p&fmjB>RI;B_%(T{ zy+gt*jy+$P!%trQzi&y+|Ecd7VrFtP^KM{&{v?+11ycfF5XRk+Lwo1v%JkhH*xaV?S&*3e1f^pT6Wmlp$a1_sZEXMqQ@vnBv z7tCz)zt8{fwXIucpXY8+l9v7dcuBnB$Ln|3mi^USW#3lk@^$)i7M(ZiH~m%1{j;(J z9Kb3qms@7{$r|4YuFstp+i=lQ<@Cblqj5}sc+LqZyxsGvfg<2zr|PVYFM5BM~RnHwzQb>u9*0O53CXS|1Z%~*W!ErT-taq?rMD0kDq&s zlKy*@F`UwKc*AQ`bD|)$M1$!|+m0H>D`}DvB29}gaLQ*j3fw7I5c|h(^@3UF|MYcH zr`eYKu8sPT{;S^O5r4P!$#?hm{4u${uKwY#!x#7y)-nAKU;Qgwhq0oR@$6aMJ5TxE zyiAn&fBp3|+tQ4+8T0wxtk-m!kUTxn<&S&`C|2JUfr}8{|J~Q(UH@FPT^U$?zvR}* zb@L^w-*_(iU%EYT#i^_NC&@Nk5@$HfylGi>(1a-McZDW1{H_KFG;PvK5N^5}pDf`oNdscdPGw*M9c5@P_(3|JK**XI=lxkdSS-3)I5PQHNM#bcfJL=aymBt|NPVA$Nl#U z`n$ksL+U^GP5#MijXt_RDd`hhvTQ=?akRn~*O39CWgH|$au@2A?o+{k#%Mn(T?!fbB{$fXg%B$ukbr1e}fx|)Wf4{&x z@gwqF(>^n4`hHJ3oqgv>{Jetwe38|^c)l}V+G{=aj6-;U;F_?n>noTJEK&HovC}iU zx!{SQeaVRl+q*f=+oyV7za&s~xbziMOy^-WmX%o_5AQYY{J-&y@U_6_j`G_MK7V+2 z|H>7hcF@BQ_EGiz$K@wpI(yo`RQK1B1Lq}t>>IcZHg9|sdVfc`{grUOng&lF|~sDw5o2DZJC5&6x$+b6$aPj1JSFdf-z^D5T~ z{n{@k_Wv|{?TvT)?(QxRJ$_gGOAY5L6RUsnyWW zeASDLgn)B)Nyrf6(S8$0fw_@DT>FoMG`4ZDb*X47v ztXO86=yK%v=j$9-V*Pn|5m(NG=82(<0!=UEIJl;`O0oQV&)NRpH0rx**pkbv+y4KU zvTYV$-CNi0?ktBt`UU^@|BvW-w3Ej^;qS{2v!)fF3lpyQx6NM1R{ZntZ5tm}8a%s(@^RkWBXV&@uOjb|(?CcWBH5x7QvdZ!DEY^v0RrmKhk zKaz22;w~1S8&UB6Y5eC?x7PltIQN_1MCYHp+V=T<4$}>7K=#E~PTTZVUiEBz35V^a z9)^E!PY7KF7HzLC@%$uPV88L-71IrO4*fiJ z&E9`QTlIGkfZ}(#OhgjmE{YvKhyF zPuDPXxKwaue2d#!z2VM}{RJ#mJa%6N{_uAFZ~T4nSNGq#*x0N)`w#6kIiirE6;*$L z^=FIxX>EpU@loH)ytj7jpXJ4{^cg#WSUj?IZ_Dq)#iz=V2* zmn`W0-+OcOrOy7w|ItA`|NFo0{_y{S?)FJ_^%t)Ep1R||&(Af&vZJ&I~gOfi}Kxb{(n0VyFcMqitE((%fHD_itjj`@$nfmi>8Ns z*S9m*CVjMDt$00dkvJ4{ZsEe$t!vEU$N-dON)i&?`*{1nR`SoI_$*xT|Z#m z52^dVnqGdJ%q<*Mzw5uj%ja``w0vS^U6ZzJZ&cR*#6HU{?@4fZ^isRzs1FL7WH3?YNvPe*{FuBi#})XK37@3 zf@SG}T)}NWmV2@!=l^;4{ptUrT2s^iv%DC>e(!h6`+t14sE)nbzYP*o+^csr@y{>~ zF5yqg=;bLR-};Yhw*3E+C?WfHV_oOPJ4XtP zxw|*+2@rXv^hV*xzHJ*mCA9s2E%!g$#NOz~-1^1m_g%j7R&}N1jlHdB>~7t;dCGDA z#^v)2bq}pFjQ_Mg;qKg)-|>s`W23v@cZO;IkbhgxH{;gQ#d6zk{l9i&zqh*e2F6r| zXG%8{J$5f3jc5x)UZc%Wu%;oM6$^F^|?V^9qu8%tya%{y#b~&-B-dp~Ca=rU{i=^=l-tB)T zbAO-yyP$uUH^UYy+nC?^+e6>3?fi4E#@uqNhpd37!z~pR8zx521&SZ)tE;s>+AlxP z_ai;{}TqgGY{vMHvV2ckAdS_d-i|9KTi%A zMMVq$zFVmy((1wy6mU;bUh;%8g$y)B~MwuYy4 zZB#T5{0;SIxZ>KH|9>NEgq@FKql$u@@TY_pl?xI->iu>#$)}s$`*;6~W$<^iddEVB z#nKKRf*ogkS@!v^S$wwq1BF0 z`Hua!ydAqg{BQn#XJy|1#KT8E@K39s_PCOxzhNp%+%&Ontw|1tAJiXMY{F_kt!hDO z`J=L$YaV~THS{a}Fnp*!r|ttsiMCyF(}YT`0E6FGq~EPKW6{X^|Nj5c^H<*5zK z;lXSDXd@?~2KR)VD|;0GOlo*5appt)-7SA5{uHs=C$~PBUvlvERAxJle-o?UoA)zJ zUh0%KvF?fX&VTRoR(juw-^x;Oe#OQ^mVb&H&h5JY^G=xmxBW41>o2zZdb;gkRpkAt z!pJAIVz2Ju|6hgvTuXnx>dy>bO_uuhsCS3c=EqF_`MK*5%O(DU`n^A{@xEIh#kAo2 zehq88lJl`^I7RQR{+pk@_QYqWfY&9+qm$4A|Dc&H9WIY<=zMu0?6WznCiTbuwm9Z(e;7WSo31RayZEhN_~Cb} z)Z6hQe|}WX6mPhb&iemr{eS+V5072u^Ony16FIf5{=&ca6=~hOe;H?g+wb!vzCg&J z)6sb(i4_x_~d>sFNt2f2#*?f_h z@O#6RV8K5YXNqI*mepVV^l$NB@#|AG-(8ItO#gp+Az#Ax1sgxBF1zE`6POgmws4}U ziKyoSzmNM3egs@S-e`nb8PX+(%W8B*kEjbgWNIZEUkSpf&RP*vdWyyd1j^8F)Pj-Gh zy|n5ogUt3IN8Lc*Uos#LI3;vw0K{vR|<5Kt=;iWe)In=J`1DX?%yP>aMHs@ ze@=jozNq8(CKU%eHb=fob1K^YpO*R4Z<{%(mLq~?UCd3*K=G#i#a)*F?W>ouKYV`i zoAQs7b8k5bujpcw7yR>8?R#ac@6`kU8{gJTp0%H-ud*cOT*Bu}&tvOslcc6h{JZ(Z z&Sse-zF!`dO4xsQ%EN#xUdX-}LSOYp&(IzZ$F7F0K0(S&|iyyPM54+tF?9-s^sL?%%GZ8zr8bvT>fCU$tpM@ln@4yWDSUJPzJ>x!rK=#G~I^t?S=%)t&me z+T->8gFz*kqEi1j^Zp0^^p5x&I!!vig2P;V`~208cUtNmITZ@5RG7iW9^*cfd2-Ps z{VnWrt13MXe1E&T^3VB=8>hQf{yb13d|7GZqHi~O zIsV=M;Zd9M`{iGW#kCEaj$Rl1)4y>_tnbtrf1mTURQ{K>58wX3nOSxHKd(2-P6xY6 z$}5-czyGJbPt!GB;FY&nXE7UZmgvtdnQAHpb5hPcJDV)iK8Zm{#!9D;**HWfWb69I z$81|q?{VXQzhG7UdW)mSH$Oezxtl%S%-r_ktGwqoEKc}J|Ce5JsprqL`i`qtnGN?Z z`qXXw=aR%9QBQ_*H~%vpN{_DlzG2s2|BSEUD;w84ezLx1|MB7WZBi_rT}?+8Jej(D zTjXNpeK+U*Rbl7bsmS<;=>-SJbSG7V7X_SiulZi}dEG8}^W(=^NB+xPQeoY%Av57e z%C!4dtIxk!em?V{&BO_@*Y{0l{kOd9yx}G7zF%=0F2q(CT=vh|&;CqY?0!}0&rn;& z3BU8F7JvJ%DE0Si)_+&_3x-R*8s~3ks&|la)GJVXCYbS}Ste!9;-}Z|bb7MCJMMIG zdd5l?1;$AYpVM5IHpVlki(GU`>@&&!YnpzY&2dL^`q_u|j$aO5b)P%gq9A$Mqb0G~ zwc-g9)}Kw5C7+%Bis|3`H%~0SI9sq(S54_>oqRs0DR=(gXZGeXAEw(fo_J$_?r-*@ z1t+y{)t|_%VqNyXYo2_R{jR`>{|%PrdV)SpH`OCOZ*S~=$^A@=S-h*&Pder3#m5`w zB*ixr*U79GWuNSHi^b8yd`AOIaa!oi2N0x>{i*$Ts_5Q{*_Ogjr~%09rwIA zXO-1n4QF|qbFuT=4?SFd;pf3`@zcLOSkD5gejFK!uGW~|x@ffK-zV-GzX{A1!FT@d z@N6)CdZcBxz;cd@y-det{Jw`)itwB&smxkxxlRCwuSHE60TTa$WxDZ}?ZsKSOqg z|5CoIpB{gla7Dh_OQqsEm%&NZA68OteqOP!@&31-SM*P+FT)qfHAS+&efun9&%JBC z8oxGmy@^y`@uK_cAslxU60P~F4LRN%xbo_GoBNrIiLQ?fGP(lof2u5ddn?zGX_n@T zX@3|Zj9V+2wmht_ne$X5@x>Gltz{x1lK;8e^?|$jw?DtL^Hrrl$lt^5KFR&!r{D9`ok`58J~{hM@-sgBH6ITZ-t7{u4o-c) zwu)&&`v27z|8Y0*ZwpZ0d|xsk(eSTpk8Pfaj@H#ecD(Q ziNELb{xn5|{n~y1&#BxmohP^tSWH>2vQY8B_h9peKKA0*MM;fII#@cVZSUFO@ZkSO z!?i&__OH0he)9R%cZ**u<>;9i37%{}^6IzMg{!uoZ65!qTkqFocU`T@{`iT+Rb2l} z&U~K!=jW8ij_;++%#6Gl9e&sU{51LOw|KiY$r(L2ZqztMm>3;w?`mGWAoJ4tTrc+M z;;Zc4w+{RMFVf!qb=mpZ7aX_7PK%UIDtw_aF*t6I!^5-7to=^3evvtvyh!^a7u$w= zC2dicHaHwMIQu!o^nN|7_Hx!6SKnQZSZn0*QBvW9AxE1E*WoKm#Qv}H-^Xn@J`&r`(f8Udt}8X9J7;-2xA>%2z^q>P{!LKfKNUxpRH$ z{puHi->!$p9o+Wsa$jhKFi0xdMt|K}s6R|DK<>Nk3H;aW(b*^I+Aa2{jx+Qd`A}e_#2;Ug=;mi&Nk| zW7*ea&JHcX=xuQ_HyStpdh&Re)X}@)SNRUy{P(!(HRt9%x9bn3|Kj|tl>h%Bo6YYQ z-QRsPS>nHcNoeX9>t$+xuKCh|jY-;udztWeR`CdVRm17GpUD3|pMFF3{{4h9$&CAd zS4G{(Ygn~pTlM^m-&0i@SA6Y;C7%)a5VfbRdxTRu)#i8;SeVfRyY3$v;B>~%g)h_0)iHovL9SnS(VUxvNg z{>xwe?;XB2bo+mo1(ILt18>)})HOc%oIU?B>%S^3gV$@7wmRA!JyGWy|Nln&4T}jZ zd2an)Dh0Y)GH=DMWa>A_n=8bL=M{LgZBRLEe&M2|N5rj8hxlzdW;JphUU%=Ks|H zf1ml+^xSn<|KE3h=Igk>UmtNV`pciq(B<&f24&zIBm|My7~17 zqbKqQ8kfcYJi&gmPKx2u-(CFOPg>49&bL?pFr!${Z}!sn_Ls8D%qn^lg&0dEk7=s2 zd$oH${O{4o?u>z~pq_6Kn`eEH9N z#Y&vV;l0IM6|If0=)l zeIDDv_WA7n55gT~8?QN^RiE#f{p5D)uZcGh7%l7@CDFn7W%a9{k_FR&0afq`v+G%a<;1y2D*1 zckV#@O!hZ*96J>K;+HXpvs~j3D$-Tlu z3NpWEHm~0A&FRaxZ+ol%ND<}_t!cfj9ri%mYEJ1Cmb?(hrr91^Z&ZJ;vfFxkch=Dt zY+RiWo;s&J<(8(sv$=!9wynP>SD#~H zY0AII*|;fg;oWv~rm(o0ds^R@PJXJsi2v@~_NCz^r6o4sOCvMFEf@p7vR8ilxaga_ zdH0!HN#EvQ(`Q_N%6xzKgU^@xwPk*Mnk4MSBpo{80lRtq+}vO9$|Lf;+836W7e6cA zws5To!?8)6r)FG|o5ZkmNk<>Uud0BlE!P>J&5D~`@t9@niq{u7|7SPm+MT=ET+H9O z=(0=<*Jn!?&Ob~izaJ_q_B(uDKOyw5jH<(%m)~E!>$~)PQ`uLQeTLkxU#T<{ytQvL z>X>o*{M-ocWsXd*w{qC+Z|v((o2SAYKd*Gdqyv#Yi88;AmC7f!b3FU;^K$ntMy|Bl zdv7lM7Wi<>@@AK-633*wZ?^5(e%*kL-J;JXdCLTr+r_!63li>C{)*gu+M&qtLUm}8 z<%f^Eoh2&OtY!&bzR+A|-*LTg!p`Y+542YOnIE+6kJ!EY6I)9}g&IT!ZXe$AKj(J$ zmY?NZr-c<+7P<4hX;J)GI2G*>(SGO{%eB z`fsQGLHpRBs7ue;B!w)V93N%Y-wBJ}^tvF_~CY9C^br!6R_5wbkFX z7sPA?#J|1&x%Ix$&i3wGWFIim+jYX^*mkQ$fCgi|Hrof5tCbIYjr%>tkqy=rNm~H@M*=-1K)2n?Qu+1 zKGx~+fbB?BiG6XmEXRs%4enR8q+8a0hy zwdC;s?1bO_i~=EM_D%XrI+tH#ik~QOy|R$`#e{u@ciV4jge_!bE@$zWQ*bd+QtjnW zt6U+o1Rk!v(gy{Y-Tzz=G)&jmG7!qI-d#SspO57O!+gcGPl7)tADVwv<4aA{>$4u) zc&eJYI$7PZ-$F&i@`G;P@|nA41xhu4GyEdsx=B6w{4X7!Y!k*4hwa1H)v#Lk zObxcRy%<(dIiq6Df%x$EpKo95JHo4_ZMdt^_x|3gf4^MIpUB&EZEO@WoWF6dJ`#1mSl!a}gPb@eVD=*lzNZI06dfy#Cqfq9F94~a79@LjTl=iYK z^>kp@(X0HKu;jq@o!zPF`@8o3H?Dtby}PEA#xkfD_ie zGCu-UoGk@gCS82fu-Gj6M0?7jgVNrNSufVxs$YA)rct_Kj>kFM#0QN`iIdwM&mZRc z!|FYKBY*wN{J(CSdA^)3vHKE&_; zm0B#HctK@B&QDu6<&V40wf6BhtzT;8O+ z|HYeO`X@d9J?8?0Kfzc2wHLpy%zK#m#O1+J{v&=YFAn5XG=#=92z#*HjlGwImmG3L6-=N(nx-uP64Wu^5@i}vq#KSb)^ zulsg$xhA89c=C<6_ImQd{@)&|&*9k6`QrEeAFF0^94ccmvuiI>Fk_GGWX`n{t4ol~ zoN;_Z%-jl|-wvYlzrMPeK7Sj_1DSu0zyCjR-Y+U@&;4i95B6)8-*r|A9ek@I`>v|) zbxYO-xlL8doB7!f`txI*{Jmpt9sPnfj48V(Y-Tpvc)Xv#%a&*LwU}f7zBJ2!Gx~7jx|;W;(@gef zIS&|Z&PnTYoUZda{F-yZN9O5Owfu8hEvD5nYqIYxxu7xMxM6b>^P& z6Q8dtUgRZ}@j3Bc8|GZ<4NV6<_cA`)#VmriYB*MEmDc|Hr8$!1H6yN`QZ{0fEg^v%fcX)EIjprHYsL`y;kvp#St8ZZMfA_Or zeuHDuxBpL8Ww&HzPdhJRuJ&a`V#IvjSD*t|Up;7w>|XQd`cF;vM7;v*C!$gFb)TF7 z9Ym||zv0^XkSR0EH?d5Jz4<_Jv)bot>2`lXXN@MG=vb}sAn>92~)t*xA)l3scL zd+7Hw=k{(s{^m^Ft*K$!oUtA!HnB+P_&N6IHu@S!Nar;73MZ!&ys_~tc%tIZcbrA$ zc|S|C`zOawH;zqvq-_@|lh|UZQliwjWwCAgw^=uD?p(fm-=Dhp(68S@YC~hM#@2?0 z|CIDzQ(7&UVRq@&LoUI!ZIZss{@Qi-7Ek#lu`ln^^1nB(HQm_8yCvV}-t}#* z5iu#D0b$wMtSS?{D(U-_Z5Iv!*twBH_WqpD$m|u{a~_P`CB#miWlZ`MOWfKfH3U zU3izuwmjWONBZsFdaJ%~Dfg?^59Hx<`|qUI{R9KF0x3oWf zL@-2sf~5+70qd#|EhR~r!}tH`A8u~ue-`REkKvQIiRV7&&h$Lc;e{~Dh$~aoz2VZ;Y?x18DQ7k?;CBRc_g-Tm{w#ro3Sjmt{TuWR&@bOPe zOY3`5t_yNq(1iB|m%{z3*;3~e{k_yAJVWDpVHPAh8E%}!U?Oby+sb7Y#XQ?9J&rz4t) z@9*kfS=X7uf8x}t4bSebVzBq;9lD`q&TR2dXCfD_+aI0bZS%PY3l`t*SG7((dSXL>bMv8ZtUF8puxK@xrrs|K z*7_dJBo^_R;}v(YU#NkBLdhhlzR0;caYavDPFJz$zcAi;Qp2CYR{Q?OBjsnU%$n}4 z%Dnc`FJwZM!j~<*;k`y5+P`Mz?^=_;e?@?x$L|YMSMKM3eMwbOKjzAf_;A+3Coat= zIXd4L@0>G3o#CQ!nyg0!@5%Dy#fOe%u3vO2U*BW??`Z+QzvmtMAH>z|A|F{l=S9}- z9RZI6Sh>EIcAPHq^ax@7bf~7bC@IhAlyJidgN5N?ujcJKW2N&x@>%tATMpZ4KfR(p z=565r|N7J4KX+1t`kz++pLTkQ;tuAmxvMw0yT7hqF>RWn`nmXN!awb{Y8URoH1#YKpT%9eHnV&@56CzJIh^)be7`tMH=9f%6!4onLeL`ty?e zSG8I_Csa1ZtKMJPsJqesw?gE0#Wk0WPwhUxv6|WD{eRW(TQ@wqu`^bqCVy+8#>MPL zt3X4^jh`N5KMdEkyqIou3Y4rm_{?5^*s`CyF>aFb;-kBsTF?2hDneZ>+@dt|&&~=@ zjst9wM^^6MdTizC>w?qftlIm(ruIjqnL?9NiAS)XOuuK{GquGwj3tw5+S@!IUHGWBkqtH)KSw{~O`sd`9gjpQ`Dc(!@`(xzFyF`Th3pK9?!qUb+66c)_Dp zw!v16C#U;as2hE><2)`vp_czKeQM|{kB|dT49Es&kMrU+R__|dxWh{$4{&MSb z)oDMrip~3Wy4>bv=8aCp`>l5kyIth`tNJgjUb^@9Pu6+2+WEM)RtK%vclyX8n{r2w zNo~v1zI4W4{`T5GYYkV>1mU@>9t0U#8XifRa=NpUDPzy|xQ>3M7wa#4lHFLVyV-9= zP5b4zYms`7)1xL_XYsF|cG^dQr^jH&!{_3^3U0-3$?f%vnsoKZ%Sgre8Q0z` zPJ4U(y_XETzk%7M9dl0DwfyWp`Sb{@28XuxQBXEzxM;N5uj|uX=NAi)#K$&IX}dh( z|CcAbH{NQDcqm@>RwV1aT%z)i*Hyd+p6}AKVC&crxT^Q^;U`CAAAb#JUE>z;@rtUt zm722j_sf^mlpR{Yf!lF0JKkx1ZQy*1K>of`7w-X@v{iOVg8P6)F7|*z+W&eU8SbnXHve0*PsJE#khV zoh~o*vy|VzKux{nRv*LdjlLrLzKAaU_HNp@wdTwJUzkvx5E|eslPBAM?4_Ee;QGyR zlLHgKtr6Iq-g4x8;2OS1r#cnYlq)94zjJ*Q@T}YL%8Y66ZPfNlKe0~V)n9yT^Q9Y) zzx-UiX!DDcQO+~}OkL02`e6O`Fa3Xi9Ta_$=lsX`nuy|ho%pC655Fz*>Kh9jR$gD2 zEyd}XaIev#_?)8t<5QhJkAB>#u1sru^YEwy-$HTstXCF4*EIy!?H2yQ_VVm3yFNw* z_13@3uD{&ZIL*eRM!tdl(`|SCa8@6tK=n=gb=1Qf)RtQmE&AHKe9DYFs#ksWZ~uAj z!{p=krqM%5{o9Kqk()8a;c(VE%Z=AMWt{y|$``9C@Be-E zMZua}&utzO=jIeDIK^0QbQfEEqQwt+>edCw}@I3*+jU7HgL7`LSTayaF3Dt)pkJbMFqg-&Wmya%L!FqSqwB z7n0FEO4V70ZR+>WhR)S8c|GBZcksT)*&R*NYCrpy|Gl>HnEiCK$Nxi~95Hy`8ZP=_ zbMjG^^2IZ5Xdc;TTV)j#+u3k(esE93%$O)2HTARv!>%(ek?Q;WV>Iks4)msc`s%z` zYQlRB`;RJ~O7|;8*%jNwe;jqH>fGr3q5jeN%dedi6x1dP@14o|fb+;Z&9^mcc58h& z-6>Zo>F)O?X!67}Z<2VLYmRSe`o>>XR)1%Nzy zV%36O{ED4(PVgOH853zxyVEsOreC|5 z`DcmX%4KSkPnX-s+HCgoIkRe-%(MHG-@j?`w%pY5|Metc|MM0{64wgfJijtPF(LH8 z`8x0VyPlz^JLfI&{B-GYsn9u{7cP@0o;i}lGr8vYQVEqWcV;h<_KLH5w&lRFi0QH0 zYr>x%zn(Ui2zVYq1S=>qenj7?Pz|zy84cG{+C0nwu<4hb|IczD^HaF>ssvhQ*SEEhZo_wJU=$< z;{AV|??C#zVigA;3$YTJO~xCpb-wu?I>AE4g@Gq~h1LauM75oBB65vhH5}F0^ja)= z#uMwe7nnDSf6UXFax7=!X5Jt6qCfkpzjwTkF1eL1`2V_3L3{;E00Z+i`wwyHCp3B8 z&fBRU;lBKl$F45@X_-pdA;&x0r=9AQ-6G*y=DL1w{J!L6@ib=W{7GJB0Zl*Tn+;zWU%y*k_|&?7 zzx`ys!dhPYy3@_di+}8oS~R)-Yo(&VpO_+{s`Z+WZGZ0(XyD%XjP=J;mlKDjl(sng zb>G-@W%swjbjaN5`o$B1BwczUxIm?Z%-GM2`b&h?QoGG);@X3ktQhO7X z&K3KGZy!(0wSBhZ=%?7e|H+T)Eo83t?>GNwyxP5UqthxizQw-;e2SFp!@ntQiSo<& zlq7QV+EEF^C%db}{4E}DnWlHTJnq5qsqdw}JbwOTKPTsd^Z!nXwXfgw=ZF2r&yE=% zO!oQBEnC&J@S&8}`DY6iU!Lf+IC7Iauz${sO(#9Jr5d^|xNaA-ulxD&@-;huZHbTU z)W09Pzs>Aax#d59_W$ZtX(t#fLmS;?+T0n)lXkGayY%T(?5>-PX|mf(G_Oo~Z==6Q{l4Lc*C`QS zGuN-(dHR>zk!kP$JlE?jxR_mF*pzk}Pc&$WUnhWpMZO=@q~=El6!c?im;MXNFw|FE zIpyPh(YkFZrUzP5CYkJAk`l>UTKKQv&i6SMj0!*anO-Z0cGYcuUiolSWc!VMj6eJ8 zYI4uUu6eaD`NHw3?|&Rr{&DqcIOlBnJTZTFwVf9QrT=uQ8g>0=WiM?z^DjHf=z!+A z$uaxBg+}>>Oc72`yRfb1U6DYTbDUkju<$SMs;YgjT{mQ%?6f+_qh)EdM>9Z$?aG(h zplJbYR*||=!W|($yx1{n(2FNb%5$5kNcQ3%dH-K<;Xnz`{|>Ol_$^4>${ZeaPnil^rXgc(Ez`iXO&Za z-*+*xkh8m%b3-yfn^Snpy#8kH%e}gKxkoqW^{T5c`MLYb(xVFE4?>=*F!nE*#c;=M zUP8exQHPk%eL7QRH}|RE&tyv0irTk&ntYwNS>MmO3l)3J=z`1#b-jy}`DkC0x@465=O@HOq{Xgp`sU$o+#k{EC=)HD+(U`KmW15U4_}-Po?n1bYb7F7|KP zN(M%ZJKEnbTfKjO$KkKjt_VB0GJRpsxhc6ta@NVnXY=M(<4$3C%}b62xxZaQ;+v-zJb>*w7%ba~!W+dH9O z^ZH9a)~AKff4Ok#-iH7Ad)BSimhqK2bSP(vux~BLpK^b{Jq2+$CUCS~7kzEdvcdFZ zjg?4}cjM7E)dQ#Wr(WF3e1C@h58h96_twv!dBMBL>e&x_=O6X{YWL2oSqdIeT+Q^e zclp=N>qECrytv@eQ?DvB9>-~#7pp%Wu~-!*f2T#rol8f}gwdy?j@i1ONAzavG4U72 z-(Gfie!BZu`kCiH?2rFnw7JvS-D}HlzBk(?Hc0#1Jr-!M{uWcVy=v;gUsWAk0(Wi1 z-MM_cnBw$#C+*@(2|fHf<_&iZ|Hi#{c_#by{oma9e|!Gs!lE>zlZD$`qN2C|%BydE zvHP*vLW3=75C8ptQjieGRIr+{`ro3*YG3~I@H4%5cjVyNCrPH6@?UjS>z=w6Ukg-} zV|bamK8xpY*8%PBS%rfC^Y6}j{6Fvb|Hv{6yN^A>e(mdv-f7-xY`uH1R`kg^kuoKh zxTU=Tm+ZE(IM^gkVYr*X_xAtyYgyNCzMlX1zsH~XC$}$u{yv@Kzx4X#*NyWU)}c6;P;2DHRr9$e#UeAdr0nb_W!Ze`TD*UZnH1kzN`JC{`$E$ zRx)@0Hbfrz9~#~N=F!&h)3XX$&iSrg+x}lhj_Kc$hdWr z+%8p4H1wJ_<>USnAM2;bed)3I5uYOYUwr+(tj`O5EgtwYJh+n+R^!PZzg)?`pM_;% zfdS{g8zGD{COL0@_BJ)*e|q~8n^zkii>cqcR2KDoY3S^-bNox@TEF?eevQ_~>PwSk z7DfJ@Wqm{F4#&UyU*s4QmumVQ+QT3d-}g{)*^eM^@Ak{NY_Hy@KR@WPLQZnJMM}_% z_vb&>A99^3wq%i_g(m;qpR1ld@v}*h-q&Kse)-g$H$JP=FL{4lE8hBVRb7w4imiXX zZSP#So~Pme!{6H*|C@(Cn3j2A#qEmp^RZVB=9MsC%1F<eA#^HS5i{gjb35TEg#jU@QKc9pJjL_@bUkR z7tcJbuPkDld(HLZ=J`L?FS@?&OL!K0cYg@5LWS<9W0B4*Xwe82XfzBbQ^< zs}o$AVldG(1!Vc$RAzx_>&|HJ>CxgINhnp@zxLY@bkOa5eyh)$IQr&7HH{ze!5 zkymF-Si7^=rRseDe;0qY|BsG#KiXgOI@(hd;|L_c9cV3$wLM zHDYlHPFo`$eVX|JFTdx^6CXd+UlVc=^!YLOz(1YV>W{z7#Te1GFUVJ9QM!`!7_F@NTpKHJap^8GzI+rRSv zdi}eX@BgEkxc}pBS1}t#nTKuvY9(9$bE{Y|i#qHOUl8UTple;QiN#<>j`6yfc<${C z{7d(wmgnjg|G0mM*|<@XOXXnI+p3Q*mmgVP|MGFwine)MCbyoJ70x^Ke`0$|i;%)` z>Bp^WTxuCg|FYd*A5rL5dwsX$i8r$Q9Xcjy{#pM}Sf=p(-y7$@tGxSv#J%24#KQ7> z-}@8iq?zZeZvD^wyUhBxj?*57lOK}b)-h;LwQGoKc9`WiQ5+i?{E8_Ec_7RQ7ku&Xjr>$NfK?@6MJ-$2Mi$@t(|VFkNrq zvDq8UCzXZW*GT31?|r6QpPA{)tS|1@=TH07@Y7iF=hf!_!bf7I!UIiivud~m+cHER z`G54L@vU#SvoGCO7x)wPsrvHkP2ZpCJ^tU9^>~}mTV{cewhRlyZ=U;Df91EO{q@P0 z?!T}5Wbgc`I^@Rv&uSBonmw@ivHw}+X}gXoXC1=s)G~aPPq&jSsP%pF!`|zc_1)r2 z@~ZpK*L@0?IjP_5>@exUeE*(J70FX?w|Lb_4zf=`McsK{W*93+=)-Q z`sd%x?pgTX{LK2?DOTEy9bzgCIuGmpe^vixw^yn1{iGeN`{+_nPuz?rQ)K@C{$Uz< z+EUtRCijgW4xd99-cMJV@ow=A%Nb$&|E2!X->md^???7~s#RW}k{93jF@x!&`sQ7S zWUUR79{!)TadX^p9p9yV+om%coLek?>f?ULU&$Z7cYRr|YM&n0BJ}%vT3NfZ^RNB( zdC&B_ww-8L#O!$h;*`hM_pe4zy1zC2vX0u(Q1;Ee|G)caT3XzgsINbjMdAAO#Zp2p z#>*H}Isbou_{F~B?&&J0U!PU%?>>CKZO1B|^Z(WV?SB^VhRdCgZ^`A7>t&(}JnNUZ z@(KMgT8b<3E%Z>LR)UtfBBF9_uW-G{{N$1b>_{OkolJ4hG*mL z?(Go0v1yrgr^p$uf76%GIcpv{{h!t(`EB=a={;26c~j%~|APtNbe(U8gtV(PJTqrb zoR*n&aLzHe1w9Y`D;X5%d(=mLV!obuzv}Z-`#lEpAOGKC^M6rYc|x+lf{2{+%V#tG z$-nsHGV`VR>OZIE)gOKKSMbKe36KA)RsT!YdFVTh;gw|QlX_t<&YgSieEzY&;+@m8 zrTeo^`oFzX_fxLurFxmglOOilb_|ze7$iR~_I^6=*#A49W|zLySNJKpqhIF#@`@i( zt>-2&hStY_e)d1L;m_@z)&9$t?r(S!Ui+2f-}~J!*)AGw+Vi-E;p~zB*4xVWe);}P zzNY_$=t+NxGK*(F_W%4NrB-=%yFKF)3rP#^ANRHE-~Ze=|Apkq{L8j)1pmbEd6nR; zH7APK$!q1yHsJ#&4mhls>2NLT!^8V&Ns+w||2sLZe5iQw?WOpz%e!4B?@%~mxGcl-X^zI^|#erD_^|NCVEa~94&cxX}c|BWXj z>wadx{CjC*;K7+pvW9*&Y1a<_FIBh9Ts6r##bN74!IOJeN(m^`u_`>ZVcM>;?fs2E zwzWUzb34jAr2bToPuMECC}O^i#`$?)KkPrVbpN?M|1Q6`eUkHK?V1LSZ0>@mxB9wD zYIawAoVon6zfJfX;icQ_{eQpzd@AeikNEmDbw5e|^BYPNpD;W*(Xry>-lYtT&kkzn zJ(}BV&LSPN#>qTk(Zz(*+OggLGpAg-bpQOnm}UO;PP702sII^A>HhEcc0cMqKGpw| zoBp6a#G>~>{nkyhR){+|H*|0w;`s0~NXuwJP`|Wi>%oOxN6jZrn>mHuf$hz$Pxp1Z zH*5XvG~31d|K;8F*Y`31?k!Jc{$JeJR$n?V+_hD3wOZ4Kzw@rnocZ!g4MX6XMJt~q zXg=P~d3_;Mgv89NXTRM)^zx>Ucl}$gfAK$#=ZhcjQ+jdlGxNEQjpq*jFO6R+F0h_e z`&%D_t?~hp;4;ftb%lFZAD2do{nfvBHcZGR;Eiy}zUr^_UiD^^lGo?{67|h9`qXs4 z?)Yu1wBCxvKlV>sfB)7t(~CU}Jj|6^rhE)VhxQ~HOzyqo@=8?OnBnhl#ucpImyIqs z9Xi&kckF-bOyftpc)aW1a{jA6D%F-=7V=?vct0qM4eY|nW4pU!=m!jM}sx`$_0D56o03jx%%jC&;Olo)n8wVU#({*Ui)Kh{);mY z{5k)-&wat#%&F1EQo{fG_~m>yt(hn7GA%ATzg@t&hv9A)C>hGye+;htvP|I5{69C` zzx+FJY4`n$l?Uew{nMXslgjr(Aag_0e_!?wzkYE{*+|94o*K`ZF?s*WNziV~z-~YUi{(JB-{w?F#K>cLFL_#zCPZ6CV&5% zc{p4aOK^R?MUnAFvH02O=DQWj`P0o0uA15 zUP~7S_{fK`w#;n2cHOx1zvkb&CC^t^rCna1(X@NL&>xMz)^hI>4+k2yzO&C|`t-Q+ zy@`1!!xqNxk}WnK?+a}hI)xpUZa&ffah_2I>VKae zo6mN)_Wu99cLo0(`Tw-&@elhm%n#(|T?%Imxz)hV+y3}gmS!KjLLrmJ*)uYoQLyKsW3yBdujB~_n!6Z_xxU4>C(-1r}nOqp@#0C_mvEPRBd(kPU~cd;WB4m z=qhn!rq!i63l{|KQ}L0qi>+@v5-^eJ@7tc7iVg$jQtf}|m+t??Yj@mF_Ps`Vy!OZX zRFQ}StUH9_{n1zL+h*EMFF18xb?DRo8HbYSo?FA8yR3IA3dj z{h}?$yo1X(WG^zlTdRBMzbHq7#GjP{<_iTD1n`)?x;l$Fpq%MJkKqitU#1(wbt6Nx z8UL{^&|br^KDk67=Ggz6bLG6-AD?^nFt+j!%bF9)k50YLf8*19eyurY z>*W2j^~L|64mnjnnd!mQ|8~plgBT;?rWq|`3izI;a93C$>6f7vV_e$j$tg95)l?U7 zf2^N$`q9ht=a+hFpR3^SQcqvtR*xJ@di82whRds{@_6pA^+F9?-@SQwXK^~jvpR5Zh+|8VVcr(y z5C^r+uVPOTn$l?ny)_oJ?qDim;ONTaSp>CgUlD7R=?Qu zPb=ZVau$aF-7^2L*Z#Ww29t8=fHf5ZN)f{i?@8}hFIzuo)4 z`-b=ZcbE4Y?OwnC#?*KFDt`R;+4bZ8eh!vUqdVK4aW&X7FgGvU&Fs#`78T4Gvga6Q z1w(JNkBdSjgP-j~rVBFvue0m+%@ug+-JNUuSNoma>7b|O_hz4cQ0{+w%Ln^vhC|01 zX7f1QVm2_zsPUch{Q2_b&!Z=bp<){?~c(=h*Q&)UhfE{nyuDt9J3fv>$^W|A$r= zn*$BE4?OxWmgXSTs1R24C;tD-`uy2#6Dl_U{!*oP@9^Ggm$KX9%YzU9H(|)UbSM8s zWSr5XdZ`AL+;7V^CT1{h6MFQ&O}OD5kI6@dWS3SEe_|6}?ch`;SLdXBRtEwsz9xS}3#-RWB zM`go84ts{x43m{F+|-{?`^VmN=C7CehYi0u>mK{pxBGqR)Cb$w-%wXMV`xyb^32A6 zXAk`EX#DhY=7NRCd7nA3GIWMNuAj`vVX#N;&;0@>j;D+Pms&nDIIU-m=G}7A>&qVH zg(>p?m-{e?E$i=mz5jFHw0ZyfcJm9@#I+oJezpA7gX`B1sj7Z^fA)>7kLZ88# zpR8g&?f-;|uM1y2=Z^5bT_*o8dbSXQ5&x-~jFS)ZGwV0mG`!<}!7tRPtem&tOy`B&hP;eh zFJ>n`pE!?yLq+CIi3@Fw@+wSU9|%nD%qZl%uyD@G=f|w-v`YWv+kV$I+*qFPZN^{y z&W>%r-A`Zd_~JkF*ZfhRW`3f+_2k@VpXUEI{lj7@+Prn^zp5wuuLw1qX0~a#_jDlx z&xeA&o_tSc$43~1^NQ=G@cf_eFZ%!W&-w`EulM@@)ttUl%jFWE@!>nqzx$K;{-ytX zum3zSw&hg4y7Q^}?*(h!|9P7-USVfuYqDXu%KWGDSp~zIK0o3A(fV>%PrJ{m{RMUs z?@E20AJvTin~#JZm0*s^p8nrIf7(86(JM`AKXu}nF1+18<-Z$`@`34M=C7vy5AtOY zm1qzbk!E{fa>d}ld=`(M2E+4QJR4rLF0j^9{iC0`=+Lu=^8a?mXUyE)e^CDCtSW~8 z$)($UnE!wNa{Zlsz2*5&_3zDukakEC~euwboFY?xV{#=)CnB4O}D~oBx0ftjTbus5J#;?{scJaosB@u>9vA_U|(DWBvbvXO?}6-~2!EseKZg{tI)dwiTN7 zVf-_1)gHYO#?}-k{fwK>sxxGT=8Ds{jG2$>-+$Tvo!NfouMOut%H!8wcl~2;v*yZ; zjK2TbGwQGH|6?kXxA@>E`42lPo{F-4KCfB)xqtOM)2M&T=P_)NotS-iTGA>;>4@G? z4X?Q-tE!nJOcgRu1TQcC6JPqP_@eu*#rqaRyvh8#=ubSis_f52pY&ECT{!_o>;wSsBEDPRt#K`a45h2Xxk>1%TqU@X|;V@^*u4`9g9HM^A zKWr!aX8yZH{Za4s-S}~TLG1G%_rDuH{PKL^ww2TG>ptyWZa-_!mY>JpiLfp1ytj zHDBG|Tj%DT{aAnJ^86$7@Bb+-jGO=O()NG5dEUk!KU`7py>G^Dhc$l^l%LICrpEBS z)pmtmT#V_gCY!tSf7G9d{I{~bp`dw#W@bUci#Ipt9sPfAQGa!i)c3C+^6RXo?bg4x zb;q2?|0SC3w|>3e|5tfSeeA!>n%OtR)_5&V+Pn9^t|!B<=FMx^Ef(uIuoca>T+sM* zhD6HOlHf<@86;0EF}yQZwkh*L{oWVM%N?T@@00v7f8YPd8}HPb%FBcm+<7?R@&8-P z?fK2^ryc+7_(^}k-{wD;7w_LD9O#cISVl*AtHr@Sr>CsbJ zrm2pK&3yL~AD>Z^Fj#l;z`DmwVb|ZdecT`SrE$&tV=LYtdABc0+;3&vf&aDJ@7%ax z8)N;6!|VUUvk~)L<0qIL?ss?){Ht(jNKU68!tYT)qrf6&P+k^jp#KI>+apH$mRn&n?tfZ%V&Vh6A2;hmYIOdW_WU?$FVq(CH+IUW;Mj=_Cf=Pztf3AJ*S*j6 zy?@W25@u@i#)RYN?UqQsSeNZrj<(J__`m8#dUN(ZoAUdc`|YQlxI6vvf2}|F85no` zdl5c&-~TL~^OI%1eSfqyTzdIG4WElbx3{%Us?W>-MT81-#Gl#5M_&F_n$`?*Qp zZDxrQ&0AO=sSEscEb|t1_+uYv|L?n4?VgWw->`mHqT|zSyTF_Dk(9Zt2>pn!0hy{uRHO|4dTwFWGU&CoDdebprQ`ZCVQ$ z|Ew3UO*k8V$yI*kuHQv}`c>*S=KaaH`73$H;>;nx`nSKIzm!+|YuflHJCkWe2&3_G z??z$S<$F!{Pw3QI5cuc3tGuWGe-m(jz@zW~=pFJPHEPp%Q+5YIY zwFfWHpTKx2etzoR`&V}4Tzww3lIh%hZPpzO=bWv}7rtK2(EH!r{nerWHh*`%cs#Xy zf9RIecg4B?=jTLN{_}tSMc?+XZ~IU4g!&_$ci&vzzm!v96W4=IzPbZZQC;z@K0YtB z7A&q}dG+Og_44{TuJXR11iD}E&-uc5?fM_b`(Eq6e3^gfpO4hGT+`oQ@++BEgtDFx z&~xbRvj}zAT09}P>5trxr`CxTE872G?UOBC`?JgV)$W;~#CN^_|Mh@h!I#7)2fv*2 zueey(@^AD!hF5EuuFQyL{b9}ev$5G>;#>ySm_PbLY)hXRZg{r(+M@ntyFs;#_`mIj zJBoWh|Lb_XT6fQzyT?D@Dt~<1>f4umZ>ANItP&lzca=Bf%9Ne7+;}p;#a+?Pg^%C# zX4mb8|8JKF$wb#>&;7Ty;QP}b`|bYh|Kwi($mjRR>VN0wUTwU8a(R8UkVA^-0pVKZ z7Vd5vk@4xWl|D|7kO~3GE@l+lAW`6bT z|FYXz`8V@f{k=Vn!D%(adiMsQ`SmL_CLid_ozbyN>Wy&1qXR1pUtjU5{$O7%W$<5L z6O=9Q{Cu{3+f`7Z^5n<-BlD;I&B!#LQOD&mWm;nRqhpW#UFZIL8aD4=t~bNPP=@9X zTc+twI)`G`JWyxhl%HWyFl$@0z#1NH&rJb~k1gt-21=UqCH}Af_i(<&k@^3>q%S&h z@?QOM?Iv~!x7wGf^498y{Qf&>`~Tmj#t_DsA@XZc8T+qtW+l!AGQvf+7G4MB*cDII z&z#G7s!4^V-*5ZBvlF&^bo^f|R=efa-RY0(#sBx`_qP7O`Fj2KKLMZD^QFk7$$Yz5 ze))8h?cbVb{~x~Y3p{b<<8e(#r$0duTVz>|KJtI9x%?laf=0i|y7}CGcGngk4iI|H zxajItX7-Lr{0B1c6tzFNRi*T&zVc*x!A19IP_BP&oSf|CzlJOQX>t7!yT0ttq0*V|Ngn$V7ji|^@foH z<89-Z56!FB$*tgcaBPA=j;P3mAM(O|lONPq{&9KmC4c&EeY1b}_vzmLQJ;IatNDL; z;t$Q@RN2!%UU6@j5>$F$JI_qG{>^vwcjh{5SJ%GZ_V?kIw7=!POb<+rEGq0b$1hm& zy}*{~um?xp?N=4df37mCn66dX;vwqM^?$Fc{MF_4(RXVLKi1#-zuvn(>tD-?*&X)V zTlC|qBRra2c7NpWe>gk0{r)H6`puiW0xZr3-jAKiP;$-r+vUg$_G~;m;vW59^SRBA z(ShYH?}u>yCjv9(ezesMWEFZ;pMUYV^j*>WZ_BM2o2U+nq5?d`v^L(k8@SCXX) zGe^#}opj7fx$%|l49o0Ro6rR}*%q?=xNrS;Z{mE}hwn~*tk?Oo|If_(WfA{Z-aRI? z@BOyf%*Fq1ygpwRKiA|>be*TfqAJ(Y->28A{j<_z+`;T}KU;-G^2{4C7Db5}NVw%$SL&-&{%JG<@X)qHtxefX~U^Qdc||LZ7L3ID(RdOy?I zc;SkF!GFGJ<}$zge=fTB$o*r%_e*{-?N{+wuE3k?RlDM?!1~GWTBkXBaQsqdue{gL z>g|^AAZdNgWOvmkmx9#-JyN^EAN+}l{LA|8Kke%-T@U;-KiNopmAkhYI+&KD&QkzU0rxg53pik*$aRXC0gIew`nKsM7>K z$HQ?9Y0*3L;zaWfm#w_BMyF;s>&~eW-p!foCH))zcOSTv^4I?N$@q)!_I)b9ckQOS z{p4xkmR~jg#s9o(FVJOhUjL`ycji^!?td%V@Nco(*?9dQcTyGp1*|;ual6f))YJAa zJ5=sxnzMwRI6gP|u33&OE04zPk9(T--@5nm6Qg)j?%^40wAQ50%jf>5Uh;57{;Aq| zTeoZLtgO@iWUBo z*PiVE;Q#FP{Ez;f|0};%C3n+Xt6jEd(xQ9f>d*e#{AIa!!EVpb^Ea+6GtE9$uO`HB z>W6&tNjZ(V7v8$BS;`~#+TpfA`X@oIAJT0RoC*cOlFDv>?9Em^n)dNqD0}NI+nc5v zFKYkTZ?N_Bv{3b}hknQXSwBCm%lvWOgz~@ZcV2$+HNO3!d!f;lyu<0o(&T?=X4Jo5 z@%xUaep*7-D}^3GbJiPSwNkp)%ubJ4q!%`H@_+clI3ZoikLk6vm+zYs@5=7P9sGY? zcAMG6y7~Wf(|x|*tDViSxbCadV*mfzad{=br+)N#>1XfN`tQksOZRiXE&OZi&)|8w zzAxOVGWGbJZL3xOFlL;(P;($Me!=01s*cBAMmCksYI*hc|NB+iuYbrV-}v*R{^j*L zS&4sZl&!Lr%CthsF&RlKmXSOBkN)TFu44Lsc=7v(^<_Uc?w>CcxFEV;ROLjv@2{C({vDrJ zbgjz&4VPTZ8-WzjRaf}8Uw(I6lv82LpY-LTJmO#VZkPOE5LID~O?BAx^vBBdqCfYu zf7BOte*Uj>s&*=${r?4gGBQ;M*lYf&-8t_z|I)?jTW;!1u&}w)U-rGM^jB#p6G!@g zas7Vg)z6=Aicct-e%Y!<>4nIZl=De7l^fDO{6F_rYx58J*hMd_CyJ>&O`Y;D>fPtl zWpXdsH~T+4P`CJM`QOtM{zRnyVsHK+X-@$qrv#%NMHiH%XlNxc^?kk|Y22-hBJN{+Z?T+<#}q=lJbCc{1U{;=>`6 z>)1B;ANw2sXOr-YWp471>UR7!c>O3>mjC;vn1Ae(7^X6sCH`>l4wg$<&sfE_X0iU$ zAM(qSw|)IT*(qw;rKtV;_ioqv@jGw-(H;i*pX?#*-Ht0aaD9LLr9OK3j=xrRj1T$IYHf z94-EHKlh-1?EmA-9;i<=Z>|));jp&({)3OpFZZX(zy0$0J3GgE_k^_#^Z(c0ZTM}i z#u##{KG<#Tl>cY7gHFAWQQ6Tkm!;!B|C{q4>!&r%cTRcm_x=9Q+b%qa|9#ti4xjyh zF@=Yd+UC5y?z&@tvXDc@&-X%Fi#VU|H{=w^E10eQvEFoJ@KhEq8IGIQzv|T{%~^8i zd+YvwzPcTMw(WVi_1HnVsCUed*9$Z29%^&;vSiMbf8#R0{&+D%=+pW~_x^`GWSG?O zfUC$(;NL#R>B0iy&x%0a`5*2+XNjETpY@!)|F)j54?KOrZMMGjm9#W3g}-ubm*4-5 z<^Fvu@}Dx}on{7Zy8^@N|H0laCEV|3UHHrP>dMN1qzT~phj_f^+WaY!_dG0oJdkfye$$ug`tbYT`*i+Sa`E$T-6nO=Ip|nN zAg`uP5d$F9Ba?`OUDZ|aR2|9&2x zJ*#dv@6Y8_*!1Un)&JkOzbhDVYTRn`?Q;|lKDDnd@$cd57wiq@%KoW;p>=bs&;RuQ z4ju<2!ZI5VJT-pW*Ym#q?&{v0{m(yj^VCiGn^jwTQ%h{WI`_f*+gL7SKHbk@%w6gE z;Ks%T?T`2No~tnA5#1yZ`uXGMRNk;Ey)Pzw2eUBG#|-W|;W2zUgATt|wE>&nV2m*?XTr@=rCV!G+fI6f6LmKZhm-l6^B9`j7e9E;x~eJuKToiIm$k@|O>5-O zMt#_>$|zFyc9*#7fsT)dkKL)esP;*}rt*j?U%$Y&sq6+hA+shk2#ZZ_P-B;WYgZKT z`v31;O#fehEx2(bSn>CtYcb_*^V{;S$2S+gVgK?&|L+F>w_N;nmlryBuNVI#YjS%3 zZS98Yz)d&RDpl9stDpF;z{g6+)H+Xo&!J4sG@%dGtQ_ece0h=uCmcU8-DTj^F|#P; z{CB-V{-FL&O({RUh$Tw^)46$DcRX zu+>+uIS{mud3n9T$BG7U?7y|I;^B&WpCu%2zdh(a?e&^VdHY56E}c%9@6wtq zTcADX)dTaHHLFh5#qj5yIalYE@P&sVY>>sp=tr^l!_yNl7Us zn-e>JKls_8DEK0EsSJ1MUxl6Ao|aNw6C7g8BW_%mdv`|t!J$3v|E-0XJo;WO+n8Q? zbmNm>&)XQ1!x9hG%C>S^lLLBpfbW{;)px&Ck>4 zAE(&A?|J>r|IOFwf7b7~d6P49SI2+D!-an@uJ^KKxN={5!_6m$dpFtlJgE2haw7Ci z$EW?Ai}xqlX6*R*>qvV^IA_f%uXoIgrn@=)-|k@dvBYrhy(g@vs>`h>H0+qahvE6r z(D`A1EZ4BD@H}i0Vo}a`=Ya2`yUnhaEL$&s*njQY{x6~I{THs9TS!EH>Xu$FTy~_m zd8s~EfS*(~^D4K>oqYSRrv<+1?m0beuG!(k|7D*3Kb!R2Pg3K5WL56%TbH;R8uJwe zRF^TGe0zKDp7TPwvkBz>?tI^Tf(%-}G1C56|zG z{1l_Bdw#*D2VW9Du`E`8yP9EMmDr!7eyVvp{K{JP91oV)-ux0ePZXbLX)OJuzafi>Am?E#B1FX5BW`AqvxjbR}QWE)x zFV)&}>90r5z4uRhIr_;9Ps=-WGjWdd^)J<*-V}T7c@uT>9iKz*SHVA4m7nTzZp;0t ziHtP-v2*A5r{*tg`30lvTmBro>{q0I&ph(n-Dz=u4y3!Wv**Xz)zw6Oc@UaY{qwx^ z?I#!G=S@kuxb*me#qxJdu35ffx~y+GKj3uz>O=STA3wt_AQZBiMa|>|m4Mf&X%c{V#=D|1$ZWRKb_=a_Q>x2R^ai6BmB9`TnKT@y;{rvi_u> zpK_<}-}RKG8<$VEWHA2y{^5VMX$NO>*s+C6tot&3)}K%I8C(8-YP6C(%N-KJ)Tglg z{J$67X-3^s**TneB^QWXn4EvVVsF51b>rUuk?*?q|DLq?^=73dE02q;@R?Wgb?sqx z2K8mN3GpRC&WA)}zDYe3U6I9iNM*kLQ-l6EzPgKAZ^fnFG~KbXliHBG=?i;xUbBmL z^)G%-yI8JErpGSLdGqH+#M=Yz22BY~rhN0y9$DA)vHH%$pr~Cgi#z2s#avC8tT@gs zQTIP^J<-cSW$}qDef><2g!@&+!K#N3#sAS2656%ter117<<9?K)xSJnbUm}ZcAw2x z&o3Vf78D6xRP@@TKmRaCxs!F6kg(zh1~y&W=ZtLg^W+|14V7^y%zC9a<-fgR=CqIO zmiY#G+xC{~-2F7I*OJ4c+gZt`DL+BM>cjH@t9f>@$D-7Y1oyM8`Dr6`MYm=Llf7#*e&&>z(Pl9O|thkzi&0iw&k1Ozi*s= z?dqM@rrm45J6FEg&c(Fh>-K;Q&!7CKmtVfkcQ@{|ozCv;P_Yt)dDh`f!e{pXu&$j} zx_|rWz4=9-3acMJQa4?>J>CC9`bOCqx`*dT`NT1pJv0cL#pN!UCd!>>V#qAou;EC) zT$Z3thU&lm*mtkFGTh!@6&7B>vti2Rb%t|0)N~HY)u{>ni@Ch_+1}Z6Bi)@Mn-4x$ zuRi+VvZ25N1Jlx&zMgl+y%|9>&ZoVf*LCJYsbI~r$h?b<{}W0dgvZx{jxU++Ro`{- z((aFPOEz|2ysP7EzqWTlkg~FA1*b=ddfFC7ul;e4LN6bV=H)h6e_`LdSs}l;xZ;2A zQq#EVUbkuIzrXu`S1-?AFUGPsdeT!%Z@ID$g*wr_F8Ujnd2eX9Kcn$P`L_etzXJVJ zHMzbFRuyJua+jOM{xlvA^JYoh*(hY<@L^`zwwWDEZ%Rtr{@YOP{ic1|_v=wF4hW`o zYirjtMSOU5fqmU6uTz`uJ`?DY(mt!{8g<;?%DhqT`v&%#m1nCWx}LFL2*2Q=bm7PR z)fe~uubwUZ!{l>?g?zxuTQQ;)@g`p{obq=1+O^kor$X%BgoNcOn>cpg|FbtwTYvKJ z7Z)zn?)Ce&Rh3ahUERJ_`hQ~K)rAl4&bM3TYxrQkmYrnO5#ilpyVY$~U>Z{rqmK>O+ve5iCUrg(< zs``ORP>$&`Y1W%2Go5iijUu$+BJ01IT&BmouN+$i`@mSC<^~uEJr?rMA z`$QHUcZkD+-bNZiLABKrf?Kj&S#83KUZ+OuC z56|ZgJ!ak4EON*DmzPTM`1r~m@&9k!(_S}|Cp&QMVyO%K)^ATfKNsJ|8hG%DKa1g# z!&^Sompg3nId>#zD{!IUL z_|b){2bX{UVVJPDX>*4%-@)VTwKr9NbWC1cP*?iEduM~u2j#O`%z?Zgp6}EDbmU$L zZ_k0x2BE^wvpSqLCuA`y`Zc*M=vewvgGY0v^wIyF%=0gFbIuo)5LTEn$zs#`yh~Nz zDs3lfPI~d#t1jpH+o^K@)_E{2d}{Are^B!Hy?Se<39G9=n;tyQAT75t_tC=CkW;P( z`{zqYO8pAi?BBF+<;w53z5bftyl>wiyh>n|-IYMzjI9sORPLP~pw7g0u;R$~pV~|> zUSwq%iT+vt)Mi%2zS=3qER$I63jaM^eJHwYHS_$vVn=?ZpR=6PQGcWBzDL{NnugNl zfuHK*<35#pFm>qsk2Rm>d+fTw-*z?0+*cns_C@j6POawWKa{na>HhyZ!_sG)Io=&E zI({zc#p|cps`3YCmKv^ZbWln#N_o)R=c?Y+{h4n!pT`1&%?^zD-fW>xf7bu~_2R;1 zE4z5@<;sQc9B;f{_bldyWv69VV6Qc!wti`C(%%)o<6M=Vsn)ZrHB_Dce}qN;>*Jl4 z(h+yEw%>W|)%v};;TOj*)>9L&HmJYeC~B2v8sN#Y-0+Anr%IU8gZB?Zl2w@R=5~~& zIjxNP5kLLsor;!Bn_W!F?8??(PV8&H+n@E~=;Yt0SQ`B&^-pCj{Ts!y;`7b5&E7B0 zd;jC}1%9=X?1n+w;N>cRt;Jdt}r1w^!fpFS=X$;i&45RZROY%QtnU zH^feu931xI_bRiW7aUwNP12I5xOC>9owxgqM#?5hxxRmDxpQ`%@U{Hl*YnC{!T+CU zK7Tx26a0WVX~m2QX_FVaue@c@A3W{+{Kb2=_k{fF{<-r0K~4wzAJe`TW@`PnJTP(f z{s&*nWNHjK_lfw}yxpO7hvBIc+m&y!7k%ssb%hz%Y%tq?Q^k{Id73OgqrJZxlhoox z4}|T5i`3uQ9E(WZ_y6}R&Oa(o>q6@t`o8W~W%Tj0YYcv&_I8T#l>buV%^F>^_}vl{?*j5D`#}I>y#2UU#tu_eek~X@pOgHa;YaC zyk)4Hz$0-F90i+?Z7+w~J_m<6)EAL;_HEC$Cj=%I|oy!5H>YD5(InD{K&!2D2 zTEKbL;)B*3I|Id!_Y6HZc=J!5@aRP4u><|HzwC|URjgZiwaafFgOu&dDZf-s)j!_k zR_i*~!?)ypsgLP{A8d8J%Wny=B}Gg;c;I}qx?-yHmSb9Lc6kZaOu1}P=5uaN>6U7L zONqX~XT~pVYtGm5vVXgtbH117PgL5nvw8cLe|oo9&xc{*)BOcsA8s(Z{Qe$u<+RjA z$EWhhJD3*uFFAU3$y(>@+Y{dfa!y-uDfGm}6rsj7HubF9TMFebx=)%qyJUl?r+4L- ztPj;fKG~Pt=1pGlrEh-0mp@UB`Z1HQ@c7lXKlxqZ_o*}yl!dKt9JzeX+gvR2+WLp_ z%N>Nove~@0?(Vzv@LlXix0TUXzKH8-eqFYEiQUYT2QHU5OZFACOl=H*c6ssvqy29F z`vNaLKA%!ueCI%VlJow3r$5^C{4bB!ds~_bGW+v^{&j5AroVSCzjNF~=f<|Pt0XPz zjyA|OIUQMYM}6LND%DKbVKt@Rnyh3ujkpIPoc-#pG^R z_4>&^HjB=xC~B?v%{sgLh3t)uhr3FCR?b%yW^A4*dhm%~x?`t3V-0V>tjjGIIwoIx zI_1~$(g((kD(^1j6fF*`+iJjgMC-rxjlI`1I~VYryr4JzzO1!iNH~iMcc#8v=?SOG zXKN<#TnfK0Xt%?}^MSBa!IB@I;!a06|GZ*U(9OAWYQ30h!--G#Uox-ndBC*0I{w_d zV{?}29I1C%TGD>U=z&DqqaN$e7EE8FHA+~#JQ}kyBOm{F3t!nO%u%BzGO5GIYwMk+ zdFvbhO7UI!eZKNRx&foa>Hj@5Dy*~wk6it{`l)klm_zN(m%mQj{I#&LpU>%FpTqgB zC-29f){T(;(NHCGlvn)zU$8!wQ~%F4{ukNJ^!b4QNqdDO`>*=C@i_P?tx`Q-+33-B zUzNv_YmeCB^{4;b+#Gf4@{f7Hc{5$4`WO}GOpL#AB6?cb!Vmkoy#98}yh^nI4bq)U zeZJDUzrxMeMs^CvKjx-tt#9v`|MxIdaophK(9Zvwl^gpknJe(<9^vC&IS(p69eBTx zWx?tC)4M#4FIGO-zU{WaB}J7j6J0tRM5Tlow;L7P9T0uT=PedB%lw9M&E3{B4`FEvhociukeA|L-j_noztW!?o-RhA#mdRfOQZ$WFPv9!O8ZmHvi@P7d$kS%v&gJ3SaiDKx&6zdM)Mo}D=%(JGuZm0{)wkO=)^UveSd%0 z%_z3-m|W%YnMLRQ<83VQVFEJz?Wwhr{HN>B|D0>X_#}M#M;32w?f1tWCdFSk#pvsr z^MkWke3N54v*(<>RZTs1et+Z7b?&ucd@}vTzjw}ap8SuQ-KBH--j#}$&NI6lPfH$} zbi4F3%Y^vIy>||-{r)ii{&M-Iq>B?j>b#D$5!gRx`p-(H6YJw932xlSeDJ@6-eb_I iexJ1WSH1Z4|JKYkygJf{y%-o67(8A5T-G@yGywqOPtvLY diff --git a/apps/tauri/src-tauri/icons/32x32.png b/apps/tauri/src-tauri/icons/32x32.png index 3c9a88098ae34b0b6c9f958fcfe3268b64644ebe..bc4fba44dfccd90642b4c9d738034aafe6b91d45 100644 GIT binary patch delta 2308 zcmaDZFhOX7O8s?D7srr_TWiBJb3(3*+I`pkoOZ9mtlCE6aj$EFx`3*{2BAY~JUiY9 zBq`)Q@(P?SvT~`f^ujG!PE*(vO z+BLOw4G|GjU)Hw7##hY|*H%A$z9hINZBMO3lj4y>4Q+eZEc$WAjQvS!|404!z26=! zS+vN%qWIgyB5}^U;s+e-m)v;%P3N!s*L$D-U%QsZR<&!UL}+fy%kKgu%wonFZuN{F zHg&$IB|o2d;H1^W-O}*(E0af&z@@ihvU3EcE16A}nDgz(mwlm6U-R9V8|fZqdGuB_ zgA5-FSGND$-wzJl>+iZVcV171g-U=XU&~{rD+wEdOja!Gl*rP1XuDWpZ_|YZH*+7i zS06c6Fz@Icw?7AEE?u6^;LEEcFejr=dtczp`gIq6iEFL5vC2KRI(yDF=_f2pW3H~V zEv>)1_i>=-qzf18{Dse^acVER=)*qmy@{F>^Q@VSAp(DKzt(UH#ErUAK$1>m$zmsF_gq`q)>K$Y~S9cuf65WXdkMBztQ; z=2SjlB5RHteg6Ww$(9xj@XGZ_QDm1$!A;-fu9y^XJ->&TAGI zIr=;_R=iwzwO2FE@T0G(D5tB#lzZ7S%3mgT$y=^n9CO2T$@_EpeV69+zdGmGu66hA zA$zv#N$S1dS8t!S=}Woe{ON9tZ(?-BHo7MV#>F?RimLA@?W^x)@@|*B9=%VQ*{goT zl{BN-!PBm;+y6GqHj9h1!=&`Tbe8;qThG&3z$D+oTeJkVUPgP`7JGIfL$;9@* zkV44P)=fRBKa|p%8Bf)pnzqd3-qV*2{NLVXEncLVYR|r;-B7Zyc9Mdte|(l;GtYVM zTDOA|7b~wD2y3`8+5h?}|H^jJ?06gQOK-j{IU2g;&6AbF4~lx#TKjww4DUFzx-Flw zG0Nfabg4@|0gizeIG*j8KUw17@sDhFfpt}z9wcOW9kdTS`AJnfsOtD4yZSW|ySS!l zc+G2T3i<2GEAuA9MA;;}5Y|2I5a6V(=axrA?= z^2h%34HJXeE*xLJIURW2>Y-5Jzh9xt!neWxYRKXAj2LFCIrZW%Ql(rM9*Whm*1zAp z>&^3m>s@;*zx>dR6HwFGbSSy!j?wA*9yz`TKDDxQYBOtvWuIyt_|uTdD*WJVcs=tU zS;H>(#T(vEwk=q;U3q5xp)UdlA1s<{dtkw;O@^L&I

Ws=IhCsf{~$<1*Vpm6clW z3O1eLd%piZ@0}J4y)}tSiDwcYu9@Wc*!J$+57(-rqx`>bQTI(=Quj~u+;r*Lh9PVh zQd;YKWbGf;EQ@n& zGZwtB(tfVvQBe2#o9~T34}V{{^OUbC1>P& z;umjjekN-Yy@t`rkn3N-s>ROD`=rHEpC97+@-OHvYensE`2`nm_o|*MVK~2h-T%6O zigh2Q69l#xsCB6#Sw>nWt$77|?Jm^ciIw!(C3_>R|M^$*d-p!ZO#A$LiH+p1g11$F zH&xiEsr22t@g>+GVTY&2q|;Z8{m#n^JM{98AM@S6_NGDUr}x3G znF0qcO32oKI-M+>YGU<3y-O%;oPUU`;jnGwYV=lzQ9z8@s9!^6njD z)~y#dV_94)UH|pg!?WDpags0N3^*3--dcI?>o09R-}_dAOzlP4+n2FVUsLxjXV=w> zYhT+3syvXs-SGOeYTv_%|F%~De?6R>{gUC`{pmsq9VaEWe>(O--|S!2?Psn_*WY=c zbcpxQiv2~UTUVW6-(L$A6b9(+RsPw+w*?L#{PX8WAm0H zr(ECQZk)n3llE&jxRxvymf%a|*7>k7<3s16lezY_xtFa)S#SQ9dy!S9;}IKu|5nM% zLqChp-TW-R%{F>p-RuyPyyp#3ya6SD0?wXWWm`Y zImz89pMN9b_m@SLwf6B29;cb_^RCX@s$)~~Vza%yS?RC#$ItA(?$bM~?7JebBz)eF z>*4mREd!=rS3mmpL~~Z^jt{dwb>%;wGA%ED_Vlg)7v>#z*W9Y7rt)Ed@b~RIug|fs t{g!&iddf=Uw0BjBHQ$!=7hnA^|0n#H{}aR1nG6gJ44$rjF6*2UngFFKa9scZ delta 2138 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 literal 5375 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE1*a^WJ@b_xGIT{mAu8?qA$m_}ESI)k{nBO;umlZv6JG@BUS*Bk6w+RJglWt4`bz z(|Wl4q({zL712*qUM;WrCuwN5E!ESeZpZfR+yDIMYB0^d#=_s*x9-B)we{!IW@v)@6P1s`s_S7n&^?wx9$Q6;ylQoV9cwP8=Wu|$&R^r~5H%nn=3q8g{0h;r*kJ^iFCxb&X9 zb&<+nYt{voPfxixc5vU#_@XDs6W2Cd^-Npkk%5glG0{W?SL4)5rF%;?-+T zQbFRaN}U%CC(V@cY&giEQRBxh$&($U%@DWkL8pg{L$%7g&ECr|@87`Hnttl<-*)?8 zhC{Nlr$e(}&rdF_S8G~$esh-gb;H@oYoFf!#9gPX`F2%FE_aQ*(p`b0X~FU@KZliP zYi5fxUlqS8(<#_+aKVmwj7~Qh`2IhMsOp*a#e{PPyXa|^ZdEqR#YH=1FBQu1KmEKu z-G7e6&kzQWFJDZiFS@9|GT}phs!Elmigf6@*IC{-0?w`4vbRv^@Uevbp_%Nump)p& z^q5g`coPeM_{y3k({$g?D^C0|$75;bWtG#S$xf?U%%_*MKkz(r>Zh?)IK%P=2SzTr zz5Y)&o$o05wUT#rnC!iMwYz_BWZ3cbTJ+lI_bQTGvod!wvy^sExRx|cKV*i>&XB-^ z4gu{=6JkQo>Yg^cZyeO^>T!Hgz+;EAwofynE5V5)@TG z@Llagd*7kfHb%B))?S5-79GRPjy+nU=x|isTTN{N{E=O*z;I~nHWO(VJLSCMu!G&oxjU4MY^_-t%*QM~IUa@&Px zyPtF(blm%G&$^oovqT&AB{y$*cu6m;{-CzUa!(m)1uN5}6TzF08D{!rv_1|!`{GIm z^ZFD{MVZi*Z`dUIb-(VZpWR{hwv%0Dx=!Y)?OXOFw<^z#+v&0{eVhHeeGjG|JadUJ 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 N44$rjF6*2UngC?knzjG{ diff --git a/apps/tauri/src-tauri/icons/Square107x107Logo.png b/apps/tauri/src-tauri/icons/Square107x107Logo.png index 1ec3cb37712fef0451a586a91b8283705e77f006..48dd0e160593262d8f100fc23b4c69120806961a 100644 GIT binary patch literal 11259 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 hUpzT8iVOeN-@fI|p!B=7Fi*Ar-gY)^g5>xmx;c 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 diff --git a/apps/tauri/src-tauri/icons/Square150x150Logo.png b/apps/tauri/src-tauri/icons/Square150x150Logo.png index e1c1b1b713160228f6038be713eed2a6735455dd..78b70fe8bb94fc2db0c57b281f03a3bdb907112e 100644 GIT binary patch literal 16495 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 literal 15536 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 UirMx33=9kmp00i_>zopr06o!Q;Q#;t diff --git a/apps/tauri/src-tauri/icons/Square284x284Logo.png b/apps/tauri/src-tauri/icons/Square284x284Logo.png index 2d33951110311ed1d1c37a4f6ca2bb1e30090efd..c896c52e1320f71ea774ee31cfc44d38a0315b65 100644 GIT binary patch literal 24183 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 literal 22197 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 Ti-;-%0|SGntDnm{r-UW|N`Z!p diff --git a/apps/tauri/src-tauri/icons/Square30x30Logo.png b/apps/tauri/src-tauri/icons/Square30x30Logo.png index 686bcb7c5b50c5db284907d666239e00d4722e97..f8f8e7a19ef838f703404095fe6a83039cc1b629 100644 GIT binary patch delta 2122 zcmZ3&e@$S5ay^Hvr;B4q#jT~`+&LoGMfbixd*0_0z^cC&3TkloApIiNY=leU>Ha3gq*85JfIzPAZtNz{{ zYg-sJs=v!}>{#aiK2Cq(?fxRZUnbpt{KCN&rk`%s-`lhE=a-XyR}cBsytNO zwy@fH;i;}u2aYW_i(R+2e$VQpUsLS2DNXsazrmmF=}yP~^0zO8kI&y(^|Q!RL1crv zFejs+=!6ue0~{Pl@=QXHgj-qb&p9L?HhRBH-CWMp+WTDT4jpql(+@KRG&y?s*1moF zxBBG+A`vpE^3_%ME}c-g4o%Mz!+#J-44Q@h|{WwAJq{oa=| zgO3Ksq??P~ynnrsQ}IW;?euSZ_T|5S)^I<6>SIG?0bYx#M>;%>vcrr8Jg>+mv}Ha? zF!`Ek=6&`^PN89?z^YZtoHSSp%2@)GIA;acU-^E6qawE~J?(ej^gb79v3l|O(-*!7 zNq^pUu(3bJP&M<2POY1AM%d*AVNpCsQqDBJnszS0oyTiVH6Lw8_=Ck1D3F|#;R-_yV zi!feV4yq@%^{y+{N=gvMDaQct+8b`S9Yy zOHVr7=u}SJ=@2L~$5)+MZI*P#DfL@(PQ46>jZUB7qh>Ix{;cKvegAHIg}+~G6EMez zDLkkrl5I5k0Y-N5{OVVXg#?|_l7cM1ij1cuSIkiV+mXq7!lKoN)QJvY){J!jP{2yhWXLbf|fx9@q9N=JTzbo}rH%R32ZNXBDIf-iZ z8i%i_UpAi@-+hq5d%6y@r3{;;P-BG2tj~Ael{9&M|NqH9UE@W8SjhA1^`R}CdsVX( zJoYYeVu{e()D>7aS8~ts^z$EMcNS%eCEZ%RvhvR4#$Sbr^{e)T)Mst#$7Q$PQNg@tU$5bT}Rt?twvwzhwpf=QF0?wVzyYu|S*nvwJ;KzG~I zr;`H@aONc>Iql7xwO@nV%E*Rg{lEIM{p$QvE;2lDo0M_&598l1C!NM=CVFo#Za(-g zB6l0Vk6W=*@}Y&9Qzvf|?h(Bv($y;#asAe^|0R#Fl~xpf*L&fweoFoJp^r^WQ4E)=b4l^;yveQ#Kx8zrOw;|Ggig z0rmNJt3LYNasK(Vn_JcCwcFm$f_v|3T)nX4O04PPM^0iD&4RpnZ(i(3Fp4%==Fk!M z<&O2_Wp_Q-Bwk#%^y0UeSB>&}e_EZGX`-FYTA^rvr-Et2-LS=cJQtgk6xtqNoVxmY zskySq87AY^^LIZu&~s}S!$PM<AURZ+P4KSUM*uU(R6jtyeSE z-?p|E9tzCtJ^H1to=fx8`l~vsLWLGZOP}vslO}x7_gub>r=+j=l3(u`JeM91TN`1z zXW7z+)s|h;7Vlh~yxKXLk$tjVuUqTlLaq5)8GO;bYgQU`=4iH@XJ?x)e@S`q(;JD+ zn@oP(+Fnz5+^OXfKdW8+KmOUGss~reNnDTeV$_@5xv=8U8Mpa!R!G$EXZ>d5>ncnbaE!wlwYl+!>bZ@-I_gWXU3tCCmf^KiaA=HFW!B~AR#27^5w;HNype8T(>A* z{~{;lb=$tLVHKQ{8MpJ(forc$3HSf{^j-cDN6(!L+dt$nFfcH9y85}Sb4q9e E0FU1bbpQYW delta 1943 zcmca6u!Mhtay@&tr;B4q#jT~`**P-dqW|8_ojG@IZPj0&J$Xq{!Y;v`9m|$_b!0SW zEM*7^ocf7b@ye>F{;G1KqE361SR6wGGJ>`;nF?xUb%cZ{eQXb3`RTx_Okst*M@RY| z?~p$Jt!i)Co7ywK;-Hy(!U-$d{^^()Kbc8zJ zpI&kAnAX+#yDndrPe?knN7(qyw(@UZmrm*H+w0Ty-s#ku37fQnKbGZHhI$yDRJr$| zXy^2gXN=7^=Fk7}zv1_<5?i_ZZ;mFnbG~8Zys1^o$;TRr>d z6Uy_MY;GAFditDkbUTr$%k=hHQsc{6%D&Gh+`U;jVaMd2J%8Ii?3L?sNZ!Ra&Bx)$ zBKco)b0_QyW9Oaj-6Og2+p@~XIU+1d!JH?m>$f|+sc9%FGT-rBaL20EccnKQ2~`R? zJGXVY%PlO}5NV|s;nSSqd3{mWiiv5*%(rblzpSci*Q;|UR0AIQrP~z6#cs9q2y~a0 zxVUb*)*=0=3bN1jLbO(SeOR0V!n8O zD_ikiA?iBoqN?{0eMyykCtSdncWP^&%Dr`>+Pz^&!B zdOpD`LiWqm7C1cO5|O;JxX0{S`S<4eZi|*K&1A3o)b0PkyT9(?W5<2>t-glOInlf3 zf{qKHVREp9z)EY6G~GuV7T0fBd4Ppm>D%7biR@8(Pt1%}S)sLZlTgglPqXF=uM`Pd zyY|Q91DbPw6japKi8F_K_e=Sl;V5|$Xt#7%NPYSYvC59XRV&%-R<3Jb7jrIl#=g9mS-bjnTkU?eU|Qy*4;RCi|L(r5?Yh@$f9}k8 z4QcxWR0165p8msqZf^16j=Nc3Cr$DQS=lM^A=Ur$;}%`EQ~kkP`t75HBNt9Mem>r^ zBXRkw1-h3b+~&=9HreGFRTiPUC}icOyWgG6>JQ0^>reA6eBRk+qZ3|gH zzWH~gtR%g9!u)wh_~ZYvwyp1qg$A#3Ev+hXy!zyPg zGJ#`8=K8Gy8uvO%)n6>B`cqt8@bnc&-JjLY67!cop76QTf%)vK>8CtIT{c@AxfOCo z&v+*I<@@ydYYe+PkL>rj@z`m?6K1z3uWCBygj5!N-}d&z`Ew7d+xZjrSOiyFEaF^g zR;C@|dn(`i+Fk=D)wwP9#@6d^eUmOd{z`h~8jXkNi(N|-tsgS(e|000N9N{?%%lIV z*Y|GvFs)iIW!4(A#W$D#+B#=R^-r#*ZBD9{SEOY2T;q_@C^=t0@A3mL!wI(W8jXU! zTmKxpVj&xL{NG2uQ}cE|>VJOMYQMuto4IoM*thkbM`zu2?_*hdMQP<4 zrc*!fIOQ%e?8%uqNAvczU!T9bUH)@x%JtLX<{v|3l_=V+jo~f>$KXsot zubbFQ_6JNk3v(PRcuTH*lKxmP{mJ{V!oRB4xyYs-}Q6eF>~x$Ew0haNc3+jR39Q)v4H?xoD%US8I} zt0d~3oui|<`Q}-X!W+LN=N{(@&&{y<{_;vna3xFf#1nZA1!2MeygT%tPEXUBHoKl- zadTXNeVAA3?00{USQbB<8r{3SG-2M^x>hOoDJ!Kep7705Je>09b=R`90Z-}$=F}Q3 zh?kUYUox{twKr4h`Xn89=ererlXlJOSRtk_(tT;uyiMol{k{EP?#1_ap;t~yi@#X2 zr`^!Z$@gpYJZ(Q#+tQy~U42!)1v1SO=DPIoO8x6jqemNCLL_*Lp5(0DB%S--L3SBUm zdTsmN#>RS~>`&kB&%IX@e6U;pl}O^(GPz6dcfXh0zxC;KlQ-oXihj;sm-(;#*WO}v e{rdl`^(R_S3f$AX($B!az~JfX=d#Wzp$Pzo3ff@+ diff --git a/apps/tauri/src-tauri/icons/Square310x310Logo.png b/apps/tauri/src-tauri/icons/Square310x310Logo.png index 20207a552c77564369b216563a0a813347cdd437..5fe025057b372a783dba44119c6d512da85e1e29 100644 GIT binary patch literal 26081 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

  • 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 V^hQ?CVFm^U22WQ%mvv4FO#ta??(hHr literal 23783 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 Cj~%uE diff --git a/apps/tauri/src-tauri/icons/Square44x44Logo.png b/apps/tauri/src-tauri/icons/Square44x44Logo.png index 7fcb1384e0b7efabe292c9122392b512892aba86..fbfc485449cc56f1d4f6a27b56cb8a9443e317c5 100644 GIT binary patch literal 3523 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 L)z4*}Q$iB}k|JEa diff --git a/apps/tauri/src-tauri/icons/Square71x71Logo.png b/apps/tauri/src-tauri/icons/Square71x71Logo.png index 6be9a53f9c8ffb98196375fbf99f7245fc3aeed8..091f375e963c48d058d2ea81c0c28861cc409d7c 100644 GIT binary patch literal 6641 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 BCm8?$ literal 6199 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 literal 8335 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 G2~7Y6R6(%- diff --git a/apps/tauri/src-tauri/icons/StoreLogo.png b/apps/tauri/src-tauri/icons/StoreLogo.png index df2463e68ebae6a21350c7f2b910d6c15de35620..7cc6b2db6cd145f25a09af828b68839ee4258572 100644 GIT binary patch literal 4149 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 F69DKS1TFvo literal 3867 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 diff --git a/apps/tauri/src-tauri/icons/icon.icns b/apps/tauri/src-tauri/icons/icon.icns index 7ea0993357c16bbe60add2f9cfa59ae74c78e4b0..7f3b5918284138bd07f143d54075ac99c7672c68 100644 GIT binary patch literal 257363 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

    6na!x-Rr&RM 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%0DmIOx^zqyD(rQ;DO+ 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 z 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%0ARVZs0N-@nw~Km6O$u~O%s@0t4#&F_2Y{EJq5 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 Y_epzy)r(*MZ_Ql8t0R5b3;Cc!0D_}#AOHXW diff --git a/apps/tauri/src-tauri/icons/icon.png b/apps/tauri/src-tauri/icons/icon.png index 8e56359cef01a9d41cf285ccfb3aac8f983711f9..dad3edbb7b050f4aa35552d6b23f60344238aa05 100644 GIT binary patch literal 41711 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 P0|SGntDnm{r-UW|U4bl% literal 39230 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 I>zopr0MZdyX#fBK diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-20x20@1x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-20x20@1x.png index d7880c7819a258c9a4d963db8ab3e5ad8cfd004f..e18a9c8c85430c10a5008ea471365305dcfebd09 100644 GIT binary patch delta 1125 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-20x20@2x-1.png b/apps/tauri/src-tauri/icons/ios/AppIcon-20x20@2x-1.png index a447149fdd9951305ef9ceb830520d7ea1e129e6..0861c9dbf57afe3956f7de34ded600e37e1ccd88 100644 GIT binary patch delta 2891 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 delta 2851 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-20x20@2x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-20x20@2x.png index a447149fdd9951305ef9ceb830520d7ea1e129e6..0861c9dbf57afe3956f7de34ded600e37e1ccd88 100644 GIT binary patch delta 2891 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 delta 2851 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-20x20@3x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-20x20@3x.png index 3524382446c28d28b04759879f83e44e81e38b46..20e1a6e1b70ee1ccae9e8035030e8ccc6bf56a88 100644 GIT binary patch literal 5042 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 A)c^nh delta 1829 zcmcb^x0!E(ay{EGPZ!6Kid##=vvY!6lX@cU3AM2 z(cCgS;9BmV7vGq-l(kuFSdH@?M$bPB|U%?}FDB)>UCSQ_ZfdTDrpNZB)R5 z7&m7HPvJQ?4wlteZae?;Tg~yK0=F|(e)HPaRQt#F{%^bUzxU|#)t@{N-tpv%$+!K# z_2Md@%ij6BHMQc;#Qeo(B27QI(mQT8Jo{7`BPDxu+g$yJd;R?tW_u~>`W|@ba^v~* z?dRs}*X^z}o~9ecGXMJT|Bc5cdw!9(YPrkK|KN~#@(DqY8DdUx^L<{-YDjgQrKa+~ zgp)USYw3**X}sHVZ>6NK&%X7h-eGfFV{mhGMc(tgnu;uj;LDyKnT{U^u^QDD@u18%slB}RdV2E3lE#ZT)qsQ(&XPZmh;ThE}b|Z9TX{fGNskz^Mv|5 z^_WWG-hB;k-o|OpyLF?z?^>8e$zG0MpWoiz`1*mPq`ykb7M~11@vM`+XPgb1n)%~; z)s{;O&YwNK@XUcLMV2}-dpMqRS9Vk|S=b-xexgvydsdJC(=4^?rKR0>{q1?%J>&ir zKIxd#b+qN(#|!b+E_cQ8mn$P$ zU%iXi!NOmk|EIBFqtMfjH%~sU_&h&<(H|qnj2T?*EG6vSO013xSDLG8?B30}%4OZX z)SY)Kce1~aY|m=Y+;;8Y_kXIBSCyY$w04=B*3stYnU3~8mmC|p1tO+dJW~Dfxa;2B z;Nb4t;cM1dgoI{=|M#o0FbzDoKWxJTUY3>;%eTeGlMP=SxmYig!@hhSw)8c)u9yC&OVxqeGS-CVv+l1u)^t^6fvB4A#5eWmcWUcZgI zezG2&s2}q5^7-yHQKjXf<&m4di0SO8Y+NN4XZ3;W+_K5ne=J$p;}twZ`El8@UGI`I zO`C)&B5#wOGnvg~*wES8M86Wc7ALM7CS)n_lT&N{?@BOy6x|Wfv1!{z>w?fp^tTSH?>2pnJEkvZ}^N zZ&|vKvG?JIFPpE-nz-KVc7dU7?)I~7SF;~}{Auv*D960p|CA19H?T()R_l2oV zuV3+Takywiv4IB5PZK*U#$LVaf#Lmq+qPvd(3)5K#xOc^Q-DnPb@$%;`R3n$<<|(O zYpjU>pUbY~wKQky`OTRjul*l>^wOT#Vkzlbd+$)cc}~M;?`Yk|bIK>b-z^pI?dqF2 zLr-$&r~2DWq1O-SIEOsQ|MpMxa@xeEqvl(0-F6POvz*(*-{;7GUE$2Xnuc8~t&S|e zoOvd8zZ~Z$^&3yZk|m&M#oe_XNK?}q)VYh$`{!|=x>6V8L}rss}syCxQMO4=i)zVqCS)mc+Sf3CSxR`XFs zO`qrB(NkYazk4v9E7&2a_aW!M+!LJmvMZ*p}Y^*JrCnYSlj#jgO{=mS%z~JfX K=d#Wzp$Py+Q<rVsTMuT5v&^Ytf+&TVLPoY~SxbQ*Yfm?c?7Ye0TGglJl36 zBcty2_2v5Bw2iu}rTmz$>6F3^juj{NsZ9{rq^|!u`k(dvo$pmuQmXxr&hxgdxc&cM z^*hV^miHqIGWBXWS6^n-``|bK+O?V2Hy?kx(1EdzJN{Hr>`Un@fd?+XoqMDDjYZkM zpUduj-Tz)=`sttdH_h1H63FZVzEq{RNyx(x?jd1Zub2|s%L;H#*;-@os^x-C5Z zntQ)&xS!6lWHAw)e@`s6YqS?X)epIl#Z|s)Ei-$c z+|k?7W{(foR$shwr)kDB_L>x})@Kg4md-vd6H&7xN$REK%M}ruM9kOhWPKVQ+p0N} zQ6%zzKMU{2SDOtV1U#+W^Z%apjh(gHeDbzTxtbP!JhSRW<}Y3?z3&T8i|}>JPdiUH zEzQZ0ZSD%nnAhIrVz_+`Pxth={;sFm2HA%ye6}?5d}S9fnRMXZ!ewS}{$|*hnr1Wen9Z!ls{{l{v=16ZFOI0D`#;oWr%%`KtM$SMM4%blehM6H+g_ zmz66&`1nfibdc7SMoHuJSF6`YE?T$0(Dam-SINZFK|8;RYplpvujY09(v22o`P!E2 z@xNsIE}2;G+9gn|bY+g{^?Ax_SqIxvw>;XBG09He^hNt3weB51i*L?!&TmRv+mX83 zl%@Op*6Yl7FEf9?VQ3}e5v=9YynI96tn!BamYYkY!tQQkeERv>LLGDV)^!)R+N@cS zG|SXvEpzDAitNwaKN7y{#l{BvrmqxSFwIFsXq)!KkS&J(2NydBUnx-4KP zPH}Pb)_vXO?lQ|l{i>g?xyix17g^iC7yhwpchzEItgSCxIkZ7x$K&Ho_K!6*mb5V6 zervd+WY3j(bIi_qu6{T*^bE7*{F#PN6nVDla0S?;@tk}5^w?IP&Bu01HK)633$JdB z;8k>-o_nu&>lVrD=4RH>p)u96VFo^T4U*gDy)yf-U*!e&^H*P-@9&cSde&DIBw*FP z&XCnYVa3u1n#){HU-`4+T}R&8^Pw9Bw#vM^!dkcg*YxA_kK`Wx$*h?W?Y?_ec1FXD z6)yI_thh2H&u4CVUMBrnXTkL~i?&}5n{;tbn)JET9mi*>gx4wfUf&tpyf0s8`3`}u z{)lLfu8p&2w}l4xPq6pR+_>%I;|Eu+tkn87ZCPJmV@!BcU3TzdPS!^ZB98CB{Sugb zLBL~%8tY~WZpC{cs`6ErGbF_qC#o)=|E4IqBq}rWa9!Rzy#S5bjG}!9tjdJU3~v|z z;fdM2%=3ZS^IMk!{P!E*Ot`v2)knRg?c)WVk2%v)eaw%^7ytR^eQWW{5{;=s2Twdy zT&XdWfA5l4Z)!`9%F9mQ`|NOD&a%rNFPuC&=~wN?W05y+Uf_N{%QpL`>_G#;%4b(R zOJ3GVO%*>B!!o&T)5K|)lo#ugune>@ulE;YHD6O=ad&^EWVkl)Y1JA|sixE4D}=cdeV&!KEkC zlOCj6@Lb3?+db*{6*-e5{xrpI0UQ9Wt>Hqq-( z1U?#`e}8@MC+CwhbUA;YO1*yA+kM)ps%Q7*56?SyZOS@Mqc@!^k1f5_7B20m$!ysm zrLtninnI6hhXTG_&;HC@UZl9FBt}t8XO&0h;rDs<+{gXoE+5)5NllEiCTsich($*y zsF;K<>FY3m|J>&{i>`*&l+Ox@1&=Hj8u@JFpWpW&xL5A;(_5crrgBU=q&oLs?2d-` z{on4txOlGPW3fifx1O_RQHESeKPG?B*muVvFp}Bu)Q2^H8hcvUgN{9&{bc9$keRwB zuF9Twtjpeqh?)6#O=N?Y&bIZ6br&f0>!;k++^2P~59}TV6`8M8vvhs4o${lO&WODvH zlFZ2~^6A}?!#?tMlRM{|%q`uX=fOGqkx7{0Rj1CI{)u9lrjsq;mVQ>Z|G50*HyKB6F7o4?|Jge|!K+I#b;Z|nyKjGd(H9;l z$<6(ww{L;1l$*T1a8JMsHN_|E zCPsEW$h15?HTI0euF6}S(eFOj=tL>&CVvUZy?yQa$0z&dW_<7UG2UDvGk@>#_gl6e zKg^ZdF-gC>IEi(U{?B*DclUfL=~@2VwoE4_$aJp4kII8*SnS-zLSEVE@B3(9k$U^} ziH{S6H@_;-^vV=Tefp@;{y!g6WaQ!F7w_9Ni=W#NGV7W2SBFg%1!sk#gw`jQer?;N zrOEc;{Fcti6X(w}+@TscVQ%Xm!%B;~Pa>B$uDIATW379Z`n!uCHPhm6UgPOb^_kVP zt~chC`cu!sb2kKA|MbV(Hl8h=>dC43RcZGAtM(uJV{;nj%9>30>>4Sse6rRVKE7ia z6XdefZtmG}J&C7x<0*ynOE1jfvHShWU+&}4jFbbc|2%kJU%zKpGIipWPao(1;g~Ib z?z`o*Kyhzv+ntfS>WkiQDA9V#uV{DIrsL8|f6G{j8e*3lF@#xHfa&zQb3xD7ByC z+|s7ut&)2p%#8B)x2W_w7Lhj5=Q}^=%QZ*u*|9Wc ztXzNGU;d}$xA}IB++|t5V)74DE-wEvGxutxa))ct`pC=^sY-U~x4tlj9$+k=ajNO# zq@$u6Z0=Pojostnf8@fhC1TyT7M>PrYE=;kPUpLlcJ<}tAOHOSvsJ&&4iMqVQfWN> z??=d&dsc$1Esm~!a~hL;rrz2#yS-MlRVVeNu!P$MC80&x`!`vg>xej2F!67+Qi_G; z+O+DLjCa!?dSpJ)J{>-bE9t#e=@)~4|HS(r)GSe-_rzP(NVLworfrj6=%2aM!m94D ztw>-HoK?W@eEU$UcEFpB?cyP4wwHKmda3&h<+T+o+LN@sTy1N6$+h-hk2mkhV0w0D z|1Y82H+M4s|8hpZaGmLV*A3;UeR;l7i1_wM?y5|$M#Vrx&N-3-1Zw)4xeZZTcS zE49)reJhiTzY0yWk2w<6GXGeTNvz@hK#pxKO1c}37usHY_I7oCqxQp}D!kQCe*Sj} zP5-^Ldqrc&$Cp?CezB#6Q}X6MD=E9%zh}Pq^T=~X^ge}iW%nvr`*Z8$-d;P9tanPO)%#$Ms#|nU$k#{4 zRZn(!etLUHL22vPwmo|Bd&PwBHfNt`W)bx_O|O~wPwRH^w9~@tzY4AI`V-jOa5cwY zYSzOqp;xZ2jp5~Q{c-j3{v+q(tN7ktXwH*4zFgn5hVAi>D@W3Pd?<`aE*4hV&))q^ z|G=qDH*eYc98V}{Z75w9ZC)qa%KBL0Wy}=WOu-vU?J|P%=T$gnAN=7t!#UUP=%o|y z?P~5{IPBPc>!RgNtJ0cd+5)!L_6xis6(lCNM${U2%jebpUbg#6z%7}ufQzr1CME4H zJDdAuMqcp0o{4XEuh_6qX7a)1*HfGJnbd^E?3L)Z`&PW?%gOe`-_tcRde;VJ-Kbvb zc<4#Yd@JtfZ!EKnrTMy<^rl&e>qe{yJEME~onV!Nv!3P5sju^nE}6vHvj4Qm`4(Nz z&0$H`6>8L2w9cM5bo!adkEWfk(PVtS>S-cPT z{{E&pQ%caV<&L-PNshXW``%YeK3cd`R$uP^beG*tEO$&bzqScWs0+Z<>rtdZ`M9q(-juma5Sh>(Qqs8E|vN@{|@s1mkPeSc)Low=$1asGwNY(4Lp82HihrrZ7hb#I&iU2f7Oven_1UcRNu^dwQ=gYQx=q{lUSB>;G`mpiuDZ{tB53-9bZc|<+{myO0F15@@^_=q;e-B%7H$(o%l(k31et2;` zNV*<#{mQ|!f65-;{hpM2bIlU=wQC+OJ7{NF!jYSs+u7DDwM_9er)ZE%G~0q3En6pf zzT~lU@1JjUa#7h|xw2U0>J!^uZgW2$a+t65#qWKeZNIL)YM!*`b+KPLm)-X_71kG5 z32aK>FLXN6`DFf+O+ls`Pt1u~t|fR@o>|?z`i3-HQs26b?#HGa^%Qx1!ZYJvT~CX` z0h!Ico4MZ=gw(%(D8D*?UBtXe6Ap7#&1hZrS6<$r@bf3Rl@?4d-EPZF*t93p>FtXt z$y(2f55HTu!F0`z$>PVkZvOeoXLeqO&!d#D+24~z=aQA{y;U#wnzn{adR*oj(X!?1 zU;e)jj5#frygaq$V%@CV;N-=es=Mw#jCT6)vLQxKe)c`PJC(1idd}-7Y@9uRVodga z_CTS$*VP^Hyy0)ESz5$F>Ris;A2Iw^!bO#LB(#qxAQL$eTX3Oa9G% zb^qVH#5ccxD7#2rw`l3+D2_}%wRH_^p#)cQ#;Kr*i_4T)TWf{2KFMCWR>lOaYWcw#?q|XZ^n?@Mv}%QM`_xZP^*_7OV)py<4+0*~xBDQFr#HX7 zbDg%qjGB3~YhTQ-Z<`)peO2K5&dsMcyvv@wVc8<4%a%gMw>Wk@sOCRge)`$jif=d5 zFPvj^yWISFXV2EOOOLnh6l(5YKm{028+x8Tl?nl z3zQr`s&?o9gW5H%ts7t7%YXbVTl>qJo(8Y4ZARf03zmiL{c&e=)$eb)DK)ZMhwgt# z|5fT97BJJ3^JU|wfID+|&ZhM2$@}@W>hIjyS8CM$o($M^UiC%(`LNg9pr{w*Jo`!!anC*&D*QG73Igxp1si9T5+@J&XzP;F>&$QXA?fM u|9`Kb%vrNQF|JQD{lrfrmN&8g*~5f}vjjk+-d0P6v z_Wj<-t=TH4KjrO7*uZ)CmiGhA|g_=G&>-Es@v{eyL!IK)h9Cld%S=9!pZf~ zQw$QL1M1{U?zA3t|GmJV{25P7{YBRuNiTzZB<%nFZ(mT#&i^QU{k~Q6s~_{eu`lsB zdDix=<7d&0IWixuH|VghTl#}HboQ5oO1Yft&W;*A`Fa+?|G!=hUu~&AujA38MgOCl zww0G8Tu+~$`1P{?9u*H2Rd;erZLfx+B`B7IGbO@YY`QE^b8y)4b%F)0Z8%BRuc)YauzAcfmUrIOxu- zHOkxjN=wJ)t%=L2Q~Tr``?qXMI(=?##fzEg8;bwe$@Z&Hd9JD{b3KD6)bXCq(ihEL zhqNocoO~4Eu|3>vin`M`dmFj-R}0>o1;21PRP*dpjbKFJWz~%qR)=inOKsa#Wsv;K zWR1mVpF2Jam;21&I9|9f#!)!t$n(Pm;g#NMyk zk&v}wLxUD)(L+A9PrH9zO5)0s-^=my;$`O5s$5sE@^(i}%jVK>Pj_wEohEsd=LA1{RDJ)KnAqGZtyM)F!HcemTL~*cPtk3T5o-M$)aNCO;iY}^?HFf3lTHemI*65$j8n?c= z&S77F;EQ>7$-gG6`&|g1S8Dbz=Voh`9;1#3*Hg8O{Cxd?KVB}c$a?Iy=U4pfi#PAu zGUztEkJi3`5o4|X5^dUpAO?dxJXxy5u2{CM^1A?wub%gu5QoR6!E ze7|yS^J}%K4V}vpPWdr&2L>n2&j@V!?2`Sd;Mao;_sV#ti$=3@Ev9T77;9wY}>*bGq;SOEvsAr@hnT(f0pyep6A@myCawcM?DT6xNl0 zxT|77M@z%0}#0st=vUomt;)7{#fFD4X(5+{dY3(z zo3L18$=lD;GyJDaKe%>HLwH1nUHcCYyN?}q_uqbhF8cY9inwoI(Bfl-j$bbcReXMa zD0-8C=;h^37w1l5=esn;R;9ABZ&waCh7i1!G zr9fxu>qXw2!Wa9>mNGFGzkf5MDQD@*EB#69RHl_oot@qD#I5aEZ)>omEn~L}pS?Zr;IH%L!XJtpUMUB@FbtJC>w79&Ib-M5lIaUNIch`v+ycTMEf#F( z_TJ3v7|p{e%JlHV)4aCj{F$YbZU~ zD#j9GpYxr0&eW!>Q+)n5dF=|8T`3}NI+dZgGleJfY?Myc(^vDE*oxKskKge8se0P~ z-=p~#Zwb22PJUiG_v86Rhqjom>M^suZY*{7#0C8oVpmM#tTt%>&6@t><}9CQ&*ndw z6CP6-8rNO>dTaQH-?Q%eoX&Ziuh#6jON}u+VDVae$z3Zm8mhuakaMA89t6m1F2{4y0&ZCUC`DuQY(BjA*k25UwH|S?XJk2>KEeK z8)QFT{A>Kc+2rkf&E8`xE{ZUyX8u~f;fs)r)(cJJGzsI-pjuJiPpL+dOcxi%-9EB1 z@Udih(Y-a69}L~!rfynyiR0ejn!~DUCPxg|2*_@uc;Sq>|mD1)DCs^9#Nq6(6+b z)ucW3>GEZz%P#GI`7kL=!;Me2+Ws#K|Nn14@3hDq$v2i#a1}igZj#=A>s!Vyb>G?3 zep)%FDL;KWBOoxbV={+oPG_v*y9x4@p)RdjuNEpyJ+O&2eX)g*2tg7|F_%k9mv0CyZH5=ox-di{j~*7eLK%w`lspWC#IsfMTM@O zo%6JJ7|&S{t`o`R&a~EVX=d2Dna>qgX>1VxkUmxa`Pmt!I`3;=e+~b5#QVImAeYwL z;!lsZ$ECK)F*u2x=G)j8A|T?GzN(4af6mHde21EKERXfdb_@U5biyoWlZZQqQ@&3B z+`i?TIvh_r>?|rcx>UR0>if*)^N%R&=R1h&E?ce9v*)MoU*qI$fwOcun+~s9;C}yW zhj99td2>Tgo)-$)6)vtDnm>O| znpPD4u0Hnvw9NgFA8$MUn|Whvd#=Ye^N3%Ci{EnmsQGpNX4{#dLl6 zUfL%`Z^`tC-Xne2m9_F$y3*tMmnyp6|L8~)Y*W2@>YLvjqqi(EHRmkd*XQq;t(%yg zckYVjO0kxf(0Qre!RcEnPW_PFnsYZkF~Z`nONj5BmRq%^JANPko|OH0;bQNFCihoN zmR}ccVRv_aebw(wS>CfBHo8wv;PEXfdt7DKr`_Ip{jlBA34MA|UuSMP<0ZN^a<=1^ z+ABY9&V85Pe$s1Ne2rvQ+51EHZ9hu9ntWKfe4+h}`Sq9nzcJ7jaJmvX^L=H$cH&+Z zzV{DHzDeZ96`xc+9B+NeS3k*TuK)6BCcd-ld}R2}9+P5htQE7~ap~!!_uR|Qxj0`= zwE6QUct!Wu9v&?o?aH6(Ki8V8J)PhAw!UQ%+uK!KMmTHj?z_vtW#~? zT?}14qwUw3n8uYKxjHklY_*}AfPJvitx7V(z(>)+p{oD4OV@pDKzv3e^Pp@V2 zJBzP&_&!MH(rON4@Vh^JPn4sPP<%l8wFjZ>HbVtfVU;e4e{Lo)575cay#S z?WuX@W|Bn@=38BSGC$5;y{_W!R<9{dkLSu%*M3err@ui_=cbSST_e^<5^wZWw+QJq zo}T#EEB#X(pY3JF|7V;Rui-ZpPBitsXPKz9B}7;%y71kbo4?jc=i8*+GJdt{+TL$b zSs!nmmD>GrNs`0aTYEWwaIl00ZoKsKhQjapv8_LUroY%+`yzGwZMpE7r&RdOUU^RJ zsQcE)9#S9sVh2m^lAG^t>^4_@BA`2yXWpX9y)GeqJ}%auy`Qc+q$qoKqoGbH-|M^l z6W+WseU@ct`uUYq38!PxUFOxHUnfMi?qU7=x9{zoj+eey%iCA3o%K(1|3_n9?=4#n zW@Vg;4A_5^$GZK;N(t?o_9ijA8+g3D*LfCyH9ljzFKg;7`*OW~A4;B2*3UCJy6NGq z_L;GdzF%s6bHUT1mxV3s`do{=D-U@&UEj>hp7bm5@2P2)t^IbsZ#5iDlvmr)__u=f_qUgmwpGn|wk_o5kq2{G!PFNXX%1IX6`<1Rry`Vt=<*e41WVNzB$qiKf3Sp7#b#-P`ze#-1rM z*FLsCNaw5kd5E>@_^$g2XJyM3&SZ*;e(#xi`cC{Lm%A@jQ`cBJ2!Hc6jr;=T97gZuK^Cmix^jY z%9=|$N3ZnFaPjWj{$@+?$Hlkv4ksww_;=C$$G6(=FK->@mD%tiXmQT6Q}X79*HoD= z$*f?y-TBxuAkco@DU*q7!mg!Bn(4fp+!4Q7|CL}tiu2lUdS~xnG3}oIK>hojR3YA) znaOKrZ_hh=>301Arh@e|mx|hp?2X%$q4@9Hve_F7?(Ip;zf$ysBh2=XL0nxvwA2u%c9Evw=VsmU%Xqe?{kM|eH{Pnk0GZt=k#2$w%3vV`w+`db!x%2m>eKf!F_x^voRiEC>c&?M7 zeYWgf>GhXsv)ukm-=ri#aWX#M-> zLE^I|+1Hc)M(=l4KYnvb%PfUiTJ;Q3&x%&2I=(zwoR)mG^t$ZzWpdLOJW7|*c8=Ut z`72d+>!0=}^?B8N|4*qrY*=7mDwS{}(j>WU-``o;S1NTj)?M`dJNd8mi486-uA9W~ u*9gy_&=a#isnx1?@5J?9&CdP*S=*az{=7?Royow!z~JfX=d#Wzp$P!nJ2S@s diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-29x29@2x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-29x29@2x.png index 36d8549ba9d5a4fa11a8f8e24d553bc5aa6a8232..a534e4cd007cff4c378d0497f8ea2f3ae3943e7e 100644 GIT binary patch literal 4818 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-29x29@3x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-29x29@3x.png index 4ece1835604a252dc0260869acd75f8467ff77d8..e1cd9f0e297dfdbb14053cbbafeb63a4e52157a6 100644 GIT binary patch literal 8481 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 literal 8034 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-40x40@1x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-40x40@1x.png index a447149fdd9951305ef9ceb830520d7ea1e129e6..0861c9dbf57afe3956f7de34ded600e37e1ccd88 100644 GIT binary patch delta 2891 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 delta 2851 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-40x40@2x-1.png b/apps/tauri/src-tauri/icons/ios/AppIcon-40x40@2x-1.png index 8b4aaa8d55e5163212876d01fa8eabd7272a40a4..4fe3372949f8b44c7306273ffbccdd0016aa937e 100644 GIT binary patch literal 7515 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 WWAn_s)y2TTz~JfX=d#Wzp$P!k8h=Fq literal 7099 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 DtZvQ8 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-40x40@2x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-40x40@2x.png index 8b4aaa8d55e5163212876d01fa8eabd7272a40a4..4fe3372949f8b44c7306273ffbccdd0016aa937e 100644 GIT binary patch literal 7515 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 WWAn_s)y2TTz~JfX=d#Wzp$P!k8h=Fq literal 7099 zcmeAS@N?(olHy`uVBq!ia0y~yU<|{Ln>~)jpdvY@^tFH z|J7SdL*HwgL~rhPa1d*35MW};)9`Y6Y-Evkx#yY6v6FLjihG`A7zvjOm6{mNN;MHw zTPJKI*z30V#15sd240P9=gYsNZdd=W`Mz(}w%x0D?cNpl*x=-z$>MsNDUvT*S?fvr1<#U`YEiKib+E)1;n|*6zvHIP=yYF8t&fn{Ld{%VEvl$n^ z>@+^VopMb;-~AQwuiz zv8lbbCi2yz;&Tgs8m9-<#ofDa*03?6=icqD-S2*!&3|$J_V&vgkEtmgR*>zU)cHN> z=guWHa+fAbtUPC+**~4FgW>OHyf{fGCT{?tX86|=3i|6gPE zcgy7!OIEyCFMQzJx3a3-+h)7|Uvz)ze|y`@W8e6W?!W#~B2)U+sY&S?f#LPh)<>HQ zq<(BptU7s3>}K4I?D_Hx%t^P^M0+ju88RyrmQM5Ce7t|LD#J&whRRn@PS(pZy!-n? z`PP?1+$HCe`!D``Tv}t8>U=B0cWY(|qq;fs?sjPG%XDH(53+8_`Bx)l znRMhN&1sLXo8K_=_8lMD%9W|3^~0Yw#t#7yDV z!!IA3$q5~hlxs*+TXI(DKuH`2|J(Og<&nkGS9>MY98$h8=uBmpbj$k0mbv#ghEx?! zz9=Yq%CF(@z39@G&RJ0|uXyiFyKeGjxm$nObOYI_Z9T{OljM+t9XKZ8rmpg+vKQ(e}d(g?jIL zUhG;mG3x^VAqGa7QkkHeoV%J?x7^J6U?lczG9TNCw!gylM;#7b)_yiUr+VX$ryI6v zKRjq(el2oK!nHL$p1&Fx+>``wZLBuG`}g+!OUCQ>dmg_X<-&Vp-N8Q2c4mQt-^}ht zMl9&C)s(JQ+dIK5P!TVfs8lQF@llgbfqS z#Qc62yuG6!#-H#=lIPol4a=p1&VSGOQ2g-UbH7)}VZ6L+k`^5w1YBrg_2l zJsx%$HN53JuxZxfU5W29lWebSe7wZo%7e>rD`TcG+kvDG4fiER3k}^QCi+z`_gL)Pd)rQfgVj!Nb`nJTJkc;$!29?5!F z)ymm(3pmo8Zr#WfvEXy$pJdeWSDN$p^UtZg^B8AGaGhK~+e-6j*s58{F7mQM`g(os zd(9hyDjAHYFc&CJee)#Z=*P(BTw}S8x4*6gE`D)lXYm)_@c6a6KA)0fFnSrgqi%0r z&(W!}jTz3hyWKguRQ1lagnCX%c;xu=w%QV-Y0X!4^aS#zU2S&W)or~v^5%ZI=awZi zm`>biap(14U-YI^@#U81&Oy2b4m@J|cJZRG);d@4F-)(2U~u$!ucB;Uz@Bx2v&1K- z$FWSk_hs|^(#m&oN|!F&@Zgn6+IY6;O;3LQVN&p(eN<9-P29ZW3)&t& zea9i%vrA7e@X05Qw%*(`Z)Z>2;1Cem`T5lg73oRKzP}ZZ&U9eT`S$FL#)buK!K)`J zeR_N|XGYVDMyXZK6E0l2HB0V*^6`G|Q)UM?@j73*($ZDbcI1QQ#AeMP49S`^H=@E1KT->u>=~1||awLyRg~she9Y&sS?|I8H@Xl?O zXsq)8_Jew4KrqIN6aBaA%uDq)gqxoRw?yxt4Enyz#ibZ_@S^4lDZjn?60<7?pLj zbl19@&aJcO)W`%2GI}<&)Hc{|IsH)fW5eE^(S?2vlkY!&cTiAOU~>Na>vy#p*td!9 zxXh;ZRrRRrt^GBIXQo~+Y?)wHHm~qs=X3iWk(gUk>{JA{@GVNW*s;n*?wsP1Ou0Gt zn-3R0HvOq_+}BSc)>SxBEKBgJi{;A;Tm7^?&iDGW?m5${JnmV+5k85Bxz(kYKW1D% zV~(T#va@dvg|X$#HxQVi(VNrHsJ>E2C&m1gi6(=aW2iu+#mk2Rj&G%*_^63Yh%`Ip8Trj-6iM6++7*x zBI8Oh-#*QOk4d=FcUtunrA0;$eNq^2 zNM@=t341=jFm-j??{6zb7?J}Lt#{^ehAw28y3pj~YQ>}S<=@tGeEhWPsyH8Kh3|rd z{WX6CUuo!_xi`mRrI~AIz$NZqN@mxtc{aapS;^^8&2U0X#&h39lQTN4QOnJbo!Bm^ z_eS2GrPyz#oAR++zNcwf*zz)-)#l@i7)XAaTIB zl{u^PFH7lFetB1$$n@yQ``H4||G()9b!NJ^?0-$ms_cFRmSWH58~>($^^;)WcTvAP zca=)0klz|^2R8keHk4*KgH|C7GN3%X#lD+*|$P<8kw# z*uZ_Si$fKBOn1*_SXj6$I7n3I?UII zehmF^FMXZO?T;mTeHuXl-|zeu)?jwhKlgd(!r&9LZof&ZZe41%a^fG!_3ky?K<+}OJwoN1zWCM z{k-q*EA1~wvh}?iPqMgQZrknCvVY~&DDNt}fDQcRP#2|bqbi(Y_K~9$TGERwhVGJp=?r#;|rT^%bFVoR~ zg(seWO>>QX<~P%EYH0G^t2S-C%g^gYx*5NEeS*2O?{|&X&AS(D@7#{uJ9}H9ZVJQ8 zCn%tm{nF ztL<$S(t)W(T-ReKb$wWE=>6MV@Ji~hIh7@g`ggzE*If7U-|H*SPM*>GHSt!ywyqCr zK$hc*Ylug@z zv`5c7@c7*A{KfWWvQvYcm$@@K7*^f1=PnDm!6ANj$1V;Y3;zR?W=L}_JktJu>&n8_B$Uc7J9ANoN>GPzDm>;jhhadffE)zeZFSdq)TUvO?1D0E%`im`=#Hm zkvGy(ruUwDsJU=j8+)4iq9xbax|wdDX9yD!StJ)aN$x<9NT2s-u99ezWiwvhn3I;? z=_BE9|L@KW*FUEP&#t@XcI)dOV?N%jtiayI+KCT*)ord{`Fi-8toBm|aHv`?16V$`rS4^+_ap7-B@T^*{ z?zizfRJQ8gunK#xGQ)D}`MDeZFkCof8N7Vey~N!96I(9r#+N=+ammM(puK)jKXS} ze|5jEth}P%p#AJ@anQ{-8ad17HeWWsb7*1lpLM;pa9Y^W&w`9*i?nmM~thEAaTSso2u4)14Vtey=R4Wwwale4}3f`+0*}#s)=?2d<~5FQ2D= z_oVpQd1sk*X6;o|)?d4O{1c-)_@9Q-q0=C7eo9l|I(t{cQiE$=_GTe`#jXj9RzbHddFG z>5$mbkr)|SsvvPNq3bXABK!A;OkZDe6TkoO8}FB@B~zRvR<)7-raMXSzd{*4qslsZlB(Unu|(Oy%Sm=J9JknFlBkJ+4P#Z`h44e z*Q!$a554oEg8Yo1o%Qe3%lrB8duIF8EIqHHqAl6KkLT{m{1IRAT6)qZqn-N>{k?PN z6`SsyW~ zNDk;V|C=j$qC-OTY1Cx7qJQFvFO!cwY;Kq$wpf3Io7K;`;BRXZ_xN;m0bi zT_1XkMGkUnzMN>NIwx7vWas{fl|7oxGiSTsm6msoxO?^a+Lxye+3bGl>0@o{&_4C< zeSv!yKG?fB-~C+Ab>--~l~dnrW_Px;x#`kza%SV4{S_OvUN2`bOE~qdZS^`QAx2LI zkA6izR)vOZ3MK~y5}ez(ba=@TPDF%bE-p4rk) zzqG&2YF;(xGRC=*3g>icuT4yzq&X`l&@X&_?Ct+Q*>*iJ@v)fq|K-n^%5t_aifc<|=b zt~d9b3*{18(kk6TCbVU4x;@9`kSd3U)~VBX8BZKPdp*|uXMlYxM?S$q z&#q06s`(cjytm}&hh5iWicTK*KJ}!ld!osg+0$dEozR=@cYectm0JJ{Om z@BWzYWKn*uYxB$d|KG+7#J+jarN`!Hy*=o!fJx#rMf*ul>SgPzIv=f-$UYD;L!8+z zhdr^Wlq2ff)Kc-_!dWMmtYLWac-LwD<(h}vGp7nqu@mYJoteoS{3^H2AG@ZSCtY75wZQJhy??9^Pao3HTWB%sm~F6&9}sI=C_tj-OBy! zwSIin%LiwimdXDyG&}wJ+eD>#g+9p zIX*{hwM;U!$Y4CF*A&$r>nCq{)+g#^%=EwK_4j!t_RamkagXzcH=~Tnr#jP*8FyPA zCDs1ko_8iodu0#9oo2%uQ6f_;+u!j1a_!rZdr@=ToDH|Gi8yNbKihQc$+p!0Tqk$SbqZNs zls5QxT>hVeY2eMJ%8N7Qy_eli4PV$0|EKSe%8s1crn@F4Zds;nkw#HGNA@>wte^8@ zsX1fJYUAsPo3Bir8pOAakt6xz8jYyS6K?-`uDyQ2YsFgU!Y|s5a~~A;|NHr~pYhG{ ze}z6dNk?rZ%uS29HKt8pZ*kXzl!(SVKj9P35-lmNF4S z95349YO6J`A3v6|C6`^wLOIBGbAs8G4Mv+DDA;t=n!X5;+4{oMqwC(EsrtK%B%0X@ z9vh!G$PL_dJbwMQ7L|go)zSYJSj=QPax8q&=2x#@U%z~<{NBR#ck7m~OJ#I)J@+NE zQe*1ztxr3ii1A8PZ2hi$Nn+*p%KdBdES)#j*Sxi}+3<#W^J*yu$Fmdfh!(|jc(yNo zkh_dWg{?x}oaLQ~@Le(czsvJ4*1Y-aH2=!C@;%8HeNvLYFW_4^kzvD5cfCZ`-Xrf^ z*gA|>o8PMY>dGy?N_zdiUGATG^A{IgE#L3`|L?`RiFVw4M~`h&(m5L>_jK*61^IW% zlMB7gwq+*pge8_cpPx=1<=2WW&?@Pqg=LUye$x@4W2CvfUT9 z9TeJ`^^E85>Dzh1>RIWh?HHfTEqNaE^?Qn^x36C2f~~pLtUIKz$K6Ys%P-j1J>=d}ac@suuE_iKpB}8;ekpRc*~PQ` zHV(V{<(&7(OqW@7bheJuCf+|=4(<84MpdwxbN$(kruo)~^-Ig2pHcjE{|3{P^5rx3rS-1RzplT;ovqR~ z?`(uc<)mGLt9SkBF=m@T^-#cvsCK`2_9V95bU1r&hgc4Ub#+{!X?2-oU-b7kb>;lhU!{keCzG#G@x2HMa(v z2^gmMYo7_9I5$Jz?1JH`=s6O5u4{SmDE^qWIsI&)`QO7^ncr>u*15uG<7Wg0`}Wu38v%b?FU>GUKN2$IbGWS#P*_^LKl{#o8lpOcO19R%rLX`>dD8^{iHkL@AWnRTo`+nB?6;r*Z3C!jB?NMC+CG$r5mdl&IY=0=D$C7U~ z(Yoz(-Oul~pE&+O_g_xf#b@?|r{db= zm+@r*>aXqF54!x*U%%IFc6@DUm8kv7xhL7H|M0iO{x~qzE_5>k0|SGntDnm{r-UW| DtZvQ8 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-40x40@3x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-40x40@3x.png index dd1ff430ef4fe7431367dc1ce6314b2500987e20..a9e0a6cd6e4de82f45d9c5000bafd293c696e6b2 100644 GIT binary patch literal 12688 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 z zi}#^lZ~EnaozR=J@W`8 zc3dYH;>O-w_ce(pZ|9?B(Jit9Gg++v+-j)Z94W8<>C4~x3HSd!zq@JiX5&b=)hir0 z4!OOV>9yfQ?OMNl1!+^O&dFaS6Bv0)_$)ZqTW}qW*w2`F(5`gBa;c*pVO)01o0IhR z6pP30F=i3kPI#{8)+w6LH8~YU zv^LDX95eURCdF%w&l#oOtbKIsr2L(Lz??Ug84Le@3E!{ybw~U?bzwI4W>2~44Yi+Z z-v9sIc;|EX{HiT7k8P8bPOwk?eB`mxjfdO@)gQb3>!SLseum^v(7aZ2O=XpE#wPQu z=Y973Km1Vs^!a`L`MVeIrSS;z6$;%-TirYDQN%{o7SkI%i7yH-*GM-%=h?aMGs~eP zs^^yRR6Pu_=T2sBUCey5@xfufcXL@^POpFCW|@4{>#KE{Y=Ln5(+7KuxGL1oe4c$_ z+4%$SME4Ir+;ot|Ae-4!ol%71#+x%*<5zS?&^9n?|qGTT-8I%o6b!~_%EM` zHtuN*&*xu#<;4A+-ap5SXHphPZ@YvrXV`JGJre&QqTw-s&7ZlYsF>77%bq-!u zIE7)?+4Js~BjYqgb|kbrvu)fNn=TpOuJ)g&>E5pD?+dn{Ej*rbTO&tAxTRq)^WqkF zwd%4;m32~ka#dMZ7l^6t<0}oCe*cT6rKruO7tV(}w(eXJZufvGttgRq$)DEM`jbne z%}$n-%$(nO&DU(UsJN)_$^_$?x&Qv0asGZf|J}dxa{uz_h7*D!ov!)FF7k9@)0wvT z?Di~!=O03nOq}OU5xzZR!g@`;vhcY2<}CS-tk(J^A7(!;U@LXZ@#7 z&XC+IW4y_t`)5Lt)(hneg3=d?_ssk8R{!Zr_IJ~Jt+#pGs~`F8CwjUhBJ9XxnUyQo zq^71fpUV_Z{w$!TJHs;C@3>lAmvD4N(Jhz74g0wn*I!z4xNgS&Q@^T?uKbk7@Ai3$ z)(Z=p*ZUJwK0Mz4du>ksEyY-YG^4g_>NBkEq}kLrvcx7#O?`T-^?FT2Z}ypH<5CTd zG9SkGUpV-tFaFCPc5s<;>b7MWU!qsXPhzht?9ZwCE_>5?(~u-{E z`VCeXKAo_e&y&&HYgRG$o_BX|Nha%W=6ye-P)Gj|A8T~Z3B_vJOH6*e>sMU#{q`V` im0gQz#;e!=ndhGWGh@5Ir7Z&k1B0ilpUXO@geCxemixE> literal 12054 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-512@2x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-512@2x.png index 25d9e544edb970db0e3741e8e3acc212f821925b..7ebf2f2faf88036af50c348953bcd2048c3042c6 100644 GIT binary patch literal 101017 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 z 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-60x60@2x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-60x60@2x.png index dd1ff430ef4fe7431367dc1ce6314b2500987e20..a9e0a6cd6e4de82f45d9c5000bafd293c696e6b2 100644 GIT binary patch literal 12688 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 z zi}#^lZ~EnaozR=J@W`8 zc3dYH;>O-w_ce(pZ|9?B(Jit9Gg++v+-j)Z94W8<>C4~x3HSd!zq@JiX5&b=)hir0 z4!OOV>9yfQ?OMNl1!+^O&dFaS6Bv0)_$)ZqTW}qW*w2`F(5`gBa;c*pVO)01o0IhR z6pP30F=i3kPI#{8)+w6LH8~YU zv^LDX95eURCdF%w&l#oOtbKIsr2L(Lz??Ug84Le@3E!{ybw~U?bzwI4W>2~44Yi+Z z-v9sIc;|EX{HiT7k8P8bPOwk?eB`mxjfdO@)gQb3>!SLseum^v(7aZ2O=XpE#wPQu z=Y973Km1Vs^!a`L`MVeIrSS;z6$;%-TirYDQN%{o7SkI%i7yH-*GM-%=h?aMGs~eP zs^^yRR6Pu_=T2sBUCey5@xfufcXL@^POpFCW|@4{>#KE{Y=Ln5(+7KuxGL1oe4c$_ z+4%$SME4Ir+;ot|Ae-4!ol%71#+x%*<5zS?&^9n?|qGTT-8I%o6b!~_%EM` zHtuN*&*xu#<;4A+-ap5SXHphPZ@YvrXV`JGJre&QqTw-s&7ZlYsF>77%bq-!u zIE7)?+4Js~BjYqgb|kbrvu)fNn=TpOuJ)g&>E5pD?+dn{Ej*rbTO&tAxTRq)^WqkF zwd%4;m32~ka#dMZ7l^6t<0}oCe*cT6rKruO7tV(}w(eXJZufvGttgRq$)DEM`jbne z%}$n-%$(nO&DU(UsJN)_$^_$?x&Qv0asGZf|J}dxa{uz_h7*D!ov!)FF7k9@)0wvT z?Di~!=O03nOq}OU5xzZR!g@`;vhcY2<}CS-tk(J^A7(!;U@LXZ@#7 z&XC+IW4y_t`)5Lt)(hneg3=d?_ssk8R{!Zr_IJ~Jt+#pGs~`F8CwjUhBJ9XxnUyQo zq^71fpUV_Z{w$!TJHs;C@3>lAmvD4N(Jhz74g0wn*I!z4xNgS&Q@^T?uKbk7@Ai3$ z)(Z=p*ZUJwK0Mz4du>ksEyY-YG^4g_>NBkEq}kLrvcx7#O?`T-^?FT2Z}ypH<5CTd zG9SkGUpV-tFaFCPc5s<;>b7MWU!qsXPhzht?9ZwCE_>5?(~u-{E z`VCeXKAo_e&y&&HYgRG$o_BX|Nha%W=6ye-P)Gj|A8T~Z3B_vJOH6*e>sMU#{q`V` im0gQz#;e!=ndhGWGh@5Ir7Z&k1B0ilpUXO@geCxemixE> literal 12054 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-60x60@3x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-60x60@3x.png index e46366a80acfdc4dcd7669d62b303cf4a105df41..6e946d261a9ba467c0401bc7ce07ae2132df2711 100644 GIT binary patch literal 19229 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Bd2>47O+4j2IZao_M-AhE&{o8_V9Hk~+06 z^scRC?yQ@0n0KGniQI+mW8~MeQ%L=&-|D0;`@Av(#z$mR;R#v5>sv9TYy{6VWS5|24`ss_$TetUT^kaSwy& zOa?EbM2Q=R8_r$7*s^&`-xMWhle$;@-%mB$|ChhHvv#$Kv_p#PQj0(9?|VM~Z(`=P zGS%~GhhWjIr{SjzpU=@xJ26+6>2g=!hsAd!>iF9j@19<4e6IJpdve1!xz+b;oaOfY z)~o!s@b}V$D;k;oA|1gYQ|czoo?W@|2X${5#_Ay?{BHH%hxZec{52n<=vyd zm*w0Y{5g;BC`nfGEO7z@YqIAzZ*?)4#gZ+Xw-?n($>$xjuO`kG-x$E03 zmp3a92Ubg5xa;~@_oBqw50h`-tNO@V`D1$d$#N^xm90!WzVjMbS*zZ;wTfZid&TzCo#OFYzh$>wF`uZi z;dp!d;%^2Ej_&`lP`-ETRxPREl`l$iZYIxo^y6aNH?u-1!Cq;>Ud9Bsr0RPzg-$cI zHCWb0-d8yGZdb$=J?-yHwV8G~osgazX!-5V=ch}$^(Id=HO=Ig*1J{H!FV_Jn%Lq&612&+`UwmL9|gvSGP<0w(8M!9yxh8wbDF0h38t>rMG!sSha%JD@o*WrQp`3 zOO8A@-Qp2>MM(O;?Xx$ZpZws~o5p$Abv8fyg5A1xe_je!a(Erx6{;=R*}Zi03X5JX zfs83P=cqAACTu_Lbwp3+%ir3EU!`TT4^`y&9+Mg8vZ`Gtd-^v~8Bc_me)z*AApOJA)qg>a#bP&w z$R(F9)@r$5Xq(`{rN^b*b9{34?~fH?xeAPK(yvlqYA!#i8Q{6>{A_*sZHvxMU@9p; z+OPh8H~Z0k>(uXkZ#_P!sBQ0@IBkvQ&b1rkLVxJEB&$!F+a{2vl9#*q-LgqG_n-HR zhswlgOt3v787UgexQ>Ud|WD|E{t^5BnJVw>Md0LCj#o85O zxooze5Zv=|*CLVnX%hh|fM9;njtZu2I z^Y$C~#+!LqYTY@I8tD4hFYBr@Lr#E@I`hQk*dz^`H{LbX=2|Lk#zO{j9XS^FtfV2=Gy=C*S@7= z^~B)CEsa|;bw?&>-s0hMD3APeV{f!;@+B?@$El0{PEu3dE~wFQ!*C}rXPm~Ivz$R* ztpYkM`lqkOS?YhhQ^CWSBYZ^kX{`PGd1;2%^F@*$s~L6~d6f8gG1{=-v7F{HE&cnf z!a$96yk3i**tivqioM;JmFmWq~}~(uj|@ z_B)7r{q2^Yvh{>Nr`fbs-rYw(tv>d1uEd3j0*f|2n3ks?^|@?a^T`8mqixMIS+DRH zrFX*EAz zA=UU?&)eSr<04;<@_CX0ZV_87f9w!uOTDO8(C}{6kBzmD*`Au#y_t7k>!i1+y_c8q z>D-ift-B}wKcpRQeeQ}U+g_DTsnK5l zP6t?MIbZ2}^s}G!yj`Q~?3czV8$@!M7+<{WlCQ7-lDPB#IqQ_myG(^#TfXYnO{m_~ z zqjHWANoK2^|L&Z8e*Atk7r*z{9h|E&Hoy5|%pAW(GQgoc^v{hAuWUoR>ST`c3tvr^rZ*oWoLLqTJ1gM{K$+yFYh|T5!2)vUiW9~qBwK!Jt~o_ zteBt8yoC9fo64l@i5|E5UNr^U+*^I^L(}3#POU8m^mIHbH(p;O{QSh>%kk#2^|#BE zvhqWd6z1R7T>rr|eq+XE&dt{@1^Z18)_1;`_V1q1kww1ynRo4e#C|uo=h)Y+yOZOR z(_YCnX#F*l>y<6=EXq)yI@qdVDD9Vq4&B*V!AMuQQq8I=hY$R7{4h-_JJnk>AhThxxr0YSoD>aX;y-PpV3*J?%m481YwoTXaD!wEN*h_Dn*TfR*HNAbG$ot4=-S&NN4KP)|2 z&p9h3e7Q!eZSJO39%-%z%icJ-?TclZGtYBLymjQFjLVIS&Q4m~AM85&C%fLnM!j24 zL_t;Ct%-r^UGi%SdQAiKw7*Z>bt@{gZT*2Ba~Dy2r-f^tn6W0E%JpgDNZQZReNm!Q zjxlF)kcjy6Kjq&{>(9O9JyL0MJ@b>iW~X_e+S`mYrQ3{ubLTAbD-*L5n!J-$lT%Ob zsm+otGaA25eN-c^Byqv{P|Bt)n~EH|%xd{SDL3Ede|aU#(f<0sUo%BRUle$2*BNZ| zbV>H|sp)+CHZsy^>K(SFPE!_Y$o1|Ol2~l0FQnGrvFb`iwT$NH6Z5N8{yW}YHc@l) zpX(C8Z#!O{^D+5o+jN!H`zKEeW14-XCB*mSjF+92GsGi4%gwAmAY{oJQ~mK$>ffj> zFO5NIbH)9g#@Bu_Dn#!n-6--l`p*KDV=g=sgA0@0WTw;~zP-)b;Fffk@UMS@W?B`T zJJ(uFyYWL*^GDjJurnO4UV#^WU%nat$1?pVe`?v|zgr)ipC}=#sqMetnz3Ta{}iT0 z-y-Hr)-kD?EP76M;5v)V44D(Re~Y zyRM>g$+Z<-XYQw&oSWpHR?Wjwf9}`TzkgjfF7tN`Vau?O5ZAtLeDm{Z`5Eya_9$mX zC%dJJZ=Ja$&+%fLn&zo`om&+d;hQp;qbzIJR~8xV__k1e&XnzoeES*hhJH-G-S+k5 zqjrXdvx=9u|8UG(omc;))Iu;UaN+tp$8JmfTxgr^wrX|rcH3_sF7`MJWKVPz<>yFn zlkek`ke+_~%%2QT=9BYx*XI8JzU0IwFh`NbBa}0xjZOWKz3JN0|_SQ#r zTfXJTZ8y93GjPhejS_~^k0(jw1$!-haqMoI!*8DGY02TCl3sa_uSXpGTy6a5XurzR z6Ps*oM1B-oJ#XFh@l^Jsn97a*7ngrP*C)7hc%9ev0yWi`D*JW_Oup1y;niJvv@>CMWo4fA#x` z0!pdU`H`+i_uX2$>+55$G~<(Pa`u44%*Nh2bdq2r5l?m3d+uru}w{`YoRGqmqVc`$a++}UM`)|cERk3#EORp)J z{#$s)?QiZP_OBk4WItSc=X@7Xn8Q0q~zsc_5M$=WbnGTB;erztiv{C4Y^YinTp98{_??(wfKJrwwus!a`-#CFg zr_2K69^X>lJlW29hI7({S0DDOZirm@wQAc|zuBtC7i2U?s#NR$^!W6<-PI^~LQjL* z)e2p{7vb|Nqy9ZU_Ihb+Tc!P``y$Dn2f@T5VK*&r+)*L*i5D@kI8M36IWOGVWe$JJUmorz@xB!>Rh3_l$Y>bSDSy z?lv=eW_7Gs-|OQ`^-k8aHoK~HGqNVWmsJcrrQa4(@$>oq7DwyTSFeBLPoMVFh^fl- z!{%dst>5Z*r|jIbtElz0_%SQ(q_^H7#u;3jHeV@qKC`Kk>BQO$yY&U}ORLt;Eok88 z{amZF{VQvI*#XVBmYdmh>(6oC(P&-mB6Mq8Lei>D*Ru}z-kU4g@S{{^(lmZi;{!L9 zbKm+sd9l>ltwd++>uF#pQ(%Y~oki+)@#8`-++t#ko* zQgP;_{Hw>GZ5Pa0Am2CfseowQ+z_o3i`{xcY)*N;Zp#beRIWYt@LAgO;$tR zdavBmy)pTU2InKewo3wUAG=JovbOI@esH1syKUhNk85w)Hf%LB%DCv&zw8mqzBAqP zcA3?m>)SrD_0=oc51*ZZJ!@eXv^IA?3i0j!O|AdvDy{mYG~uU%f2< zN|w~;zOxlZJVu^c+#YO;le0Hvs2weEnw2imD}0!9dFbxF$NoHi{4^rnMCslZ&93U% z9ha`P^)|8?_iH!^A4v(=YsS{w`S|mvJ2mfR!dyQtlq$X-r^(c?TETT{i(^+QV~vEt ztd*LZ3*p}%oA!}FO7f>%hM7iLwPp}ul7k`y1(NxaLzbP{L#fz^7&Ru@1 z{K_w#klkJAI3sCe)=M9;;*e(z2^U(}WISV@Y8+wR%xcP_0djIy!b9mEPZ7R{5e%?>&;^jDrRgD+pX0&~( zG%z}NMdXBAeez*7&c&;4-8{el`n=YgRX+lzObYxxSJZGl`(m@duUOQM34A`x#`Y%s zUcf=ap81^T=gf19=H=ivdwS4ffpW*6+1J+vHr%`Hs_@dxDW7?PuJMzuecSqLgSTGT zJjtYN&aP66x;S35&0)*8>;H`Vo14ogbkL!RjZIeFDr<^h#J@cW_Zt4z{kk%@c|#+E z{GJ^?1-a~H9I8jB9or-4rFoEjqsZM2u5V})xs+brfV3D<}C`@ z8Ps?8R_(sL=X{x)x9YpBy|F~}{lT#Ro|7kss)=@<>|WWnpeo&e){LtH(c;mS$%o$Sny8d^`hzIt3@;oP~U>t5PP z-;dX=dOmsn`d!f*E6$!O|F~j8chQnclNlOCNwt4otL1C1coxY}SaR^5MpMsOsWVpf z(-wSsE*RP<^Vi{Dj+nT$-?XD^>X^-}C#3lW|JU33hH1}sQ6Z=6HBEg|OGI^Z3z^!yqFJ7ItQU2~U-p_}w!=u+HvW9E*>>Mg&%3xdb?Vni z3P=3Q@tH4kMlmjbpEm1*Q;J)fMD?t7+?<8kTN`bw?;LPZG2hBpc1z*a<0;C53pcZE zsWVv+dG*3sEtdQnk1JJqFTR~@*MIV5SKr5UPObVfrd9Ut6DA~^l`6zXS7^V>DNc6P zFf}`PDMLq+L34EhUgiS zk8OCWZB6&EN7S#ov%^*C1bfs&*N$EV(+wzv^GM zL)KPteJ(apr$t%Y7cQ8zJA-`sAo z*jw%wE$719U)V7HURhrC(};2H`Aq>wrv+?kIlFqra#g!zt6V3;?VYT? z)T8Y1h5K`Vc+{NRKUe<8_J6g}|7T7975C`%ugAG>fAYNjeq-JJ$Dd9AmM48Ux3}L` ztCU@rkELEO&cc3e!J@7b8TXzRf8U&|%2pqfkFd16r0%S{&KK|?iuHxr$%CgS?$DEZ z^*W#^CnRl3%dCZ76XWcKm;Y{ge9L(Ks)8Nc|5yfe`evx-^hnrN|KpuM@nDh7ul?n# zdE*=(o-aDG@a0s8QwPtSckq`Ld$MQZ-117JrV2iBEsZJ5e$AM2UCq{mE7G3-Wz39( zuibmPl3Gmv$w&tM*|{gNe@>g(!h=Nx?Pu2i`(2h9V_|Obr*c}g_jFI^;45CAlD|z` z=4$xJ!&}aIfnxQI_cuh_cKv!L=aL>Q|LFOW&*@7YC+|KQ&zE1i_v!h@Nrx`1G01zQ zGSejc+XBWf;(9jjv-&NS4E{)poG`HAWnf!%wC&i$(CIzuUb83E^7`&t%`PYX`gIZW zmUoO9t(7a5ZoPU{?kTG_V{S&g^89VpD+*Ww>(^!6QGOox`=lfDvuOMB#andeO#jaI zFy=?`#XDcj3^p%1BU;NVztq{mGiR?C@2i7v_gOOTx>)4?!td?$TYt8v$7ttEud6$h zabDB?!k2WuoX!Q&NhjU=B}EeIK7QPP;`IAHdTWcDE^moG5O>J(y?N#Z?g@OxvCwvpoeS9UeBd(&bDk6kasb0?|^urqM^|B%f%ff$5 zd%b?zF=c+lsNDO#RK!-`bJ-=YCBkPXUiX*mo^_?Bs`VBFs)Pk@bboMOZ?-QwF94)lq^$k zwYtaf>+Njw?|M$VS2fiX<)27*xh8%yA}oygc(;&hwu!ubI^QR_zRaX+;knK17uuHJJ9yxvQ+z*TZl#v#s@_u{48Ohh zOo;g^@#fD?nce@-?R)m?K=aJQb#gzh>ZhE4)Y@2`E4VG==ZEJi5wU{0LhEplDo@ihMDb$hJTNC zrh9z8*v>xrdh+V&^7VcFVMWbS5}Sk;9~a_(_(4Io{zrMbd!OL0gI=*hZ&%%0XS;Cj z!AB`G_I6)*aDL*&gM}NWCLh1Q^ZH$Z3WNIpm#;6rE}Z&a@Zje@>8#sfH>TTr$21i` zWMTMTlrj6k)etjbCfCT+(Dxec-Tcyz)Lzyxl&PdUOtvqdGM&|B)!{X!Pqco^7p5#Y z_~%gafA#e?-+Q+Bb1mE5H}}EJAH_xcx9s@2F|ks{y>ADT)=URms})C%Z=Wx^K>LDR z@~$0y5C8Alvn55~^YcSTttw<%nm+wu3hqn%y(J;_V^ zD&)WLo3UQ|e@C_cTcCl@tz6s5*~tyxx)<2aIURVa@loHg*?;G0XYF)+|6OU%4{JIi9D3B#Y82cE5% zd85y&?9-G3Oux8Su$jFRp1o7>SjsBL)AJv%YAebw6YT5^H=pa;7aX&Q*=jq7?58I2 zO>^}YFPYMRr@}9*_Mn{VPu52Ja8uLMH^bw_BMj=Fw`DI${&nTaPN_40EDtW6doE*o z|3=I20pXSo`Q6@LMT=#W&t5SO*%0h{ea6+$r%MVIgV_ysarFdfypF23VEDDUF(bSq zc;kx;31S-a{-2)zw0HacDPn8lyz?fq*7M!^)4S&9W+CB25}^T$4xR{E%)LiAJGR-j zaqlNV<*IWFLzi6j>h;q8vO;dllwDDmEIXDhE)MwkJji8A@p|60nY)>_F6^&=WtBO@ zJev8e!t?VVZ|d%ve%LL!jvZu~5kxv(oguGFqFcGjEFQeT+^zn;cuwrjsmpBX5; z`>KK4dcCzQg>SPBa-}c6Sn%+CPnmjLiKoKBkGpUG55Bhj@uKf{_OV;nhaH?&eWSG5 z{s$HGwZ+XkB($=1b;qPMdDA_6Zh832FrS(4t$1~A-OsCyQ(nj& zIkjio51$=Rq|I1UR79> zzL7knH(_mDv@!DBPRki5A3V?B8~g9=WAW41 zOtYuxy}I$S(d41i%Qe|kUd*58!?z=l+c$K=WxIa<4T5i9n^vEnuG=l1ke-tG@5kpr z@6A;?Mw&hA&z9|Z8_qN5j>`kCZHk)mmYbe0eedNHo&R`GqVJh$7Au4UZ!TQF)p*vg zqmeEz6h5TqNogGHXk(SP)R@rlZ0@_+<$rhO>rd)FH&s_gbb`9WWP9=Rv*x9?F;K!K05GUwJA-XPPh=cg?ntP?q={An}{ipk_eD2Aa3vnB*W}9a(tgex=bA{G>ov65m$cmSjnHzSW z%2V2+zrgucsv(oM%9oDS9lM`S{Pg7~SK5l(O9~czP0xBMHf^@=N)P zaH04V^C`&-ei~2rm?u)uoe?k78?pcUMoHnNAFn*#urbR;;mdQ8ry0eWXKvUuJPmPu z_fzkdKy4Urw4u7%#^2RTW->4M${y}N=LMTaC~t4k4a4TTH`5ljHMZ=MF%f3@7ZVe$ zpI-B4mLhMO+4;DtCyGh2)t1-z#JvN)q}RGM=9O$Ndwb~Enxwa%qrUq{Both^vGJ1j zZ;k%U&CiZ3`<5-NcsVLnV(Q~Pk-5QY@6S0{v(2)Xj+nRayd(SSKM5=3^8Y-x{CP-J z-1D_-`t$H*uNCXl{L&Klxh2h(;x07#zS}C|g2C$-je=4oywieIXF8v_U;3Uq<8HcD z+94Lr3+qJm`pow%&HZDTRljhXvGc84Oeg1S8_aufMti;Vri8jj{ohY*&;Pf`q#@1Y zz#r+8FLvj)-x6Bw9=~|WiMjs^8+P+$Xk-R&X`Hz*rfkg%yUU!$X`T_?CtgjjC`p^W zO!Y1ohr{KAVkZC2XnvpSq4Vr*{ecNApKHtixV-!IHFneU9m>D&?oZUYW&Qg2?UZ$sYgOJddWI+t$}c#{EiIY9hDIh3(M(z&XtI+b)(p-*GHCBI%XL zgoI~(qP3hzZ;73ewfO(}&fcCoRcWE4%7C3R%=_JS2O{P(+ zx2!sYo7b#I7IdD~onMZ>Le6HIn?dZ0zi*?T3f-9`ZMa5doPla4!|s+d`RpOU%GXh&e+ zJ2TaZMHvn9=BZg+Tm1ML)@sW>Ugk4Vspi_EK(57GP4AYvZ}xn2ZDN4cqwR|nUYxh) zQnd7&uX1in=exwoUwHR?TNdH2>m8Z+`1QQU>*hH%J%?BIuISP#ZpL3NE9O5q&um+N*qb+GiQ7|y zmg{0~kG_aWzZ^Dm%k`!``~NN5WwrBx1JBHz0#ctD_}k5|E7QB6oe*kBd)s z1Z>@{_TYe2_LUxQw&_|HpVIViEccc#*)9_`-8D`3j(gPW*Sxj4Ymbz_Sh|mG@}zzJ ztTwYI`aeG}8#=YoXVoErkBgJ5rmvZ{=03;f%ei77v%3DQXHs8HC#fdvN z7r)NE6Zv}HbdDH_sJPbNNG-=J%>L?DCCkpuo-d-UWV=>GEGu={$IIy*3su|L%tcE`Z~`_25lH(5TF?D_iWbJ1nh=iaxEK4%a( zXpt}2lwX$jJI3mMZ0GLEg{NCmvP9k3TlFvQ^Y^;J6lGld?_O+`#U`dL{|;BnGt_Qg zdo}mlb%u57O|M!v%-pzA^W^-qO-#o*+nLzYHrwvIy;NL0`slQ`MGu$T&E9_f#}nrI z3HkM3KVPc&#VNGr-@z)*v!`;~%1ZvSg$uTpmj-X%5*2f4rMAM9*Uy%S%;DPn+Oas+ zU;b)cg`(1hj!mDg)G}=SZgSta=W(aTx;)7Tb~%bl^?bcDl4rJ6e|m0cyFFBD!@_g3 zto_x_&Y3!W`uBG0f8Ou*{7%1Aac7gmT(jh>>_Y2So${>T_VQ{)OYXh2nH4lw@A<)o zq@=yhQ$i0bo|w;jX41T-&qm4b_l2A9tNk1LNu|f_>*sXVPkX+$*t>_X3%krU={f(Z z87uF~>fSlYd;U&uSxxTxTJhJp;d?jt_g#?N_D;Km{SWGMflQgz^@l51t zKWpUAcL=$K6FgJ=b@4?lm?loWmpf?@p)cw?*zHEW*LBi?<~H zD(^jgAh7HBW%nb=Ju_op`-W|eo9nLc^m~%<_36p`x1M3W5g~ffQ?*~G@$#9;+g7VG z{F%8sw#uR1E8x@KE&Yo=FXO*AotrOC=k0MFVfWe78&7&13wU(Csjc7T(DGwXloU<2 zq|Di!8`I!+cJY!eCYEywmrT67X!06{*tNDdCoS%qXcU~?;K+F`r`$c^>#>YbC)Oej zCdbF;C(gPPo5fbc_H>6Czty)Nar;}g|NptD=G!0RrC(1Rj)_|H^WZMUqw^OV)ZP5m z6y~v8@w`+zd)AD|Sz3+m3T85ur(RlK>|MhcyEt-2+S|fhCT z6lK||G(ATA+B>^%eX*;Az4o_@J3O@bu=u#gp{Bq~(;NCKEY2J}zKCV_a?j6&JE}Qy zT~hKGeM{lcy?(1Oa|!wcD8nWrqbD=F9Ea8Bi_`5Pp%PIR8u_o}lqRB^ke&zgE zQ{|;gwXFAZ96KR(ZbqPy$dAoTTiC)Jr{28sV>9p3j-6BWBCRUU2ri#DQRa0_-V;No zV5^H)`zGt{i17Ndvs`p)mK^)mDCW&lA=;UmwikU@o>ICNGsD7=`51Gd^qHyl(c1SW zKb`-}$It$96Zi8idzX3Y9^+2Qu2ZV#^XFK$Yod02*|noRfBceGSf=M*I1wMSWa{DT zO!BEw8&}7Q$#2xjbd$>WI(J3;`MQ9=Vg+AjKKIyZS2|ZvqHWTIRLihEg_o8oy881m z78L(|=6HC1cj64ox2v*?f60PoCnoNEyW;RvwfWwg9ZF8ANOJwz`E}xPh5K$Mshmee zY8i!?=C9r6yhLvT$ExP`c?Cu1j!ubVoV8!&Vs=EQcIK%sGxM5-RHW9e_qTX+W!tiX ztX1`k=AT)SFCp@0X8w~;ukGi4J$%3Rr|Qm+b1pBLns9Dox6P4ak$|0g;{S5;@2pA7 zR&kH`pw}lT^z25~+1l+FO=UYPy*QW-EmWVQ!uh_~vz}qraTZ@U%fF|xmpHw?VCt#4 z#ccKr=JgDl#a;#3x1_o#UVF!UZvNS=uTyVIrkC%2V_0bO_rl*#YtPpONlkk*{kQJi z=IVeJ39dgo|LXfcw7vd|ZDCuh+D`o|ec$Z_+%GRz-m!W90@dcrN|%(EE_ZL3x9YFa zuf~^MLCnq^aebVRb!^UVND&s8(>M9S?J1cP&VJk8GF`h~&#m?KBk!OBFWX)Jv0_vv=sm6vr^CNsnWaC0hc#d82ZeA^~p{8$3D3)hYlP+DIP!X z%DmOp7D`Lq?cLH${4Os!fAG`XL)*SRdCtdf^RBS@>ai8-%l*19P5mpswD{q9wJ(8E z6NElr*=1Gt^KbN%d%rL0nQnjnHYm}@ZL6C9l!NEy-xiqbx_|LOFPV>Xrk@jC9dcKx za^1z~3WIZ{NlyQ-Z1@t<{{G{N1)NbuKQ3-QH#IPHYTL{S@e$jfZ}C5?o_ly|`UXuS zNBU08EnvkS5xdhyshiHwDZIB9QNZitj+Opw|0a@E%$x5bo-L2Y3m$bpMThT zxBpe{|Id@xt;=J66_)W!&UQ z|C0U@y>R<{yYgLc=GjNjv6HcpEcusn?p@XY1+5=h#P;a<-CCE#7T~yc| zUGj}|8#xQ{PV9;OWp}PybheTTKnA2f5Aa3suyq6x4H5n%w~~H-d^jcFAaW3 zOsQp`WnY|fb4h3L6#t{uIkEfw&PDGjUlY5E|F{v$e0%ef)%M%}J>y?@LVE|ZyN!2? z)%~c6OO!ib#PocBGND2-HHN=Nx{`5=x!3&q!|6+sKdXhWj5a-)rOkHZ;G=-adAXiu z%n|}Oou$qBHR{*h*y5|VTeG&{OjrG0rTJEmQ!=f8b<9~^-#pj8{doV|OSA9(ymJ3a z*~240^wcWb8t-IodiL{}kZ*hCWU;y04ei?dii+nKKDT4tGTl4AqwmFrclQsl>26+k zZnF|o`0H~a?A^hpPK@VII5*AUtv_dC@oas+jmG^yU$$NBJ zPu6cYyz%E|R)&eu$8>Iots0jzFW$Vj$@Nh8_d?rsk9)Tp-f(@r&b?q}6RSg~bz;2R zb30a(e#@w@A3g;8P0qZ$tl9cF`?-SCBBxF)Y;*hGnV4C5``Q(5DO zOHRgO&VA*NzkWJ!x!?2d7Mp0x<}>r-tG$(i)l#3FUt3>uWb2LN4hPpfNce81ll}B} z$F;>VZ2yu(ZrlC5`(Ax@Q?2CO-!d20$i0&5*WULdRP%Dw1{tf52X@C8+q^jPIBUy} z?}wKu#K&nS_QbvA|Ci&?rR_ZP--E|Vmp|^WdRg@I`7iz@rN5@^X;!=NM=~fz?cbeW zr>jGLT5YVE7kFKVY3Y^O!WR1yrrr(=XV8(U|Ho>S74xQW^4W;X9tn(Rll9z6RMH+6 z=6yQoF3+8vz;(rl?Mm|XcUxqenzU^KQ$zf86YN@)-1q$~=A6Z=*Zcb1_4zex_FTTG zr29Dg7prmOv-7^yH9w2LTs2qa+TFCa_pMQagVvuD|K{br51$~sv`WKMySJ@sCy%4w zqrP2{f-gU(J+NapIXYWX>g$gq<^N=NrQ~KkVVvCjC}_vWJ9hmVq5W%Tt!EB7;=mat zpK$s5pGe-m#@4SKB^%;9eipqCpXSlM?Y;9SE9n%0Pw8`3U#pfc3IDyq^6>M-c9Z|s z(W`e%4$>~{ckF$%+5V5`r_ZdF48?H_x`w~!YdijVv(|o6kgb>S8Vk!i``7Y&Z@+jm zDPyuX@10pr5wg?t|D8E#_&izkw&dru6M7Lca|J{Hw$E@pG5`CY7kpcELbF$~iTw*% zu+(q%rxc|ES9^y|D^#0WFU(QzozGzXuJEKwLCCyk_h3W4RYhFwMf1$V8{9voPu?A? zG}Ax+^b$@ZgUw&r`0LZe>u>+97m8ji;PdX#1QXd@<~2d43YRUF-CsHvryM-wS|qZJ z*<;Vg(kzSf&&}ff_vp@gbix1bfA-AFixxO{`pssYBevHde%5Ytp0zdaLaujoS{`AtdViOFiq->vy_b4${k>-*lBmd&m3zaf#EU4GbzNBoyiMX|-dtuNE=?|8|^a$$Gk z5^swI@qcd{3+a9Bscx!2toLG`rz@vN!P_I<4FpoRbp>+3iy2_lz&73a|9+)3p z_ak`0CMB~JW5yTD*fcGkahxw(-TT5Rv&h#$i{+}thYL$RKMRVkj}&}4eRpac!(Qj& zd$z5%SJzfuI@-~lXl!+0ch8jwo#gegkK^8PI{VC+dpP#v^F`}^Zsxg>^XkFp=Y92m zjJG*C&EK^@bFqlbHkI5NmCt8u-`OL%?SU7|Jn8(sx+}AExV-lV?*GGZ%j+-W|C&Gg zJ1(7$71k)8c%mXTV$Q8jVXa&93Yk9zs-@3sTqm47!~T1R{p=Zs)32H>c(4CeZszVX zkAn-nukd+^U#<9AT6+9SzmQ7L|9`*PUGx`B`Lej<%JcnQvaOxB?n$5jFMD`R_uY#U z4coTn`bRcOG5?nd5#pV5;Lnfx;i)a);`X2GV^TW zdN`9WPj+aETdggk5Fp#h6qRHxQTh2!-4dxv<}K^;K+AJuU$sqEzU$%r#p1_AnX2j6 zULF$MH}|5-UxSP9nnm{0VG0J*7}*DnpW-teeRUx$6tJX7Nrs zV7pFbf_BgHK3VnYwJ-0pwU|HWy`WpxQ}m(Y`OOM~4Cjpx#=HQ+-KZ-*X!f+=W?}2wyx^FxN~=sm)`<2)n^AUIP&_v zeXvb3>T8`tdG~fUw|cYp^&*zMLUOf<{7RcWEiX>4m+(D%>EP3u^Slxy+fM%B5O;Nq z`TJnOjDMGAf9A{h_4t+Qx8rMEZtp*+a*k)`kK%Q&+_o=JlXvfo2}lyH&0(^RTd?#M zb6(TI`D+=UpPyl%u<*CsqdEcc8L79;I(?dAuN!M#$vJrJ?(_Jjlc#IbC7I{`S|)#I z-W-FYDg_4_ns@p$?u|Ws?!H{D$E=cF2kVRT6Xk@qYFJi!PP7hEPMX0``l2&k;p6m+XbA(hrdgw|vcKUH!D6MmErl{X$pQOSeU9)5WUn6KZ+B9)7bY z@29a<$)d?@eR(r1_>aZUV>>zb;is4tdWsP?zWSm~@q4CTb}8ihx>zW|?)9Y8PbG5y zm$Nq4`VKy=cTGK_ds8%_=*{tSmhpZ& z-<(pJ!OtTw<2TQR5OblP$2Z&MC)nPyN!U7x!J(Mz)9>`vU&SVsL-?Usf^{*BlkVn=LG(=pZBv}qByPVYX5Hr-Zk45>fgQb-*-kg`24Vo-x^a{0na7 ze@iVbc-vLJwE5(GH}g4m8p}$49&^1o&-HR;`tszdQ`P(nMH*7oH!Ylc>gO(*kS#nu zR=j&Z-J0<9yxOEh*0cbg@Nj{s+cHn2rrF)fVHY~uDa^xu;9X66sMU;*b@OVDMd}%x z=RcaZf#svY??XLHF88LrXWnsm!-n^axeM;d-iz)2nLWd~=b7)He#NKnp80UMNpUk@ z>&=b6BP18Si$&zgdH)rs9tAu+f9%@Zq<`nvI~Xqb`8dDi(G~yFpBHYl{`1OSwL7Tu zZbM)5b@ABko_~9$r_JG{MhqGe+j=ho22!*tIisy-Ini|n-dduq;!v3_}8$$fZKV=t}`Y@u%EGhfAHjX z-oWhlj%Vke-M?3X%{S^ocj;$waZ}4VpLS(1R+;`4Dn7hnqo33KyE2oXS*8Bmdj0gr zTkj4mXx{0sRC4I|p2DwMFB3K`^mcl3zShNj%4)vUw*t%bW=13{3ajn96IbJGVKKKX z=yGAa!xjs-jq2yOS%uDz{*<1Pow`2BdXepyu+0k<^Z!`R=Uo2t^L-_&_W_|n(l^pHk^{*0X)by{A!`T6#4di2Vj^-7QQzHet$X3S)GC(ma$qgr-h>HE+2|NgAl z(r)YT{x9a@?~PH3w;U(dO7H3ITQ|+eiuLW%H;u-ED`iYrE#~oV2>Y6`QSk2J46y>Y zUcWejtV+Ruxk`#g1&p_5*xeVOH(90rT+z~kb>cfdJ~8%4C_8?x`<_We0BS z&Ns|ZV@sPQQ{4Sff8Bg%1&+hBKk807y8QfX`3zHK{f2vMPww@NeY>piG5zz}@`)R4_`?+!X=hIP=lerjM&;DGrphd# zsox(=V@Xz5dv$$>?YTQHVI4o4%J+Y1n{td@r|93EM~4nFKZ^_Q)BPB*Q}Sp}+9^k= z1+sjVnwqZ^{n=O@o;+M-(ERA1$NYcR6$RcG9Cp8dW4Y?+diL+H zKWsH;wb#<5A5D_geoHp0@}6n6DF1!_ruVz*>QbRII_dI3COZz?Sz`Ye`7CA_sTL1W%e@O6yblo1_8}nEM{(U>X z-7`3K>FjXjqRX}Ei{GBqmM;onGR;(*%(nQeNA5Jk@DzqSie``3MQVTB_j|$Y#R(2y z(%t+Y8-~2A*na5sr>Z22**7-^@Z6}MxO>gqoW+M?(~rKoareaL^}A)Be^zFfS2O?f zn?EStxGD79xwAD-Eo>(#m^rdmtNU55JL0io?Vhtol})18%BaL&)L}g9>Gf*KWbMyO ze*dtuc)w0y&K@a;{al=(86`tuoy+wV#pwdBE|eHx02rzKg5wy6-e)`tvUlvrH0hn^>HkT+VmC@}W;I`;}8O ztlbwS|A{{5bYVJg#mt*$va0XB^7`{<=MCM;PfNp9_PcRw#1=OTp4rRvW%Ysgem~5& zZ7#BTvG+!iFVBxXm&BePpa}TZ6 zI})u?`cTsN@=8{}3d0?_9P0m1t*?unHn(os>)$dbt&Fd|N;a^pl`X%c(QG^E(EESS z;(lHf&!1Fp^L2+wcESR-Tm?;@+`DZZ;ax3;wyQp7Yb;#7HiGTi4=pL7{%>3oKLR=* zUyevWmh~iVb4~6>+lS{f9oqcfRcOpSY|T13_m1Wpo@q=$8s9jiR&-Tqa(utnb2MZ9 zZMj+>_QqF?GNMv<65bWITzh%!s=NNwvkY-ck0wf47_hq@4@=+CyC}qWGtX}($*HwZ zHZtAw`gkn%%gytrGv)WI2~W7Jw<%n)S$!6d%DpAkr%S_|er;fR)46TJR+bo>E=RMO zi%c~GGH&-pTxM9=@jRq(+EylsTi;$rUC#7-@pb!!;7Fah$Ms&%Q@$+w}bZ#bu(e z%WU_FDvef}J~{Y|{^t+28r*89uJjn`G+4O4+vf%RBTt+tn>ei@4EMeMNjwW ze7SIS$GmG9B1?Gxd~fTQRo`7OaZ9y@hPc$t2fuXwMVKZV-9NVDMaF5fttU_O=VWnFVJrRb%roZ4@%azRwtGu1|1)oPIrHqP`&LdqI%~$w0MVvdhx^L?3_lh9 z5!!e1_IBy}$L3~#TXcob@!Z)N(sF+ScV2I(TV?y~e#MXH|CP)Ce>r|>;eJ7ZXD{bp zVErvnb!o$CiJryj=|u)7 zgB^~s=4{~KbmqC?6vy(#8BCQIosx6aZ0E23)bsrTEDDS*xrk9eMF%#yLs1MCSwrqX`CSOb&wg zt~76m=s4xNa@w9REGOb3C+^whIa_$szr9n7KBtO%F~1X%jXT;PGxOXYj|g4EBBh5s zqE-zZs~EjM{Mendzr&ZC;b*z}x<9O+kKW98>`B_&r8qf%-&(gUNtuL~$+wImV^a?u zKQj4bc3a{bwmmuvO{K5QZLDV4d&QSkz~;Po-KWh@+Saoil{jI@+{pZet09Fs!r3;j zSw6n3W6QNGJ3<(CFZL~6zM`dHHC6tdr{o%uq<@E0*-uW5|GBGYroqDV4Rc<8eHH)v zsP6qq%M+KZV$YE6ugg3EA*H)?%N_`brYsX^T4QR%Kr|LfL^uWEU4?c%CadZr~z(K}Z0 z`Ld`jS{lympQrm_PL}ZVQ)&|gIa*rf1LTgM>Dey8>=+ zo4Df7+f&vb{k=P{F~(rZ`^mo3ww#-6@M#CX_|x}!{}+}_5c+BQNhzy{Wkc^n)3VCz zyR5p6)hf-V%K7a*e?{Vs&}q#RTV+M6c6oUu-?BKTebz;SWATgG;kgIzuH$it>$+JK zUjNs6-FsfvT+93hzdQS+HVJGZM|)_m-wpc1>#dX9$l|}Ep}Zm*NxZh$-iwX zpBANTxwf;^Sm}xG{2g9lhna5s^j;TEyxE@dIVqQYL!|B-rW<#BvV#g8E^Ge&%%hg| zY3$xDp{M) zcVArJkXE9mAou(3|5LH{zZQ1qRqRX_Y=~)DzE4W0zJP@cxTu6ae)PZ2YpZ=Xb6WU?RD9A2W{Dl@xT;Ab{NQr^=| z$`9Y!o}0bVq*Hq7s#TXN>XL4yOT_#;5+A zjfUpOx5*_D>)MTPw;3geE>SWon__)o5%2NKE#A(1@19-B=O`#trN3jopy17KAA2Mw zutruaIx;iDSZ5Y*!uksrLJfY2TB<<+JAfh7fYYUs)$=N#HTFzoESP|p-sDo=8AiP?~DT!r#Mf0a%H7(QwK?i;+z_zrWG|$UZ!h`$0XH;KT_epc4k)n>#mB-`2SYbYW3gFu0MIo zJbrrEr`J9|nOFC*m}~X%d0oAC#Q$bWpqsdvzJbtW<=?h~Q$)`lp25<5$<@5p^V!?_ zh6>YEww^?V?+h0>jf2=19gXCE?xC2spIxSMO3c@*`5vw{KfVTZi#@si-u-gp*_+Dt zdw*(g68*h8J5cb9&e^RFA00%ePPM5rh|svXLp3fz^ZcLU3rF1#dYCd@dHgtjU*t3S z9V*(z*FH>SULbrg{a#)DPx6 zb#?RB_--V0;tuEJOeXEpmqI)Ks~z^LzWIE=Qn9UIrNoI^ju-XYmhWFEZ}#t4ma_7; z?=~9_J~ZF{*WusC z8@#Rb)LrIkS0lQQ@x7*uU6A;%sug9?I@|B4e_VF=_xnF9r49)1Z#>G7(? zruyA=*JlezJv(u@VcLTewK1n1trqS6RpH{OZ=tq!$(`IM@;Om|4HnoRDLK-g-W|4R yUJ~Eu$B7R7LAurHe|Y*C_p~qF{zvXV|I_mud=~AoImf`jz~JfX=d#Wzp$P!`D8Bsw literal 17583 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-76x76@1x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-76x76@1x.png index c732ee468a346839180f5c82ea78db2e71834da2..22f1af4d4adb37a51e518fcc01dc32517d75f878 100644 GIT binary patch literal 7057 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 PFfe$!`njxgN@xNAcs9B; literal 6706 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 DJSp|M diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-76x76@2x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-76x76@2x.png index 52368fe71706efb2f34b7251954c3e4911da16e5..828c3959f0b4ddcb9052d72ecc6ff0d136e56074 100644 GIT binary patch literal 16546 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 A&Hw-a literal 15778 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 diff --git a/apps/tauri/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/apps/tauri/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png index d328f9750827afccd67251c32b444b291650c81b..ee9fc5d54988a2fbc42abfa28b36d5f4583f90db 100644 GIT binary patch literal 17985 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 From 94e9a67f6e21b5881f4622a495be12cfc33492ce Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 18 Jun 2026 15:14:06 +0200 Subject: [PATCH 03/75] (feat): add border radius option --- .../src/features/conversation/list/switch.tsx | 8 +- apps/web/src/index.css | 11 + apps/web/src/index.tsx | 16 +- bun.lock | 196 +++++++++++++++--- package.json | 2 +- packages/shared/src/data.ts | 2 + 6 files changed, 200 insertions(+), 35 deletions(-) diff --git a/apps/web/src/features/conversation/list/switch.tsx b/apps/web/src/features/conversation/list/switch.tsx index 1839e6a..be3e10e 100644 --- a/apps/web/src/features/conversation/list/switch.tsx +++ b/apps/web/src/features/conversation/list/switch.tsx @@ -23,10 +23,10 @@ export default function Switch(props: { return (

    { + load("theme_border_radius"), + ]).then(([color, palette, primaryColor, polarity, tint, borderRadius]) => { if (!active) { return; } @@ -141,6 +144,7 @@ function ThemeStorageBridge() { setThemePrimaryColor(primaryColor); setThemePolarity(polarity); setThemeTint(tint); + setThemeBorderRadius(borderRadius); loadedRef.current = true; }); @@ -149,6 +153,7 @@ function ThemeStorageBridge() { }; }, [ load, + setThemeBorderRadius, setThemeColor, setThemePalette, setThemePolarity, @@ -196,6 +201,14 @@ function ThemeStorageBridge() { save("theme_tint", themeTint); }, [save, themeTint]); + useEffect(() => { + if (!loadedRef.current) { + return; + } + + save("theme_border_radius", themeBorderRadius); + }, [save, themeBorderRadius]); + return null; } @@ -210,6 +223,7 @@ function RootShell() { paletteStorageKey={null} primaryColorStorageKey={null} tintStorageKey={null} + borderRadiusStorageKey={null} >
    =18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-GawYz7HEjj8rTUUDoT/SemDEVm63pZUO+2mOcXHY9Jl3EwMS5gFBnPu/2UvcrwRm1jN1k79fokc0d4aFmrLatg=="], + "@tanstack/react-router": ["@tanstack/react-router@1.170.16", "", { "dependencies": { "@tanstack/history": "1.162.0", "@tanstack/react-store": "^0.9.3", "@tanstack/router-core": "1.171.13", "isbot": "^5.1.22" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-w6eq1IJklujs1tESazaK/FxH0+H2l8vm/QPuu1cD3oRW/ubgKneQpd7b64ti/8gUyEimzimJQZDmJr6YHfP5+g=="], "@tanstack/react-store": ["@tanstack/react-store@0.9.3", "", { "dependencies": { "@tanstack/store": "0.9.3", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg=="], - "@tanstack/react-virtual": ["@tanstack/react-virtual@3.14.2", "", { "dependencies": { "@tanstack/virtual-core": "3.17.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-IpWnmCLvuymRfeeLNVXIzNEYBFLpd3drVIS91sqV78VTZFyldlChkOocZRCPp1B+Wnk09bcLNme8WaMU/9/9bQ=="], + "@tanstack/react-virtual": ["@tanstack/react-virtual@3.14.3", "", { "dependencies": { "@tanstack/virtual-core": "3.17.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-k/cnHPVaOfn46hSbiY6n4Dzf4QjCGWSF40zR5QIIYUqPAjpA6TN7InfYmcMiDVQGP2iUn9xsRbAl8u1v3UmeVQ=="], "@tanstack/router-core": ["@tanstack/router-core@1.171.13", "", { "dependencies": { "@tanstack/history": "1.162.0", "cookie-es": "^3.0.0", "seroval": "^1.5.4", "seroval-plugins": "^1.5.4" } }, "sha512-+NOwEj1kO/6IGmpHRIZHasYxYWpyBQGNIZAST9aNrk9Q3YlU9SgqVnl1pbLa9qAKfeNdXQIRve0RQb/0kyDeDA=="], "@tanstack/store": ["@tanstack/store@0.11.0", "", {}, "sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw=="], - "@tanstack/virtual-core": ["@tanstack/virtual-core@3.17.0", "", {}, "sha512-gOxY/hFkPh/XQYhnThBHzkbkX3Ed+z/iushyz+R+JAr213aXxUDgQoTgTdrDpBSRsjFM73P/KfUyWmaF9WHMkQ=="], + "@tanstack/virtual-core": ["@tanstack/virtual-core@3.17.1", "", {}, "sha512-VZyW2Uiml5tmBZwPGrSD3Sz73OxzljQMCmzYHsUTPEuTsERf5xwa+uWb01xEzkz3ZSYTjj8NEb/mKHvgKxyZdA=="], - "@tauri-apps/api": ["@tauri-apps/api@2.11.0", "", {}, "sha512-7CinYODhky9lmO23xHnUFv0Xt43fbtWMyxZcLcRBlFkcgXKuEirBvHpmtJ89YMhyeGcq20Wuc47Fa4XjyniywA=="], + "@tauri-apps/api": ["@tauri-apps/api@2.11.1", "", {}, "sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA=="], "@tauri-apps/cli": ["@tauri-apps/cli@2.11.2", "", { "optionalDependencies": { "@tauri-apps/cli-darwin-arm64": "2.11.2", "@tauri-apps/cli-darwin-x64": "2.11.2", "@tauri-apps/cli-linux-arm-gnueabihf": "2.11.2", "@tauri-apps/cli-linux-arm64-gnu": "2.11.2", "@tauri-apps/cli-linux-arm64-musl": "2.11.2", "@tauri-apps/cli-linux-riscv64-gnu": "2.11.2", "@tauri-apps/cli-linux-x64-gnu": "2.11.2", "@tauri-apps/cli-linux-x64-musl": "2.11.2", "@tauri-apps/cli-win32-arm64-msvc": "2.11.2", "@tauri-apps/cli-win32-ia32-msvc": "2.11.2", "@tauri-apps/cli-win32-x64-msvc": "2.11.2" }, "bin": { "tauri": "tauri.js" } }, "sha512-bk3HemqvGRoy+5D/dVMUQHKMYLglD0jVnMm/0iGMH6ufZ+p8r14m6BpIixwij3PBvZdvORUp1YifTD8QxVZ1Nw=="], @@ -759,7 +789,7 @@ "@tensamin/ttp-core": ["@tensamin/ttp-core@https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz", { "dependencies": { "@eslint/js": "^10.0.1", "@tauri-apps/api": "^2.9.0", "@typescript-eslint/parser": "^8.59.1", "@webtransport-bun/webtransport": "^0.3.0", "globals": "^17.5.0", "typescript": "^6.0.3", "typescript-eslint": "^8.59.1", "zod": "^4.4.1" } }, "sha512-Db94CDOTYvzJSQDZGDgziUXRvXx9PiEfYDQt6sYe8Nyg+KD/aiKnyQx7NeEiG03TfYE3ogNxXOsrcsip4di8+g=="], - "@tensamin/ui": ["@tensamin/ui@https://git.methanium.net/tensamin/ui/archive/0.0.37.tar.gz", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }, "sha512-yxZjHxzagey2+r5UqXi2+Z2GYVSuj2QKVtitHLAuXzdidobGDdtV8tHkTJP7WKLdFASJ/g4ULSWvGJ12PHPoaw=="], + "@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], "@tensamin/user": ["@tensamin/user@workspace:packages/user"], @@ -893,13 +923,15 @@ "at-least-node": ["at-least-node@1.0.0", "", {}, "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="], + "atomically": ["atomically@1.7.0", "", {}, "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w=="], + "aws4": ["aws4@1.13.2", "", {}, "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw=="], "balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - "baseline-browser-mapping": ["baseline-browser-mapping@2.10.37", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-girxaJ7WZssDOFhzCGZTDKoTa1gk6A1TbflaYTpykLJ4UU9Fz9kx1aREM8JCuoVHbL8X8T/mJg7w2oYSq72Oig=="], + "baseline-browser-mapping": ["baseline-browser-mapping@2.10.38", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw=="], "bluebird": ["bluebird@3.7.2", "", {}, "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="], @@ -981,6 +1013,8 @@ "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + "conf": ["conf@10.2.0", "", { "dependencies": { "ajv": "^8.6.3", "ajv-formats": "^2.1.1", "atomically": "^1.7.0", "debounce-fn": "^4.0.0", "dot-prop": "^6.0.1", "env-paths": "^2.2.1", "json-schema-typed": "^7.0.3", "onetime": "^5.1.2", "pkg-up": "^3.1.0", "semver": "^7.3.5" } }, "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg=="], + "content-disposition": ["content-disposition@1.1.0", "", {}, "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g=="], "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], @@ -1037,6 +1071,8 @@ "date-fns-jalali": ["date-fns-jalali@4.1.0-0", "", {}, "sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg=="], + "debounce-fn": ["debounce-fn@4.0.0", "", { "dependencies": { "mimic-fn": "^3.0.0" } }, "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ=="], + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], "decamelize": ["decamelize@1.2.0", "", {}, "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="], @@ -1083,6 +1119,8 @@ "dmg-builder": ["dmg-builder@26.15.3", "", { "dependencies": { "app-builder-lib": "26.15.3", "builder-util": "26.15.3", "fs-extra": "^10.1.0", "js-yaml": "^4.1.0" } }, "sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ=="], + "dot-prop": ["dot-prop@6.0.1", "", { "dependencies": { "is-obj": "^2.0.0" } }, "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA=="], + "dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], "dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="], @@ -1105,7 +1143,7 @@ "electron-publish": ["electron-publish@26.15.3", "", { "dependencies": { "@types/fs-extra": "^9.0.11", "aws4": "^1.13.2", "builder-util": "26.15.3", "builder-util-runtime": "9.7.0", "chalk": "^4.1.2", "form-data": "^4.0.5", "fs-extra": "^10.1.0", "lazy-val": "^1.0.5", "mime": "^2.5.2" } }, "sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q=="], - "electron-to-chromium": ["electron-to-chromium@1.5.372", "", {}, "sha512-M3yhbAlilnwqC8D21t28UCDGHyitShTmmLRU/H+b74P6Ski16Nb9HONYEaVpMj/pwC7BEo5B95FpjODLCWbtfA=="], + "electron-to-chromium": ["electron-to-chromium@1.5.375", "", {}, "sha512-ZWP5eB4BVPW/ZYo9252hQZHZ5XavtsTgpbhcmMmRwymavC5AsLWQWBPaKMeNd2LW0KGby5HPXvj7+sr4ta5j/Q=="], "electron-winstaller": ["electron-winstaller@5.4.0", "", { "dependencies": { "@electron/asar": "^3.2.1", "debug": "^4.1.1", "fs-extra": "^7.0.1", "lodash": "^4.17.21", "temp": "^0.9.0" }, "optionalDependencies": { "@electron/windows-sign": "^1.1.2" } }, "sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg=="], @@ -1191,7 +1229,7 @@ "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], - "fallow": ["fallow@2.96.0", "", { "dependencies": { "detect-libc": "2.1.2" }, "optionalDependencies": { "@fallow-cli/darwin-arm64": "2.96.0", "@fallow-cli/darwin-x64": "2.96.0", "@fallow-cli/linux-arm64-gnu": "2.96.0", "@fallow-cli/linux-arm64-musl": "2.96.0", "@fallow-cli/linux-x64-gnu": "2.96.0", "@fallow-cli/linux-x64-musl": "2.96.0", "@fallow-cli/win32-arm64-msvc": "2.96.0", "@fallow-cli/win32-x64-msvc": "2.96.0" }, "bin": { "fallow": "bin/fallow", "fallow-lsp": "bin/fallow-lsp", "fallow-mcp": "bin/fallow-mcp" } }, "sha512-fNEj+b/LUVXwfyxZPnr+SJjdQHCKjUbWgluW/wC7Q5kcJENHNEJtmFDgpHEqKY6gY257xRCgyg1AlSC8YQgROA=="], + "fallow": ["fallow@2.99.0", "", { "dependencies": { "detect-libc": "2.1.2" }, "optionalDependencies": { "@fallow-cli/darwin-arm64": "2.99.0", "@fallow-cli/darwin-x64": "2.99.0", "@fallow-cli/linux-arm64-gnu": "2.99.0", "@fallow-cli/linux-arm64-musl": "2.99.0", "@fallow-cli/linux-x64-gnu": "2.99.0", "@fallow-cli/linux-x64-musl": "2.99.0", "@fallow-cli/win32-arm64-msvc": "2.99.0", "@fallow-cli/win32-x64-msvc": "2.99.0" }, "bin": { "fallow": "bin/fallow", "fallow-lsp": "bin/fallow-lsp", "fallow-mcp": "bin/fallow-mcp" } }, "sha512-p+JRuyx8chpTI/zJ3rF1F0b0baMpG1WYdJcJZn1fYPRSyio/uheF1o24TWz/eDZNIFrQQDsy9n5nznnW6Lmcqw=="], "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], @@ -1303,7 +1341,7 @@ "hermes-parser": ["hermes-parser@0.25.1", "", { "dependencies": { "hermes-estree": "0.25.1" } }, "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA=="], - "hono": ["hono@4.12.25", "", {}, "sha512-2NFaIyNVgJmBs/ecmtGzlmluTFs5cHEWGTdu0t1HBwYzoGXOL5nUQBRMXsXWla5i4KkG//QMzVP88m1+I3fdAQ=="], + "hono": ["hono@4.12.26", "", {}, "sha512-uyZtpnYxM9CmQ7QsQknM4zN8EftNqhON1qYeIKM0Se67CCEe2c44xyGURwB0axX2fBDu1dqHrHAc1hmNT8ITkw=="], "hosted-git-info": ["hosted-git-info@4.1.0", "", { "dependencies": { "lru-cache": "^6.0.0" } }, "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA=="], @@ -1343,7 +1381,7 @@ "is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], - "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + "is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], @@ -1373,7 +1411,7 @@ "is-unicode-supported": ["is-unicode-supported@2.1.0", "", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="], - "is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="], + "is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], "isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="], @@ -1463,7 +1501,7 @@ "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - "lucide-react": ["lucide-react@1.18.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-LZDb7H/0YfM+RJncD0hDQRCAu+vSGODqpe35TuVI8EuXaRjkczbsx7p8dY4J87F/MUSj6bpYqeI8nw8qXaAdmA=="], + "lucide-react": ["lucide-react@1.21.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-reEZMXq8Qdd5jg5XYkQ5TR1fB/GiQ7ih4vcrthYDtgjSDwh0i6/YLiGjsWsIwgN49gpAnd4J2elSNzncMEEUUQ=="], "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], @@ -1487,7 +1525,7 @@ "mime-types": ["mime-types@3.0.2", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A=="], - "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], + "mimic-fn": ["mimic-fn@3.1.0", "", {}, "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ=="], "mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="], @@ -1503,6 +1541,8 @@ "mkdirp": ["mkdirp@0.5.6", "", { "dependencies": { "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="], + "mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="], + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], "msw": ["msw@2.14.6", "", { "dependencies": { "@inquirer/confirm": "^6.0.11", "@mswjs/interceptors": "^0.41.3", "@open-draft/deferred-promise": "^3.0.0", "@types/statuses": "^2.0.6", "cookie": "^1.1.1", "graphql": "^16.13.2", "headers-polyfill": "^5.0.1", "is-node-process": "^1.2.0", "outvariant": "^1.4.3", "path-to-regexp": "^6.3.0", "picocolors": "^1.1.1", "rettime": "^0.11.11", "statuses": "^2.0.2", "strict-event-emitter": "^0.5.1", "tough-cookie": "^6.0.1", "type-fest": "^5.5.0", "until-async": "^3.0.2", "yargs": "^17.7.2" }, "peerDependencies": { "typescript": ">= 4.8.x" }, "optionalPeers": ["typescript"], "bin": { "msw": "cli/index.js" } }, "sha512-ALe+N10S72cyx94cMcy3Zs4HhXCj35sgeAL4c+WTvKi0zWnbd8/h0lcFqv0mb2P+aSgAdD7p9HzvA0DiUPxsyg=="], @@ -1519,6 +1559,8 @@ "node-abi": ["node-abi@4.31.0", "", { "dependencies": { "semver": "^7.6.3" } }, "sha512-Erq5w/t3syw3s4sDsUaX4QttIdBPsGKTT1DTRsCkTonGggczhlDKm/wDX3o+HPJpQ41EjXCbcmXf0tgr5YZJXw=="], + "node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="], + "node-api-version": ["node-api-version@0.2.1", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q=="], "node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="], @@ -1529,7 +1571,7 @@ "node-int64": ["node-int64@0.4.0", "", {}, "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="], - "node-releases": ["node-releases@2.0.47", "", {}, "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og=="], + "node-releases": ["node-releases@2.0.48", "", {}, "sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA=="], "nopt": ["nopt@9.0.0", "", { "dependencies": { "abbrev": "^4.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw=="], @@ -1597,6 +1639,8 @@ "pkce-challenge": ["pkce-challenge@5.0.1", "", {}, "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ=="], + "pkg-up": ["pkg-up@3.1.0", "", { "dependencies": { "find-up": "^3.0.0" } }, "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA=="], + "pkijs": ["pkijs@3.4.0", "", { "dependencies": { "@noble/hashes": "1.4.0", "asn1js": "^3.0.6", "bytestreamjs": "^2.0.1", "pvtsutils": "^1.3.6", "pvutils": "^1.1.3", "tslib": "^2.8.1" } }, "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw=="], "plist": ["plist@3.1.0", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" } }, "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ=="], @@ -1809,6 +1853,8 @@ "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "systeminformation": ["systeminformation@5.31.7", "", { "os": "!aix", "bin": { "systeminformation": "lib/cli.js" } }, "sha512-/8NC53e5nP9nmhn42/ncdOkyJnOoue/Vy+tJOyUGd1Yv66G069wK4rrziwhrqDETgk78CudTQupw5z19S5uoZw=="], + "tagged-tag": ["tagged-tag@1.0.0", "", {}, "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng=="], "tailwind-merge": ["tailwind-merge@3.6.0", "", {}, "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w=="], @@ -1873,7 +1919,7 @@ "typescript-eslint": ["typescript-eslint@8.61.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.61.1", "@typescript-eslint/parser": "8.61.1", "@typescript-eslint/typescript-estree": "8.61.1", "@typescript-eslint/utils": "8.61.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-V7PayAfJokV3pEHgN7/v03D1SpujhRfQtYLbLIiBfDDncdg4PAiRBfoS4cnCANK4jmAPncczi59QO3afiXUlNw=="], - "undici": ["undici@6.27.0", "", {}, "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg=="], + "undici": ["undici@7.28.0", "", {}, "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA=="], "undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="], @@ -1965,12 +2011,16 @@ "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@base-ui/utils/reselect": ["reselect@5.2.0", "", {}, "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw=="], + "@dotenvx/dotenvx/commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], "@dotenvx/dotenvx/dotenv": ["dotenv@17.4.2", "", {}, "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw=="], "@dotenvx/dotenvx/execa": ["execa@5.1.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="], + "@dotenvx/dotenvx/open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="], + "@dotenvx/dotenvx/which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], "@electron/asar/commander": ["commander@5.1.0", "", {}, "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg=="], @@ -2005,13 +2055,17 @@ "@mswjs/interceptors/@open-draft/deferred-promise": ["@open-draft/deferred-promise@2.2.0", "", {}, "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA=="], + "@parcel/watcher/detect-libc": ["detect-libc@1.0.3", "", { "bin": { "detect-libc": "./bin/detect-libc.js" } }, "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="], + "@reduxjs/toolkit/immer": ["immer@11.1.8", "", {}, "sha512-/tbkHMW7y10Lx6i1crLjD4/OhNkRG+Fo7byZHtah0547nIeXYcpIXaUh0IAQY6gO5459qpGGYapcEOHtFXkIuA=="], + "@reduxjs/toolkit/reselect": ["reselect@5.2.0", "", {}, "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" }, "bundled": true }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="], "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="], - "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="], "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.5", "", { "dependencies": { "@tybys/wasm-util": "^0.10.2" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" }, "bundled": true }, "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q=="], @@ -2021,8 +2075,28 @@ "@tanstack/react-store/@tanstack/store": ["@tanstack/store@0.9.3", "", {}, "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw=="], + "@tensamin/call/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + + "@tensamin/chat/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + + "@tensamin/notifications/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + + "@tensamin/shared/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + + "@tensamin/storage/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + + "@tensamin/tauri/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + + "@tensamin/tauth/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + + "@tensamin/ttp/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + "@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + "@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "@tensamin/web/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], "ajv-formats/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], @@ -2043,8 +2117,16 @@ "clone-response/mimic-response": ["mimic-response@1.0.1", "", {}, "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="], + "conf/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], + + "conf/ajv-formats": ["ajv-formats@2.1.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA=="], + + "conf/json-schema-typed": ["json-schema-typed@7.0.3", "", {}, "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A=="], + "dir-compare/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], + "dot-prop/is-obj": ["is-obj@2.0.0", "", {}, "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="], + "eciesjs/@noble/curves": ["@noble/curves@1.9.7", "", { "dependencies": { "@noble/hashes": "1.8.0" } }, "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw=="], "eciesjs/@noble/hashes": ["@noble/hashes@1.8.0", "", {}, "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A=="], @@ -2069,6 +2151,8 @@ "hosted-git-info/lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="], + "is-inside-container/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + "log-symbols/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], "log-symbols/is-unicode-supported": ["is-unicode-supported@1.3.0", "", {}, "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ=="], @@ -2077,14 +2161,20 @@ "micromatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + "node-gyp/undici": ["undici@6.27.0", "", {}, "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg=="], + "node-gyp/which": ["which@6.0.1", "", { "dependencies": { "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" } }, "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg=="], "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], + "onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], + "ora/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], "ora/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], + "pkg-up/find-up": ["find-up@3.0.0", "", { "dependencies": { "locate-path": "^3.0.0" } }, "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="], + "pkijs/@noble/hashes": ["@noble/hashes@1.4.0", "", {}, "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg=="], "postject/commander": ["commander@9.5.0", "", {}, "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ=="], @@ -2115,6 +2205,8 @@ "wrap-ansi/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "wsl-utils/is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="], + "@dotenvx/dotenvx/execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], "@dotenvx/dotenvx/execa/human-signals": ["human-signals@2.1.0", "", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="], @@ -2127,6 +2219,8 @@ "@dotenvx/dotenvx/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], + "@dotenvx/dotenvx/open/define-lazy-prop": ["define-lazy-prop@2.0.0", "", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="], + "@dotenvx/dotenvx/which/isexe": ["isexe@3.1.5", "", {}, "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w=="], "@electron/asar/minimatch/brace-expansion": ["brace-expansion@1.1.15", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg=="], @@ -2139,7 +2233,41 @@ "@modelcontextprotocol/sdk/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - "@tailwindcss/oxide-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="], + "@tensamin/call/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + + "@tensamin/call/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "@tensamin/chat/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + + "@tensamin/chat/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "@tensamin/notifications/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + + "@tensamin/notifications/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "@tensamin/shared/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + + "@tensamin/shared/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "@tensamin/storage/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + + "@tensamin/storage/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "@tensamin/tauri/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + + "@tensamin/tauri/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "@tensamin/tauth/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + + "@tensamin/tauth/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "@tensamin/ttp/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + + "@tensamin/ttp/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "@tensamin/web/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + + "@tensamin/web/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], "ajv-formats/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], @@ -2153,6 +2281,8 @@ "cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "conf/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + "dir-compare/minimatch/brace-expansion": ["brace-expansion@1.1.15", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg=="], "electron-winstaller/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], @@ -2175,6 +2305,8 @@ "ora/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], + "pkg-up/find-up/locate-path": ["locate-path@3.0.0", "", { "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="], + "qrcode/yargs/cliui": ["cliui@6.0.0", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="], "qrcode/yargs/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], @@ -2201,12 +2333,18 @@ "glob/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + "pkg-up/find-up/locate-path/p-locate": ["p-locate@3.0.0", "", { "dependencies": { "p-limit": "^2.0.0" } }, "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="], + + "pkg-up/find-up/locate-path/path-exists": ["path-exists@3.0.0", "", {}, "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="], + "qrcode/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "qrcode/yargs/cliui/wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], "qrcode/yargs/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], + "pkg-up/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], + "qrcode/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "qrcode/yargs/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], diff --git a/package.json b/package.json index 5256dcd..b1aacf8 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "typescript-eslint": "^8.59.1" }, "overrides": { - "@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.37.tar.gz", + "@tensamin/ui": "file:../ui", "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz" }, "dependencies": { diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 765dce7..00473ae 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -285,6 +285,7 @@ export interface Storage extends SettingsStorageDefaults { theme_primary_color: string; theme_polarity: "dark" | "light" | "system"; theme_tint: "soft" | "hard" | "extreme"; + theme_border_radius: number; chat_trusted_domains: string[]; chat_picker_saved_media: string[]; chat_picker_last_tab: "gif" | "meme" | "saved"; @@ -333,6 +334,7 @@ export const storageDefaults: Storage = { theme_primary_color: "", theme_polarity: "system", theme_tint: "soft", + theme_border_radius: 0.5, chat_trusted_domains: [ // Other platforms "cdn.discordapp.com", From 31e36b2abc4d61f0c9737df25c94a868947d1d98 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 18 Jun 2026 15:15:09 +0200 Subject: [PATCH 04/75] (fix): incorrect dep link --- bun.lock | 96 ++-------------------------------------------------- package.json | 2 +- 2 files changed, 3 insertions(+), 95 deletions(-) diff --git a/bun.lock b/bun.lock index 76acbe4..0cd3459 100644 --- a/bun.lock +++ b/bun.lock @@ -258,7 +258,7 @@ }, "overrides": { "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz", - "@tensamin/ui": "file:../ui", + "@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.38.tar.gz", }, "packages": { "@antfu/ni": ["@antfu/ni@25.0.0", "", { "dependencies": { "ansis": "^4.0.0", "fzf": "^0.5.2", "package-manager-detector": "^1.3.0", "tinyexec": "^1.0.1" }, "bin": { "na": "bin/na.mjs", "ni": "bin/ni.mjs", "nr": "bin/nr.mjs", "nci": "bin/nci.mjs", "nlx": "bin/nlx.mjs", "nun": "bin/nun.mjs", "nup": "bin/nup.mjs" } }, "sha512-9q/yCljni37pkMr4sPrI3G4jqdIk074+iukc5aFJl7kmDCCsiJrbZ6zKxnES1Gwg+i9RcDZwvktl23puGslmvA=="], @@ -559,34 +559,6 @@ "@oxc-project/types": ["@oxc-project/types@0.133.0", "", {}, "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA=="], - "@parcel/watcher": ["@parcel/watcher@2.5.1", "", { "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", "node-addon-api": "^7.0.0" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-freebsd-x64": "2.5.1", "@parcel/watcher-linux-arm-glibc": "2.5.1", "@parcel/watcher-linux-arm-musl": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", "@parcel/watcher-linux-arm64-musl": "2.5.1", "@parcel/watcher-linux-x64-glibc": "2.5.1", "@parcel/watcher-linux-x64-musl": "2.5.1", "@parcel/watcher-win32-arm64": "2.5.1", "@parcel/watcher-win32-ia32": "2.5.1", "@parcel/watcher-win32-x64": "2.5.1" } }, "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg=="], - - "@parcel/watcher-android-arm64": ["@parcel/watcher-android-arm64@2.5.1", "", { "os": "android", "cpu": "arm64" }, "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA=="], - - "@parcel/watcher-darwin-arm64": ["@parcel/watcher-darwin-arm64@2.5.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw=="], - - "@parcel/watcher-darwin-x64": ["@parcel/watcher-darwin-x64@2.5.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg=="], - - "@parcel/watcher-freebsd-x64": ["@parcel/watcher-freebsd-x64@2.5.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ=="], - - "@parcel/watcher-linux-arm-glibc": ["@parcel/watcher-linux-arm-glibc@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA=="], - - "@parcel/watcher-linux-arm-musl": ["@parcel/watcher-linux-arm-musl@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q=="], - - "@parcel/watcher-linux-arm64-glibc": ["@parcel/watcher-linux-arm64-glibc@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w=="], - - "@parcel/watcher-linux-arm64-musl": ["@parcel/watcher-linux-arm64-musl@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg=="], - - "@parcel/watcher-linux-x64-glibc": ["@parcel/watcher-linux-x64-glibc@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A=="], - - "@parcel/watcher-linux-x64-musl": ["@parcel/watcher-linux-x64-musl@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg=="], - - "@parcel/watcher-win32-arm64": ["@parcel/watcher-win32-arm64@2.5.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw=="], - - "@parcel/watcher-win32-ia32": ["@parcel/watcher-win32-ia32@2.5.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ=="], - - "@parcel/watcher-win32-x64": ["@parcel/watcher-win32-x64@2.5.1", "", { "os": "win32", "cpu": "x64" }, "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA=="], - "@peculiar/asn1-schema": ["@peculiar/asn1-schema@2.8.0", "", { "dependencies": { "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q=="], "@peculiar/json-schema": ["@peculiar/json-schema@1.1.12", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w=="], @@ -677,8 +649,6 @@ "@tabby_ai/hijri-converter": ["@tabby_ai/hijri-converter@1.0.5", "", {}, "sha512-r5bClKrcIusDoo049dSL8CawnHR6mRdDwhlQuIgZRNty68q0x8k3Lf1BtPAMxRf/GgnHBnIO4ujd3+GQdLWzxQ=="], - "@tailwindcss/cli": ["@tailwindcss/cli@4.3.1", "", { "dependencies": { "@parcel/watcher": "2.5.1", "@tailwindcss/node": "4.3.1", "@tailwindcss/oxide": "4.3.1", "enhanced-resolve": "5.21.6", "mri": "^1.2.0", "picocolors": "^1.1.1", "tailwindcss": "4.3.1" }, "bin": { "tailwindcss": "dist/index.mjs" } }, "sha512-ZWPy20rF+TBfTImxDMG3Wr75Y3RpaPlo9lc+oJbInlMyjT+XPkTVKVIL5RZ7JirXuIahcfHoLNFRmDorKi+JQQ=="], - "@tailwindcss/node": ["@tailwindcss/node@4.3.1", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "5.21.6", "jiti": "^2.7.0", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.3.1" } }, "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A=="], "@tailwindcss/oxide": ["@tailwindcss/oxide@4.3.1", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.3.1", "@tailwindcss/oxide-darwin-arm64": "4.3.1", "@tailwindcss/oxide-darwin-x64": "4.3.1", "@tailwindcss/oxide-freebsd-x64": "4.3.1", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1", "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1", "@tailwindcss/oxide-linux-arm64-musl": "4.3.1", "@tailwindcss/oxide-linux-x64-gnu": "4.3.1", "@tailwindcss/oxide-linux-x64-musl": "4.3.1", "@tailwindcss/oxide-wasm32-wasi": "4.3.1", "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1", "@tailwindcss/oxide-win32-x64-msvc": "4.3.1" } }, "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA=="], @@ -789,7 +759,7 @@ "@tensamin/ttp-core": ["@tensamin/ttp-core@https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz", { "dependencies": { "@eslint/js": "^10.0.1", "@tauri-apps/api": "^2.9.0", "@typescript-eslint/parser": "^8.59.1", "@webtransport-bun/webtransport": "^0.3.0", "globals": "^17.5.0", "typescript": "^6.0.3", "typescript-eslint": "^8.59.1", "zod": "^4.4.1" } }, "sha512-Db94CDOTYvzJSQDZGDgziUXRvXx9PiEfYDQt6sYe8Nyg+KD/aiKnyQx7NeEiG03TfYE3ogNxXOsrcsip4di8+g=="], - "@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], + "@tensamin/ui": ["@tensamin/ui@https://git.methanium.net/tensamin/ui/archive/0.0.38.tar.gz", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }, "sha512-CnWhEsP07AbDAZfjogpZ7aifBPw9FjGe5QUr9siEdReGzy1ojF0/Mu674lVz7xT9h0oduUFocHX4e8XtPGv3ng=="], "@tensamin/user": ["@tensamin/user@workspace:packages/user"], @@ -1541,8 +1511,6 @@ "mkdirp": ["mkdirp@0.5.6", "", { "dependencies": { "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="], - "mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="], - "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], "msw": ["msw@2.14.6", "", { "dependencies": { "@inquirer/confirm": "^6.0.11", "@mswjs/interceptors": "^0.41.3", "@open-draft/deferred-promise": "^3.0.0", "@types/statuses": "^2.0.6", "cookie": "^1.1.1", "graphql": "^16.13.2", "headers-polyfill": "^5.0.1", "is-node-process": "^1.2.0", "outvariant": "^1.4.3", "path-to-regexp": "^6.3.0", "picocolors": "^1.1.1", "rettime": "^0.11.11", "statuses": "^2.0.2", "strict-event-emitter": "^0.5.1", "tough-cookie": "^6.0.1", "type-fest": "^5.5.0", "until-async": "^3.0.2", "yargs": "^17.7.2" }, "peerDependencies": { "typescript": ">= 4.8.x" }, "optionalPeers": ["typescript"], "bin": { "msw": "cli/index.js" } }, "sha512-ALe+N10S72cyx94cMcy3Zs4HhXCj35sgeAL4c+WTvKi0zWnbd8/h0lcFqv0mb2P+aSgAdD7p9HzvA0DiUPxsyg=="], @@ -1559,8 +1527,6 @@ "node-abi": ["node-abi@4.31.0", "", { "dependencies": { "semver": "^7.6.3" } }, "sha512-Erq5w/t3syw3s4sDsUaX4QttIdBPsGKTT1DTRsCkTonGggczhlDKm/wDX3o+HPJpQ41EjXCbcmXf0tgr5YZJXw=="], - "node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="], - "node-api-version": ["node-api-version@0.2.1", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q=="], "node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="], @@ -2055,8 +2021,6 @@ "@mswjs/interceptors/@open-draft/deferred-promise": ["@open-draft/deferred-promise@2.2.0", "", {}, "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA=="], - "@parcel/watcher/detect-libc": ["detect-libc@1.0.3", "", { "bin": { "detect-libc": "./bin/detect-libc.js" } }, "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="], - "@reduxjs/toolkit/immer": ["immer@11.1.8", "", {}, "sha512-/tbkHMW7y10Lx6i1crLjD4/OhNkRG+Fo7byZHtah0547nIeXYcpIXaUh0IAQY6gO5459qpGGYapcEOHtFXkIuA=="], "@reduxjs/toolkit/reselect": ["reselect@5.2.0", "", {}, "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw=="], @@ -2075,28 +2039,8 @@ "@tanstack/react-store/@tanstack/store": ["@tanstack/store@0.9.3", "", {}, "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw=="], - "@tensamin/call/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], - - "@tensamin/chat/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], - - "@tensamin/notifications/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], - - "@tensamin/shared/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], - - "@tensamin/storage/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], - - "@tensamin/tauri/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], - - "@tensamin/tauth/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], - - "@tensamin/ttp/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], - "@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - "@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "@tensamin/web/@tensamin/ui": ["@tensamin/ui@file:../ui", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "devDependencies": { "@tailwindcss/cli": "^4.1.4", "@types/node": "^25.6.0", "@types/react": "^19.2.14", "tailwindcss": "^4.1.4", "typescript": "^5.9.3", "vite": "^8.0.8" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }], - "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], "ajv-formats/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], @@ -2233,42 +2177,6 @@ "@modelcontextprotocol/sdk/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - "@tensamin/call/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - - "@tensamin/call/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "@tensamin/chat/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - - "@tensamin/chat/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "@tensamin/notifications/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - - "@tensamin/notifications/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "@tensamin/shared/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - - "@tensamin/shared/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "@tensamin/storage/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - - "@tensamin/storage/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "@tensamin/tauri/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - - "@tensamin/tauri/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "@tensamin/tauth/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - - "@tensamin/tauth/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "@tensamin/ttp/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - - "@tensamin/ttp/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "@tensamin/web/@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], - - "@tensamin/web/@tensamin/ui/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - "ajv-formats/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], "app-builder-lib/@electron/get/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], diff --git a/package.json b/package.json index b1aacf8..bf25baa 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "typescript-eslint": "^8.59.1" }, "overrides": { - "@tensamin/ui": "file:../ui", + "@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.38.tar.gz", "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz" }, "dependencies": { From 6ed9ee11091512dcd00f4dd9a3233c6766802252 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 18 Jun 2026 22:58:29 +0200 Subject: [PATCH 05/75] (feat): add custom css --- apps/web/src/index.tsx | 24 +++++++++++++- apps/web/src/routes/settings/theme.tsx | 17 +++++++++- bun.lock | 10 +++--- package.json | 2 +- .../chat/src/components/mediaSaveButton.tsx | 32 +++++++------------ packages/shared/src/data.ts | 2 ++ 6 files changed, 57 insertions(+), 30 deletions(-) diff --git a/apps/web/src/index.tsx b/apps/web/src/index.tsx index 24003f0..1eab09f 100644 --- a/apps/web/src/index.tsx +++ b/apps/web/src/index.tsx @@ -121,6 +121,8 @@ function ThemeStorageBridge() { setThemeTint, themeBorderRadius, setThemeBorderRadius, + themeCustomCss, + setThemeCustomCss, } = useTheme(); const loadedRef = useRef(false); @@ -134,7 +136,16 @@ function ThemeStorageBridge() { load("theme_polarity"), load("theme_tint"), load("theme_border_radius"), - ]).then(([color, palette, primaryColor, polarity, tint, borderRadius]) => { + load("theme_custom_css"), + ]).then(([ + color, + palette, + primaryColor, + polarity, + tint, + borderRadius, + customCss, + ]) => { if (!active) { return; } @@ -145,6 +156,7 @@ function ThemeStorageBridge() { setThemePolarity(polarity); setThemeTint(tint); setThemeBorderRadius(borderRadius); + setThemeCustomCss(customCss); loadedRef.current = true; }); @@ -155,6 +167,7 @@ function ThemeStorageBridge() { load, setThemeBorderRadius, setThemeColor, + setThemeCustomCss, setThemePalette, setThemePolarity, setThemePrimaryColor, @@ -209,6 +222,14 @@ function ThemeStorageBridge() { save("theme_border_radius", themeBorderRadius); }, [save, themeBorderRadius]); + useEffect(() => { + if (!loadedRef.current) { + return; + } + + save("theme_custom_css", themeCustomCss); + }, [save, themeCustomCss]); + return null; } @@ -224,6 +245,7 @@ function RootShell() { primaryColorStorageKey={null} tintStorageKey={null} borderRadiusStorageKey={null} + customCssStorageKey={null} >
    ; + return ( + + ); } diff --git a/bun.lock b/bun.lock index 0cd3459..3abc135 100644 --- a/bun.lock +++ b/bun.lock @@ -258,7 +258,7 @@ }, "overrides": { "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz", - "@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.38.tar.gz", + "@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.39.tar.gz", }, "packages": { "@antfu/ni": ["@antfu/ni@25.0.0", "", { "dependencies": { "ansis": "^4.0.0", "fzf": "^0.5.2", "package-manager-detector": "^1.3.0", "tinyexec": "^1.0.1" }, "bin": { "na": "bin/na.mjs", "ni": "bin/ni.mjs", "nr": "bin/nr.mjs", "nci": "bin/nci.mjs", "nlx": "bin/nlx.mjs", "nun": "bin/nun.mjs", "nup": "bin/nup.mjs" } }, "sha512-9q/yCljni37pkMr4sPrI3G4jqdIk074+iukc5aFJl7kmDCCsiJrbZ6zKxnES1Gwg+i9RcDZwvktl23puGslmvA=="], @@ -759,7 +759,7 @@ "@tensamin/ttp-core": ["@tensamin/ttp-core@https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz", { "dependencies": { "@eslint/js": "^10.0.1", "@tauri-apps/api": "^2.9.0", "@typescript-eslint/parser": "^8.59.1", "@webtransport-bun/webtransport": "^0.3.0", "globals": "^17.5.0", "typescript": "^6.0.3", "typescript-eslint": "^8.59.1", "zod": "^4.4.1" } }, "sha512-Db94CDOTYvzJSQDZGDgziUXRvXx9PiEfYDQt6sYe8Nyg+KD/aiKnyQx7NeEiG03TfYE3ogNxXOsrcsip4di8+g=="], - "@tensamin/ui": ["@tensamin/ui@https://git.methanium.net/tensamin/ui/archive/0.0.38.tar.gz", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }, "sha512-CnWhEsP07AbDAZfjogpZ7aifBPw9FjGe5QUr9siEdReGzy1ojF0/Mu674lVz7xT9h0oduUFocHX4e8XtPGv3ng=="], + "@tensamin/ui": ["@tensamin/ui@https://git.methanium.net/tensamin/ui/archive/0.0.39.tar.gz", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }, "sha512-7GtOjH6H+8Go8tPJmnlbmmo9Chn2wbZ/pZdUydEc8fS5XPh8qdPTI3PhUpBuyuay60pRsfoUHpCVK5DqdQUACA=="], "@tensamin/user": ["@tensamin/user@workspace:packages/user"], @@ -1517,7 +1517,7 @@ "mute-stream": ["mute-stream@3.0.0", "", {}, "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw=="], - "nanoid": ["nanoid@3.3.12", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ=="], + "nanoid": ["nanoid@3.3.13", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-sPdqC6ByMVVGvF1ynvvMo0/o+oD1VX7DaHhijt1bFgjvBkHBib4t49GoNDhf2NDta4oeUNlaGbSt5K7qjZ955Q=="], "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], @@ -1743,7 +1743,7 @@ "sdp-transform": ["sdp-transform@2.15.0", "", { "bin": { "sdp-verify": "checker.js" } }, "sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw=="], - "semver": ["semver@7.8.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA=="], + "semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "semver-compare": ["semver-compare@1.0.0", "", {}, "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow=="], @@ -2051,8 +2051,6 @@ "app-builder-lib/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], - "app-builder-lib/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - "app-builder-lib/which": ["which@5.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ=="], "body-parser/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="], diff --git a/package.json b/package.json index bf25baa..0458230 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "typescript-eslint": "^8.59.1" }, "overrides": { - "@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.38.tar.gz", + "@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.39.tar.gz", "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz" }, "dependencies": { diff --git a/packages/chat/src/components/mediaSaveButton.tsx b/packages/chat/src/components/mediaSaveButton.tsx index 5179aac..eba5b28 100644 --- a/packages/chat/src/components/mediaSaveButton.tsx +++ b/packages/chat/src/components/mediaSaveButton.tsx @@ -5,13 +5,11 @@ import { useEffect, useState } from "react"; export default function MediaSaveButton({ ariaLabel, - className, defaultSaved = false, onSavedMediaChange, url, }: { ariaLabel?: string; - className?: string; defaultSaved?: boolean; onSavedMediaChange?: (savedMedia: string[]) => void; url: string; @@ -39,25 +37,17 @@ export default function MediaSaveButton({ } return ( -
    - -
    + + ); } diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 00473ae..ee79dd9 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -286,6 +286,7 @@ export interface Storage extends SettingsStorageDefaults { theme_polarity: "dark" | "light" | "system"; theme_tint: "soft" | "hard" | "extreme"; theme_border_radius: number; + theme_custom_css: string; chat_trusted_domains: string[]; chat_picker_saved_media: string[]; chat_picker_last_tab: "gif" | "meme" | "saved"; @@ -335,6 +336,7 @@ export const storageDefaults: Storage = { theme_polarity: "system", theme_tint: "soft", theme_border_radius: 0.5, + theme_custom_css: "", chat_trusted_domains: [ // Other platforms "cdn.discordapp.com", From b100967fda866a7fcfedde913fd7f6cb0e67da7f Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 21 Jun 2026 14:24:06 +0200 Subject: [PATCH 06/75] (fix): dumb issue --- packages/chat/src/components/mediaSaveButton.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/chat/src/components/mediaSaveButton.tsx b/packages/chat/src/components/mediaSaveButton.tsx index eba5b28..3f5d588 100644 --- a/packages/chat/src/components/mediaSaveButton.tsx +++ b/packages/chat/src/components/mediaSaveButton.tsx @@ -5,11 +5,13 @@ import { useEffect, useState } from "react"; export default function MediaSaveButton({ ariaLabel, + className, defaultSaved = false, onSavedMediaChange, url, }: { ariaLabel?: string; + className?: string; defaultSaved?: boolean; onSavedMediaChange?: (savedMedia: string[]) => void; url: string; @@ -39,7 +41,10 @@ export default function MediaSaveButton({ return (
    diff --git a/packages/ttp/src/context.tsx b/packages/ttp/src/context.tsx index 50eec69..36138a9 100644 --- a/packages/ttp/src/context.tsx +++ b/packages/ttp/src/context.tsx @@ -378,6 +378,10 @@ export function Provider(props: { url: ttpUrl, serverCert: ttpServerCert || undefined, onReadyStateChange: (state) => { + if (state === READY_STATE.CONNECTING) { + log(2, "ttp", "blue", ttpUrl); + } + setReadyState(state); if (state === READY_STATE.OPEN) { From 0e6b235c1b4c10626aafd742bf6f6e06624a2d44 Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 27 Jun 2026 00:47:26 +0200 Subject: [PATCH 09/75] (feat): minor ui changes (qol): update todo --- apps/web/src/components/modals/basic.tsx | 2 +- apps/web/src/components/sidebar.tsx | 2 -- packages/chat/todo.md | 3 ++- packages/shared/src/data.ts | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/web/src/components/modals/basic.tsx b/apps/web/src/components/modals/basic.tsx index 8a7df3b..2d5a3d8 100644 --- a/apps/web/src/components/modals/basic.tsx +++ b/apps/web/src/components/modals/basic.tsx @@ -19,7 +19,7 @@ export function Basic({ extra?: React.ReactNode; }) { return ( - +
    diff --git a/apps/web/src/components/sidebar.tsx b/apps/web/src/components/sidebar.tsx index c9851a3..a1c3c5f 100644 --- a/apps/web/src/components/sidebar.tsx +++ b/apps/web/src/components/sidebar.tsx @@ -12,7 +12,6 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuGroup, - DropdownMenuLabel, Dialog, DialogContent, DialogFooter, @@ -228,7 +227,6 @@ export default function Sidebar() { /> - Profile { setDraftStatus(user.status ?? ""); diff --git a/packages/chat/todo.md b/packages/chat/todo.md index 63466f3..4a260aa 100644 --- a/packages/chat/todo.md +++ b/packages/chat/todo.md @@ -1,2 +1,3 @@ - Implement context menu features -- Add default-emoji-hotkey in settings +- Add default-emoji-hotkey +- Placeholder image if media fails to load diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 86a4da9..21f69e3 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -335,7 +335,7 @@ export const storageDefaults: Storage = { theme_primary_color: "", theme_polarity: "system", theme_tint: "soft", - theme_border_radius: 0.5, + theme_border_radius: 0.55, theme_custom_css: "", chat_trusted_domains: [ // Other platforms From cc2f790c62865b3b99c1428069454092f0695a2e Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 27 Jun 2026 01:11:26 +0200 Subject: [PATCH 10/75] (fix): workflow --- .forgejo/workflows/deploy-dev.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 36c5efe..5e4bc08 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -68,8 +68,22 @@ jobs: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" - bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\n/g, '\n').replace(/\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" + set -eu + + ANDROID_DIR="$PWD/apps/tauri/src-tauri/gen/android" + + printf '%s' "$KEYSTORE_BASE64" \ + | tr -d '[:space:]' \ + | base64 -d > "$ANDROID_DIR/keystore.jks" + + printf '%s' "$KEYSTORE_PROPERTIES" \ + | sed 's|storeFile=.*|storeFile=keystore.jks|' \ + | sed 's/\\n/\n/g' \ + | tr -d '\r' \ + > "$ANDROID_DIR/keystore.properties" + + test -s "$ANDROID_DIR/keystore.jks" + cat "$ANDROID_DIR/keystore.properties" | sed 's/password=.*/password=***REDACTED***/' - name: Build mobile run: bun run build:mobile From 29f1ff2d54bdd108aa9fa9273325baa8c316e0d5 Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 27 Jun 2026 01:33:20 +0200 Subject: [PATCH 11/75] Revert "(fix): workflow" This reverts commit cc2f790c62865b3b99c1428069454092f0695a2e. --- .forgejo/workflows/deploy-dev.yml | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 5e4bc08..36c5efe 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -68,22 +68,8 @@ jobs: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - set -eu - - ANDROID_DIR="$PWD/apps/tauri/src-tauri/gen/android" - - printf '%s' "$KEYSTORE_BASE64" \ - | tr -d '[:space:]' \ - | base64 -d > "$ANDROID_DIR/keystore.jks" - - printf '%s' "$KEYSTORE_PROPERTIES" \ - | sed 's|storeFile=.*|storeFile=keystore.jks|' \ - | sed 's/\\n/\n/g' \ - | tr -d '\r' \ - > "$ANDROID_DIR/keystore.properties" - - test -s "$ANDROID_DIR/keystore.jks" - cat "$ANDROID_DIR/keystore.properties" | sed 's/password=.*/password=***REDACTED***/' + bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" + bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\n/g, '\n').replace(/\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" - name: Build mobile run: bun run build:mobile From 14518978d2dd55b67ec6a976e3e8ead4de1c71fd Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 27 Jun 2026 01:45:19 +0200 Subject: [PATCH 12/75] (fix): workflows --- .forgejo/workflows/deploy-dev.yml | 27 +++++++++++++++++++++++++-- .forgejo/workflows/deploy-prod.yml | 27 +++++++++++++++++++++++++-- 2 files changed, 50 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 36c5efe..cbba0b8 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -68,8 +68,31 @@ jobs: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" - bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\n/g, '\n').replace(/\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" + set -eu + + if [ -z "$KEYSTORE_BASE64" ]; then + echo "ANDROID_KEYSTORE_BASE64 secret is missing or empty" + exit 1 + fi + + if [ -z "$KEYSTORE_PROPERTIES" ]; then + echo "ANDROID_KEYSTORE_PROPERTIES secret is missing or empty" + exit 1 + fi + + printf '%s' "$KEYSTORE_BASE64" \ + | tr -d '[:space:]' \ + | base64 -d > keystore.jks + + printf '%s' "$KEYSTORE_PROPERTIES" \ + | sed 's/\\n/\n/g' \ + | tr -d '\r' \ + | sed 's|^[[:space:]]*storeFile[[:space:]]*=.*|storeFile=keystore.jks|' \ + > keystore.properties + + grep -q '^[[:space:]]*storeFile[[:space:]]*=' keystore.properties || printf '\nstoreFile=keystore.jks\n' >> keystore.properties + test -s keystore.jks + test -s keystore.properties - name: Build mobile run: bun run build:mobile diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 6adc499..5cbf79e 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -69,8 +69,31 @@ jobs: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" - bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\n/g, '\n').replace(/\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" + set -eu + + if [ -z "$KEYSTORE_BASE64" ]; then + echo "ANDROID_KEYSTORE_BASE64 secret is missing or empty" + exit 1 + fi + + if [ -z "$KEYSTORE_PROPERTIES" ]; then + echo "ANDROID_KEYSTORE_PROPERTIES secret is missing or empty" + exit 1 + fi + + printf '%s' "$KEYSTORE_BASE64" \ + | tr -d '[:space:]' \ + | base64 -d > keystore.jks + + printf '%s' "$KEYSTORE_PROPERTIES" \ + | sed 's/\\n/\n/g' \ + | tr -d '\r' \ + | sed 's|^[[:space:]]*storeFile[[:space:]]*=.*|storeFile=keystore.jks|' \ + > keystore.properties + + grep -q '^[[:space:]]*storeFile[[:space:]]*=' keystore.properties || printf '\nstoreFile=keystore.jks\n' >> keystore.properties + test -s keystore.jks + test -s keystore.properties - name: Build mobile run: bun run build:mobile From de09cf4ebd0e0a8dd2de9d699f7a6229b9e7f9b9 Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 27 Jun 2026 01:48:21 +0200 Subject: [PATCH 13/75] (feat): make workflows fail early --- .forgejo/workflows/deploy-dev.yml | 29 ++++++++++++++++++++++++++--- .forgejo/workflows/deploy-prod.yml | 29 ++++++++++++++++++++++++++--- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index cbba0b8..53fab0d 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -68,7 +68,7 @@ jobs: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - set -eu + set -euo pipefail if [ -z "$KEYSTORE_BASE64" ]; then echo "ANDROID_KEYSTORE_BASE64 secret is missing or empty" @@ -91,8 +91,31 @@ jobs: > keystore.properties grep -q '^[[:space:]]*storeFile[[:space:]]*=' keystore.properties || printf '\nstoreFile=keystore.jks\n' >> keystore.properties - test -s keystore.jks - test -s keystore.properties + + if [ ! -s keystore.jks ]; then + echo "Decoded keystore.jks is missing or empty" + exit 1 + fi + + if [ ! -s keystore.properties ]; then + echo "Generated keystore.properties is missing or empty" + exit 1 + fi + + if ! grep -q '^[[:space:]]*keyAlias[[:space:]]*=' keystore.properties; then + echo "keystore.properties is missing keyAlias" + exit 1 + fi + + if ! grep -Eq '^[[:space:]]*(keyPassword|password)[[:space:]]*=' keystore.properties; then + echo "keystore.properties is missing keyPassword or password" + exit 1 + fi + + if ! grep -Eq '^[[:space:]]*(storePassword|password)[[:space:]]*=' keystore.properties; then + echo "keystore.properties is missing storePassword or password" + exit 1 + fi - name: Build mobile run: bun run build:mobile diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 5cbf79e..8878953 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -69,7 +69,7 @@ jobs: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - set -eu + set -euo pipefail if [ -z "$KEYSTORE_BASE64" ]; then echo "ANDROID_KEYSTORE_BASE64 secret is missing or empty" @@ -92,8 +92,31 @@ jobs: > keystore.properties grep -q '^[[:space:]]*storeFile[[:space:]]*=' keystore.properties || printf '\nstoreFile=keystore.jks\n' >> keystore.properties - test -s keystore.jks - test -s keystore.properties + + if [ ! -s keystore.jks ]; then + echo "Decoded keystore.jks is missing or empty" + exit 1 + fi + + if [ ! -s keystore.properties ]; then + echo "Generated keystore.properties is missing or empty" + exit 1 + fi + + if ! grep -q '^[[:space:]]*keyAlias[[:space:]]*=' keystore.properties; then + echo "keystore.properties is missing keyAlias" + exit 1 + fi + + if ! grep -Eq '^[[:space:]]*(keyPassword|password)[[:space:]]*=' keystore.properties; then + echo "keystore.properties is missing keyPassword or password" + exit 1 + fi + + if ! grep -Eq '^[[:space:]]*(storePassword|password)[[:space:]]*=' keystore.properties; then + echo "keystore.properties is missing storePassword or password" + exit 1 + fi - name: Build mobile run: bun run build:mobile From 182819131787af5ba27d6f821c9eff28ec40f515 Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 27 Jun 2026 02:20:02 +0200 Subject: [PATCH 14/75] (feat): improve dev releases cleanup --- .forgejo/workflows/deploy-prod.yml | 7 ++----- readme.md | 4 +++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 8878953..d1d93c8 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -278,17 +278,15 @@ jobs: -F "attachment=@$file" done - - name: Delete dev releases for prod version + - name: Delete dev releases env: TOKEN: ${{ forgejo.token }} API: ${{ forgejo.api_url }} REPO: ${{ forgejo.repository }} - TAG: ${{ steps.version.outputs.tag }} run: | set -eu PAGE=1 - PREFIX="$TAG-dev-" DELETE_RELEASES=delete-dev-releases.tsv : > "$DELETE_RELEASES" @@ -303,8 +301,7 @@ jobs: test "$COUNT" -gt 0 || break jq -r \ - --arg prefix "$PREFIX" \ - '.[] | select(.prerelease == true) | select(.tag_name | startswith($prefix)) | [.id, .tag_name] | @tsv' releases.json \ + '.[] | select(.prerelease == true) | select(.tag_name | contains("-dev-")) | [.id, .tag_name] | @tsv' releases.json \ >> "$DELETE_RELEASES" PAGE="$((PAGE + 1))" diff --git a/readme.md b/readme.md index 58c21e6..5ace45c 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,5 @@ # Information -All dev releases between two prod version get deleted upon creation of the latest prod release. +All dev releases get deleted upon creation of the latest prod release. + +When working on a development branch, the package version must be higher than the latest stable release. From e3e90d4779769f1a6b15efdd3aaa5fb4b1c4211d Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 18:00:21 +0200 Subject: [PATCH 15/75] (feat): update workflows to use nixos runners (wip): add mini hover context menu (qol): update todo --- .forgejo/workflows/deploy-dev.yml | 10 ++----- .forgejo/workflows/deploy-prod.yml | 10 ++----- packages/call/todo.md | 1 + packages/chat/src/components/message.tsx | 36 ++++++++++++++++++++++-- 4 files changed, 38 insertions(+), 19 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 53fab0d..af74f17 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -7,7 +7,7 @@ on: jobs: build-web: - runs-on: docker + runs-on: nixos steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -15,9 +15,6 @@ jobs: - name: Install Packages run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v30 - - name: Install Bun uses: oven-sh/setup-bun@v2 @@ -40,7 +37,7 @@ jobs: run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ build-mobile: - runs-on: docker + runs-on: nixos steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -48,9 +45,6 @@ jobs: - name: Install Packages run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v30 - - name: Install Bun uses: oven-sh/setup-bun@v2 diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index d1d93c8..59dd2bf 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -8,7 +8,7 @@ on: jobs: build-web: - runs-on: docker + runs-on: nixos steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -16,9 +16,6 @@ jobs: - name: Install Packages run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v30 - - name: Install Bun uses: oven-sh/setup-bun@v2 @@ -41,7 +38,7 @@ jobs: run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ build-mobile: - runs-on: docker + runs-on: nixos steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -49,9 +46,6 @@ jobs: - name: Install Packages run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v30 - - name: Install Bun uses: oven-sh/setup-bun@v2 diff --git a/packages/call/todo.md b/packages/call/todo.md index 4d00174..beb0e48 100644 --- a/packages/call/todo.md +++ b/packages/call/todo.md @@ -7,3 +7,4 @@ - Implement context menu features - Add quality selection - Good preview page +- Settings page diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index 3f83198..6a8ffe5 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -1,7 +1,15 @@ import * as React from "react"; import type { RawMessage } from "../values"; import Text from "@tensamin/markdown/text"; -import { AlertTriangle, Check, Ellipse, RefreshCw } from "lucide-react"; +import { + AlertTriangle, + Check, + Ellipse, + Forward, + Laugh, + RefreshCw, + Reply, +} from "lucide-react"; import { useCallback, useEffect, useState } from "react"; import type { User } from "@tensamin/user/context"; @@ -9,7 +17,10 @@ import { Avatar, AvatarFallback, AvatarImage, + Button, + Card, cn, + Separator, Tooltip, TooltipContent, TooltipTrigger, @@ -125,7 +136,7 @@ function MessageComponent({ >
    } /> )} -
    +
    + + {[0, 1, 2].map((item) => ( + + ))} + + + + + {!grouped && (

    {user.display}

    From 74b152969b5029ee094944fecd896f401a6533e1 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 18:03:19 +0200 Subject: [PATCH 16/75] (fix): workflows --- .forgejo/workflows/deploy-dev.yml | 4 ++-- .forgejo/workflows/deploy-prod.yml | 4 ++-- apps/electron/flake.nix | 5 +++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index af74f17..7fa0c0b 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -121,7 +121,7 @@ jobs: path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk build-desktop: - runs-on: docker + runs-on: nixos strategy: matrix: target: [linux] @@ -168,7 +168,7 @@ jobs: path: apps/electron/release/ release: - runs-on: docker + runs-on: nixos needs: [build-web, build-mobile, build-desktop] steps: - name: Check out repo diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 59dd2bf..08e7aa5 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -122,7 +122,7 @@ jobs: path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk build-desktop: - runs-on: docker + runs-on: nixos strategy: matrix: target: [linux] @@ -167,7 +167,7 @@ jobs: path: apps/electron/release/ release: - runs-on: docker + runs-on: nixos needs: [build-web, build-mobile, build-desktop] steps: - name: Check out repo diff --git a/apps/electron/flake.nix b/apps/electron/flake.nix index 5bb9cd5..7a1b3bd 100644 --- a/apps/electron/flake.nix +++ b/apps/electron/flake.nix @@ -67,6 +67,11 @@ dpkg rpm fpm + sudo + curl + jq + fakeroot + xz-utils ] ++ electronRuntimeLibs; shellHook = '' From 6df912f428ecd45bc4f1aa649e42b2ee8609f87e Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 18:35:11 +0200 Subject: [PATCH 17/75] (feat): merge nix flakes (fix): workflows --- .forgejo/workflows/deploy-dev.yml | 66 ++++----- .forgejo/workflows/deploy-prod.yml | 70 ++++----- apps/electron/flake.lock | 61 -------- apps/electron/flake.nix | 93 ------------ apps/electron/package.json | 12 +- apps/tauri/flake.lock | 96 ------------- apps/tauri/flake.nix | 108 -------------- apps/tauri/package.json | 6 +- flake.lock | 48 ++++++- flake.nix | 222 ++++++++++++++++++++++++++++- package.json | 2 +- 11 files changed, 324 insertions(+), 460 deletions(-) delete mode 100644 apps/electron/flake.lock delete mode 100644 apps/electron/flake.nix delete mode 100644 apps/tauri/flake.lock delete mode 100644 apps/tauri/flake.nix diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 7fa0c0b..cd0ca64 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -12,29 +12,20 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix develop .#electron --command bun install --frozen-lockfile - name: Copy licenses - run: bun run copy-licenses + run: nix develop .#electron --command bun run copy-licenses - name: Build packages - run: bun run build:packages + run: nix develop .#electron --command bun run build:packages - name: Build web - run: bun run build:web - - - name: Install rsync - run: apt-get update && apt-get install -y rsync + run: nix develop .#electron --command bun run build:web - name: Deploy - run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ + run: nix develop .#electron --command rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ build-mobile: runs-on: nixos @@ -42,20 +33,14 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix develop .#tauri --command bun install --frozen-lockfile - name: Copy licenses - run: bun run copy-licenses + run: nix develop .#tauri --command bun run copy-licenses - name: Build packages - run: bun run build:packages + run: nix develop .#tauri --command bun run build:packages - name: Setup Android Keystore env: @@ -112,7 +97,7 @@ jobs: fi - name: Build mobile - run: bun run build:mobile + run: nix develop .#tauri --command bun run build:mobile - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -129,23 +114,19 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm xz-utils - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix develop .#electron --command bun install --frozen-lockfile - name: Copy licenses - run: bun run copy-licenses + run: nix develop .#electron --command bun run copy-licenses - name: Build packages - run: bun run build:packages + run: nix develop .#electron --command bun run build:packages - name: Set Electron dev version run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail VERSION="$(node -p "require('./package.json').version")" SHORT_SHA="$(git rev-parse --short HEAD)" DEV_VERSION="$VERSION-dev-$SHORT_SHA" @@ -157,9 +138,10 @@ jobs: pkg.version = process.env.DEV_VERSION; fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + "\n"); ' + EOF - name: Build Electron desktop - run: bun run build:desktop + run: nix develop .#electron --command bun run build:desktop - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -176,14 +158,8 @@ jobs: with: fetch-depth: 0 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix develop .#electron --command bun install --frozen-lockfile - name: Download mobile artifact uses: https://data.forgejo.org/actions/download-artifact@v3 @@ -200,21 +176,27 @@ jobs: - name: Read version and hash id: version run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail VERSION="$(node -p "require('./package.json').version")" SHORT_SHA="$(git rev-parse --short HEAD)" echo "version=$VERSION" >> "$FORGEJO_OUTPUT" echo "short_sha=$SHORT_SHA" >> "$FORGEJO_OUTPUT" echo "tag=${VERSION}-dev-${SHORT_SHA}" >> "$FORGEJO_OUTPUT" echo "title=${VERSION}-dev-${SHORT_SHA}" >> "$FORGEJO_OUTPUT" + EOF - name: Copy releases env: TENSAMIN_RELEASE_VERSION: ${{ steps.version.outputs.tag }} TENSAMIN_RELEASE_TAG: ${{ steps.version.outputs.tag }} run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail ASSET_BASE_URL="${{ forgejo.api_url }}" ASSET_BASE_URL="${ASSET_BASE_URL%/api/v1}/${{ forgejo.repository }}/releases/download/${{ steps.version.outputs.tag }}" FORGEJO_RELEASE_ASSET_BASE_URL="$ASSET_BASE_URL" bun --bun run copy-releases + EOF - name: Create pre-release and upload files env: @@ -225,6 +207,7 @@ jobs: TAG: ${{ steps.version.outputs.tag }} TITLE: ${{ steps.version.outputs.title }} run: | + nix develop .#electron --command bash <<'EOF' set -eu test -d releases @@ -313,3 +296,4 @@ jobs: -H "Authorization: token $TOKEN" \ -F "attachment=@$file" done + EOF diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 08e7aa5..f5339aa 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -13,29 +13,20 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix develop .#electron --command bun install --frozen-lockfile - name: Copy licenses - run: bun run copy-licenses + run: nix develop .#electron --command bun run copy-licenses - name: Build packages - run: bun run build:packages + run: nix develop .#electron --command bun run build:packages - name: Build web - run: bun run build:web - - - name: Install rsync - run: apt-get update && apt-get install -y rsync + run: nix develop .#electron --command bun run build:web - name: Deploy - run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ + run: nix develop .#electron --command rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ build-mobile: runs-on: nixos @@ -43,20 +34,14 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix develop .#tauri --command bun install --frozen-lockfile - name: Copy licenses - run: bun run copy-licenses + run: nix develop .#tauri --command bun run copy-licenses - name: Build packages - run: bun run build:packages + run: nix develop .#tauri --command bun run build:packages - name: Setup Android Keystore env: @@ -113,7 +98,7 @@ jobs: fi - name: Build mobile - run: bun run build:mobile + run: nix develop .#tauri --command bun run build:mobile - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -130,23 +115,19 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq fakeroot dpkg rpm xz-utils - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix develop .#electron --command bun install --frozen-lockfile - name: Copy licenses - run: bun run copy-licenses + run: nix develop .#electron --command bun run copy-licenses - name: Build packages - run: bun run build:packages + run: nix develop .#electron --command bun run build:packages - name: Set Electron prod version run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail VERSION="$(node -p "require('./package.json').version")" export VERSION node -e ' @@ -156,9 +137,10 @@ jobs: pkg.version = process.env.VERSION; fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + "\n"); ' + EOF - name: Build Electron desktop - run: bun run build:desktop + run: nix develop .#electron --command bun run build:desktop - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -173,14 +155,8 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix develop .#electron --command bun install --frozen-lockfile - name: Download mobile artifact uses: https://data.forgejo.org/actions/download-artifact@v3 @@ -197,18 +173,24 @@ jobs: - name: Read version id: version run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail VERSION="$(node -p "require('./package.json').version")" echo "version=$VERSION" >> "$FORGEJO_OUTPUT" echo "tag=$VERSION" >> "$FORGEJO_OUTPUT" + EOF - name: Copy releases env: TENSAMIN_RELEASE_VERSION: ${{ steps.version.outputs.tag }} TENSAMIN_RELEASE_TAG: ${{ steps.version.outputs.tag }} run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail ASSET_BASE_URL="${{ forgejo.api_url }}" ASSET_BASE_URL="${ASSET_BASE_URL%/api/v1}/${{ forgejo.repository }}/releases/download/${{ steps.version.outputs.tag }}" FORGEJO_RELEASE_ASSET_BASE_URL="$ASSET_BASE_URL" bun --bun run copy-releases + EOF - name: Create release and upload files env: @@ -218,6 +200,7 @@ jobs: SHA: ${{ forgejo.sha }} TAG: ${{ steps.version.outputs.tag }} run: | + nix develop .#electron --command bash <<'EOF' set -eu test -d releases @@ -271,6 +254,7 @@ jobs: -H "Authorization: token $TOKEN" \ -F "attachment=@$file" done + EOF - name: Delete dev releases env: @@ -278,6 +262,7 @@ jobs: API: ${{ forgejo.api_url }} REPO: ${{ forgejo.repository }} run: | + nix develop .#electron --command bash <<'EOF' set -eu PAGE=1 @@ -308,11 +293,13 @@ jobs: -H "Authorization: token $TOKEN" \ "$API/repos/$REPO/releases/$release_id" done < "$DELETE_RELEASES" + EOF - name: Update root flake release hash env: TAG: ${{ steps.version.outputs.tag }} run: | + nix develop .#electron --command bash <<'EOF' set -eu DEB="$(find releases -maxdepth 1 -type f -name 'Tensamin-*-linux-amd64.deb' -print -quit)" @@ -361,3 +348,4 @@ jobs: git add flake.nix git -c user.name="forgejo-actions" -c user.email="forgejo-actions@localhost" commit -m "(qol): update release flake hash" git push origin HEAD:dev + EOF diff --git a/apps/electron/flake.lock b/apps/electron/flake.lock deleted file mode 100644 index 88748a4..0000000 --- a/apps/electron/flake.lock +++ /dev/null @@ -1,61 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1779508470, - "narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "29916453413845e54a65b8a1cf996842300cd299", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/apps/electron/flake.nix b/apps/electron/flake.nix deleted file mode 100644 index 7a1b3bd..0000000 --- a/apps/electron/flake.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - description = "Electron Development Environment"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - flake-utils.url = "github:numtide/flake-utils"; - }; - - outputs = {nixpkgs, flake-utils, ...}: - flake-utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs {inherit system; config.allowUnfree = true;}; - electronRuntimeLibs = with pkgs; [ - alsa-lib - at-spi2-atk - at-spi2-core - atk - cairo - cups - dbus - expat - fontconfig - freetype - gdk-pixbuf - glib - gtk3 - libdrm - libgbm - libglvnd - libnotify - libpulseaudio - libuuid - libxkbcommon - mesa - nspr - nss - pango - pipewire - systemd - wayland - # xorg - libX11 - libXScrnSaver - libXcomposite - libXcursor - libXdamage - libXext - libXfixes - libXi - libXrandr - libXtst - libxcb - ]; - in { - devShells.default = pkgs.mkShell { - packages = with pkgs; [ - nodejs_22 - corepack_22 - bun - electron - pkg-config - python3 - gcc - gnumake - git - jq - patchelf - dpkg - rpm - fpm - sudo - curl - jq - fakeroot - xz-utils - ] ++ electronRuntimeLibs; - - shellHook = '' - export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath electronRuntimeLibs}:$LD_LIBRARY_PATH" - export ELECTRON_ENABLE_LOGGING=1 - export ELECTRON_OZONE_PLATFORM_HINT="''${ELECTRON_OZONE_PLATFORM_HINT:-auto}" - export NPM_CONFIG_TARGET_ARCH="''${NPM_CONFIG_TARGET_ARCH:-x64}" - export npm_config_build_from_source=true - export USE_SYSTEM_FPM=true - - alias electron-install='cd ../.. && bun install' - alias electron-build-web='cd ../.. && bun run build:web' - alias electron-dev='bun run dev' - alias electron-package='bun run package:linux' - alias electron-validate='bun run validate' - ''; - }; - }); -} diff --git a/apps/electron/package.json b/apps/electron/package.json index d650270..7a1780c 100644 --- a/apps/electron/package.json +++ b/apps/electron/package.json @@ -13,19 +13,19 @@ "build:web": "cd ../.. && bun run build:web", "build": "tsc -p tsconfig.json && esbuild src/preload/preload.ts --bundle --platform=node --format=cjs --external:electron --outfile=dist/preload/preload.cjs", "dev:raw": "cd ../.. && bun run build:web && cd apps/electron && bun run build && electron . --verbose", - "dev": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop --command bun run dev:raw; else bun run dev:raw; fi", + "dev": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run dev:raw; else bun run dev:raw; fi", "start:raw": "bun run build && electron .", - "start": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop --command bun run start:raw; else bun run start:raw; fi", + "start": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run start:raw; else bun run start:raw; fi", "package:raw": "cd ../.. && bun run build:web && cd apps/electron && bun run build && electron-builder --publish never", - "package": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop --command bun run package:raw; else bun run package:raw; fi", + "package": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run package:raw; else bun run package:raw; fi", "package:linux:raw": "cd ../.. && bun run build:web && cd apps/electron && bun run build && electron-builder --linux --publish never", - "package:linux": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop --command bun run package:linux:raw; else bun run package:linux:raw; fi", + "package:linux": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run package:linux:raw; else bun run package:linux:raw; fi", "package:windows:raw": "cd ../.. && bun run build:web && cd apps/electron && bun run build && electron-builder --win --publish never", - "package:windows": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop --command bun run package:windows:raw; else bun run package:windows:raw; fi", + "package:windows": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run package:windows:raw; else bun run package:windows:raw; fi", "checksum": "bun scripts/generate-release-metadata.ts", "generate-signing-key": "bun scripts/generate-signing-key.ts", "validate:raw": "bun run build && bun run package:linux:raw", - "validate": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop --command bun run validate:raw; else bun run validate:raw; fi" + "validate": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run validate:raw; else bun run validate:raw; fi" }, "dependencies": {}, "devDependencies": { diff --git a/apps/tauri/flake.lock b/apps/tauri/flake.lock deleted file mode 100644 index c3c71cb..0000000 --- a/apps/tauri/flake.lock +++ /dev/null @@ -1,96 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1775036866, - "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1744536153, - "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "rust-overlay": "rust-overlay" - } - }, - "rust-overlay": { - "inputs": { - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1775272153, - "narHash": "sha256-FwYb64ysv8J2TxaqsYYcDyHAHBUEaQlriPMWPMi1K7M=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "740fb0203b2852917b909a72b948d34d0b171ec0", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/apps/tauri/flake.nix b/apps/tauri/flake.nix deleted file mode 100644 index 4e491e8..0000000 --- a/apps/tauri/flake.nix +++ /dev/null @@ -1,108 +0,0 @@ -{ - description = "Tauri mobile development environment"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - rust-overlay.url = "github:oxalica/rust-overlay"; - flake-utils.url = "github:numtide/flake-utils"; - }; - - outputs = { - self, - nixpkgs, - rust-overlay, - flake-utils, - }: - flake-utils.lib.eachDefaultSystem ( - system: let - overlays = [(import rust-overlay)]; - pkgs = import nixpkgs { - inherit system overlays; - config = { - allowUnfree = true; - android_sdk.accept_license = true; - }; - }; - - projectRoot = "."; - androidHome = "${projectRoot}/.android"; - sdkRoot = "${androidHome}/sdk"; - ndkVersion = "29.0.14206865"; - - android = pkgs.androidenv.composeAndroidPackages { - cmdLineToolsVersion = "8.0"; - toolsVersion = "26.1.1"; - platformToolsVersion = "35.0.2"; - buildToolsVersions = ["35.0.0"]; - platformVersions = ["35" "36"]; - includeSources = false; - includeSystemImages = false; - includeNDK = true; - ndkVersions = [ndkVersion]; - useGoogleAPIs = false; - }; - - rustToolchain = pkgs.rust-bin.stable.latest.default.override { - extensions = ["rust-src" "rust-analyzer"]; - targets = [ - "aarch64-linux-android" - "armv7-linux-androideabi" - "i686-linux-android" - "x86_64-linux-android" - "wasm32-unknown-unknown" - ]; - }; - - in { - devShells.default = pkgs.mkShell { - buildInputs = with pkgs; - [ - jdk17 - rustToolchain - gradle - nodejs - pkg-config - ] - ++ [ - android.androidsdk - pkgs.android-studio-tools - ]; - - shellHook = '' - sdkSource="${android.androidsdk}/libexec/android-sdk" - - mkdir -p "${androidHome}" - if [ -L "${sdkRoot}" ]; then - rm -f "${sdkRoot}" - fi - mkdir -p "${sdkRoot}" - - ln -sfn "$sdkSource/build-tools" "${sdkRoot}/build-tools" - ln -sfn "$sdkSource/cmake" "${sdkRoot}/cmake" - ln -sfn "$sdkSource/licenses" "${sdkRoot}/licenses" - ln -sfn "$sdkSource/ndk" "${sdkRoot}/ndk" - ln -sfn "$sdkSource/ndk-bundle" "${sdkRoot}/ndk-bundle" - ln -sfn "$sdkSource/platforms" "${sdkRoot}/platforms" - ln -sfn "$sdkSource/platform-tools" "${sdkRoot}/platform-tools" - ln -sfn "$sdkSource/tools" "${sdkRoot}/tools" - - mkdir -p "${sdkRoot}/cmdline-tools" - ln -sfn "$sdkSource/cmdline-tools/8.0" "${sdkRoot}/cmdline-tools/8.0" - ln -sfn "8.0" "${sdkRoot}/cmdline-tools/latest" - - sdkRootAbs="$(realpath "${sdkRoot}")" - ndkRootAbs="''${sdkRootAbs}/ndk/${ndkVersion}" - - export PATH="''${sdkRootAbs}/cmdline-tools/latest/bin:''${sdkRootAbs}/platform-tools:''${ndkRootAbs}:${pkgs.android-studio-tools}/bin:$PATH" - export ANDROID_HOME="''${sdkRootAbs}" - export ANDROID_SDK_ROOT="''${sdkRootAbs}" - export ANDROID_NDK_ROOT="''${ndkRootAbs}" - export ANDROID_NDK_HOME="$ANDROID_NDK_ROOT" - export NDK_HOME="$ANDROID_NDK_ROOT" - export NDK_PATH="$ANDROID_NDK_ROOT" - export JAVA_HOME="${pkgs.jdk17}" - ''; - }; - } - ); -} diff --git a/apps/tauri/package.json b/apps/tauri/package.json index b5d89ec..6ddaaea 100644 --- a/apps/tauri/package.json +++ b/apps/tauri/package.json @@ -21,9 +21,9 @@ "dev:mobile:raw": "tauri android dev --host ${TAURI_DEV_HOST:-127.0.0.1}", "start-adb:mobile:raw": "adb devices", "build:mobile:raw": "tauri android build", - "dev:mobile": "if command -v nix >/dev/null 2>&1; then nix develop --command bun dev:mobile:raw; else bun dev:mobile:raw; fi", - "start-adb:mobile": "if command -v nix >/dev/null 2>&1; then nix develop --command bun start-adb:mobile:raw; else bun start-adb:mobile:raw; fi", - "build:mobile": "bun run render-version.ts && if command -v nix >/dev/null 2>&1; then nix develop --command bun build:mobile:raw; else bun build:mobile:raw; fi && bun run render-version.ts --unrender", + "dev:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command bun dev:mobile:raw; else bun dev:mobile:raw; fi", + "start-adb:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command bun start-adb:mobile:raw; else bun start-adb:mobile:raw; fi", + "build:mobile": "bun run render-version.ts && if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command bun build:mobile:raw; else bun build:mobile:raw; fi && bun run render-version.ts --unrender", "gen-icons": "tauri icon ./logo.json && bun scripts/sync-electron-icons.ts", "format": "bunx prettier --write .", "lint": "eslint src" diff --git a/flake.lock b/flake.lock index ea7bf8c..aeb3d70 100644 --- a/flake.lock +++ b/flake.lock @@ -2,22 +2,58 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1779508470, - "narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=", + "lastModified": 1782467914, + "narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "29916453413845e54a65b8a1cf996842300cd299", + "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", "type": "github" }, "original": { - "id": "nixpkgs", + "owner": "NixOS", "ref": "nixos-unstable", - "type": "indirect" + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1744536153, + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, "root": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1782616745, + "narHash": "sha256-NN5B1cKBXF6h1Ec681gMGZ2o/99d7vKXAAfFNEvyOKA=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "b916d014dc57eb555f84e51172a82f7f6fb560d7", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 7d1d820..e414f57 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,17 @@ { - description = "Tensamin desktop client"; + description = "Tensamin Client"; - inputs.nixpkgs.url = "nixpkgs/nixos-unstable"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + rust-overlay.url = "github:oxalica/rust-overlay"; + }; - outputs = {nixpkgs, ...}: let + outputs = { + self, + nixpkgs, + rust-overlay, + ... + }: let systems = ["x86_64-linux"]; forAllSystems = nixpkgs.lib.genAttrs systems; version = "0.0.10"; @@ -11,13 +19,21 @@ forgejoBaseUrl = "https://git.methanium.net/tensamin/client/releases/download/${version}"; in { packages = forAllSystems (system: let - pkgs = import nixpkgs {inherit system;}; + pkgs = import nixpkgs { + inherit system; + overlays = [(import rust-overlay)]; + config = { + allowUnfree = true; + android_sdk.accept_license = true; + }; + }; debArtifact = "Tensamin-${version}-linux-amd64.deb"; electronRuntimeLibs = with pkgs; [ alsa-lib at-spi2-atk at-spi2-core + atk cairo cups dbus @@ -29,6 +45,7 @@ gtk3 libdrm libgbm + libglvnd libnotify libpulseaudio libuuid @@ -37,6 +54,7 @@ nspr nss pango + pipewire systemd wayland libX11 @@ -92,8 +110,204 @@ url = "${forgejoBaseUrl}/${debArtifact}"; hash = x86_64DebHash; }); + localDebPath = builtins.getEnv "TENSAMIN_DEB"; + localPathPackage = + if localDebPath == "" + then + pkgs.writeShellScriptBin "tensamin" '' + echo "Set TENSAMIN_DEB to a local .deb path and run with --impure." >&2 + exit 1 + '' + else + packageDeb (builtins.path { + path = localDebPath; + name = debArtifact; + }); in { default = defaultPackage; + tensamin = defaultPackage; + electron = defaultPackage; + localPathForDev = localPathPackage; + }); + + devShells = forAllSystems (system: let + pkgs = import nixpkgs { + inherit system; + overlays = [(import rust-overlay)]; + config = { + allowUnfree = true; + android_sdk.accept_license = true; + }; + }; + + electronRuntimeLibs = with pkgs; [ + alsa-lib + at-spi2-atk + at-spi2-core + atk + cairo + cups + dbus + expat + fontconfig + freetype + gdk-pixbuf + glib + gtk3 + libdrm + libgbm + libglvnd + libnotify + libpulseaudio + libuuid + libxkbcommon + mesa + nspr + nss + pango + pipewire + systemd + wayland + libX11 + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXtst + libxcb + ]; + + ndkVersion = "29.0.14206865"; + android = pkgs.androidenv.composeAndroidPackages { + cmdLineToolsVersion = "8.0"; + toolsVersion = "26.1.1"; + platformToolsVersion = "35.0.2"; + buildToolsVersions = ["35.0.0"]; + platformVersions = ["35" "36"]; + includeSources = false; + includeSystemImages = false; + includeNDK = true; + ndkVersions = [ndkVersion]; + useGoogleAPIs = false; + }; + rustToolchain = pkgs.rust-bin.stable.latest.default.override { + extensions = ["rust-src" "rust-analyzer"]; + targets = [ + "aarch64-linux-android" + "armv7-linux-androideabi" + "i686-linux-android" + "x86_64-linux-android" + "wasm32-unknown-unknown" + ]; + }; + in rec { + default = electron; + + electron = pkgs.mkShell { + packages = with pkgs; + [ + nodejs_22 + corepack_22 + bun + electron + pkg-config + python3 + gcc + gnumake + git + jq + patchelf + dpkg + rpm + fpm + sudo + curl + fakeroot + rsync + xz-utils + ] + ++ electronRuntimeLibs; + + shellHook = '' + export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath electronRuntimeLibs}:$LD_LIBRARY_PATH" + export ELECTRON_ENABLE_LOGGING=1 + export ELECTRON_OZONE_PLATFORM_HINT="''${ELECTRON_OZONE_PLATFORM_HINT:-auto}" + export NPM_CONFIG_TARGET_ARCH="''${NPM_CONFIG_TARGET_ARCH:-x64}" + export npm_config_build_from_source=true + export USE_SYSTEM_FPM=true + + alias electron-install='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && bun install' + alias electron-build-web='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && bun run build:web' + alias electron-dev='bun run dev' + alias electron-package='bun run package:linux' + alias electron-validate='bun run validate' + ''; + }; + + tauri = pkgs.mkShell { + buildInputs = with pkgs; + [ + jdk17 + rustToolchain + gradle + bun + nodejs + pkg-config + git + jq + curl + ] + ++ [ + android.androidsdk + android-studio-tools + ]; + + shellHook = '' + sdkSource="${android.androidsdk}/libexec/android-sdk" + if [ -d apps/tauri/src-tauri ]; then + projectRoot="$PWD/apps/tauri" + else + projectRoot="$PWD" + fi + androidHome="$projectRoot/.android" + sdkRoot="$androidHome/sdk" + + mkdir -p "$androidHome" + if [ -L "$sdkRoot" ]; then + rm -f "$sdkRoot" + fi + mkdir -p "$sdkRoot" + + ln -sfn "$sdkSource/build-tools" "$sdkRoot/build-tools" + ln -sfn "$sdkSource/cmake" "$sdkRoot/cmake" + ln -sfn "$sdkSource/licenses" "$sdkRoot/licenses" + ln -sfn "$sdkSource/ndk" "$sdkRoot/ndk" + ln -sfn "$sdkSource/ndk-bundle" "$sdkRoot/ndk-bundle" + ln -sfn "$sdkSource/platforms" "$sdkRoot/platforms" + ln -sfn "$sdkSource/platform-tools" "$sdkRoot/platform-tools" + ln -sfn "$sdkSource/tools" "$sdkRoot/tools" + + mkdir -p "$sdkRoot/cmdline-tools" + ln -sfn "$sdkSource/cmdline-tools/8.0" "$sdkRoot/cmdline-tools/8.0" + ln -sfn "8.0" "$sdkRoot/cmdline-tools/latest" + + sdkRootAbs="$(realpath "$sdkRoot")" + ndkRootAbs="''${sdkRootAbs}/ndk/${ndkVersion}" + + export PATH="''${sdkRootAbs}/cmdline-tools/latest/bin:''${sdkRootAbs}/platform-tools:''${ndkRootAbs}:${pkgs.android-studio-tools}/bin:$PATH" + export ANDROID_HOME="''${sdkRootAbs}" + export ANDROID_SDK_ROOT="''${sdkRootAbs}" + export ANDROID_NDK_ROOT="''${ndkRootAbs}" + export ANDROID_NDK_HOME="$ANDROID_NDK_ROOT" + export NDK_HOME="$ANDROID_NDK_ROOT" + export NDK_PATH="$ANDROID_NDK_ROOT" + export JAVA_HOME="${pkgs.jdk17}" + ''; + }; }); }; } diff --git a/package.json b/package.json index 0458230..0fc8932 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "dev:desktop": "cd apps/electron && bun run dev", "build:desktop": "cd apps/electron && bun run package", "run:desktop": "TENSAMIN_DEB=\"$PWD/apps/electron/release/Tensamin-$(node -p \\\"require('./package.json').version\\\")-linux-amd64.deb\" nix run .#localPathForDev --impure", - "delete:mobile": "cd apps/tauri && nix develop --command adb uninstall net.tensamin.client" + "delete:mobile": "cd apps/tauri && nix develop ../..#tauri --command adb uninstall net.tensamin.client" }, "devDependencies": { "@eslint/js": "^10.0.1", From de3150b74b3e00f4720a2288b54fcfb1802f15a1 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 18:36:18 +0200 Subject: [PATCH 18/75] (fix): dep --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index e414f57..3762bc6 100644 --- a/flake.nix +++ b/flake.nix @@ -228,7 +228,7 @@ curl fakeroot rsync - xz-utils + xz ] ++ electronRuntimeLibs; From 3f2275179b8843f3a93d1bb585cb48574de63301 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 18:38:13 +0200 Subject: [PATCH 19/75] (qol): update readme --- readme.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/readme.md b/readme.md index 5ace45c..ff7c637 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,3 @@ # Information All dev releases get deleted upon creation of the latest prod release. - -When working on a development branch, the package version must be higher than the latest stable release. From 63abd5697f2b37023659edd90d23c065617957e4 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 18:45:58 +0200 Subject: [PATCH 20/75] (fix): nix dev shell --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 3762bc6..d150e01 100644 --- a/flake.nix +++ b/flake.nix @@ -208,12 +208,12 @@ default = electron; electron = pkgs.mkShell { - packages = with pkgs; + packages = with pkgs; [ nodejs_22 corepack_22 bun - electron + pkgs.electron pkg-config python3 gcc From d176de6cb1f893937cc2b306c1639bf40b1348a8 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 18:47:14 +0200 Subject: [PATCH 21/75] (qol): run format --- apps/electron/.gitignore | 2 +- apps/web/src/index.tsx | 44 +++++++++++++++++++----------------- packages/chat/src/screen.tsx | 6 +---- 3 files changed, 25 insertions(+), 27 deletions(-) diff --git a/apps/electron/.gitignore b/apps/electron/.gitignore index 158494b..b53a288 100644 --- a/apps/electron/.gitignore +++ b/apps/electron/.gitignore @@ -1,2 +1,2 @@ dist -release \ No newline at end of file +release diff --git a/apps/web/src/index.tsx b/apps/web/src/index.tsx index 1eab09f..2268e50 100644 --- a/apps/web/src/index.tsx +++ b/apps/web/src/index.tsx @@ -137,28 +137,30 @@ function ThemeStorageBridge() { load("theme_tint"), load("theme_border_radius"), load("theme_custom_css"), - ]).then(([ - color, - palette, - primaryColor, - polarity, - tint, - borderRadius, - customCss, - ]) => { - if (!active) { - return; - } + ]).then( + ([ + color, + palette, + primaryColor, + polarity, + tint, + borderRadius, + customCss, + ]) => { + if (!active) { + return; + } - setThemeColor(color); - setThemePalette(palette); - setThemePrimaryColor(primaryColor); - setThemePolarity(polarity); - setThemeTint(tint); - setThemeBorderRadius(borderRadius); - setThemeCustomCss(customCss); - loadedRef.current = true; - }); + setThemeColor(color); + setThemePalette(palette); + setThemePrimaryColor(primaryColor); + setThemePolarity(polarity); + setThemeTint(tint); + setThemeBorderRadius(borderRadius); + setThemeCustomCss(customCss); + loadedRef.current = true; + }, + ); return () => { active = false; diff --git a/packages/chat/src/screen.tsx b/packages/chat/src/screen.tsx index f6bcff5..ffdcab7 100644 --- a/packages/chat/src/screen.tsx +++ b/packages/chat/src/screen.tsx @@ -132,11 +132,7 @@ export default function Screen() { fetchNextPageRef.current = () => { void fetchMessagesNextPage(); }; - }, [ - fetchMessagesNextPage, - hasMessagesNextPage, - isFetchingMessagesNextPage, - ]); + }, [fetchMessagesNextPage, hasMessagesNextPage, isFetchingMessagesNextPage]); React.useEffect(() => { clearLiveMessages(); From d7aedad9b4948775ab7b6603f6c0c83d16ec8c3c Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 18:58:55 +0200 Subject: [PATCH 22/75] (fix): build issues --- scripts/build-packages.ts | 2 +- scripts/lint-packages.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-packages.ts b/scripts/build-packages.ts index 0f4991a..3656461 100644 --- a/scripts/build-packages.ts +++ b/scripts/build-packages.ts @@ -34,7 +34,7 @@ for (const fullPath of packageDirs) { const entry = fullPath.replace(packagesDir + "/", ""); console.log(`Building ${entry}...`); try { - execSync("bun run build", { cwd: fullPath, stdio: "inherit" }); + execSync("bun --bun run build", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} built successfully.`); } catch { console.error(`Failed to build ${entry}.`); diff --git a/scripts/lint-packages.ts b/scripts/lint-packages.ts index b9abdf2..ccfe5e4 100644 --- a/scripts/lint-packages.ts +++ b/scripts/lint-packages.ts @@ -36,7 +36,7 @@ for (const targetDir of targetDirs) { const entry = relative(rootDir, fullPath); console.log(`Linting ${entry}...`); try { - execSync("bun run lint", { cwd: fullPath, stdio: "inherit" }); + execSync("bun --bun run lint", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} linted successfully.`); } catch { console.error(`Failed to lint ${entry}.`); From f81235c68d16ba481d350ddbf12897a91b4f903a Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 19:05:22 +0200 Subject: [PATCH 23/75] (fix): now run builds in nix shell --- package.json | 6 ++++-- scripts/build-packages.ts | 2 +- scripts/lint-packages.ts | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 0fc8932..5458b53 100644 --- a/package.json +++ b/package.json @@ -9,13 +9,15 @@ "type": "module", "scripts": { "format": "bunx prettier --write .", - "lint": "bun scripts/lint-packages.ts", + "lint": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop .#electron --command bun run lint:raw; else bun run lint:raw; fi", + "lint:raw": "bun scripts/lint-packages.ts", "check": "fallow && bun run lint", "copy-licenses": "bun scripts/copy-licenses.ts", "copy-releases": "bun scripts/copy-releases.ts", "pre-build": "bun run lint && bun run build:packages", "build:apps": "bun run copy-licenses && bun run pre-build && bun run build:mobile && bun run build:desktop && bun --bun run copy-releases", - "build:packages": "bun scripts/build-packages.ts", + "build:packages": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop .#electron --command bun run build:packages:raw; else bun run build:packages:raw; fi", + "build:packages:raw": "bun scripts/build-packages.ts", "update:packages": "bun scripts/update-packages.ts", "dev:web": "cd apps/web && bun dev", "build:web": "cd apps/web && bun run build", diff --git a/scripts/build-packages.ts b/scripts/build-packages.ts index 3656461..0f4991a 100644 --- a/scripts/build-packages.ts +++ b/scripts/build-packages.ts @@ -34,7 +34,7 @@ for (const fullPath of packageDirs) { const entry = fullPath.replace(packagesDir + "/", ""); console.log(`Building ${entry}...`); try { - execSync("bun --bun run build", { cwd: fullPath, stdio: "inherit" }); + execSync("bun run build", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} built successfully.`); } catch { console.error(`Failed to build ${entry}.`); diff --git a/scripts/lint-packages.ts b/scripts/lint-packages.ts index ccfe5e4..b9abdf2 100644 --- a/scripts/lint-packages.ts +++ b/scripts/lint-packages.ts @@ -36,7 +36,7 @@ for (const targetDir of targetDirs) { const entry = relative(rootDir, fullPath); console.log(`Linting ${entry}...`); try { - execSync("bun --bun run lint", { cwd: fullPath, stdio: "inherit" }); + execSync("bun run lint", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} linted successfully.`); } catch { console.error(`Failed to lint ${entry}.`); From 10da530e9ecf8afac13d8542193acab2b8ed6b48 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 19:09:50 +0200 Subject: [PATCH 24/75] Revert "(fix): now run builds in nix shell" This reverts commit f81235c68d16ba481d350ddbf12897a91b4f903a. --- package.json | 6 ++---- scripts/build-packages.ts | 2 +- scripts/lint-packages.ts | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 5458b53..0fc8932 100644 --- a/package.json +++ b/package.json @@ -9,15 +9,13 @@ "type": "module", "scripts": { "format": "bunx prettier --write .", - "lint": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop .#electron --command bun run lint:raw; else bun run lint:raw; fi", - "lint:raw": "bun scripts/lint-packages.ts", + "lint": "bun scripts/lint-packages.ts", "check": "fallow && bun run lint", "copy-licenses": "bun scripts/copy-licenses.ts", "copy-releases": "bun scripts/copy-releases.ts", "pre-build": "bun run lint && bun run build:packages", "build:apps": "bun run copy-licenses && bun run pre-build && bun run build:mobile && bun run build:desktop && bun --bun run copy-releases", - "build:packages": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop .#electron --command bun run build:packages:raw; else bun run build:packages:raw; fi", - "build:packages:raw": "bun scripts/build-packages.ts", + "build:packages": "bun scripts/build-packages.ts", "update:packages": "bun scripts/update-packages.ts", "dev:web": "cd apps/web && bun dev", "build:web": "cd apps/web && bun run build", diff --git a/scripts/build-packages.ts b/scripts/build-packages.ts index 0f4991a..3656461 100644 --- a/scripts/build-packages.ts +++ b/scripts/build-packages.ts @@ -34,7 +34,7 @@ for (const fullPath of packageDirs) { const entry = fullPath.replace(packagesDir + "/", ""); console.log(`Building ${entry}...`); try { - execSync("bun run build", { cwd: fullPath, stdio: "inherit" }); + execSync("bun --bun run build", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} built successfully.`); } catch { console.error(`Failed to build ${entry}.`); diff --git a/scripts/lint-packages.ts b/scripts/lint-packages.ts index b9abdf2..ccfe5e4 100644 --- a/scripts/lint-packages.ts +++ b/scripts/lint-packages.ts @@ -36,7 +36,7 @@ for (const targetDir of targetDirs) { const entry = relative(rootDir, fullPath); console.log(`Linting ${entry}...`); try { - execSync("bun run lint", { cwd: fullPath, stdio: "inherit" }); + execSync("bun --bun run lint", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} linted successfully.`); } catch { console.error(`Failed to lint ${entry}.`); From 3c7a28ceb216028d045ef2de62e4daf3a6932973 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 19:10:23 +0200 Subject: [PATCH 25/75] Reapply "(fix): now run builds in nix shell" This reverts commit 10da530e9ecf8afac13d8542193acab2b8ed6b48. --- package.json | 6 ++++-- scripts/build-packages.ts | 2 +- scripts/lint-packages.ts | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 0fc8932..5458b53 100644 --- a/package.json +++ b/package.json @@ -9,13 +9,15 @@ "type": "module", "scripts": { "format": "bunx prettier --write .", - "lint": "bun scripts/lint-packages.ts", + "lint": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop .#electron --command bun run lint:raw; else bun run lint:raw; fi", + "lint:raw": "bun scripts/lint-packages.ts", "check": "fallow && bun run lint", "copy-licenses": "bun scripts/copy-licenses.ts", "copy-releases": "bun scripts/copy-releases.ts", "pre-build": "bun run lint && bun run build:packages", "build:apps": "bun run copy-licenses && bun run pre-build && bun run build:mobile && bun run build:desktop && bun --bun run copy-releases", - "build:packages": "bun scripts/build-packages.ts", + "build:packages": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop .#electron --command bun run build:packages:raw; else bun run build:packages:raw; fi", + "build:packages:raw": "bun scripts/build-packages.ts", "update:packages": "bun scripts/update-packages.ts", "dev:web": "cd apps/web && bun dev", "build:web": "cd apps/web && bun run build", diff --git a/scripts/build-packages.ts b/scripts/build-packages.ts index 3656461..0f4991a 100644 --- a/scripts/build-packages.ts +++ b/scripts/build-packages.ts @@ -34,7 +34,7 @@ for (const fullPath of packageDirs) { const entry = fullPath.replace(packagesDir + "/", ""); console.log(`Building ${entry}...`); try { - execSync("bun --bun run build", { cwd: fullPath, stdio: "inherit" }); + execSync("bun run build", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} built successfully.`); } catch { console.error(`Failed to build ${entry}.`); diff --git a/scripts/lint-packages.ts b/scripts/lint-packages.ts index ccfe5e4..b9abdf2 100644 --- a/scripts/lint-packages.ts +++ b/scripts/lint-packages.ts @@ -36,7 +36,7 @@ for (const targetDir of targetDirs) { const entry = relative(rootDir, fullPath); console.log(`Linting ${entry}...`); try { - execSync("bun --bun run lint", { cwd: fullPath, stdio: "inherit" }); + execSync("bun run lint", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} linted successfully.`); } catch { console.error(`Failed to lint ${entry}.`); From 692e1da4b0c41dbed515ad1c02fcf9d5b3531182 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 19:12:40 +0200 Subject: [PATCH 26/75] (feat): add coreutils to dev shell --- flake.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/flake.nix b/flake.nix index d150e01..60735f9 100644 --- a/flake.nix +++ b/flake.nix @@ -212,6 +212,7 @@ [ nodejs_22 corepack_22 + coreutils bun pkgs.electron pkg-config @@ -256,6 +257,7 @@ gradle bun nodejs + coreutils pkg-config git jq From 4980ca8f9fcfa780dc54558417bba4fcbe6bd3ab Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 19:14:01 +0200 Subject: [PATCH 27/75] (tmp): dubious change to trigger workflow --- temp | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 temp diff --git a/temp b/temp new file mode 100644 index 0000000..e69de29 From 70740e31e67e342cd4bd5732b5e896dec9014ba4 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 19:21:21 +0200 Subject: [PATCH 28/75] (fix): try workflow fix --- .forgejo/workflows/deploy-dev.yml | 18 +++++++++--------- .forgejo/workflows/deploy-prod.yml | 18 +++++++++--------- package.json | 6 ++---- temp | 0 4 files changed, 20 insertions(+), 22 deletions(-) delete mode 100644 temp diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index cd0ca64..665698d 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -16,13 +16,13 @@ jobs: run: nix develop .#electron --command bun install --frozen-lockfile - name: Copy licenses - run: nix develop .#electron --command bun run copy-licenses + run: nix develop .#electron --command bun --bun run copy-licenses - name: Build packages - run: nix develop .#electron --command bun run build:packages + run: nix develop .#electron --command bun --bun run build:packages - name: Build web - run: nix develop .#electron --command bun run build:web + run: nix develop .#electron --command bun --bun run build:web - name: Deploy run: nix develop .#electron --command rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ @@ -37,10 +37,10 @@ jobs: run: nix develop .#tauri --command bun install --frozen-lockfile - name: Copy licenses - run: nix develop .#tauri --command bun run copy-licenses + run: nix develop .#tauri --command bun --bun run copy-licenses - name: Build packages - run: nix develop .#tauri --command bun run build:packages + run: nix develop .#tauri --command bun --bun run build:packages - name: Setup Android Keystore env: @@ -97,7 +97,7 @@ jobs: fi - name: Build mobile - run: nix develop .#tauri --command bun run build:mobile + run: nix develop .#tauri --command bun --bun run build:mobile - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -118,10 +118,10 @@ jobs: run: nix develop .#electron --command bun install --frozen-lockfile - name: Copy licenses - run: nix develop .#electron --command bun run copy-licenses + run: nix develop .#electron --command bun --bun run copy-licenses - name: Build packages - run: nix develop .#electron --command bun run build:packages + run: nix develop .#electron --command bun --bun run build:packages - name: Set Electron dev version run: | @@ -141,7 +141,7 @@ jobs: EOF - name: Build Electron desktop - run: nix develop .#electron --command bun run build:desktop + run: nix develop .#electron --command bun --bun run build:desktop - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index f5339aa..b5cdcb6 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -17,13 +17,13 @@ jobs: run: nix develop .#electron --command bun install --frozen-lockfile - name: Copy licenses - run: nix develop .#electron --command bun run copy-licenses + run: nix develop .#electron --command bun --bun run copy-licenses - name: Build packages - run: nix develop .#electron --command bun run build:packages + run: nix develop .#electron --command bun --bun run build:packages - name: Build web - run: nix develop .#electron --command bun run build:web + run: nix develop .#electron --command bun --bun run build:web - name: Deploy run: nix develop .#electron --command rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ @@ -38,10 +38,10 @@ jobs: run: nix develop .#tauri --command bun install --frozen-lockfile - name: Copy licenses - run: nix develop .#tauri --command bun run copy-licenses + run: nix develop .#tauri --command bun --bun run copy-licenses - name: Build packages - run: nix develop .#tauri --command bun run build:packages + run: nix develop .#tauri --command bun --bun run build:packages - name: Setup Android Keystore env: @@ -98,7 +98,7 @@ jobs: fi - name: Build mobile - run: nix develop .#tauri --command bun run build:mobile + run: nix develop .#tauri --command bun --bun run build:mobile - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -119,10 +119,10 @@ jobs: run: nix develop .#electron --command bun install --frozen-lockfile - name: Copy licenses - run: nix develop .#electron --command bun run copy-licenses + run: nix develop .#electron --command bun --bun run copy-licenses - name: Build packages - run: nix develop .#electron --command bun run build:packages + run: nix develop .#electron --command bun --bun run build:packages - name: Set Electron prod version run: | @@ -140,7 +140,7 @@ jobs: EOF - name: Build Electron desktop - run: nix develop .#electron --command bun run build:desktop + run: nix develop .#electron --command bun --bun run build:desktop - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 diff --git a/package.json b/package.json index 5458b53..0fc8932 100644 --- a/package.json +++ b/package.json @@ -9,15 +9,13 @@ "type": "module", "scripts": { "format": "bunx prettier --write .", - "lint": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop .#electron --command bun run lint:raw; else bun run lint:raw; fi", - "lint:raw": "bun scripts/lint-packages.ts", + "lint": "bun scripts/lint-packages.ts", "check": "fallow && bun run lint", "copy-licenses": "bun scripts/copy-licenses.ts", "copy-releases": "bun scripts/copy-releases.ts", "pre-build": "bun run lint && bun run build:packages", "build:apps": "bun run copy-licenses && bun run pre-build && bun run build:mobile && bun run build:desktop && bun --bun run copy-releases", - "build:packages": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop .#electron --command bun run build:packages:raw; else bun run build:packages:raw; fi", - "build:packages:raw": "bun scripts/build-packages.ts", + "build:packages": "bun scripts/build-packages.ts", "update:packages": "bun scripts/update-packages.ts", "dev:web": "cd apps/web && bun dev", "build:web": "cd apps/web && bun run build", diff --git a/temp b/temp deleted file mode 100644 index e69de29..0000000 From 1dd8a979eede212b7051da204e5a9e131738bb93 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 19:47:12 +0200 Subject: [PATCH 29/75] (fix): workflows --- .forgejo/workflows/deploy-dev.yml | 3 +++ .forgejo/workflows/deploy-prod.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 665698d..7288da7 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -9,6 +9,9 @@ jobs: build-web: runs-on: nixos steps: + - name: Install node + run: nix profile install nixpkgs#nodejs_24 + - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index b5cdcb6..2dad371 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -152,6 +152,9 @@ jobs: runs-on: nixos needs: [build-web, build-mobile, build-desktop] steps: + - name: Install node + run: nix profile install nixpkgs#nodejs_24 + - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 From 018571c9509d66470ba2fdf2e818b968b194e6e6 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 19:48:40 +0200 Subject: [PATCH 30/75] (fix): workflows --- .forgejo/workflows/deploy-dev.yml | 9 +++++++++ .forgejo/workflows/deploy-prod.yml | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 7288da7..d777e17 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -33,6 +33,9 @@ jobs: build-mobile: runs-on: nixos steps: + - name: Install node + run: nix profile install nixpkgs#nodejs_24 + - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -114,6 +117,9 @@ jobs: matrix: target: [linux] steps: + - name: Install node + run: nix profile install nixpkgs#nodejs_24 + - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -156,6 +162,9 @@ jobs: runs-on: nixos needs: [build-web, build-mobile, build-desktop] steps: + - name: Install node + run: nix profile install nixpkgs#nodejs_24 + - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 with: diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 2dad371..c94aa46 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -10,6 +10,9 @@ jobs: build-web: runs-on: nixos steps: + - name: Install node + run: nix profile install nixpkgs#nodejs_24 + - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -31,6 +34,9 @@ jobs: build-mobile: runs-on: nixos steps: + - name: Install node + run: nix profile install nixpkgs#nodejs_24 + - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -112,6 +118,9 @@ jobs: matrix: target: [linux] steps: + - name: Install node + run: nix profile install nixpkgs#nodejs_24 + - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 From b704e266d60a84fa544cd69223bc3a6bead3031e Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 19:50:51 +0200 Subject: [PATCH 31/75] (fix): workflows --- .forgejo/workflows/deploy-dev.yml | 11 +++++++---- .forgejo/workflows/deploy-prod.yml | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index d777e17..cb7c3f5 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -5,12 +5,15 @@ on: paths-ignore: - flake.nix +env: + NIX_CONFIG: experimental-features = nix-command flakes + jobs: build-web: runs-on: nixos steps: - name: Install node - run: nix profile install nixpkgs#nodejs_24 + run: nix profile add nixpkgs#nodejs_24 - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -34,7 +37,7 @@ jobs: runs-on: nixos steps: - name: Install node - run: nix profile install nixpkgs#nodejs_24 + run: nix profile add nixpkgs#nodejs_24 - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -118,7 +121,7 @@ jobs: target: [linux] steps: - name: Install node - run: nix profile install nixpkgs#nodejs_24 + run: nix profile add nixpkgs#nodejs_24 - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -163,7 +166,7 @@ jobs: needs: [build-web, build-mobile, build-desktop] steps: - name: Install node - run: nix profile install nixpkgs#nodejs_24 + run: nix profile add nixpkgs#nodejs_24 - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index c94aa46..73e49ad 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -6,12 +6,15 @@ on: paths-ignore: - flake.nix +env: + NIX_CONFIG: experimental-features = nix-command flakes + jobs: build-web: runs-on: nixos steps: - name: Install node - run: nix profile install nixpkgs#nodejs_24 + run: nix profile add nixpkgs#nodejs_24 - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -35,7 +38,7 @@ jobs: runs-on: nixos steps: - name: Install node - run: nix profile install nixpkgs#nodejs_24 + run: nix profile add nixpkgs#nodejs_24 - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -119,7 +122,7 @@ jobs: target: [linux] steps: - name: Install node - run: nix profile install nixpkgs#nodejs_24 + run: nix profile add nixpkgs#nodejs_24 - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -162,7 +165,7 @@ jobs: needs: [build-web, build-mobile, build-desktop] steps: - name: Install node - run: nix profile install nixpkgs#nodejs_24 + run: nix profile add nixpkgs#nodejs_24 - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 From eef6c684268041d9e7d8b18d90f58ee518e79bb8 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 20:01:55 +0200 Subject: [PATCH 32/75] (fix): workflows --- .forgejo/workflows/deploy-dev.yml | 2 ++ .forgejo/workflows/deploy-prod.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index cb7c3f5..4d321a7 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -56,6 +56,8 @@ jobs: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | + nix profile add nixpkgs#gnused + set -euo pipefail if [ -z "$KEYSTORE_BASE64" ]; then diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 73e49ad..42ac0e4 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -57,6 +57,8 @@ jobs: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | + nix profile add nixpkgs#gnused + set -euo pipefail if [ -z "$KEYSTORE_BASE64" ]; then From 05a94c58f95fe3dcd8701d854e81e54086f16973 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 20:26:43 +0200 Subject: [PATCH 33/75] (fix): make the flake more robust --- flake.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 60735f9..c8e59e5 100644 --- a/flake.nix +++ b/flake.nix @@ -181,12 +181,13 @@ libxcb ]; + buildToolsVersion = "35.0.0"; ndkVersion = "29.0.14206865"; android = pkgs.androidenv.composeAndroidPackages { cmdLineToolsVersion = "8.0"; toolsVersion = "26.1.1"; platformToolsVersion = "35.0.2"; - buildToolsVersions = ["35.0.0"]; + buildToolsVersions = [buildToolsVersion]; platformVersions = ["35" "36"]; includeSources = false; includeSystemImages = false; @@ -308,6 +309,18 @@ export NDK_HOME="$ANDROID_NDK_ROOT" export NDK_PATH="$ANDROID_NDK_ROOT" export JAVA_HOME="${pkgs.jdk17}" + + aapt2Path="''${sdkRootAbs}/build-tools/${buildToolsVersion}/aapt2" + if [ -x "$aapt2Path" ]; then + mkdir -p "$HOME/.gradle" + gradleProperties="$HOME/.gradle/gradle.properties" + touch "$gradleProperties" + if grep -q '^android\.aapt2FromMavenOverride=' "$gradleProperties"; then + sed -i "s|^android\.aapt2FromMavenOverride=.*|android.aapt2FromMavenOverride=$aapt2Path|" "$gradleProperties" + else + printf '\nandroid.aapt2FromMavenOverride=%s\n' "$aapt2Path" >> "$gradleProperties" + fi + fi ''; }; }); From b1e8af7ec3079e18b971e50e72eca8ce4778c1af Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 28 Jun 2026 20:27:08 +0200 Subject: [PATCH 34/75] (tmp): trigger workflow --- temp | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 temp diff --git a/temp b/temp new file mode 100644 index 0000000..e69de29 From 20018f09a9f8d84e3f1b417e4b4c03b02791aab6 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 2 Jul 2026 21:05:50 +0200 Subject: [PATCH 35/75] (wip): migrate ttp to mtp --- apps/tauri/src-tauri/Cargo.lock | 1250 +------ apps/tauri/src-tauri/Cargo.toml | 2 - .../tauri/src-tauri/capabilities/default.json | 6 +- apps/tauri/src-tauri/capabilities/mobile.json | 6 +- apps/tauri/src-tauri/src/lib.rs | 3 +- apps/web/package.json | 90 +- .../web/src/components/screens/login/form.tsx | 6 +- apps/web/src/components/sidebar.tsx | 12 +- apps/web/src/index.tsx | 87 +- apps/web/src/routes/app/home.tsx | 4 +- apps/web/src/routes/settings/profile.tsx | 8 +- apps/web/src/routes/settings/security.tsx | 2 +- apps/web/vite.config.ts | 20 +- bun.lock | 609 ++- flake.nix | 9 +- licenses/@babel_runtime@7.29.7/LICENSE | 22 + licenses/@base-ui_react@1.6.0/LICENSE | 21 + licenses/@base-ui_utils@0.3.1/LICENSE | 21 + .../LICENSE | 0 .../LICENSE | 0 .../LICENSE | 0 licenses/@floating-ui_core@1.7.5/LICENSE | 20 + licenses/@floating-ui_dom@1.7.6/LICENSE | 20 + licenses/@floating-ui_react-dom@2.1.8/LICENSE | 20 + licenses/@floating-ui_utils@0.2.11/LICENSE | 20 + .../LICENSE | 93 + .../LICENSE | 0 licenses/@noble_hashes@2.2.0/LICENSE | 21 + licenses/@radix-ui_primitive@1.1.4/LICENSE | 21 + .../LICENSE | 21 + .../@radix-ui_react-context@1.1.4/LICENSE | 21 + .../@radix-ui_react-dialog@1.1.18/LICENSE | 21 + .../LICENSE | 21 + .../LICENSE | 21 + .../LICENSE | 21 + licenses/@radix-ui_react-id@1.1.2/LICENSE | 21 + .../@radix-ui_react-portal@1.1.13/LICENSE | 21 + .../@radix-ui_react-presence@1.1.6/LICENSE | 21 + .../@radix-ui_react-primitive@2.1.7/LICENSE | 21 + licenses/@radix-ui_react-slot@1.3.0/LICENSE | 21 + .../LICENSE | 21 + .../LICENSE | 21 + .../LICENSE | 21 + .../LICENSE | 21 + licenses/@reduxjs_toolkit@2.12.0/LICENSE | 21 + .../LICENSE | 0 .../LICENSE | 21 + .../LICENSE | 0 licenses/@tanstack_pacer@0.21.1/LICENSE | 21 + .../LICENSE | 0 .../LICENSE | 0 .../@tanstack_react-router@1.170.17/LICENSE | 21 + licenses/@tanstack_react-store@0.9.3/LICENSE | 21 + .../@tanstack_react-virtual@3.14.5/LICENSE | 21 + .../@tanstack_router-core@1.171.14/LICENSE | 21 + licenses/@tanstack_store@0.9.3/LICENSE | 21 + .../@tanstack_virtual-core@3.17.3/LICENSE | 21 + .../LICENSE_APACHE-2.0 | 0 .../LICENSE_MIT | 0 .../LICENSE_APACHE-2.0 | 0 .../LICENSE_MIT | 0 .../LICENSE.spdx | 0 .../LICENSE.spdx | 0 .../LICENSE.spdx | 20 + licenses/@tensamin_ttp-core@0.0.19/LICENSE | 16 - .../LICENSE | 0 .../LICENSE | 0 .../LICENSE | 0 .../LICENSE | 0 licenses/THIRD_PARTY_NOTICES.md | 1019 ++++- licenses/aria-hidden@1.2.6/LICENSE | 21 + licenses/cmdk@1.1.1/LICENSE.md | 21 + licenses/cookie-es@3.1.1/LICENSE | 28 + licenses/d3-array@3.2.4/LICENSE | 13 + licenses/d3-color@3.1.0/LICENSE | 13 + licenses/d3-ease@3.0.1/LICENSE | 28 + licenses/d3-format@3.1.2/LICENSE | 13 + licenses/d3-interpolate@3.0.1/LICENSE | 13 + licenses/d3-path@3.1.0/LICENSE | 13 + licenses/d3-scale@4.0.2/LICENSE | 13 + licenses/d3-shape@3.2.0/LICENSE | 13 + licenses/d3-time-format@4.1.0/LICENSE | 13 + licenses/d3-time@3.1.0/LICENSE | 13 + licenses/d3-timer@3.0.1/LICENSE | 13 + licenses/date-fns@4.4.0/LICENSE.md | 21 + licenses/decimal.js-light@2.5.1/LICENCE.md | 23 + .../LICENSE-APACHE | 0 .../LICENSE-MIT | 0 licenses/detect-node-es@1.1.0/LICENSE | 21 + licenses/dijkstrajs@1.0.3/LICENSE.md | 19 + licenses/electron-builder@26.15.3/LICENSE | 22 + licenses/electron@39.8.10/LICENSE | 21 + licenses/es-toolkit@1.49.0/LICENSE | 21 + .../{eslint@10.3.0 => eslint@10.6.0}/LICENSE | 0 licenses/eventemitter3@5.0.4/LICENSE | 21 + licenses/get-nonce@1.0.1/LICENSE | 21 + .../license | 0 licenses/immer@10.2.0/LICENSE | 21 + licenses/internmap@2.0.3/LICENSE | 13 + .../LICENSE | 0 .../LICENSE | 0 licenses/next-themes@0.4.6/license.md | 21 + licenses/pngjs@5.0.0/LICENSE | 20 + .../LICENSE | 0 licenses/react-day-picker@10.0.1/LICENSE | 21 + .../LICENSE | 0 .../{react@19.2.5 => react-is@19.2.7}/LICENSE | 0 licenses/react-redux@9.3.0/LICENSE.md | 21 + licenses/react-remove-scroll@2.7.2/LICENSE | 21 + .../LICENSE.md | 2 +- licenses/react-style-singleton@2.2.3/LICENSE | 21 + licenses/react@19.2.7/LICENSE | 21 + licenses/redux-thunk@3.1.0/LICENSE.md | 21 + licenses/redux@5.0.1/LICENSE.md | 21 + licenses/reselect@5.1.1/LICENSE | 21 + licenses/sbom.cyclonedx.json | 3299 ++++++++++++++++- licenses/scheduler@0.27.0/LICENSE | 21 + licenses/seroval-plugins@1.5.4/LICENSE | 7 + licenses/seroval@1.5.4/LICENSE | 7 + .../LICENSE.md | 0 .../LICENSE.md | 0 .../LICENSE | 0 licenses/third-party-credits.json | 1315 ++++++- licenses/tiny-invariant@1.3.3/LICENSE | 21 + licenses/tslib@2.8.1/LICENSE.txt | 12 + .../LICENSE | 0 licenses/use-callback-ref@1.3.3/LICENSE | 21 + licenses/use-sidecar@1.1.3/LICENSE | 21 + .../use-sync-external-store@1.6.0/LICENSE | 21 + licenses/vaul@1.1.2/LICENSE.md | 9 + .../{vite@8.0.10 => vite@8.1.3}/LICENSE.md | 59 +- licenses/yargs@15.4.1/LICENSE | 21 + licenses/{zod@4.4.2 => zod@4.4.3}/LICENSE | 0 .../LICENSE | 0 package.json | 7 +- packages/call/package.json | 2 +- packages/call/src/store.tsx | 10 +- packages/chat/package.json | 2 +- packages/chat/src/behaviour/conversation.ts | 5 +- packages/chat/src/components/input.tsx | 4 +- packages/chat/src/components/message.tsx | 4 +- packages/chat/src/context.tsx | 4 +- packages/chat/src/values.ts | 4 +- packages/crypto/package.json | 1 + packages/{ttp => mtp}/package.json | 16 +- packages/{ttp => mtp}/src/context.tsx | 663 ++-- packages/mtp/src/index.ts | 2 + packages/{ttp => mtp}/src/values.ts | 2 - packages/mtp/tsconfig.json | 14 + packages/notifications/package.json | 2 +- packages/notifications/src/context.tsx | 4 +- packages/shared/src/data.ts | 26 +- packages/storage/package.json | 2 +- packages/storage/src/session.tsx | 4 +- packages/tauth/package.json | 2 +- packages/tauth/src/context.tsx | 4 +- packages/ttp/src/index.ts | 3 - packages/ttp/todo.md | 3 - packages/ttp/tsconfig.json | 12 - packages/user/package.json | 2 +- packages/user/src/context.tsx | 6 +- temp | 0 type-maps.yaml | 70 + 163 files changed, 8031 insertions(+), 2298 deletions(-) create mode 100644 licenses/@babel_runtime@7.29.7/LICENSE create mode 100644 licenses/@base-ui_react@1.6.0/LICENSE create mode 100644 licenses/@base-ui_utils@0.3.1/LICENSE rename licenses/{@codemirror_commands@6.10.3 => @codemirror_commands@6.10.4}/LICENSE (100%) rename licenses/{@codemirror_state@6.6.0 => @codemirror_state@6.7.0}/LICENSE (100%) rename licenses/{@codemirror_view@6.41.1 => @codemirror_view@6.43.4}/LICENSE (100%) create mode 100644 licenses/@floating-ui_core@1.7.5/LICENSE create mode 100644 licenses/@floating-ui_dom@1.7.6/LICENSE create mode 100644 licenses/@floating-ui_react-dom@2.1.8/LICENSE create mode 100644 licenses/@floating-ui_utils@0.2.11/LICENSE create mode 100644 licenses/@fontsource-variable_public-sans@5.2.7/LICENSE rename licenses/{@livekit_components-react@2.9.20 => @livekit_components-react@2.9.21}/LICENSE (100%) create mode 100644 licenses/@noble_hashes@2.2.0/LICENSE create mode 100644 licenses/@radix-ui_primitive@1.1.4/LICENSE create mode 100644 licenses/@radix-ui_react-compose-refs@1.1.3/LICENSE create mode 100644 licenses/@radix-ui_react-context@1.1.4/LICENSE create mode 100644 licenses/@radix-ui_react-dialog@1.1.18/LICENSE create mode 100644 licenses/@radix-ui_react-dismissable-layer@1.1.14/LICENSE create mode 100644 licenses/@radix-ui_react-focus-guards@1.1.4/LICENSE create mode 100644 licenses/@radix-ui_react-focus-scope@1.1.11/LICENSE create mode 100644 licenses/@radix-ui_react-id@1.1.2/LICENSE create mode 100644 licenses/@radix-ui_react-portal@1.1.13/LICENSE create mode 100644 licenses/@radix-ui_react-presence@1.1.6/LICENSE create mode 100644 licenses/@radix-ui_react-primitive@2.1.7/LICENSE create mode 100644 licenses/@radix-ui_react-slot@1.3.0/LICENSE create mode 100644 licenses/@radix-ui_react-use-callback-ref@1.1.2/LICENSE create mode 100644 licenses/@radix-ui_react-use-controllable-state@1.2.3/LICENSE create mode 100644 licenses/@radix-ui_react-use-effect-event@0.0.2/LICENSE create mode 100644 licenses/@radix-ui_react-use-layout-effect@1.1.2/LICENSE create mode 100644 licenses/@reduxjs_toolkit@2.12.0/LICENSE rename licenses/{@tailwindcss_vite@4.2.4 => @tailwindcss_vite@4.3.2}/LICENSE (100%) create mode 100644 licenses/@tanstack_devtools-event-client@0.3.5/LICENSE rename licenses/{@tanstack_react-query@5.100.8 => @tanstack_history@1.162.0}/LICENSE (100%) create mode 100644 licenses/@tanstack_pacer@0.21.1/LICENSE rename licenses/{@tanstack_react-router@1.169.1 => @tanstack_query-core@5.101.2}/LICENSE (100%) rename licenses/{@tanstack_react-virtual@3.13.24 => @tanstack_react-query@5.101.2}/LICENSE (100%) create mode 100644 licenses/@tanstack_react-router@1.170.17/LICENSE create mode 100644 licenses/@tanstack_react-store@0.9.3/LICENSE create mode 100644 licenses/@tanstack_react-virtual@3.14.5/LICENSE create mode 100644 licenses/@tanstack_router-core@1.171.14/LICENSE create mode 100644 licenses/@tanstack_store@0.9.3/LICENSE create mode 100644 licenses/@tanstack_virtual-core@3.17.3/LICENSE rename licenses/{@tauri-apps_api@2.11.0 => @tauri-apps_api@2.11.1}/LICENSE_APACHE-2.0 (100%) rename licenses/{@tauri-apps_api@2.11.0 => @tauri-apps_api@2.11.1}/LICENSE_MIT (100%) rename licenses/{@tauri-apps_cli@2.11.0 => @tauri-apps_cli@2.11.4}/LICENSE_APACHE-2.0 (100%) rename licenses/{@tauri-apps_cli@2.11.0 => @tauri-apps_cli@2.11.4}/LICENSE_MIT (100%) rename licenses/{@tauri-apps_plugin-barcode-scanner@2.4.4 => @tauri-apps_plugin-barcode-scanner@2.4.5}/LICENSE.spdx (100%) rename licenses/{@tauri-apps_plugin-opener@2.5.4 => @tauri-apps_plugin-log@2.8.0}/LICENSE.spdx (100%) create mode 100644 licenses/@tauri-apps_plugin-notification@2.3.3/LICENSE.spdx delete mode 100644 licenses/@tensamin_ttp-core@0.0.19/LICENSE rename licenses/{@types_node@25.6.0 => @types_node@25.9.4}/LICENSE (100%) rename licenses/{@types_react@19.2.14 => @types_react@19.2.17}/LICENSE (100%) rename licenses/{@typescript-eslint_parser@8.59.1 => @typescript-eslint_parser@8.62.1}/LICENSE (100%) rename licenses/{@vitejs_plugin-react@6.0.1 => @vitejs_plugin-react@6.0.3}/LICENSE (100%) create mode 100644 licenses/aria-hidden@1.2.6/LICENSE create mode 100644 licenses/cmdk@1.1.1/LICENSE.md create mode 100644 licenses/cookie-es@3.1.1/LICENSE create mode 100644 licenses/d3-array@3.2.4/LICENSE create mode 100644 licenses/d3-color@3.1.0/LICENSE create mode 100644 licenses/d3-ease@3.0.1/LICENSE create mode 100644 licenses/d3-format@3.1.2/LICENSE create mode 100644 licenses/d3-interpolate@3.0.1/LICENSE create mode 100644 licenses/d3-path@3.1.0/LICENSE create mode 100644 licenses/d3-scale@4.0.2/LICENSE create mode 100644 licenses/d3-shape@3.2.0/LICENSE create mode 100644 licenses/d3-time-format@4.1.0/LICENSE create mode 100644 licenses/d3-time@3.1.0/LICENSE create mode 100644 licenses/d3-timer@3.0.1/LICENSE create mode 100644 licenses/date-fns@4.4.0/LICENSE.md create mode 100644 licenses/decimal.js-light@2.5.1/LICENCE.md rename licenses/{deepfilternet3-noise-filter@1.2.1 => deepfilternet3-noise-filter@1.3.0}/LICENSE-APACHE (100%) rename licenses/{deepfilternet3-noise-filter@1.2.1 => deepfilternet3-noise-filter@1.3.0}/LICENSE-MIT (100%) create mode 100644 licenses/detect-node-es@1.1.0/LICENSE create mode 100644 licenses/dijkstrajs@1.0.3/LICENSE.md create mode 100644 licenses/electron-builder@26.15.3/LICENSE create mode 100644 licenses/electron@39.8.10/LICENSE create mode 100644 licenses/es-toolkit@1.49.0/LICENSE rename licenses/{eslint@10.3.0 => eslint@10.6.0}/LICENSE (100%) create mode 100644 licenses/eventemitter3@5.0.4/LICENSE create mode 100644 licenses/get-nonce@1.0.1/LICENSE rename licenses/{globals@17.6.0 => globals@17.7.0}/license (100%) create mode 100644 licenses/immer@10.2.0/LICENSE create mode 100644 licenses/internmap@2.0.3/LICENSE rename licenses/{livekit-client@2.18.8 => livekit-client@2.20.0}/LICENSE (100%) rename licenses/{lucide-react@1.14.0 => lucide-react@1.23.0}/LICENSE (100%) create mode 100644 licenses/next-themes@0.4.6/license.md create mode 100644 licenses/pngjs@5.0.0/LICENSE rename licenses/{prettier@3.8.3 => prettier@3.9.4}/LICENSE (100%) create mode 100644 licenses/react-day-picker@10.0.1/LICENSE rename licenses/{react-dom@19.2.5 => react-dom@19.2.7}/LICENSE (100%) rename licenses/{react@19.2.5 => react-is@19.2.7}/LICENSE (100%) create mode 100644 licenses/react-redux@9.3.0/LICENSE.md create mode 100644 licenses/react-remove-scroll@2.7.2/LICENSE rename licenses/{framer-motion@12.38.0 => react-resizable-panels@4.12.0}/LICENSE.md (97%) create mode 100644 licenses/react-style-singleton@2.2.3/LICENSE create mode 100644 licenses/react@19.2.7/LICENSE create mode 100644 licenses/redux-thunk@3.1.0/LICENSE.md create mode 100644 licenses/redux@5.0.1/LICENSE.md create mode 100644 licenses/reselect@5.1.1/LICENSE create mode 100644 licenses/scheduler@0.27.0/LICENSE create mode 100644 licenses/seroval-plugins@1.5.4/LICENSE create mode 100644 licenses/seroval@1.5.4/LICENSE rename licenses/{shadcn@4.6.0 => shadcn@4.12.0}/LICENSE.md (100%) rename licenses/{tailwind-merge@3.5.0 => tailwind-merge@3.6.0}/LICENSE.md (100%) rename licenses/{tailwindcss@4.2.4 => tailwindcss@4.3.2}/LICENSE (100%) create mode 100644 licenses/tiny-invariant@1.3.3/LICENSE create mode 100644 licenses/tslib@2.8.1/LICENSE.txt rename licenses/{typescript-eslint@8.59.1 => typescript-eslint@8.62.1}/LICENSE (100%) create mode 100644 licenses/use-callback-ref@1.3.3/LICENSE create mode 100644 licenses/use-sidecar@1.1.3/LICENSE create mode 100644 licenses/use-sync-external-store@1.6.0/LICENSE create mode 100644 licenses/vaul@1.1.2/LICENSE.md rename licenses/{vite@8.0.10 => vite@8.1.3}/LICENSE.md (97%) create mode 100644 licenses/yargs@15.4.1/LICENSE rename licenses/{zod@4.4.2 => zod@4.4.3}/LICENSE (100%) rename licenses/{zustand@5.0.12 => zustand@5.0.14}/LICENSE (100%) rename packages/{ttp => mtp}/package.json (79%) rename packages/{ttp => mtp}/src/context.tsx (50%) create mode 100644 packages/mtp/src/index.ts rename packages/{ttp => mtp}/src/values.ts (66%) create mode 100644 packages/mtp/tsconfig.json delete mode 100644 packages/ttp/src/index.ts delete mode 100644 packages/ttp/todo.md delete mode 100644 packages/ttp/tsconfig.json delete mode 100644 temp create mode 100644 type-maps.yaml diff --git a/apps/tauri/src-tauri/Cargo.lock b/apps/tauri/src-tauri/Cargo.lock index 37a6827..7b60bb2 100644 --- a/apps/tauri/src-tauri/Cargo.lock +++ b/apps/tauri/src-tauri/Cargo.lock @@ -36,9 +36,9 @@ checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" [[package]] name = "alloc-stdlib" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" dependencies = [ "alloc-no-stdlib", ] @@ -71,54 +71,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.102" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" +checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3" [[package]] name = "arrayvec" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[package]] -name = "asn1-rs" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f43a50ac4fdca5df8e885c21b835997f0a1cdee65494a6847694a98652d9d8" -dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror 2.0.18", - "time", -] - -[[package]] -name = "asn1-rs-derive" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", - "synstructure", -] - -[[package]] -name = "asn1-rs-impl" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" [[package]] name = "async-broadcast" @@ -213,7 +174,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -248,7 +209,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -286,29 +247,6 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" -[[package]] -name = "aws-lc-rs" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ec2f1fc3ec205783a5da9a7e6c1509cc69dedf09a1949e412c1e18469326d00" -dependencies = [ - "aws-lc-sys", - "untrusted 0.7.1", - "zeroize", -] - -[[package]] -name = "aws-lc-sys" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a2f9779ce85b93ab6170dd940ad0169b5766ff848247aff13bb788b832fe3f4" -dependencies = [ - "cc", - "cmake", - "dunce", - "fs_extra", -] - [[package]] name = "base64" version = "0.21.7" @@ -327,7 +265,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ - "bit-vec 0.8.0", + "bit-vec", ] [[package]] @@ -336,15 +274,6 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" -[[package]] -name = "bit-vec" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -362,9 +291,9 @@ dependencies = [ [[package]] name = "bitvec" -version = "1.0.1" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837" dependencies = [ "funty", "radium", @@ -381,15 +310,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-buffer" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" -dependencies = [ - "hybrid-array", -] - [[package]] name = "block2" version = "0.6.2" @@ -414,9 +334,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a" +checksum = "2f3f6da4992df95bbcd9af42a6c7dcb994498fc9048230405f3b36ff7cd3f145" dependencies = [ "borsh-derive", "bytes", @@ -425,22 +345,22 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfcfdc083699101d5a7965e49925975f2f55060f94f9a05e7187be95d530ca59" +checksum = "3ae8fb4fb5740e4b2c4884ff95f5f32f5e8479db1e8fd8eb49ddbe09eb09bb7c" dependencies = [ "once_cell", "proc-macro-crate 3.5.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "brotli" -version = "8.0.3" +version = "8.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8119e4516436f5708bbc474a9d395bf12f1b5395e93a92a56e647ac3388c8610" +checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -449,9 +369,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "5.0.1" +version = "5.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5962523e1b92ce1b5e793d9169b9943eece10d39f62550bc04bb605d75b94924" +checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -474,9 +394,9 @@ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" [[package]] name = "byte-unit" -version = "5.2.0" +version = "5.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6d47a4e2961fb8721bcfc54feae6455f2f64e7054f9bc67e875f0e77f4c58d" +checksum = "4a813de7f2bbedb7dce265b64f1cf5908ebe4d56281ece8d847e98113788b9b0" dependencies = [ "rust_decimal", "schemars 1.2.1", @@ -520,9 +440,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593" dependencies = [ "serde", ] @@ -554,9 +474,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.2.2" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" +checksum = "5f2d30e4173c4026932d51d31d6b0613b1fd3014bf3f9f8943d4ba139c437ba0" dependencies = [ "serde_core", ] @@ -596,13 +516,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.63" +version = "1.2.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f" +checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96" dependencies = [ "find-msvc-tools", - "jobserver", - "libc", "shlex", ] @@ -657,15 +575,6 @@ dependencies = [ "windows-link 0.2.1", ] -[[package]] -name = "cmake" -version = "0.1.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" -dependencies = [ - "cc", -] - [[package]] name = "combine" version = "4.6.7" @@ -685,12 +594,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "const-oid" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" - [[package]] name = "const-random" version = "0.1.18" @@ -770,15 +673,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cpufeatures" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" -dependencies = [ - "libc", -] - [[package]] name = "crc32fast" version = "1.5.0" @@ -819,15 +713,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "crypto-common" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" -dependencies = [ - "hybrid-array", -] - [[package]] name = "cssparser" version = "0.36.0" @@ -848,7 +733,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -887,7 +772,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -898,15 +783,9 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core", "quote", - "syn 2.0.117", + "syn 2.0.118", ] -[[package]] -name = "data-encoding" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" - [[package]] name = "dbus" version = "0.9.11" @@ -918,27 +797,12 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "der-parser" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" -dependencies = [ - "asn1-rs", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", -] - [[package]] name = "deranged" version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ - "powerfmt", "serde_core", ] @@ -960,7 +824,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -969,19 +833,8 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", - "crypto-common 0.1.7", -] - -[[package]] -name = "digest" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" -dependencies = [ - "block-buffer 0.12.0", - "const-oid", - "crypto-common 0.2.2", + "block-buffer", + "crypto-common", ] [[package]] @@ -1025,7 +878,7 @@ checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1048,7 +901,7 @@ checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1068,7 +921,7 @@ checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89" dependencies = [ "bit-set", "cssparser", - "foldhash 0.2.0", + "foldhash", "html5ever", "precomputed-hash", "selectors", @@ -1128,9 +981,9 @@ checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "embed-resource" -version = "3.0.9" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31a88c8d26de40ed18fe748c547845aa39de1db3afd958f8cb91579f3644bcb" +checksum = "fbfdaacccebec3b28e4866b8973543c7647797db5ada1bdab552e48fe665fbbd" dependencies = [ "cc", "memchr", @@ -1170,7 +1023,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1287,12 +1140,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - [[package]] name = "foldhash" version = "0.2.0" @@ -1317,7 +1164,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1335,12 +1182,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fs_extra" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" - [[package]] name = "funty" version = "2.0.0" @@ -1400,7 +1241,7 @@ checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1547,10 +1388,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi", - "wasm-bindgen", ] [[package]] @@ -1560,24 +1399,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", - "js-sys", "libc", "r-efi 5.3.0", "wasip2", - "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" dependencies = [ "cfg-if", "libc", "r-efi 6.0.0", - "wasip2", - "wasip3", ] [[package]] @@ -1646,7 +1481,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1725,7 +1560,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1743,15 +1578,6 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -[[package]] -name = "hashbrown" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" -dependencies = [ - "foldhash 0.1.5", -] - [[package]] name = "hashbrown" version = "0.17.1" @@ -1792,12 +1618,6 @@ dependencies = [ "markup5ever", ] -[[package]] -name = "httlib-huffman" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9fcbcc408c5526c3ab80d534e5c86e7967c1fb7aa0a8c76abd1edc27deb877" - [[package]] name = "http" version = "1.4.2" @@ -1837,15 +1657,6 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" -[[package]] -name = "hybrid-array" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" -dependencies = [ - "typenum", -] - [[package]] name = "hyper" version = "1.10.1" @@ -2005,12 +1816,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "id-arena" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" - [[package]] name = "ident_case" version = "1.0.1" @@ -2165,24 +1970,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" dependencies = [ "quote", - "syn 2.0.117", -] - -[[package]] -name = "jobserver" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" -dependencies = [ - "getrandom 0.3.4", - "libc", + "syn 2.0.118", ] [[package]] name = "js-sys" -version = "0.3.100" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2025f20d7a4fa7785846e7b63d10a76d3f1cee98ee5cb79ea59703f95e42162" +checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102" dependencies = [ "cfg-if", "futures-util", @@ -2222,18 +2017,6 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" - [[package]] name = "libappindicator" version = "0.9.0" @@ -2285,9 +2068,9 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" +checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652" dependencies = [ "libc", ] @@ -2315,29 +2098,25 @@ dependencies = [ [[package]] name = "log" -version = "0.4.32" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" dependencies = [ "value-bag", ] -[[package]] -name = "lru-slab" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" - [[package]] name = "mac-notification-sys" -version = "0.6.13" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50efa634682b3fc5a1ab6f3dd5b2bce7b848011fc485b53b063dc68f2f74feae" +checksum = "fd604973958ddcc11b561193c0fb96ba146506ef2f231ef2e7c35fd2cbc9beca" dependencies = [ "cc", + "log", "objc2", "objc2-foundation", "time", + "uuid", ] [[package]] @@ -2353,9 +2132,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.1" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" +checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4" [[package]] name = "memoffset" @@ -2372,12 +2151,6 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" version = "0.8.9" @@ -2401,9 +2174,9 @@ dependencies = [ [[package]] name = "muda" -version = "0.19.2" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47a2e3dff89cd322c66647942668faee0a2b1f88ea6cbb4d374b4a8d7e92528c" +checksum = "1dd04e60bc0b07438a6771710ee1698f98f6ebbc7f89b61264af1563b8aeb878" dependencies = [ "crossbeam-channel", "dpi", @@ -2450,21 +2223,11 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - [[package]] name = "notify-rust" -version = "4.17.0" +version = "4.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50ff2e74231b72c832d82982193b417f230945be6bdb5575b251d941d31adb00" +checksum = "c5b4c1b4f2aa9f25f63a7a49d3dd0ed567b3670da15330a66b29434be899b891" dependencies = [ "futures-lite", "log", @@ -2474,31 +2237,12 @@ dependencies = [ "zbus", ] -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - [[package]] name = "num-conv" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -2527,7 +2271,7 @@ dependencies = [ "proc-macro-crate 3.5.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2758,21 +2502,6 @@ dependencies = [ "objc2-security", ] -[[package]] -name = "octets" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8311fa8ab7a57759b4ff1f851a3048d9ef0effaa0130726426b742d26d8a88e7" - -[[package]] -name = "oid-registry" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" -dependencies = [ - "asn1-rs", -] - [[package]] name = "once_cell" version = "1.21.4" @@ -2781,22 +2510,15 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "open" -version = "5.3.5" +version = "5.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fbaa89d2ddc8473c78a3adf69eea8cffa28c483b8e02a971ef31527cd0fc92c" +checksum = "cd8d3b65c44123a56e0133d2cd06ce4361bd3ca99d41198b2f25e3c3db9b8b4a" dependencies = [ "dunce", "is-wsl", "libc", - "pathdiff", ] -[[package]] -name = "openssl-probe" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" - [[package]] name = "option-ext" version = "0.2.0" @@ -2877,22 +2599,6 @@ dependencies = [ "windows-link 0.2.1", ] -[[package]] -name = "pathdiff" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" - -[[package]] -name = "pem" -version = "3.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" -dependencies = [ - "base64 0.22.1", - "serde_core", -] - [[package]] name = "percent-encoding" version = "2.3.2" @@ -2940,7 +2646,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2983,7 +2689,7 @@ checksum = "092791278e026273c1b65bbdcfbba3a300f2994c896bd01ab01da613c29c46f1" dependencies = [ "base64 0.22.1", "indexmap 2.14.0", - "quick-xml 0.39.4", + "quick-xml", "serde", "time", ] @@ -3058,16 +2764,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn 2.0.117", -] - [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -3150,15 +2846,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "quick-xml" -version = "0.37.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" -dependencies = [ - "memchr", -] - [[package]] name = "quick-xml" version = "0.39.4" @@ -3168,67 +2855,11 @@ dependencies = [ "memchr", ] -[[package]] -name = "quinn" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" -dependencies = [ - "bytes", - "cfg_aliases", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash", - "rustls", - "socket2", - "thiserror 2.0.18", - "tokio", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-proto" -version = "0.11.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" -dependencies = [ - "aws-lc-rs", - "bytes", - "getrandom 0.3.4", - "lru-slab", - "rand 0.9.4", - "ring", - "rustc-hash", - "rustls", - "rustls-pki-types", - "slab", - "thiserror 2.0.18", - "tinyvec", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-udp" -version = "0.5.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" -dependencies = [ - "cfg_aliases", - "libc", - "once_cell", - "socket2", - "tracing", - "windows-sys 0.60.2", -] - [[package]] name = "quote" -version = "1.0.45" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368" dependencies = [ "proc-macro2", ] @@ -3316,19 +2947,6 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" -[[package]] -name = "rcgen" -version = "0.14.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57f6d249aad744e274e682777a50283a225a32705394ee6d5fcc01efa25e4055" -dependencies = [ - "aws-lc-rs", - "rustls-pki-types", - "time", - "x509-parser", - "yasna", -] - [[package]] name = "redox_syscall" version = "0.5.18" @@ -3366,7 +2984,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3441,20 +3059,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "ring" -version = "0.17.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.17", - "libc", - "untrusted 0.9.0", - "windows-sys 0.52.0", -] - [[package]] name = "rkyv" version = "0.7.46" @@ -3496,9 +3100,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.42.0" +version = "1.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c5108e3d4d903e21aac27f12ba5377b6b34f9f44b325e4894c7924169d06995" +checksum = "be2a24f50780bc85f09cc6ac299bdf1424302742d77221106859c9d8b102126a" dependencies = [ "arrayvec", "borsh", @@ -3526,15 +3130,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rusticata-macros" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" -dependencies = [ - "nom", -] - [[package]] name = "rustix" version = "1.1.4" @@ -3548,56 +3143,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "rustls" -version = "0.23.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" -dependencies = [ - "aws-lc-rs", - "log", - "once_cell", - "ring", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-native-certs" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d" -dependencies = [ - "openssl-probe", - "rustls-pki-types", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pki-types" -version = "1.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" -dependencies = [ - "web-time", - "zeroize", -] - -[[package]] -name = "rustls-webpki" -version = "0.103.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" -dependencies = [ - "aws-lc-rs", - "ring", - "rustls-pki-types", - "untrusted 0.9.0", -] - [[package]] name = "rustversion" version = "1.0.22" @@ -3613,15 +3158,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "schannel" -version = "0.1.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" -dependencies = [ - "windows-sys 0.61.2", -] - [[package]] name = "schemars" version = "0.8.22" @@ -3673,7 +3209,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3685,7 +3221,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3700,29 +3236,6 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" -[[package]] -name = "security-framework" -version = "3.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" -dependencies = [ - "bitflags 2.13.0", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "selectors" version = "0.36.1" @@ -3791,7 +3304,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3802,7 +3315,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3827,7 +3340,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3877,7 +3390,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3899,7 +3412,7 @@ checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3918,19 +3431,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures 0.2.17", - "digest 0.10.7", -] - -[[package]] -name = "sha2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" -dependencies = [ - "cfg-if", - "cpufeatures 0.3.0", - "digest 0.11.3", + "cpufeatures", + "digest", ] [[package]] @@ -3975,9 +3477,9 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" -version = "1.15.1" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" [[package]] name = "socket2" @@ -4073,30 +3575,6 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd" - -[[package]] -name = "strum_macros" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - [[package]] name = "swift-rs" version = "1.0.7" @@ -4121,9 +3599,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.117" +version = "2.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422" dependencies = [ "proc-macro2", "quote", @@ -4147,7 +3625,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -4211,7 +3689,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -4228,8 +3706,8 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "2.11.2" -source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#7372c8ee97fe590046aca95388895d7cf6b7d807" +version = "2.11.3" +source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#20f3f2515c65ca1e115991c3ef3625e2c29c1bbb" dependencies = [ "anyhow", "bytes", @@ -4261,11 +3739,11 @@ dependencies = [ "serde_repr", "serialize-to-javascript", "swift-rs", - "tauri-build 2.6.2 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", + "tauri-build 2.6.3 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", "tauri-macros", "tauri-runtime", "tauri-runtime-wry", - "tauri-utils 2.9.2 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", + "tauri-utils 2.9.3 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", "thiserror 2.0.18", "tokio", "tray-icon", @@ -4278,9 +3756,9 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.6.2" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aa1f9055fc23919a54e4e125052bed16ed04aef0487086e758fe01a67b451c7" +checksum = "bc9ce40b16101cb6ea63d3e221567affd1c3a9205f95d7bc574941a10636b632" dependencies = [ "anyhow", "cargo_toml", @@ -4292,15 +3770,15 @@ dependencies = [ "semver", "serde", "serde_json", - "tauri-utils 2.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tauri-utils 2.9.3 (registry+https://github.com/rust-lang/crates.io-index)", "tauri-winres", "walkdir", ] [[package]] name = "tauri-build" -version = "2.6.2" -source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#7372c8ee97fe590046aca95388895d7cf6b7d807" +version = "2.6.3" +source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#20f3f2515c65ca1e115991c3ef3625e2c29c1bbb" dependencies = [ "anyhow", "cargo_toml", @@ -4312,15 +3790,15 @@ dependencies = [ "semver", "serde", "serde_json", - "tauri-utils 2.9.2 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", + "tauri-utils 2.9.3 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", "tauri-winres", "walkdir", ] [[package]] name = "tauri-codegen" -version = "2.6.2" -source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#7372c8ee97fe590046aca95388895d7cf6b7d807" +version = "2.6.3" +source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#20f3f2515c65ca1e115991c3ef3625e2c29c1bbb" dependencies = [ "base64 0.22.1", "brotli", @@ -4333,9 +3811,9 @@ dependencies = [ "semver", "serde", "serde_json", - "sha2 0.10.9", - "syn 2.0.117", - "tauri-utils 2.9.2 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", + "sha2", + "syn 2.0.118", + "tauri-utils 2.9.3 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", "thiserror 2.0.18", "time", "url", @@ -4345,22 +3823,22 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.6.2" -source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#7372c8ee97fe590046aca95388895d7cf6b7d807" +version = "2.6.3" +source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#20f3f2515c65ca1e115991c3ef3625e2c29c1bbb" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "tauri-codegen", - "tauri-utils 2.9.2 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", + "tauri-utils 2.9.3 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", ] [[package]] name = "tauri-plugin" -version = "2.6.2" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e126abc9e84e35cdfd01596140a73a1850cdb0df0a23acf0185776c30b469a6e" +checksum = "74be5dd4bed9afbd145e5716b5fa2ec28cbc29c34ffa61c258c9273d896c8020" dependencies = [ "anyhow", "glob", @@ -4368,7 +3846,7 @@ dependencies = [ "schemars 0.8.22", "serde", "serde_json", - "tauri-utils 2.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tauri-utils 2.9.3 (registry+https://github.com/rust-lang/crates.io-index)", "walkdir", ] @@ -4411,7 +3889,7 @@ dependencies = [ "serde_json", "tauri", "tauri-plugin", - "tauri-utils 2.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tauri-utils 2.9.3 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 2.0.18", "tracing", "url", @@ -4484,8 +3962,8 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "2.11.2" -source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#7372c8ee97fe590046aca95388895d7cf6b7d807" +version = "2.11.3" +source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#20f3f2515c65ca1e115991c3ef3625e2c29c1bbb" dependencies = [ "cookie", "dpi", @@ -4497,7 +3975,7 @@ dependencies = [ "raw-window-handle", "serde", "serde_json", - "tauri-utils 2.9.2 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", + "tauri-utils 2.9.3 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", "thiserror 2.0.18", "url", "windows", @@ -4505,8 +3983,8 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "2.11.2" -source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#7372c8ee97fe590046aca95388895d7cf6b7d807" +version = "2.11.3" +source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#20f3f2515c65ca1e115991c3ef3625e2c29c1bbb" dependencies = [ "gtk", "http", @@ -4521,7 +3999,7 @@ dependencies = [ "softbuffer", "tao", "tauri-runtime", - "tauri-utils 2.9.2 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", + "tauri-utils 2.9.3 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", "url", "webkit2gtk", "webview2-com", @@ -4531,9 +4009,9 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.9.2" +version = "2.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092379df9a707631978e6c56b1bc2401d387f01e2d4a3c123360d167bbb9aa95" +checksum = "3e176a18e67764923c4f1ce66f25ae4abe5f688384d5eb1a0fa6c77f3d90f887" dependencies = [ "anyhow", "cargo_metadata", @@ -4568,8 +4046,8 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.9.2" -source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#7372c8ee97fe590046aca95388895d7cf6b7d807" +version = "2.9.3" +source = "git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef#20f3f2515c65ca1e115991c3ef3625e2c29c1bbb" dependencies = [ "anyhow", "brotli", @@ -4616,11 +4094,10 @@ dependencies = [ [[package]] name = "tauri-winrt-notification" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b1e66e07de489fe43a46678dd0b8df65e0c973909df1b60ba33874e297ba9b9" +checksum = "9ed071c670382e85fc2f48ae706492d8c338f4f89bf72520d32f8abfe880aade" dependencies = [ - "quick-xml 0.37.5", "thiserror 2.0.18", "windows", "windows-version", @@ -4633,7 +4110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.2", + "getrandom 0.4.3", "once_cell", "rustix", "windows-sys 0.61.2", @@ -4656,15 +4133,13 @@ dependencies = [ "serde", "serde_json", "tauri", - "tauri-build 2.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tauri-build 2.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "tauri-plugin-app-events", "tauri-plugin-barcode-scanner", "tauri-plugin-deep-link", "tauri-plugin-log", "tauri-plugin-notification", "tauri-plugin-opener", - "ttp-core", - "ttp-tauri", ] [[package]] @@ -4693,7 +4168,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -4704,17 +4179,16 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "time" -version = "0.3.47" +version = "0.3.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +checksum = "18dfaaeddcb932337b5e7866ee7d0ce9b76d2fd092997146f187ec09b4558a50" dependencies = [ "deranged", - "itoa", "libc", "num-conv", "num_threads", @@ -4726,15 +4200,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" [[package]] name = "time-macros" -version = "0.2.27" +version = "0.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +checksum = "c431b87111666e491a90baa837f914fb45cd5dc3c268591b0220ff5057f2085f" dependencies = [ "num-conv", "time-core", @@ -4783,25 +4257,11 @@ dependencies = [ "bytes", "libc", "mio", - "parking_lot", "pin-project-lite", - "signal-hook-registry", "socket2", - "tokio-macros", "windows-sys 0.61.2", ] -[[package]] -name = "tokio-macros" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "tokio-util" version = "0.7.18" @@ -4999,7 +4459,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5013,9 +4473,9 @@ dependencies = [ [[package]] name = "tray-icon" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e47e6d063cfe4ad2e416fcbb310be3a37c5fd85c745b62cb562bfa4a003df674" +checksum = "65ba1e5f6b9ef9fd87e21b9c6f351554dbd717960089168fcfdef854686961dc" dependencies = [ "crossbeam-channel", "dirs", @@ -5039,49 +4499,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "ttp-core" -version = "0.1.0" -source = "git+https://git.methanium.net/tensamin/ttp.git#0ccc2b808c1f8ff38ede906491ef703a51bd7786" -dependencies = [ - "base64 0.22.1", - "byteorder", - "rand 0.8.6", - "serde_json", - "strum", - "strum_macros", -] - -[[package]] -name = "ttp-native" -version = "0.1.0" -source = "git+https://git.methanium.net/tensamin/ttp.git#0ccc2b808c1f8ff38ede906491ef703a51bd7786" -dependencies = [ - "quinn", - "rustls", - "rustls-native-certs", - "thiserror 2.0.18", - "tokio", - "ttp-core", - "webpki-roots", - "wtransport", -] - -[[package]] -name = "ttp-tauri" -version = "0.1.0" -source = "git+https://git.methanium.net/tensamin/ttp.git#0ccc2b808c1f8ff38ede906491ef703a51bd7786" -dependencies = [ - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "thiserror 2.0.18", - "tokio", - "ttp-core", - "ttp-native", -] - [[package]] name = "typeid" version = "1.0.3" @@ -5158,24 +4575,6 @@ version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - [[package]] name = "url" version = "2.5.8" @@ -5221,11 +4620,11 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.23.3" +version = "1.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "144d6b123cef80b301b8f72a9e2ca4370ddec21950d0a103dd22c437006d2db7" +checksum = "bf80a72845275afea99e7f2b434723d3bc7e38470fcd1c7ed39a599c73319a53" dependencies = [ - "getrandom 0.4.2", + "getrandom 0.4.3", "js-sys", "serde_core", "wasm-bindgen", @@ -5296,27 +4695,18 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.3+wasi-0.2.9" +version = "1.0.4+wasi-0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" dependencies = [ - "wit-bindgen 0.57.1", -] - -[[package]] -name = "wasip3" -version = "0.4.0+wasi-0.3.0-rc-2026-01-06" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" -dependencies = [ - "wit-bindgen 0.51.0", + "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.123" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a254a4b10c19a76f09a27640e7ffbf9bc30bf67e16a3bf28aaefa4920fe81563" +checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4" dependencies = [ "cfg-if", "once_cell", @@ -5327,9 +4717,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.73" +version = "0.4.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54568702fabf5d4849ce2b90fadfa64168a097eaf4b351ce9df8b687a0086aaf" +checksum = "c62df1340f32221cb9c54d6a27b030e3dba64361d4a95bed55f9aacb44da291d" dependencies = [ "js-sys", "wasm-bindgen", @@ -5337,9 +4727,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.123" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24a40fc75b0ec6f3746ceb10d36f53a93dcd68a93b11b6445983945d79eba0dc" +checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5347,48 +4737,26 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.123" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "908f34bd9b9ce3d4caf07b72dfab63d61504d156856c6bd3cd87fa350cf3985b" +checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.123" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acbf7616c27b194bbb550bf77ed0c2c3e5b7fd1260a93082b95fb7f47959b92" +checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24" dependencies = [ "unicode-ident", ] -[[package]] -name = "wasm-encoder" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" -dependencies = [ - "leb128fmt", - "wasmparser", -] - -[[package]] -name = "wasm-metadata" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" -dependencies = [ - "anyhow", - "indexmap 2.14.0", - "wasm-encoder", - "wasmparser", -] - [[package]] name = "wasm-streams" version = "0.5.0" @@ -5402,33 +4770,11 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasmparser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" -dependencies = [ - "bitflags 2.13.0", - "hashbrown 0.15.5", - "indexmap 2.14.0", - "semver", -] - [[package]] name = "web-sys" -version = "0.3.100" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0871acf327f283dc6da28a1696cdc64fb355ba9f935d052021fa77f35cce69" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141" dependencies = [ "js-sys", "wasm-bindgen", @@ -5436,9 +4782,9 @@ dependencies = [ [[package]] name = "web_atoms" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7cff6eef815df1834fd250e3a2ff436044d82a9f1bc1980ca1dbdf07effc538" +checksum = "075474b12bcb3d2e3d4546580e9de478eeeead668a1761e2a8860c836b7ef297" dependencies = [ "phf", "phf_codegen", @@ -5490,15 +4836,6 @@ dependencies = [ "system-deps", ] -[[package]] -name = "webpki-roots" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "webview2-com" version = "0.38.2" @@ -5521,7 +4858,7 @@ checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5648,7 +4985,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5659,7 +4996,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5740,15 +5077,6 @@ dependencies = [ "windows-targets 0.42.2", ] -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-sys" version = "0.59.0" @@ -5758,15 +5086,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-sys" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" -dependencies = [ - "windows-targets 0.53.5", -] - [[package]] name = "windows-sys" version = "0.61.2" @@ -5800,30 +5119,13 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", + "windows_i686_gnullvm", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] -[[package]] -name = "windows-targets" -version = "0.53.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" -dependencies = [ - "windows-link 0.2.1", - "windows_aarch64_gnullvm 0.53.1", - "windows_aarch64_msvc 0.53.1", - "windows_i686_gnu 0.53.1", - "windows_i686_gnullvm 0.53.1", - "windows_i686_msvc 0.53.1", - "windows_x86_64_gnu 0.53.1", - "windows_x86_64_gnullvm 0.53.1", - "windows_x86_64_msvc 0.53.1", -] - [[package]] name = "windows-threading" version = "0.1.0" @@ -5854,12 +5156,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" - [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -5872,12 +5168,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" - [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -5890,24 +5180,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -[[package]] -name = "windows_i686_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" - [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" - [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -5920,12 +5198,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_i686_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" - [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -5938,12 +5210,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" - [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -5956,12 +5222,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" - [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -5974,12 +5234,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" - [[package]] name = "winnow" version = "0.5.40" @@ -6014,100 +5268,12 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "wit-bindgen" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -dependencies = [ - "wit-bindgen-rust-macro", -] - [[package]] name = "wit-bindgen" version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" -[[package]] -name = "wit-bindgen-core" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" -dependencies = [ - "anyhow", - "heck 0.5.0", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck 0.5.0", - "indexmap 2.14.0", - "prettyplease", - "syn 2.0.117", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" -dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.117", - "wit-bindgen-core", - "wit-bindgen-rust", -] - -[[package]] -name = "wit-component" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" -dependencies = [ - "anyhow", - "bitflags 2.13.0", - "indexmap 2.14.0", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", -] - -[[package]] -name = "wit-parser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" -dependencies = [ - "anyhow", - "id-arena", - "indexmap 2.14.0", - "log", - "semver", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser", -] - [[package]] name = "writeable" version = "0.6.3" @@ -6144,7 +5310,7 @@ dependencies = [ "once_cell", "percent-encoding", "raw-window-handle", - "sha2 0.10.9", + "sha2", "soup3", "tao-macros", "thiserror 2.0.18", @@ -6158,42 +5324,6 @@ dependencies = [ "x11-dl", ] -[[package]] -name = "wtransport" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4aacf790813ee1956751491800537f4e04af7557b7b370501ccbfbc85963e4" -dependencies = [ - "bytes", - "pem", - "quinn", - "rcgen", - "rustls", - "rustls-native-certs", - "rustls-pki-types", - "sha2 0.11.0", - "socket2", - "thiserror 2.0.18", - "time", - "tokio", - "tracing", - "url", - "wtransport-proto", - "x509-parser", -] - -[[package]] -name = "wtransport-proto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5867c629e4252f7439d82315923daaf27f4fa442410d51b78ab93ef4c432a11" -dependencies = [ - "httlib-huffman", - "octets", - "thiserror 2.0.18", - "url", -] - [[package]] name = "wyz" version = "0.5.1" @@ -6224,34 +5354,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "x509-parser" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d43b0f71ce057da06bc0851b23ee24f3f86190b07203dd8f567d0b706a185202" -dependencies = [ - "asn1-rs", - "aws-lc-rs", - "data-encoding", - "der-parser", - "lazy_static", - "nom", - "oid-registry", - "rusticata-macros", - "thiserror 2.0.18", - "time", -] - -[[package]] -name = "yasna" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5f6765e852b9b4dc8e2a76843e4d64d1cea8e79bcde0b6901aea8e7c7f08282" -dependencies = [ - "bit-vec 0.9.1", - "time", -] - [[package]] name = "yoke" version = "0.8.3" @@ -6271,7 +5373,7 @@ checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "synstructure", ] @@ -6319,7 +5421,7 @@ dependencies = [ "proc-macro-crate 3.5.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "zbus_names", "zvariant", "zvariant_utils", @@ -6338,22 +5440,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.50" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1" +checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.50" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639" +checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6373,16 +5475,10 @@ checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "synstructure", ] -[[package]] -name = "zeroize" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" - [[package]] name = "zerotrie" version = "0.2.4" @@ -6413,7 +5509,7 @@ checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6445,7 +5541,7 @@ dependencies = [ "proc-macro-crate 3.5.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "zvariant_utils", ] @@ -6458,6 +5554,6 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.117", + "syn 2.0.118", "winnow 1.0.3", ] diff --git a/apps/tauri/src-tauri/Cargo.toml b/apps/tauri/src-tauri/Cargo.toml index 556bb8b..6b85d29 100644 --- a/apps/tauri/src-tauri/Cargo.toml +++ b/apps/tauri/src-tauri/Cargo.toml @@ -23,8 +23,6 @@ serde = { version = "1", features = ["derive"] } serde_json = "1" tauri-plugin-deep-link = "2" tauri-plugin-notification = "2" -ttp-core = { git = "https://git.methanium.net/tensamin/ttp.git", package = "ttp-core" } -ttp-tauri = { git = "https://git.methanium.net/tensamin/ttp.git", package = "ttp-tauri" } tauri-plugin-log = "2" [target.'cfg(target_os = "android")'.dependencies.tauri] diff --git a/apps/tauri/src-tauri/capabilities/default.json b/apps/tauri/src-tauri/capabilities/default.json index 352eda0..5ce08a7 100644 --- a/apps/tauri/src-tauri/capabilities/default.json +++ b/apps/tauri/src-tauri/capabilities/default.json @@ -16,10 +16,6 @@ "core:event:default", "deep-link:default", "notification:default", - "log:default", - "ttp-tauri:allow-connect", - "ttp-tauri:allow-send", - "ttp-tauri:allow-close", - "ttp-tauri:allow-ready-state" + "log:default" ] } diff --git a/apps/tauri/src-tauri/capabilities/mobile.json b/apps/tauri/src-tauri/capabilities/mobile.json index d9914a6..342dd9e 100644 --- a/apps/tauri/src-tauri/capabilities/mobile.json +++ b/apps/tauri/src-tauri/capabilities/mobile.json @@ -14,10 +14,6 @@ "barcode-scanner:allow-scan", "barcode-scanner:allow-cancel", "notification:default", - "log:default", - "ttp-tauri:allow-connect", - "ttp-tauri:allow-send", - "ttp-tauri:allow-close", - "ttp-tauri:allow-ready-state" + "log:default" ] } diff --git a/apps/tauri/src-tauri/src/lib.rs b/apps/tauri/src-tauri/src/lib.rs index cfa496a..2a51174 100644 --- a/apps/tauri/src-tauri/src/lib.rs +++ b/apps/tauri/src-tauri/src/lib.rs @@ -2,8 +2,7 @@ pub fn run() { let builder = tauri::Builder::default() .plugin(tauri_plugin_log::Builder::new().level(tauri_plugin_log::log::LevelFilter::Info).build()) - .plugin(tauri_plugin_notification::init()) - .plugin(ttp_tauri::init()); + .plugin(tauri_plugin_notification::init()); let builder = builder .plugin(tauri_plugin_deep_link::init()) diff --git a/apps/web/package.json b/apps/web/package.json index 5cbfb60..6526978 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -12,9 +12,41 @@ "preview": "cd dist && nix-shell -p python3 --run 'python3 -m http.server 3000' && cd .." }, "dependencies": { + "@base-ui/react": "^1.0.0", + "@base-ui/utils": "0.3.1", + "@babel/runtime": "^7.29.2", + "@fontsource-variable/inter": "^5.2.8", "@fontsource-variable/public-sans": "^5.2.7", + "@floating-ui/core": "^1.7.0", + "@floating-ui/dom": "^1.7.0", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "@radix-ui/primitive": "^1.1.0", + "@radix-ui/react-compose-refs": "^1.1.1", + "@radix-ui/react-context": "^1.1.4", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dismissable-layer": "^1.1.11", + "@radix-ui/react-focus-guards": "^1.1.4", + "@radix-ui/react-focus-scope": "^1.1.11", + "@radix-ui/react-id": "^1.1.0", + "@radix-ui/react-portal": "^1.1.13", + "@radix-ui/react-presence": "^1.1.6", + "@radix-ui/react-primitive": "^2.0.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-use-callback-ref": "^1.1.1", + "@radix-ui/react-use-controllable-state": "^1.2.3", + "@radix-ui/react-use-effect-event": "^0.0.2", + "@radix-ui/react-use-layout-effect": "^1.1.0", + "@reduxjs/toolkit": "^2.0.0", "@tailwindcss/vite": "^4.2.4", + "@tanstack/devtools-event-client": "^0.3.0", + "@tanstack/query-core": "^5.0.0", "@tanstack/react-router": "^1.169.1", + "@tanstack/history": "1.162.0", + "@tanstack/react-store": "^0.9.3", + "@tanstack/router-core": "^1.169.1", + "@tanstack/store": "^0.9.3", + "@tanstack/virtual-core": "^3.13.24", "@tanstack/react-virtual": "^3.13.24", "@tauri-apps/api": "^2", "@tensamin/call": "workspace:*", @@ -23,19 +55,75 @@ "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", "@tensamin/tauri": "workspace:*", - "@tensamin/ttp": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/tauth": "workspace:*", "@tensamin/markdown": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "@tensamin/notifications": "workspace:*", + "aria-hidden": "^1.2.4", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "cmdk": "^1.1.1", + "cookie-es": "^3.0.0", + "d3-array": "^3.1.6", + "d3-color": "^3.1.0", + "d3-ease": "^3.0.1", + "d3-format": "^3.1.0", + "d3-interpolate": "^3.0.1", + "d3-path": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-time-format": "^4.1.0", + "d3-timer": "^3.0.1", + "date-fns": "^4.4.0", + "decimal.js-light": "^2.5.1", + "detect-node-es": "^1.1.0", + "dijkstrajs": "^1.0.1", + "embla-carousel": "8.6.0", + "embla-carousel-react": "^8.6.0", + "embla-carousel-reactive-utils": "8.6.0", + "es-toolkit": "^1.39.3", + "eventemitter3": "^5.0.1", + "get-nonce": "^1.0.1", + "immer": "^10.1.1", + "input-otp": "^1.4.2", + "internmap": "^2.0.3", "tw-animate-css": "^1.4.0", "lucide-react": "^1.14.0", + "next-themes": "^0.4.6", + "pngjs": "^5.0.0", "qrcode": "^1.5.4", "react": "^19.2.0", + "react-day-picker": "^10.0.1", "react-dom": "^19.2.0", + "react-is": "^19.0.0", + "react-redux": "^9.0.0", + "react-remove-scroll": "^2.7.2", + "react-remove-scroll-bar": "^2.3.7", + "react-resizable-panels": "^4.11.2", + "react-style-singleton": "^2.2.3", + "recharts": "3.8.1", + "redux": "^5.0.0", + "redux-thunk": "^3.1.0", + "reselect": "5.1.1", + "scheduler": "^0.27.0", + "seroval": "^1.5.4", + "seroval-plugins": "^1.5.4", + "shadcn": "^4.11.0", + "sonner": "^2.0.7", "tailwindcss": "^4.2.4", + "tailwind-merge": "^3.6.0", "tailwind-scrollbar-hide": "^4.0.0", + "tiny-invariant": "^1.3.3", + "tslib": "^2.8.1", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3", + "use-sync-external-store": "^1.2.2", + "vaul": "^1.1.2", + "victory-vendor": "^37.0.2", + "yargs": "^15.3.1", "zod": "^4.3.6" }, "devDependencies": { diff --git a/apps/web/src/components/screens/login/form.tsx b/apps/web/src/components/screens/login/form.tsx index e318c4b..9b1a1db 100644 --- a/apps/web/src/components/screens/login/form.tsx +++ b/apps/web/src/components/screens/login/form.tsx @@ -105,7 +105,7 @@ export default function Form() { await save("user_id", parsed.userId); await save("private_key", parsed.privateKey); if (parsed.domain) { - await save("ttp_url", `https://${parsed.domain}/`); + await save("mtp_url", `https://${parsed.domain}/`); } location.href = "/"; @@ -253,7 +253,7 @@ export default function Form() { await save("user_id", user.user_id); await save("private_key", inputParse.data.private_key); if (domain) { - await save("ttp_url", `https://${domain}/`); + await save("mtp_url", `https://${domain}/`); } location.href = "/"; @@ -287,7 +287,7 @@ export default function Form() { await save("private_key", privateKey); if (domain) { - await save("ttp_url", `https://${domain}/`); + await save("mtp_url", `https://${domain}/`); } location.href = "/"; diff --git a/apps/web/src/components/sidebar.tsx b/apps/web/src/components/sidebar.tsx index a1c3c5f..4dc94d4 100644 --- a/apps/web/src/components/sidebar.tsx +++ b/apps/web/src/components/sidebar.tsx @@ -37,11 +37,11 @@ import { Ellipsis, Check } from "lucide-react"; import { useState } from "react"; import type { User } from "@tensamin/user/context"; import type z from "zod"; -import { ttp } from "@tensamin/shared/data"; -import { useTTP } from "@tensamin/ttp"; +import { mtp } from "@tensamin/shared/data"; +import { useMTP } from "@tensamin/mtp"; type OnlineStatus = z.infer< - typeof ttp.get_user_data.response.shape.online_status + typeof mtp.get_user_data.response.shape.online_status >; const onlineStatusLabels: Record = { @@ -73,7 +73,7 @@ function StatusDialog({ user: User; open: boolean; onOpenChange: (open: boolean) => void; - send: ReturnType["send"]; + send: ReturnType["send"]; draftStatus: string; setDraftStatus: (value: string) => void; draftOnlineStatus: OnlineStatus; @@ -148,7 +148,7 @@ function StatusDialog({ }; const validation = - ttp.change_user_data.request.safeParse(payload); + mtp.change_user_data.request.safeParse(payload); if (!validation.success) { setSaveSucceeded(false); @@ -194,7 +194,7 @@ export default function Sidebar() { const [statusErrorMessage, setStatusErrorMessage] = useState(""); const [statusSaveSucceeded, setStatusSaveSucceeded] = useState(false); - const { send } = useTTP(); + const { send } = useMTP(); const content = ( <> diff --git a/apps/web/src/index.tsx b/apps/web/src/index.tsx index 2268e50..4d1e9ae 100644 --- a/apps/web/src/index.tsx +++ b/apps/web/src/index.tsx @@ -24,7 +24,7 @@ import Login from "@/routes/screens/login"; import CallPopout from "@tensamin/call/popout"; import ChatContext from "@tensamin/chat/context"; import { useInitializeCall } from "@tensamin/call/store"; -import { Provider as TTPProvider } from "@tensamin/ttp"; +import { Provider as MTPProvider } from "@tensamin/mtp"; import UserContext from "@tensamin/user/context"; import DeeplinkContext from "@tensamin/tauri/deeplinkHandler"; import NotificationsProvider from "@tensamin/notifications/context"; @@ -177,59 +177,31 @@ function ThemeStorageBridge() { ]); useEffect(() => { - if (!loadedRef.current) { - return; - } - - save("theme_color", themeColor); + if (loadedRef.current) save("theme_color", themeColor); }, [save, themeColor]); useEffect(() => { - if (!loadedRef.current) { - return; - } - - save("theme_palette", themePalette); + if (loadedRef.current) save("theme_palette", themePalette); }, [save, themePalette]); useEffect(() => { - if (!loadedRef.current) { - return; - } - - save("theme_primary_color", themePrimaryColor); + if (loadedRef.current) save("theme_primary_color", themePrimaryColor); }, [save, themePrimaryColor]); useEffect(() => { - if (!loadedRef.current) { - return; - } - - save("theme_polarity", themePolarity); + if (loadedRef.current) save("theme_polarity", themePolarity); }, [save, themePolarity]); useEffect(() => { - if (!loadedRef.current) { - return; - } - - save("theme_tint", themeTint); + if (loadedRef.current) save("theme_tint", themeTint); }, [save, themeTint]); useEffect(() => { - if (!loadedRef.current) { - return; - } - - save("theme_border_radius", themeBorderRadius); + if (loadedRef.current) save("theme_border_radius", themeBorderRadius); }, [save, themeBorderRadius]); useEffect(() => { - if (!loadedRef.current) { - return; - } - - save("theme_custom_css", themeCustomCss); + if (loadedRef.current) save("theme_custom_css", themeCustomCss); }, [save, themeCustomCss]); return null; @@ -266,9 +238,19 @@ function RootShell() { - - - + + + + + + + + + + + + + @@ -282,28 +264,19 @@ function RootShell() { function AppShell() { return ( - - - - - - - - - - - - - - - - - + + + + + + + ); } function CallInit() { - return useInitializeCall(); + useInitializeCall(); + return null; } const rootRoute = createRootRoute({ diff --git a/apps/web/src/routes/app/home.tsx b/apps/web/src/routes/app/home.tsx index ed725b1..0add511 100644 --- a/apps/web/src/routes/app/home.tsx +++ b/apps/web/src/routes/app/home.tsx @@ -11,7 +11,7 @@ import { useIsMobile, } from "@tensamin/ui"; import z from "zod"; -import { useTTP } from "@tensamin/ttp"; +import { useMTP } from "@tensamin/mtp"; import { useState } from "react"; import { Loader2 } from "lucide-react"; import { isTauri } from "@tauri-apps/api/core"; @@ -31,7 +31,7 @@ export default function Page() { // Add Conversation Button Component function AddConversationButton() { - const { send } = useTTP(); + const { send } = useMTP(); const { contacts, insertContact } = useSession(); const [loading, setLoading] = useState(false); const [open, setOpen] = useState(false); diff --git a/apps/web/src/routes/settings/profile.tsx b/apps/web/src/routes/settings/profile.tsx index e0d6847..b9e8fa9 100644 --- a/apps/web/src/routes/settings/profile.tsx +++ b/apps/web/src/routes/settings/profile.tsx @@ -11,8 +11,8 @@ import { import { useUser, type User } from "@tensamin/user/context"; import { useEffect, useRef, useState } from "react"; import MDInput from "@tensamin/markdown/input"; -import { ttp } from "@tensamin/shared/data"; -import { useTTP } from "@tensamin/ttp"; +import { mtp } from "@tensamin/shared/data"; +import { useMTP } from "@tensamin/mtp"; import { Check } from "lucide-react"; async function prepImage( @@ -43,7 +43,7 @@ async function prepImage( export default function Page() { const { get } = useUser(); const { load } = useStorage(); - const { send } = useTTP(); + const { send } = useMTP(); const [currentUser, setCurrentUser] = useState(null); const [draftUser, setDraftUser] = useState>({}); const [errorMessage, setErrorMessage] = useState(""); @@ -178,7 +178,7 @@ export default function Page() { : {}), }; - const validation = ttp.change_user_data.request.safeParse(payload); + const validation = mtp.change_user_data.request.safeParse(payload); if (!validation.success) { setSaveSucceeded(false); diff --git a/apps/web/src/routes/settings/security.tsx b/apps/web/src/routes/settings/security.tsx index 86c580e..45d1b2b 100644 --- a/apps/web/src/routes/settings/security.tsx +++ b/apps/web/src/routes/settings/security.tsx @@ -59,7 +59,7 @@ function QrCodeLogin() { setUserId(value); } }); - load("ttp_url") + load("mtp_url") .then((value) => { if (value) { const url = new URL(value); diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index 71fb4ac..44697ad 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -6,6 +6,7 @@ import { fileURLToPath } from "node:url"; import { defineConfig, type Plugin } from "vite"; import react from "@vitejs/plugin-react"; import tailwindcss from "@tailwindcss/vite"; +import { mtp } from "mtp/vite"; const host = process.env.TAURI_DEV_HOST; const appDir = dirname(fileURLToPath(import.meta.url)); @@ -74,6 +75,13 @@ export default defineConfig({ }, ], dedupe: [ + "react", + "react-dom", + "react-redux", + "use-sync-external-store", + "@tensamin/crypto", + "@tensamin/storage", + "@tensamin/mtp", "@codemirror/commands", "@codemirror/lang-markdown", "@codemirror/state", @@ -97,7 +105,16 @@ export default defineConfig({ }, envPrefix: ["VITE_", "TAURI_ENV_*"], optimizeDeps: { - exclude: ["@tensamin/ttp-core"], + // Annoying Vite 8 stuff + include: [ + "react-redux", + "use-sync-external-store/shim/with-selector", + "use-sync-external-store/with-selector", + "decimal.js-light", + "eventemitter3", + "react-is", + ], + exclude: ["mtp", "mtp/raw", "mtp/type-map", "@tensamin/shared"], }, build: { minify: !process.env.TAURI_ENV_DEBUG ? "esbuild" : false, @@ -105,6 +122,7 @@ export default defineConfig({ }, plugins: [ deepFilterAssetHeaders(resolve(appDir, "public")), + mtp({ typeMaps: resolve(appDir, "../../type-maps.yaml") }), react(), tailwindcss(), ], diff --git a/bun.lock b/bun.lock index 3abc135..466251e 100644 --- a/bun.lock +++ b/bun.lock @@ -5,8 +5,8 @@ "": { "name": "tensamin", "dependencies": { - "@tensamin/ttp-core": "*", "@tensamin/ui": "*", + "mtp": "*", "sonner": "^2.0.7", }, "devDependencies": { @@ -59,30 +59,118 @@ "name": "@tensamin/web", "version": "0.0.0", "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/react": "^1.0.0", + "@base-ui/utils": "0.3.1", + "@floating-ui/core": "^1.7.0", + "@floating-ui/dom": "^1.7.0", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "@fontsource-variable/inter": "^5.2.8", "@fontsource-variable/public-sans": "^5.2.7", + "@radix-ui/primitive": "^1.1.0", + "@radix-ui/react-compose-refs": "^1.1.1", + "@radix-ui/react-context": "^1.1.4", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dismissable-layer": "^1.1.11", + "@radix-ui/react-focus-guards": "^1.1.4", + "@radix-ui/react-focus-scope": "^1.1.11", + "@radix-ui/react-id": "^1.1.0", + "@radix-ui/react-portal": "^1.1.13", + "@radix-ui/react-presence": "^1.1.6", + "@radix-ui/react-primitive": "^2.0.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-use-callback-ref": "^1.1.1", + "@radix-ui/react-use-controllable-state": "^1.2.3", + "@radix-ui/react-use-effect-event": "^0.0.2", + "@radix-ui/react-use-layout-effect": "^1.1.0", + "@reduxjs/toolkit": "^2.0.0", "@tailwindcss/vite": "^4.2.4", + "@tanstack/devtools-event-client": "^0.3.0", + "@tanstack/history": "1.162.0", + "@tanstack/query-core": "^5.0.0", "@tanstack/react-router": "^1.169.1", + "@tanstack/react-store": "^0.9.3", "@tanstack/react-virtual": "^3.13.24", + "@tanstack/router-core": "^1.169.1", + "@tanstack/store": "^0.9.3", + "@tanstack/virtual-core": "^3.13.24", "@tauri-apps/api": "^2", "@tensamin/call": "workspace:*", "@tensamin/chat": "workspace:*", "@tensamin/crypto": "workspace:*", "@tensamin/markdown": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/notifications": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", "@tensamin/tauri": "workspace:*", "@tensamin/tauth": "workspace:*", - "@tensamin/ttp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", + "aria-hidden": "^1.2.4", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "cmdk": "^1.1.1", + "cookie-es": "^3.0.0", + "d3-array": "^3.1.6", + "d3-color": "^3.1.0", + "d3-ease": "^3.0.1", + "d3-format": "^3.1.0", + "d3-interpolate": "^3.0.1", + "d3-path": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-time-format": "^4.1.0", + "d3-timer": "^3.0.1", + "date-fns": "^4.4.0", + "decimal.js-light": "^2.5.1", + "detect-node-es": "^1.1.0", + "dijkstrajs": "^1.0.1", + "embla-carousel": "8.6.0", + "embla-carousel-react": "^8.6.0", + "embla-carousel-reactive-utils": "8.6.0", + "es-toolkit": "^1.39.3", + "eventemitter3": "^5.0.1", + "get-nonce": "^1.0.1", + "immer": "^10.1.1", + "input-otp": "^1.4.2", + "internmap": "^2.0.3", "lucide-react": "^1.14.0", + "next-themes": "^0.4.6", + "pngjs": "^5.0.0", "qrcode": "^1.5.4", "react": "^19.2.0", + "react-day-picker": "^10.0.1", "react-dom": "^19.2.0", + "react-is": "^19.0.0", + "react-redux": "^9.0.0", + "react-remove-scroll": "^2.7.2", + "react-remove-scroll-bar": "^2.3.7", + "react-resizable-panels": "^4.11.2", + "react-style-singleton": "^2.2.3", + "recharts": "3.8.1", + "redux": "^5.0.0", + "redux-thunk": "^3.1.0", + "reselect": "5.1.1", + "scheduler": "^0.27.0", + "seroval": "^1.5.4", + "seroval-plugins": "^1.5.4", + "shadcn": "^4.11.0", + "sonner": "^2.0.7", + "tailwind-merge": "^3.6.0", "tailwind-scrollbar-hide": "^4.0.0", "tailwindcss": "^4.2.4", + "tiny-invariant": "^1.3.3", + "tslib": "^2.8.1", "tw-animate-css": "^1.4.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3", + "use-sync-external-store": "^1.2.2", + "vaul": "^1.1.2", + "victory-vendor": "^37.0.2", + "yargs": "^15.3.1", "zod": "^4.3.6", }, "devDependencies": { @@ -107,9 +195,9 @@ "@tanstack/react-router": "^1.169.1", "@tauri-apps/api": "^2", "@tensamin/crypto": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", - "@tensamin/ttp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "deepfilternet3-noise-filter": "^1.2.1", @@ -132,9 +220,9 @@ "@tanstack/react-virtual": "^3.0.0", "@tensamin/crypto": "workspace:*", "@tensamin/markdown": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", - "@tensamin/ttp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "lucide-react": "^1.14.0", @@ -148,6 +236,7 @@ "version": "0.0.0", "dependencies": { "@noble/curves": "^2.0.1", + "@noble/hashes": "^2.0.1", "comlink": "^4.4.2", "react": "^19.2.0", "react-dom": "^19.2.0", @@ -165,6 +254,25 @@ "react-dom": "^19.2.0", }, }, + "packages/mtp": { + "name": "@tensamin/mtp", + "version": "0.0.0", + "dependencies": { + "@tauri-apps/api": "^2", + "@tensamin/crypto": "workspace:*", + "@tensamin/shared": "workspace:*", + "@tensamin/storage": "workspace:*", + "@tensamin/ui": "*", + "mtp": "*", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "tauri-plugin-app-events-api": "^0.2.0", + "zod": "^4.4.2", + }, + "devDependencies": { + "eslint": "^10.0.3", + }, + }, "packages/notifications": { "name": "@tensamin/notifications", "version": "0.0.0", @@ -173,9 +281,9 @@ "@tauri-apps/api": "^2.11.0", "@tensamin/chat": "workspace:*", "@tensamin/crypto": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", - "@tensamin/ttp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "react": "^19.2.0", @@ -199,8 +307,8 @@ "name": "@tensamin/storage", "version": "0.0.0", "dependencies": { + "@tensamin/mtp": "workspace:*", "@tensamin/shared": "workspace:*", - "@tensamin/ttp": "workspace:*", "@tensamin/ui": "*", "react": "^19.2.0", "react-dom": "^19.2.0", @@ -213,10 +321,10 @@ "@tanstack/react-router": "^1.0.0", "@tauri-apps/api": "^2.10.1", "@tensamin/crypto": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", "@tensamin/tauri": "workspace:*", - "@tensamin/ttp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "lucide-react": "^1.8.0", @@ -224,32 +332,13 @@ "react-dom": "^19.2.0", }, }, - "packages/ttp": { - "name": "@tensamin/ttp", - "version": "0.0.0", - "dependencies": { - "@tanstack/react-router": "^1.0.0", - "@tauri-apps/api": "^2", - "@tensamin/crypto": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/storage": "workspace:*", - "@tensamin/ttp-core": "*", - "@tensamin/ui": "*", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "tauri-plugin-app-events-api": "^0.2.0", - }, - "devDependencies": { - "eslint": "^10.0.3", - }, - }, "packages/user": { "name": "@tensamin/user", "version": "0.0.0", "dependencies": { + "@tensamin/mtp": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", - "@tensamin/ttp": "workspace:*", "react": "^19.2.0", "react-dom": "^19.2.0", "zod": "^4.3.6", @@ -257,12 +346,10 @@ }, }, "overrides": { - "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz", - "@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.39.tar.gz", + "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", + "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c4a52c6/mtp-0.1.0.tgz", }, "packages": { - "@antfu/ni": ["@antfu/ni@25.0.0", "", { "dependencies": { "ansis": "^4.0.0", "fzf": "^0.5.2", "package-manager-detector": "^1.3.0", "tinyexec": "^1.0.1" }, "bin": { "na": "bin/na.mjs", "ni": "bin/ni.mjs", "nr": "bin/nr.mjs", "nci": "bin/nci.mjs", "nlx": "bin/nlx.mjs", "nun": "bin/nun.mjs", "nup": "bin/nup.mjs" } }, "sha512-9q/yCljni37pkMr4sPrI3G4jqdIk074+iukc5aFJl7kmDCCsiJrbZ6zKxnES1Gwg+i9RcDZwvktl23puGslmvA=="], - "@babel/code-frame": ["@babel/code-frame@7.29.7", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw=="], "@babel/compat-data": ["@babel/compat-data@7.29.7", "", {}, "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg=="], @@ -329,7 +416,7 @@ "@codemirror/autocomplete": ["@codemirror/autocomplete@6.20.3", "", { "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.17.0", "@lezer/common": "^1.0.0" } }, "sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g=="], - "@codemirror/commands": ["@codemirror/commands@6.10.3", "", { "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.6.0", "@codemirror/view": "^6.27.0", "@lezer/common": "^1.1.0" } }, "sha512-JFRiqhKu+bvSkDLI+rUhJwSxQxYb759W5GBezE8Uc8mHLqC9aV/9aTC7yJSqCtB3F00pylrLCwnyS91Ap5ej4Q=="], + "@codemirror/commands": ["@codemirror/commands@6.10.4", "", { "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.7.0", "@codemirror/view": "^6.27.0", "@lezer/common": "^1.1.0" } }, "sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg=="], "@codemirror/lang-css": ["@codemirror/lang-css@6.3.1", "", { "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", "@lezer/common": "^1.0.2", "@lezer/css": "^1.1.7" } }, "sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg=="], @@ -339,19 +426,19 @@ "@codemirror/lang-markdown": ["@codemirror/lang-markdown@6.5.0", "", { "dependencies": { "@codemirror/autocomplete": "^6.7.1", "@codemirror/lang-html": "^6.0.0", "@codemirror/language": "^6.3.0", "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", "@lezer/common": "^1.2.1", "@lezer/markdown": "^1.0.0" } }, "sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw=="], - "@codemirror/language": ["@codemirror/language@6.12.3", "", { "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.23.0", "@lezer/common": "^1.5.0", "@lezer/highlight": "^1.0.0", "@lezer/lr": "^1.0.0", "style-mod": "^4.0.0" } }, "sha512-QwCZW6Tt1siP37Jet9Tb02Zs81TQt6qQrZR2H+eGMcFsL1zMrk2/b9CLC7/9ieP1fjIUMgviLWMmgiHoJrj+ZA=="], + "@codemirror/language": ["@codemirror/language@6.12.4", "", { "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.23.0", "@lezer/common": "^1.5.0", "@lezer/highlight": "^1.0.0", "@lezer/lr": "^1.0.0", "style-mod": "^4.0.0" } }, "sha512-1q4PaT+o6PbgpkJt4Q8Fv5XJxTy4FUZ4MWETtyiDw3J0Pyr9E2vqcKL+k9wcvjNTIsauxvE7OfmWj3FRPHQ76A=="], "@codemirror/lint": ["@codemirror/lint@6.9.7", "", { "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.42.0", "crelt": "^1.0.5" } }, "sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg=="], - "@codemirror/state": ["@codemirror/state@6.6.0", "", { "dependencies": { "@marijn/find-cluster-break": "^1.0.0" } }, "sha512-4nbvra5R5EtiCzr9BTHiTLc+MLXK2QGiAVYMyi8PkQd3SR+6ixar/Q/01Fa21TBIDOZXgeWV4WppsQolSreAPQ=="], + "@codemirror/state": ["@codemirror/state@6.7.0", "", { "dependencies": { "@marijn/find-cluster-break": "^1.0.0" } }, "sha512-Zbl9NyscLMZkfXPQnNAIIAFftidrA1UbcJEIMp24C0Bukc2I5T8wJS0wsXYsnDOqCFJUeJ1BITGNs5CqPDSmSg=="], - "@codemirror/view": ["@codemirror/view@6.43.1", "", { "dependencies": { "@codemirror/state": "^6.6.0", "crelt": "^1.0.6", "style-mod": "^4.1.0", "w3c-keyname": "^2.2.4" } }, "sha512-+BIjw/AG3tDQ4pJgTLPYdAW25eDE66YsvM4LKyVPgGzVgZ4a9Wj1SRX8kPVKgBDdPt8oHtZ15F0qx7p0oOHdHw=="], + "@codemirror/view": ["@codemirror/view@6.43.4", "", { "dependencies": { "@codemirror/state": "^6.7.0", "crelt": "^1.0.6", "style-mod": "^4.1.0", "w3c-keyname": "^2.2.4" } }, "sha512-YImu23iyKfncJzT7sRy+rEqEhSc8RhOHqDxwy4WzXRKJwYm6iwf/9OJk5ctCAdZ6yi2ZqaGEvmf55fSVqMDrgg=="], "@date-fns/tz": ["@date-fns/tz@1.5.0", "", {}, "sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg=="], - "@dotenvx/dotenvx": ["@dotenvx/dotenvx@1.73.1", "", { "dependencies": { "commander": "^11.1.0", "conf": "^10.2.0", "dotenv": "^17.2.1", "eciesjs": "^0.4.10", "enquirer": "^2.4.1", "env-paths": "^2.2.1", "execa": "^5.1.1", "fdir": "^6.2.0", "ignore": "^5.3.0", "object-treeify": "1.1.33", "open": "^8.4.2", "picomatch": "^4.0.4", "systeminformation": "^5.22.11", "undici": "^7.11.0", "which": "^4.0.0", "yocto-spinner": "^1.1.0" }, "bin": { "dotenvx": "src/cli/dotenvx.js" } }, "sha512-AWf8edAsSpINqJbtaZsaiV3PO+vw5pS4wJFl6ahYNdnp3gfFYeMxRCdsA9042bKP4UPCs8yr5FikSFlvkmFVag=="], + "@dotenvx/dotenvx": ["@dotenvx/dotenvx@1.75.1", "", { "dependencies": { "@dotenvx/primitives": "^0.8.0", "commander": "^11.1.0", "conf": "^10.2.0", "dotenv": "^17.2.1", "enquirer": "^2.4.1", "env-paths": "^2.2.1", "execa": "^5.1.1", "fdir": "^6.2.0", "ignore": "^5.3.0", "object-treeify": "1.1.33", "open": "^8.4.2", "picomatch": "^4.0.4", "systeminformation": "^5.22.11", "undici": "^7.11.0", "which": "^4.0.0", "yocto-spinner": "^1.1.0" }, "bin": { "dotenvx": "src/cli/dotenvx.js" } }, "sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ=="], - "@ecies/ciphers": ["@ecies/ciphers@0.2.6", "", { "peerDependencies": { "@noble/ciphers": "^1.0.0" } }, "sha512-patgsRPKGkhhoBjETV4XxD0En4ui5fbX0hzayqI3M8tvNMGUoUvmyYAIWwlxBc1KX5cturfqByYdj5bYGRpN9g=="], + "@dotenvx/primitives": ["@dotenvx/primitives@0.8.0", "", {}, "sha512-VYJy0uhFm9zTJ1TxBaW/pA8bjbOM/OttaNMwZ1RHG4JKyRG7DhSdiqD1ipQoAyoD22olUtxbP78W9xY3Wd11bg=="], "@electron/asar": ["@electron/asar@3.4.1", "", { "dependencies": { "commander": "^5.0.0", "glob": "^7.1.6", "minimatch": "^3.0.4" }, "bin": { "asar": "bin/asar.js" } }, "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA=="], @@ -363,17 +450,17 @@ "@electron/osx-sign": ["@electron/osx-sign@1.3.3", "", { "dependencies": { "compare-version": "^0.1.2", "debug": "^4.3.4", "fs-extra": "^10.0.0", "isbinaryfile": "^4.0.8", "minimist": "^1.2.6", "plist": "^3.0.5" }, "bin": { "electron-osx-flat": "bin/electron-osx-flat.js", "electron-osx-sign": "bin/electron-osx-sign.js" } }, "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg=="], - "@electron/rebuild": ["@electron/rebuild@4.0.4", "", { "dependencies": { "@malept/cross-spawn-promise": "^2.0.0", "debug": "^4.1.1", "node-abi": "^4.2.0", "node-api-version": "^0.2.1", "node-gyp": "^12.2.0", "read-binary-file-arch": "^1.0.6" }, "bin": { "electron-rebuild": "lib/cli.js" } }, "sha512-Rzc39XPdk/+/wBG8MfwAHohXflep0ITUfulb6Rgz3R0NeSB1noE+E9/M/cb8ftCAiyDD9PPhLuuWgE1GaInbKg=="], + "@electron/rebuild": ["@electron/rebuild@4.1.0", "", { "dependencies": { "@malept/cross-spawn-promise": "^2.0.0", "debug": "^4.1.1", "node-abi": "^4.2.0", "node-api-version": "^0.2.1", "node-gyp": "^12.2.0", "read-binary-file-arch": "^1.0.6" }, "bin": { "electron-rebuild": "lib/cli.js" } }, "sha512-GFky+1JeO8fpSqtZCh+2wFRN/MVbAhm7tXI2M7BA1Os79OR8LEoxRtAbRPyxvmKWhEMF/p10rNJkkgP1klI13g=="], "@electron/universal": ["@electron/universal@2.0.3", "", { "dependencies": { "@electron/asar": "^3.3.1", "@malept/cross-spawn-promise": "^2.0.0", "debug": "^4.3.1", "dir-compare": "^4.2.0", "fs-extra": "^11.1.1", "minimatch": "^9.0.3", "plist": "^3.1.0" } }, "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g=="], "@electron/windows-sign": ["@electron/windows-sign@1.2.2", "", { "dependencies": { "cross-dirname": "^0.1.0", "debug": "^4.3.4", "fs-extra": "^11.1.1", "minimist": "^1.2.8", "postject": "^1.0.0-alpha.6" }, "bin": { "electron-windows-sign": "bin/electron-windows-sign.js" } }, "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ=="], - "@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="], + "@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="], - "@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="], + "@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="], - "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="], + "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="], "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], @@ -443,25 +530,25 @@ "@eslint/plugin-kit": ["@eslint/plugin-kit@0.7.2", "", { "dependencies": { "@eslint/core": "^1.2.1", "levn": "^0.4.1" } }, "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A=="], - "@fallow-cli/darwin-arm64": ["@fallow-cli/darwin-arm64@2.99.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-aVrW4PSIyAP2lG9yWI+Ub6OJSSwEpkxwv7ZFy24wOODgAsUvjRtGW3LUMn43I7zKu7DbrTzadlupPzWYQrF1mg=="], + "@fallow-cli/darwin-arm64": ["@fallow-cli/darwin-arm64@2.104.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5kKt3JuoYVz5/9PpHdu8u41vOZ6CzIu+5SqNBR8MktGLVMBSERm85+NN63XqgbZrVwIC/5uiP8eHQ0RYw0qhHg=="], - "@fallow-cli/darwin-x64": ["@fallow-cli/darwin-x64@2.99.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-lJ+TsjZeu9aD2egHfl7Hhr/P4ExhagNtVwpDfk5tx15tSzsS/P+lAzVZ9Avr6ENV4jyQ3f1l771as2nsnp80wQ=="], + "@fallow-cli/darwin-x64": ["@fallow-cli/darwin-x64@2.104.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-BEwwYccutb8RxyAm3uE8vwCJ3JSLYYeREj3fpLPFFCjh9eXBBo3Q1Mu5pxBjjUeehfbR6r/FLJb9JV28bCia9g=="], - "@fallow-cli/linux-arm64-gnu": ["@fallow-cli/linux-arm64-gnu@2.99.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-VSfnBt/MpnJxlkuY24kpH2pPjGDMS524eqIQRswCnqmMeLttYRLNrHd9zca7lXR9qLoEcEjGb34VpEpKJl2WOw=="], + "@fallow-cli/linux-arm64-gnu": ["@fallow-cli/linux-arm64-gnu@2.104.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-IyIkmwxm0AfVKXfHYuSBO6Fzt6fgZsRE0arbtObeDlKSv7zZMzqHZPpbSGZxPEmVODBMScdSxxaFSli9xFHBTA=="], - "@fallow-cli/linux-arm64-musl": ["@fallow-cli/linux-arm64-musl@2.99.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-OlK6rzCRbv8L5/JlQOrGUZR/5dFWU8Wn95qzOFUoSYj/4e+ABoqaFw4hbYkbelsEhdVb40L57bxt78FO5u6POw=="], + "@fallow-cli/linux-arm64-musl": ["@fallow-cli/linux-arm64-musl@2.104.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-YskAeLCUUPnbwqtMC452ksI+miw6hN4K6peTFRJ0j2gSpkTriJfUgkudFB1+JX2/YqV41yDAqe5XeDYhuXxjOA=="], - "@fallow-cli/linux-x64-gnu": ["@fallow-cli/linux-x64-gnu@2.99.0", "", { "os": "linux", "cpu": "x64" }, "sha512-uOxJj3FahMT9Lgws5mtEF5eRUdjlt232DbwfxI/5VknqrcvqqWjqsdkE1JrW6aPoy8Ex4KBc93DBcEHxyrSYMA=="], + "@fallow-cli/linux-x64-gnu": ["@fallow-cli/linux-x64-gnu@2.104.0", "", { "os": "linux", "cpu": "x64" }, "sha512-v3Um0fXwTPg7kGRD1hKeS36A7P/3J7h3TiQ2KAzE8ThKkDViHYjKGEkajtGGSIj/Tv+GVnJBOvJ7i752/6iSBA=="], - "@fallow-cli/linux-x64-musl": ["@fallow-cli/linux-x64-musl@2.99.0", "", { "os": "linux", "cpu": "x64" }, "sha512-VBLvXobdtap1L73UjSPOoC2m5jXpBR5k8qB91XjyNAOreqwreVz5d2UlM3UVy39/VyiP6FM+MxctGneHJlmiJg=="], + "@fallow-cli/linux-x64-musl": ["@fallow-cli/linux-x64-musl@2.104.0", "", { "os": "linux", "cpu": "x64" }, "sha512-wMVyeSp5uHvzVUgNHk6xuTCisVOAUv8FTC6z1swANdLQlQgd4Trnu8GYwhJhO7cU9RuL85yn1XksCs6+PkRM8A=="], - "@fallow-cli/win32-arm64-msvc": ["@fallow-cli/win32-arm64-msvc@2.99.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-TSQmWZDmNNjppWTlbZX+L808pwSuXh40RXqwA0D8gm4kBk1zwr9dVITcj5s2NLuIVzhnU4+A5U9AO28BRThcSQ=="], + "@fallow-cli/win32-arm64-msvc": ["@fallow-cli/win32-arm64-msvc@2.104.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-qDRn7zoRKVAHVz+BqKUnUPa8H4gD/g26Fs/hqH9futbthecgjXmPyRJwycE8HTQBNlVwck5d5w36a+PEPsCYaQ=="], - "@fallow-cli/win32-x64-msvc": ["@fallow-cli/win32-x64-msvc@2.99.0", "", { "os": "win32", "cpu": "x64" }, "sha512-BUfixVqZiaTQG30LXZ5srGD9k1CSBLICsIBBWhl7b+P8P+wd/ZjFDlLnC6/EqBCb1tzU84Qev3r84CEmx4HHlw=="], + "@fallow-cli/win32-x64-msvc": ["@fallow-cli/win32-x64-msvc@2.104.0", "", { "os": "win32", "cpu": "x64" }, "sha512-irER9HuZ9DXunl4H9RNsWQ9AvGmHs/Zp1+Yr2ATmgSNumERPXvgXa2IiGtCvKFqI72639TlhUj8+2WqIXZ54WQ=="], "@floating-ui/core": ["@floating-ui/core@1.7.5", "", { "dependencies": { "@floating-ui/utils": "^0.2.11" } }, "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ=="], - "@floating-ui/dom": ["@floating-ui/dom@1.7.4", "", { "dependencies": { "@floating-ui/core": "^1.7.3", "@floating-ui/utils": "^0.2.10" } }, "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA=="], + "@floating-ui/dom": ["@floating-ui/dom@1.7.6", "", { "dependencies": { "@floating-ui/core": "^1.7.5", "@floating-ui/utils": "^0.2.11" } }, "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ=="], "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.8", "", { "dependencies": { "@floating-ui/dom": "^1.7.6" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A=="], @@ -483,16 +570,6 @@ "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], - "@inquirer/ansi": ["@inquirer/ansi@2.0.7", "", {}, "sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q=="], - - "@inquirer/confirm": ["@inquirer/confirm@6.1.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-eb8DBZcz/2qHWQda4rk2JiQk5h9QV/cVHi1yjt0f69WFZMRFn0sJTye3EAP8icut8UDMjQPsaH5KbcOogefrFQ=="], - - "@inquirer/core": ["@inquirer/core@11.2.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.7", "@inquirer/figures": "^2.0.7", "@inquirer/type": "^4.0.7", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", "signal-exit": "^4.1.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-Qd6GJT1yVyrZZCfN8W2qKF5ApmqryXRhRKCuip8h01x2w/esJQ2XIYc6f9abMIHgKQdBfFTSOdbHRLAhuM09UA=="], - - "@inquirer/figures": ["@inquirer/figures@2.0.7", "", {}, "sha512-aJ8TBPOGB6f/2qziPfElISTCEd5XOYTFckA2SGjhNmiKzfK/u4ot3v0DUzGVdUnKjN10EqnnEPck36BkyfLnJw=="], - - "@inquirer/type": ["@inquirer/type@4.0.7", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-t28inv14nMQ1PhKpsJPY+kEs/c00qzeCOS2gTNRyTjG5d6qsVA2fItxW4hkvGZ5lvanGLdtCzVIx5dwdRpN1+g=="], - "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], @@ -507,7 +584,7 @@ "@lezer/common": ["@lezer/common@1.5.2", "", {}, "sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ=="], - "@lezer/css": ["@lezer/css@1.3.3", "", { "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.0.0", "@lezer/lr": "^1.3.0" } }, "sha512-RzBo8r+/6QJeow7aPHIpGVIH59xTcJXp399820gZoMo9noQDRVpJLheIBUicYwKcsbOYoBRoLZlf2720dG/4Tg=="], + "@lezer/css": ["@lezer/css@1.3.4", "", { "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.0.0", "@lezer/lr": "^1.3.0" } }, "sha512-N+tn9tej2hPvyKgHEApMOQfHczDJCwxrRFS3SPn9QjYN+uwHvEDnCgKRrb3mxDYxRS8sKMM8fhC3+lc04Abz5Q=="], "@lezer/highlight": ["@lezer/highlight@1.2.3", "", { "dependencies": { "@lezer/common": "^1.3.0" } }, "sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g=="], @@ -525,21 +602,17 @@ "@livekit/mutex": ["@livekit/mutex@1.1.1", "", {}, "sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw=="], - "@livekit/protocol": ["@livekit/protocol@1.45.8", "", { "dependencies": { "@bufbuild/protobuf": "^1.10.0" } }, "sha512-Q+l57E7w/xxOBFVWzdX5rkAZO7ffyF+rlDzNUYq2SU114+5aTyCq+PK4unaEVDNd4952Af7wteKr3sOgasGuaA=="], + "@livekit/protocol": ["@livekit/protocol@1.46.6", "", { "dependencies": { "@bufbuild/protobuf": "^1.10.0" } }, "sha512-upzlHP1vi/kZ/QqALZTFskQ0ifqc2f15RKucHYOsIHJsaXvEYanG75mAb7o+Yomfs4XhQ4BaRsdY+TFHXpaqrg=="], "@malept/cross-spawn-promise": ["@malept/cross-spawn-promise@2.0.0", "", { "dependencies": { "cross-spawn": "^7.0.1" } }, "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg=="], "@malept/flatpak-bundler": ["@malept/flatpak-bundler@0.4.0", "", { "dependencies": { "debug": "^4.1.1", "fs-extra": "^9.0.0", "lodash": "^4.17.15", "tmp-promise": "^3.0.2" } }, "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q=="], - "@marijn/find-cluster-break": ["@marijn/find-cluster-break@1.0.2", "", {}, "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g=="], + "@marijn/find-cluster-break": ["@marijn/find-cluster-break@1.0.3", "", {}, "sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA=="], "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.29.0", "", { "dependencies": { "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ=="], - "@mswjs/interceptors": ["@mswjs/interceptors@0.41.9", "", { "dependencies": { "@open-draft/deferred-promise": "^2.2.0", "@open-draft/logger": "^0.3.0", "@open-draft/until": "^2.0.0", "is-node-process": "^1.2.0", "outvariant": "^1.4.3", "strict-event-emitter": "^0.5.1" } }, "sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w=="], - - "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.5", "", { "dependencies": { "@tybys/wasm-util": "^0.10.2" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q=="], - - "@noble/ciphers": ["@noble/ciphers@1.3.0", "", {}, "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw=="], + "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.6", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg=="], "@noble/curves": ["@noble/curves@2.2.0", "", { "dependencies": { "@noble/hashes": "2.2.0" } }, "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ=="], @@ -551,13 +624,7 @@ "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], - "@open-draft/deferred-promise": ["@open-draft/deferred-promise@3.0.0", "", {}, "sha512-XW375UK8/9SqUVNVa6M0yEy8+iTi4QN5VZ7aZuRFQmy76LRwI9wy5F4YIBU6T+eTe2/DNDo8tqu8RHlwLHM6RA=="], - - "@open-draft/logger": ["@open-draft/logger@0.3.0", "", { "dependencies": { "is-node-process": "^1.2.0", "outvariant": "^1.4.0" } }, "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ=="], - - "@open-draft/until": ["@open-draft/until@2.1.0", "", {}, "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg=="], - - "@oxc-project/types": ["@oxc-project/types@0.133.0", "", {}, "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA=="], + "@oxc-project/types": ["@oxc-project/types@0.138.0", "", {}, "sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA=="], "@peculiar/asn1-schema": ["@peculiar/asn1-schema@2.8.0", "", { "dependencies": { "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q=="], @@ -573,21 +640,21 @@ "@radix-ui/react-context": ["@radix-ui/react-context@1.1.4", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg=="], - "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.17", "", { "dependencies": { "@radix-ui/primitive": "1.1.4", "@radix-ui/react-compose-refs": "1.1.3", "@radix-ui/react-context": "1.1.4", "@radix-ui/react-dismissable-layer": "1.1.13", "@radix-ui/react-focus-guards": "1.1.4", "@radix-ui/react-focus-scope": "1.1.10", "@radix-ui/react-id": "1.1.2", "@radix-ui/react-portal": "1.1.12", "@radix-ui/react-presence": "1.1.6", "@radix-ui/react-primitive": "2.1.6", "@radix-ui/react-slot": "1.3.0", "@radix-ui/react-use-controllable-state": "1.2.3", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.7.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-TDTYmpdq8dI2+Xgvgj9AJ8Ghqq+Eph/TRVEdaFQPDItIY+6QSkU7MJMeevw1568Yw/2Ijz8BTphPSP2XejKphw=="], + "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.18", "", { "dependencies": { "@radix-ui/primitive": "1.1.4", "@radix-ui/react-compose-refs": "1.1.3", "@radix-ui/react-context": "1.1.4", "@radix-ui/react-dismissable-layer": "1.1.14", "@radix-ui/react-focus-guards": "1.1.4", "@radix-ui/react-focus-scope": "1.1.11", "@radix-ui/react-id": "1.1.2", "@radix-ui/react-portal": "1.1.13", "@radix-ui/react-presence": "1.1.6", "@radix-ui/react-primitive": "2.1.7", "@radix-ui/react-slot": "1.3.0", "@radix-ui/react-use-controllable-state": "1.2.3", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.7.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-apa28mldjMgORmE6g/w3sCcA0Y9UAVeeDVoozN4i7kOw12mLl9RBchfzK3Nn6qxOWjrZhK1Lfy7f07kyzxtnBw=="], - "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.13", "", { "dependencies": { "@radix-ui/primitive": "1.1.4", "@radix-ui/react-compose-refs": "1.1.3", "@radix-ui/react-primitive": "2.1.6", "@radix-ui/react-use-callback-ref": "1.1.2", "@radix-ui/react-use-escape-keydown": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-2v+zNAWWe0ySxgC0D0yeXMPQ23xZVgXZTerTz+JKlmdRj6gfTqmCcR29jb6d290DezXPGgruHWDX/vYUebtErg=="], + "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.14", "", { "dependencies": { "@radix-ui/primitive": "1.1.4", "@radix-ui/react-compose-refs": "1.1.3", "@radix-ui/react-primitive": "2.1.7", "@radix-ui/react-use-callback-ref": "1.1.2", "@radix-ui/react-use-effect-event": "0.0.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-4lUhWTWAjbDIqFrAPWJ3WqBOpO5YchVZ88X3nh6H9Lu5AFi5nCUeTPj3D8FSDmabmFeRe9ME0BDA4MwKTha5GQ=="], "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.4", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q=="], - "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.10", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.3", "@radix-ui/react-primitive": "2.1.6", "@radix-ui/react-use-callback-ref": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fas/lXQqhVvqwAb64s5RFeHiHYElZ6SUQbZaNd6EkfhP/Al7wTIQ9WIR4QVX475tlu5yFCEdDcJH6/UwsZjMWw=="], + "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.11", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.3", "@radix-ui/react-primitive": "2.1.7", "@radix-ui/react-use-callback-ref": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Mn88Vg2whaRocGJNOH+DKFqYm6ySFPQaiwHNxZPyjn99B52KAEJWWY9NP83+nWdk2HM3rdov+STu9AG471Rt9w=="], "@radix-ui/react-id": ["@radix-ui/react-id@1.1.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA=="], - "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.12", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.6", "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m309havGzsjLHHaIX50G5PlvRs3xkgPCsGk/5PTvYm8D5q33yG0J7w/712PTOhid7NTaFETtnSXjngHQavvhVw=="], + "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.13", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.7", "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA=="], "@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.6", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ=="], - "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.6", "", { "dependencies": { "@radix-ui/react-slot": "1.3.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-wetd0QI77DbvrPpTAvH1SqOxsYF2wZe5TNxqwOd5Ty4XDpV3dpV0s8K/1MGMJBeY5o7lg8ub5VIt1Ub+yVen6g=="], + "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.7", "", { "dependencies": { "@radix-ui/react-slot": "1.3.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ=="], "@radix-ui/react-slot": ["@radix-ui/react-slot@1.3.0", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA=="], @@ -595,43 +662,41 @@ "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.3", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.3", "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA=="], - "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.3", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA=="], - - "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.2", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-2uVLvLjgO7NZCWw01/FdqRwmA42J0BcjPMUCA+koFEOAb+zjqIP7SiFz/7zWPrKnVmSqr76Omq2ALyCuX4dhLw=="], + "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="], "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA=="], "@reduxjs/toolkit": ["@reduxjs/toolkit@2.12.0", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "@standard-schema/utils": "^0.3.0", "immer": "^11.0.0", "redux": "^5.0.1", "redux-thunk": "^3.1.0", "reselect": "^5.1.0" }, "peerDependencies": { "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" }, "optionalPeers": ["react", "react-redux"] }, "sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw=="], - "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.3", "", { "os": "android", "cpu": "arm64" }, "sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw=="], + "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.1.4", "", { "os": "android", "cpu": "arm64" }, "sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw=="], - "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA=="], + "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.1.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ=="], - "@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg=="], + "@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.1.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg=="], - "@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g=="], + "@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.1.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ=="], - "@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.3", "", { "os": "linux", "cpu": "arm" }, "sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw=="], + "@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.1.4", "", { "os": "linux", "cpu": "arm" }, "sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA=="], - "@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw=="], + "@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.1.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w=="], - "@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q=="], + "@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.1.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng=="], - "@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.0.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg=="], + "@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.1.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg=="], - "@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.0.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg=="], + "@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.1.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ=="], - "@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.3", "", { "os": "linux", "cpu": "x64" }, "sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg=="], + "@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.1.4", "", { "os": "linux", "cpu": "x64" }, "sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw=="], - "@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.3", "", { "os": "linux", "cpu": "x64" }, "sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow=="], + "@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.1.4", "", { "os": "linux", "cpu": "x64" }, "sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ=="], - "@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.3", "", { "os": "none", "cpu": "arm64" }, "sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg=="], + "@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.1.4", "", { "os": "none", "cpu": "arm64" }, "sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA=="], - "@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.3", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg=="], + "@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.1.4", "", { "dependencies": { "@emnapi/core": "1.11.1", "@emnapi/runtime": "1.11.1", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg=="], - "@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g=="], + "@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.1.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA=="], - "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.3", "", { "os": "win32", "cpu": "x64" }, "sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA=="], + "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.1.4", "", { "os": "win32", "cpu": "x64" }, "sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ=="], "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="], @@ -647,85 +712,83 @@ "@szmarczak/http-timer": ["@szmarczak/http-timer@4.0.6", "", { "dependencies": { "defer-to-connect": "^2.0.0" } }, "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w=="], - "@tabby_ai/hijri-converter": ["@tabby_ai/hijri-converter@1.0.5", "", {}, "sha512-r5bClKrcIusDoo049dSL8CawnHR6mRdDwhlQuIgZRNty68q0x8k3Lf1BtPAMxRf/GgnHBnIO4ujd3+GQdLWzxQ=="], + "@tailwindcss/node": ["@tailwindcss/node@4.3.2", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "5.21.6", "jiti": "^2.7.0", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.3.2" } }, "sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg=="], - "@tailwindcss/node": ["@tailwindcss/node@4.3.1", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "5.21.6", "jiti": "^2.7.0", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.3.1" } }, "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A=="], + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.3.2", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.3.2", "@tailwindcss/oxide-darwin-arm64": "4.3.2", "@tailwindcss/oxide-darwin-x64": "4.3.2", "@tailwindcss/oxide-freebsd-x64": "4.3.2", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.2", "@tailwindcss/oxide-linux-arm64-gnu": "4.3.2", "@tailwindcss/oxide-linux-arm64-musl": "4.3.2", "@tailwindcss/oxide-linux-x64-gnu": "4.3.2", "@tailwindcss/oxide-linux-x64-musl": "4.3.2", "@tailwindcss/oxide-wasm32-wasi": "4.3.2", "@tailwindcss/oxide-win32-arm64-msvc": "4.3.2", "@tailwindcss/oxide-win32-x64-msvc": "4.3.2" } }, "sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag=="], - "@tailwindcss/oxide": ["@tailwindcss/oxide@4.3.1", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.3.1", "@tailwindcss/oxide-darwin-arm64": "4.3.1", "@tailwindcss/oxide-darwin-x64": "4.3.1", "@tailwindcss/oxide-freebsd-x64": "4.3.1", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1", "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1", "@tailwindcss/oxide-linux-arm64-musl": "4.3.1", "@tailwindcss/oxide-linux-x64-gnu": "4.3.1", "@tailwindcss/oxide-linux-x64-musl": "4.3.1", "@tailwindcss/oxide-wasm32-wasi": "4.3.1", "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1", "@tailwindcss/oxide-win32-x64-msvc": "4.3.1" } }, "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA=="], + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.3.2", "", { "os": "android", "cpu": "arm64" }, "sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA=="], - "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.3.1", "", { "os": "android", "cpu": "arm64" }, "sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ=="], + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.3.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w=="], - "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.3.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA=="], + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.3.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ=="], - "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.3.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg=="], + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.3.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA=="], - "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.3.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g=="], + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2", "", { "os": "linux", "cpu": "arm" }, "sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w=="], - "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1", "", { "os": "linux", "cpu": "arm" }, "sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg=="], + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw=="], - "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.3.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ=="], + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA=="], - "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.3.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA=="], + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w=="], - "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.3.1", "", { "os": "linux", "cpu": "x64" }, "sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg=="], + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw=="], - "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.3.1", "", { "os": "linux", "cpu": "x64" }, "sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ=="], + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.3.2", "", { "dependencies": { "@emnapi/core": "^1.11.1", "@emnapi/runtime": "^1.11.1", "@emnapi/wasi-threads": "^1.2.2", "@napi-rs/wasm-runtime": "^1.1.4", "@tybys/wasm-util": "^0.10.2", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw=="], - "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.3.1", "", { "dependencies": { "@emnapi/core": "^1.10.0", "@emnapi/runtime": "^1.10.0", "@emnapi/wasi-threads": "^1.2.1", "@napi-rs/wasm-runtime": "^1.1.4", "@tybys/wasm-util": "^0.10.2", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA=="], + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.3.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ=="], - "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.3.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg=="], + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.3.2", "", { "os": "win32", "cpu": "x64" }, "sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ=="], - "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.3.1", "", { "os": "win32", "cpu": "x64" }, "sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA=="], + "@tailwindcss/vite": ["@tailwindcss/vite@4.3.2", "", { "dependencies": { "@tailwindcss/node": "4.3.2", "@tailwindcss/oxide": "4.3.2", "tailwindcss": "4.3.2" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA=="], - "@tailwindcss/vite": ["@tailwindcss/vite@4.3.1", "", { "dependencies": { "@tailwindcss/node": "4.3.1", "@tailwindcss/oxide": "4.3.1", "tailwindcss": "4.3.1" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ=="], - - "@tanstack/devtools-event-client": ["@tanstack/devtools-event-client@0.4.3", "", { "bin": { "intent": "bin/intent.js" } }, "sha512-OZI6QyULw0FI0wjgmeYzCIfbgPsOEzwJtCpa69XrfLMtNXLGnz3d/dIabk7frg0TmHo+Ah49w5I4KC7Tufwsvw=="], + "@tanstack/devtools-event-client": ["@tanstack/devtools-event-client@0.3.5", "", {}, "sha512-RL1f5ZlfZMpghrCIdzl6mLOFLTuhqmPNblZgBaeKfdtk5rfbjykurv+VfYydOFXj0vxVIoA2d/zT7xfD7Ph8fw=="], "@tanstack/history": ["@tanstack/history@1.162.0", "", {}, "sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA=="], "@tanstack/pacer": ["@tanstack/pacer@0.21.1", "", { "dependencies": { "@tanstack/devtools-event-client": "^0.4.3", "@tanstack/store": "^0.11.0" } }, "sha512-hB01dd4rlsYcTCNP7wK186jgAe6K5qimgM1Y5Jtvz+9PUaILvpmeLLjmQNUNSO1l23lIt+CeQR6mO1mjlPvRtQ=="], - "@tanstack/query-core": ["@tanstack/query-core@5.101.0", "", {}, "sha512-cQetA74EB+seWySv1TTKr828TnP0u39m6LykwDXIo84SNortpDkp30TMEjkqtYCNP9c40uT/iwl6MLiufEt0Ow=="], + "@tanstack/query-core": ["@tanstack/query-core@5.101.2", "", {}, "sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw=="], - "@tanstack/react-query": ["@tanstack/react-query@5.101.0", "", { "dependencies": { "@tanstack/query-core": "5.101.0" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-rLlJXSpkqfizLWgkR5+eLeIk0MvTx/meEIR7LRjxic+qxiQP8zVjq7BqQkiCMNLQBlLfuOLqqr6KO5GtrDlmSg=="], + "@tanstack/react-query": ["@tanstack/react-query@5.101.2", "", { "dependencies": { "@tanstack/query-core": "5.101.2" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg=="], - "@tanstack/react-router": ["@tanstack/react-router@1.170.16", "", { "dependencies": { "@tanstack/history": "1.162.0", "@tanstack/react-store": "^0.9.3", "@tanstack/router-core": "1.171.13", "isbot": "^5.1.22" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-w6eq1IJklujs1tESazaK/FxH0+H2l8vm/QPuu1cD3oRW/ubgKneQpd7b64ti/8gUyEimzimJQZDmJr6YHfP5+g=="], + "@tanstack/react-router": ["@tanstack/react-router@1.170.17", "", { "dependencies": { "@tanstack/history": "1.162.0", "@tanstack/react-store": "^0.9.3", "@tanstack/router-core": "1.171.14", "isbot": "^5.1.22" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-ppLkjCfSMaeug9rmFRYzOd4TIqWV+yTE7tzIny7alJsSnM7w4lzEZm6eqCehG0SPetpZ0R3K+UnanSmBgOAVcQ=="], "@tanstack/react-store": ["@tanstack/react-store@0.9.3", "", { "dependencies": { "@tanstack/store": "0.9.3", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg=="], - "@tanstack/react-virtual": ["@tanstack/react-virtual@3.14.3", "", { "dependencies": { "@tanstack/virtual-core": "3.17.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-k/cnHPVaOfn46hSbiY6n4Dzf4QjCGWSF40zR5QIIYUqPAjpA6TN7InfYmcMiDVQGP2iUn9xsRbAl8u1v3UmeVQ=="], + "@tanstack/react-virtual": ["@tanstack/react-virtual@3.14.5", "", { "dependencies": { "@tanstack/virtual-core": "3.17.3" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-4EKRXh7zBLkbKbFmG3AUVkircuHd+7OdT1pocJSepxtfBd3qnrJgJ5rtPkRYyo9fmyVb2+pI2xPy5oYvMLQy6A=="], - "@tanstack/router-core": ["@tanstack/router-core@1.171.13", "", { "dependencies": { "@tanstack/history": "1.162.0", "cookie-es": "^3.0.0", "seroval": "^1.5.4", "seroval-plugins": "^1.5.4" } }, "sha512-+NOwEj1kO/6IGmpHRIZHasYxYWpyBQGNIZAST9aNrk9Q3YlU9SgqVnl1pbLa9qAKfeNdXQIRve0RQb/0kyDeDA=="], + "@tanstack/router-core": ["@tanstack/router-core@1.171.14", "", { "dependencies": { "@tanstack/history": "1.162.0", "cookie-es": "^3.0.0", "seroval": "^1.5.4", "seroval-plugins": "^1.5.4" } }, "sha512-Mo3hwx0qB0cJsVYGDjG0+Ouf7VV74h/vsoDMGztdlyzDanp4gBA2s7IVvm6hFrmQM6GpD9F0Z7SqD7OldfLE7g=="], - "@tanstack/store": ["@tanstack/store@0.11.0", "", {}, "sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw=="], + "@tanstack/store": ["@tanstack/store@0.9.3", "", {}, "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw=="], - "@tanstack/virtual-core": ["@tanstack/virtual-core@3.17.1", "", {}, "sha512-VZyW2Uiml5tmBZwPGrSD3Sz73OxzljQMCmzYHsUTPEuTsERf5xwa+uWb01xEzkz3ZSYTjj8NEb/mKHvgKxyZdA=="], + "@tanstack/virtual-core": ["@tanstack/virtual-core@3.17.3", "", {}, "sha512-8Np/TFELpI0ySuJoVmjvOrQYXH/8sTX0Biv9szhFhY39xOdAAY+smrMxjxOum/ux3eM8MUJQsEJ0/R0UpvC8dw=="], "@tauri-apps/api": ["@tauri-apps/api@2.11.1", "", {}, "sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA=="], - "@tauri-apps/cli": ["@tauri-apps/cli@2.11.2", "", { "optionalDependencies": { "@tauri-apps/cli-darwin-arm64": "2.11.2", "@tauri-apps/cli-darwin-x64": "2.11.2", "@tauri-apps/cli-linux-arm-gnueabihf": "2.11.2", "@tauri-apps/cli-linux-arm64-gnu": "2.11.2", "@tauri-apps/cli-linux-arm64-musl": "2.11.2", "@tauri-apps/cli-linux-riscv64-gnu": "2.11.2", "@tauri-apps/cli-linux-x64-gnu": "2.11.2", "@tauri-apps/cli-linux-x64-musl": "2.11.2", "@tauri-apps/cli-win32-arm64-msvc": "2.11.2", "@tauri-apps/cli-win32-ia32-msvc": "2.11.2", "@tauri-apps/cli-win32-x64-msvc": "2.11.2" }, "bin": { "tauri": "tauri.js" } }, "sha512-bk3HemqvGRoy+5D/dVMUQHKMYLglD0jVnMm/0iGMH6ufZ+p8r14m6BpIixwij3PBvZdvORUp1YifTD8QxVZ1Nw=="], + "@tauri-apps/cli": ["@tauri-apps/cli@2.11.4", "", { "optionalDependencies": { "@tauri-apps/cli-darwin-arm64": "2.11.4", "@tauri-apps/cli-darwin-x64": "2.11.4", "@tauri-apps/cli-linux-arm-gnueabihf": "2.11.4", "@tauri-apps/cli-linux-arm64-gnu": "2.11.4", "@tauri-apps/cli-linux-arm64-musl": "2.11.4", "@tauri-apps/cli-linux-riscv64-gnu": "2.11.4", "@tauri-apps/cli-linux-x64-gnu": "2.11.4", "@tauri-apps/cli-linux-x64-musl": "2.11.4", "@tauri-apps/cli-win32-arm64-msvc": "2.11.4", "@tauri-apps/cli-win32-ia32-msvc": "2.11.4", "@tauri-apps/cli-win32-x64-msvc": "2.11.4" }, "bin": { "tauri": "tauri.js" } }, "sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ=="], - "@tauri-apps/cli-darwin-arm64": ["@tauri-apps/cli-darwin-arm64@2.11.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-+4UZzLt+eOAEQCwgd+TqKgyUJMrvx+BgdXLLaqJYmPqzP+nE6YZr/hY6CWLYGQb8jFn99jEkmC6uA3tNvamA1w=="], + "@tauri-apps/cli-darwin-arm64": ["@tauri-apps/cli-darwin-arm64@2.11.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ=="], - "@tauri-apps/cli-darwin-x64": ["@tauri-apps/cli-darwin-x64@2.11.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-VjYYtZUPqDMLutSfJEyxFE3Bz+DPi7c8wC3imckgvciLDZLq4qwKJxBicg0BXGhXjJsl8vKWgWRFNMPELQ+Xyg=="], + "@tauri-apps/cli-darwin-x64": ["@tauri-apps/cli-darwin-x64@2.11.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A=="], - "@tauri-apps/cli-linux-arm-gnueabihf": ["@tauri-apps/cli-linux-arm-gnueabihf@2.11.2", "", { "os": "linux", "cpu": "arm" }, "sha512-yMemD6f4i95AQriS8EazyOFzbE34yjnP16i3IOzpHGQvBoy2DjypFMFBq0NtPuITURv/cOGguRtHR5d79/9CSA=="], + "@tauri-apps/cli-linux-arm-gnueabihf": ["@tauri-apps/cli-linux-arm-gnueabihf@2.11.4", "", { "os": "linux", "cpu": "arm" }, "sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ=="], - "@tauri-apps/cli-linux-arm64-gnu": ["@tauri-apps/cli-linux-arm64-gnu@2.11.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-cgI91D2wL8GSgoWwZXDqt+DwnuZCP2/bz03QAE4TrhgAKIsrB4hX26W/H1EONPUUNkqrsgeCD0wU6pcNjV/5kw=="], + "@tauri-apps/cli-linux-arm64-gnu": ["@tauri-apps/cli-linux-arm64-gnu@2.11.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA=="], - "@tauri-apps/cli-linux-arm64-musl": ["@tauri-apps/cli-linux-arm64-musl@2.11.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-X1rm0BERqAAggtYTESSgXrS3sz4Sb/OiPiz54UqISlXW+GkR3vNIGnsy/lejNmoXGVqri3Q53BCfQiclOIyRPw=="], + "@tauri-apps/cli-linux-arm64-musl": ["@tauri-apps/cli-linux-arm64-musl@2.11.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw=="], - "@tauri-apps/cli-linux-riscv64-gnu": ["@tauri-apps/cli-linux-riscv64-gnu@2.11.2", "", { "os": "linux", "cpu": "none" }, "sha512-usbMLJbT3KtkOrBMDVeGYNM35aTHXx38SJSzTMSqqjeUIOQ+iVPjb2yAGNAE+KqmBbAx4FOFIyMeKXx2M/JKGQ=="], + "@tauri-apps/cli-linux-riscv64-gnu": ["@tauri-apps/cli-linux-riscv64-gnu@2.11.4", "", { "os": "linux", "cpu": "none" }, "sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ=="], - "@tauri-apps/cli-linux-x64-gnu": ["@tauri-apps/cli-linux-x64-gnu@2.11.2", "", { "os": "linux", "cpu": "x64" }, "sha512-Ru4gwJKPG0ctVGchRGpRup4Y4lW2SSfFnrbQcyHhCliKy4g8Qz97TrUgCur4CbWyAgKxvGh3SjrkA0LDYzDGiw=="], + "@tauri-apps/cli-linux-x64-gnu": ["@tauri-apps/cli-linux-x64-gnu@2.11.4", "", { "os": "linux", "cpu": "x64" }, "sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ=="], - "@tauri-apps/cli-linux-x64-musl": ["@tauri-apps/cli-linux-x64-musl@2.11.2", "", { "os": "linux", "cpu": "x64" }, "sha512-eUm7T6clN1MMmNSRQ9gaWsQdyehQx2Gmn5hht/QUlqZQI/qcP2OJK5dnaxqwFzCr2HdsEo9ydxaqcS1oJzMvUw=="], + "@tauri-apps/cli-linux-x64-musl": ["@tauri-apps/cli-linux-x64-musl@2.11.4", "", { "os": "linux", "cpu": "x64" }, "sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A=="], - "@tauri-apps/cli-win32-arm64-msvc": ["@tauri-apps/cli-win32-arm64-msvc@2.11.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-HeeZW80jU+gVTOEX4X/hC6NVSAdDVXajwP5fxIZ/3z9WvUC7qrudX2GMTilYq6Dg0e0sk0XgsAJD1hZ5wPBXUA=="], + "@tauri-apps/cli-win32-arm64-msvc": ["@tauri-apps/cli-win32-arm64-msvc@2.11.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ=="], - "@tauri-apps/cli-win32-ia32-msvc": ["@tauri-apps/cli-win32-ia32-msvc@2.11.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-YhjQNZcXfbkCLyazSv1nPnJ9iRFE1wm6kc51FDbU10/Dk09io+6PAGMLjkxnX2GdM0qMnDmTjstY8mTDVvtKeA=="], + "@tauri-apps/cli-win32-ia32-msvc": ["@tauri-apps/cli-win32-ia32-msvc@2.11.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA=="], - "@tauri-apps/cli-win32-x64-msvc": ["@tauri-apps/cli-win32-x64-msvc@2.11.2", "", { "os": "win32", "cpu": "x64" }, "sha512-d2JchlFIpZevZVReyqhQOekJmb1UH3rhZ5VX6sH3ty9ETE0TKQavpihvoScUXfKKpW6HZC0MrFGRU0ZtD+w3gA=="], + "@tauri-apps/cli-win32-x64-msvc": ["@tauri-apps/cli-win32-x64-msvc@2.11.4", "", { "os": "win32", "cpu": "x64" }, "sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw=="], "@tauri-apps/plugin-barcode-scanner": ["@tauri-apps/plugin-barcode-scanner@2.4.5", "", { "dependencies": { "@tauri-apps/api": "^2.11.0" } }, "sha512-sIPRYEfxww8/y8skZ2LcAp/h5bwvlHkQiq+3w6QEl+2BHs13xnpn7hP+pv4fkBs8DyDfpUbOBIYS5YBwP7x1QQ=="], @@ -745,6 +808,8 @@ "@tensamin/markdown": ["@tensamin/markdown@workspace:packages/markdown"], + "@tensamin/mtp": ["@tensamin/mtp@workspace:packages/mtp"], + "@tensamin/notifications": ["@tensamin/notifications@workspace:packages/notifications"], "@tensamin/shared": ["@tensamin/shared@workspace:packages/shared"], @@ -755,11 +820,7 @@ "@tensamin/tauth": ["@tensamin/tauth@workspace:packages/tauth"], - "@tensamin/ttp": ["@tensamin/ttp@workspace:packages/ttp"], - - "@tensamin/ttp-core": ["@tensamin/ttp-core@https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz", { "dependencies": { "@eslint/js": "^10.0.1", "@tauri-apps/api": "^2.9.0", "@typescript-eslint/parser": "^8.59.1", "@webtransport-bun/webtransport": "^0.3.0", "globals": "^17.5.0", "typescript": "^6.0.3", "typescript-eslint": "^8.59.1", "zod": "^4.4.1" } }, "sha512-Db94CDOTYvzJSQDZGDgziUXRvXx9PiEfYDQt6sYe8Nyg+KD/aiKnyQx7NeEiG03TfYE3ogNxXOsrcsip4di8+g=="], - - "@tensamin/ui": ["@tensamin/ui@https://git.methanium.net/tensamin/ui/archive/0.0.39.tar.gz", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }, "sha512-7GtOjH6H+8Go8tPJmnlbmmo9Chn2wbZ/pZdUydEc8fS5XPh8qdPTI3PhUpBuyuay60pRsfoUHpCVK5DqdQUACA=="], + "@tensamin/ui": ["@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", { "dependencies": { "@base-ui/react": "^1.6.0", "@fontsource-variable/inter": "^5.2.8", "@tauri-apps/api": "^2.11.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.4.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.21.0", "next-themes": "^0.4.6", "react-day-picker": "^10.0.1", "react-resizable-panels": "^4.11.2", "recharts": "3.8.1", "shadcn": "^4.11.0", "sonner": "^2.0.7", "tailwind-merge": "^3.6.0", "tw-animate-css": "^1.4.0", "vaul": "^1.1.2" }, "peerDependencies": { "react": "^19.2.7", "react-dom": "^19.2.7" } }, "sha512-tOvNNwGWnj/LJCXHIUtN+uZG2VoRUGZXuVAoHP18OypgsmlSbx2iQNhkLF1t1qnIboVf5V5mvraVGLXtz4csgQ=="], "@tensamin/user": ["@tensamin/user@workspace:packages/user"], @@ -767,7 +828,7 @@ "@ts-morph/common": ["@ts-morph/common@0.27.0", "", { "dependencies": { "fast-glob": "^3.3.3", "minimatch": "^10.0.1", "path-browserify": "^1.0.1" } }, "sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ=="], - "@tybys/wasm-util": ["@tybys/wasm-util@0.10.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg=="], + "@tybys/wasm-util": ["@tybys/wasm-util@0.10.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg=="], "@types/cacheable-request": ["@types/cacheable-request@6.0.3", "", { "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", "@types/node": "*", "@types/responselike": "^1.0.0" } }, "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw=="], @@ -807,7 +868,7 @@ "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], - "@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="], + "@types/node": ["@types/node@25.9.4", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g=="], "@types/qrcode": ["@types/qrcode@1.5.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw=="], @@ -817,39 +878,33 @@ "@types/responselike": ["@types/responselike@1.0.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw=="], - "@types/set-cookie-parser": ["@types/set-cookie-parser@2.4.10", "", { "dependencies": { "@types/node": "*" } }, "sha512-GGmQVGpQWUe5qglJozEjZV/5dyxbOOZ0LHe/lqyWssB88Y4svNfst0uqBVscdDeIKl5Jy5+aPSvy7mI9tYRguw=="], - - "@types/statuses": ["@types/statuses@2.0.6", "", {}, "sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA=="], - "@types/use-sync-external-store": ["@types/use-sync-external-store@0.0.6", "", {}, "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg=="], "@types/validate-npm-package-name": ["@types/validate-npm-package-name@4.0.2", "", {}, "sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw=="], "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="], - "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.61.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.61.1", "@typescript-eslint/type-utils": "8.61.1", "@typescript-eslint/utils": "8.61.1", "@typescript-eslint/visitor-keys": "8.61.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.61.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-ZPlVl3PB3et/59Ne0fv/sci6ZXz4T4Hp4nTJ56i/Y0gR89ARb+KphojTq6j+56E5PIezmOIOOWyY+aWQFd+IkQ=="], + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.62.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.62.1", "@typescript-eslint/type-utils": "8.62.1", "@typescript-eslint/utils": "8.62.1", "@typescript-eslint/visitor-keys": "8.62.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.62.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA=="], - "@typescript-eslint/parser": ["@typescript-eslint/parser@8.61.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.61.1", "@typescript-eslint/types": "8.61.1", "@typescript-eslint/typescript-estree": "8.61.1", "@typescript-eslint/visitor-keys": "8.61.1", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-PJ5vePq5/ognBbrIcoC5+SHO5dfpeLPzP9FpLkzWrguoYQEeeSjlJpVwOpo1JRSTEi7dRcwNy4h4dzV70PqHcg=="], + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.62.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.62.1", "@typescript-eslint/types": "8.62.1", "@typescript-eslint/typescript-estree": "8.62.1", "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA=="], - "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.61.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.61.1", "@typescript-eslint/types": "^8.61.1", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA=="], + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.62.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.62.1", "@typescript-eslint/types": "^8.62.1", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg=="], - "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.61.1", "", { "dependencies": { "@typescript-eslint/types": "8.61.1", "@typescript-eslint/visitor-keys": "8.61.1" } }, "sha512-L2bdIeoQS8FlKAvONAr20w6OcLXeB+qiDKbAooS9A0Ben+iSIkBef0FxqwKWYqt5sa0i4KJtxVyVmhMylKzF5w=="], + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.62.1", "", { "dependencies": { "@typescript-eslint/types": "8.62.1", "@typescript-eslint/visitor-keys": "8.62.1" } }, "sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg=="], - "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.61.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg=="], + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.62.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g=="], - "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.61.1", "", { "dependencies": { "@typescript-eslint/types": "8.61.1", "@typescript-eslint/typescript-estree": "8.61.1", "@typescript-eslint/utils": "8.61.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-GYRicKmVK0C4fsKgaACaknOUAq9Oa2kwsjnpFhFcS/5p4Ht5IP9OVLbgIgcK4SRk92nVHFluurg1lumD9dBcLw=="], + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.62.1", "", { "dependencies": { "@typescript-eslint/types": "8.62.1", "@typescript-eslint/typescript-estree": "8.62.1", "@typescript-eslint/utils": "8.62.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg=="], - "@typescript-eslint/types": ["@typescript-eslint/types@8.61.1", "", {}, "sha512-G+CRlPqLv7Bz1IZVs03x5K59F1veqL0EJUROAdGhKsEq8qOiRiZbI+HUojPq5l0fEGOKModD9br6lObhB8zkoA=="], + "@typescript-eslint/types": ["@typescript-eslint/types@8.62.1", "", {}, "sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q=="], - "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.61.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.61.1", "@typescript-eslint/tsconfig-utils": "8.61.1", "@typescript-eslint/types": "8.61.1", "@typescript-eslint/visitor-keys": "8.61.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg=="], + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.62.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.62.1", "@typescript-eslint/tsconfig-utils": "8.62.1", "@typescript-eslint/types": "8.62.1", "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA=="], - "@typescript-eslint/utils": ["@typescript-eslint/utils@8.61.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.61.1", "@typescript-eslint/types": "8.61.1", "@typescript-eslint/typescript-estree": "8.61.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-1+P/3Dj6jvtybE1q0HQ6yBt/gq+oKJyLdEv4HdnqasaEXRSYCAsD59mXEVQnM/ULNdQxbX77tdG4jPRjIS6knA=="], + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.62.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.62.1", "@typescript-eslint/types": "8.62.1", "@typescript-eslint/typescript-estree": "8.62.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g=="], - "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.61.1", "", { "dependencies": { "@typescript-eslint/types": "8.61.1", "eslint-visitor-keys": "^5.0.0" } }, "sha512-6fJ9MHWtK14C1DSkiMlHUSOmrVebL7150xZJBlJiL62jjhIA4JmOq6flwBgDxIdBKKdoiZRel+dfPD5MLfny3w=="], + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.62.1", "", { "dependencies": { "@typescript-eslint/types": "8.62.1", "eslint-visitor-keys": "^5.0.0" } }, "sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g=="], - "@vitejs/plugin-react": ["@vitejs/plugin-react@6.0.2", "", { "dependencies": { "@rolldown/pluginutils": "^1.0.0" }, "peerDependencies": { "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", "babel-plugin-react-compiler": "^1.0.0", "vite": "^8.0.0" }, "optionalPeers": ["@rolldown/plugin-babel", "babel-plugin-react-compiler"] }, "sha512-DlSMqo4WhThw4vB8Mpn0Woe9J+Jfq1geJ61AKW0QEgLzGMNwtIMdxbDUzLxcun8W7NbJO0e2Jg/Nxm3cCSVzzg=="], - - "@webtransport-bun/webtransport": ["@webtransport-bun/webtransport@0.3.0", "", { "os": [ "linux", "win32", "darwin", ], "cpu": [ "x64", "arm64", ] }, "sha512-/OX/TCgBD64n/0BjMNytObq5NK2pAM0KOoXBEw49l3sTmbVXNTPP1ZRPIdIyV43agM+mKtZBaV3Er3k3YoB6sw=="], + "@vitejs/plugin-react": ["@vitejs/plugin-react@6.0.3", "", { "dependencies": { "@rolldown/pluginutils": "^1.0.1" }, "peerDependencies": { "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", "babel-plugin-react-compiler": "^1.0.0", "vite": "^8.0.0" }, "optionalPeers": ["@rolldown/plugin-babel", "babel-plugin-react-compiler"] }, "sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg=="], "@xmldom/xmldom": ["@xmldom/xmldom@0.8.13", "", {}, "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw=="], @@ -873,8 +928,6 @@ "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "ansis": ["ansis@4.3.1", "", {}, "sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA=="], - "app-builder-lib": ["app-builder-lib@26.15.3", "", { "dependencies": { "@electron/asar": "3.4.1", "@electron/fuses": "^1.8.0", "@electron/get": "^3.0.0", "@electron/notarize": "2.5.0", "@electron/osx-sign": "1.3.3", "@electron/rebuild": "^4.0.4", "@electron/universal": "2.0.3", "@malept/flatpak-bundler": "^0.4.0", "@noble/hashes": "^2.2.0", "@peculiar/webcrypto": "^1.7.1", "@types/fs-extra": "9.0.13", "ajv": "^8.18.0", "asn1js": "^3.0.10", "async-exit-hook": "^2.0.1", "builder-util": "26.15.3", "builder-util-runtime": "9.7.0", "chromium-pickle-js": "^0.2.0", "ci-info": "4.3.1", "debug": "^4.3.4", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", "ejs": "^3.1.8", "electron-publish": "26.15.3", "fs-extra": "^10.1.0", "hosted-git-info": "^4.1.0", "isbinaryfile": "^5.0.0", "jiti": "^2.4.2", "js-yaml": "^4.1.0", "json5": "^2.2.3", "lazy-val": "^1.0.5", "minimatch": "^10.2.5", "pkijs": "^3.4.0", "plist": "3.1.0", "proper-lockfile": "^4.1.2", "resedit": "^1.7.0", "semver": "~7.7.3", "tar": "^7.5.7", "temp-file": "^3.4.0", "tiny-async-pool": "1.3.0", "unzipper": "^0.12.3", "which": "^5.0.0" }, "peerDependencies": { "dmg-builder": "26.15.3", "electron-builder-squirrel-windows": "26.15.3" } }, "sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow=="], "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], @@ -901,7 +954,7 @@ "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - "baseline-browser-mapping": ["baseline-browser-mapping@2.10.38", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw=="], + "baseline-browser-mapping": ["baseline-browser-mapping@2.10.41", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-WwS7MHhqGHHlaVsqRZnhvCEMS0owDX+SxRlve7JkuH7My1Ara3ZriTmCQupPfYjxMZ8I/tgxtJYr2t7taHaH4A=="], "bluebird": ["bluebird@3.7.2", "", {}, "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="], @@ -909,11 +962,11 @@ "boolean": ["boolean@3.2.0", "", {}, "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw=="], - "brace-expansion": ["brace-expansion@5.0.6", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g=="], + "brace-expansion": ["brace-expansion@5.0.7", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA=="], "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], - "browserslist": ["browserslist@4.28.2", "", { "dependencies": { "baseline-browser-mapping": "^2.10.12", "caniuse-lite": "^1.0.30001782", "electron-to-chromium": "^1.5.328", "node-releases": "^2.0.36", "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg=="], + "browserslist": ["browserslist@4.28.4", "", { "dependencies": { "baseline-browser-mapping": "^2.10.38", "caniuse-lite": "^1.0.30001799", "electron-to-chromium": "^1.5.376", "node-releases": "^2.0.48", "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw=="], "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], @@ -941,7 +994,7 @@ "camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], - "caniuse-lite": ["caniuse-lite@1.0.30001799", "", {}, "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw=="], + "caniuse-lite": ["caniuse-lite@1.0.30001800", "", {}, "sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA=="], "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], @@ -957,9 +1010,7 @@ "cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="], - "cli-width": ["cli-width@4.1.0", "", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="], - - "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + "cliui": ["cliui@6.0.0", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="], "clone-response": ["clone-response@1.0.3", "", { "dependencies": { "mimic-response": "^1.0.0" } }, "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA=="], @@ -991,7 +1042,7 @@ "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "cookie": ["cookie@1.1.1", "", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="], + "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], "cookie-es": ["cookie-es@3.1.1", "", {}, "sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg=="], @@ -1003,7 +1054,7 @@ "cosmiconfig": ["cosmiconfig@9.0.2", "", { "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0" }, "peerDependencies": { "typescript": ">=4.9.5" }, "optionalPeers": ["typescript"] }, "sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg=="], - "crelt": ["crelt@1.0.6", "", {}, "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g=="], + "crelt": ["crelt@1.0.7", "", {}, "sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA=="], "cross-dirname": ["cross-dirname@0.1.0", "", {}, "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q=="], @@ -1035,12 +1086,8 @@ "d3-timer": ["d3-timer@3.0.1", "", {}, "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="], - "data-uri-to-buffer": ["data-uri-to-buffer@4.0.1", "", {}, "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A=="], - "date-fns": ["date-fns@4.4.0", "", {}, "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w=="], - "date-fns-jalali": ["date-fns-jalali@4.1.0-0", "", {}, "sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg=="], - "debounce-fn": ["debounce-fn@4.0.0", "", { "dependencies": { "mimic-fn": "^3.0.0" } }, "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ=="], "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], @@ -1055,7 +1102,7 @@ "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], - "deepfilternet3-noise-filter": ["deepfilternet3-noise-filter@1.2.1", "", { "peerDependencies": { "livekit-client": "^2.0.0" } }, "sha512-OAyrHTDlUHH+AhfpVNKYEOhVqb9cZpu0fdNThplA/tB/Ts4PF/UsI+abl2n1IbSxUkhiF0OqDejEhk1n42Oqpw=="], + "deepfilternet3-noise-filter": ["deepfilternet3-noise-filter@1.3.0", "", { "peerDependencies": { "livekit-client": "^2.0.0" } }, "sha512-yYFUlPuvPguqcd/R6/OSsr0noGqlqOE50JkCWYHogk+PjLj9qrNgwTt5zKraVkKnw0l4+eXJagkz2SUWtUl4sQ=="], "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], @@ -1099,8 +1146,6 @@ "duplexer2": ["duplexer2@0.1.4", "", { "dependencies": { "readable-stream": "^2.0.2" } }, "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA=="], - "eciesjs": ["eciesjs@0.4.18", "", { "dependencies": { "@ecies/ciphers": "^0.2.5", "@noble/ciphers": "^1.3.0", "@noble/curves": "^1.9.7", "@noble/hashes": "^1.8.0" } }, "sha512-wG99Zcfcys9fZux7Cft8BAX/YrOJLJSZ3jyYPfhZHqN2E+Ffx+QXBDsv3gubEgPtV6dTzJMSQUwk1H98/t/0wQ=="], - "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], "ejs": ["ejs@3.1.10", "", { "dependencies": { "jake": "^10.8.5" }, "bin": { "ejs": "bin/cli.js" } }, "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA=="], @@ -1113,7 +1158,7 @@ "electron-publish": ["electron-publish@26.15.3", "", { "dependencies": { "@types/fs-extra": "^9.0.11", "aws4": "^1.13.2", "builder-util": "26.15.3", "builder-util-runtime": "9.7.0", "chalk": "^4.1.2", "form-data": "^4.0.5", "fs-extra": "^10.1.0", "lazy-val": "^1.0.5", "mime": "^2.5.2" } }, "sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q=="], - "electron-to-chromium": ["electron-to-chromium@1.5.375", "", {}, "sha512-ZWP5eB4BVPW/ZYo9252hQZHZ5XavtsTgpbhcmMmRwymavC5AsLWQWBPaKMeNd2LW0KGby5HPXvj7+sr4ta5j/Q=="], + "electron-to-chromium": ["electron-to-chromium@1.5.384", "", {}, "sha512-g6KAKY1vkYsADvSPWvdJsuYT0ixdcu6lUtD9P/wJKGBEDlZVXh2AX42j1mPqqaQPDluWjara9ziQ7xqAeXCt5A=="], "electron-winstaller": ["electron-winstaller@5.4.0", "", { "dependencies": { "@electron/asar": "^3.2.1", "debug": "^4.1.1", "fs-extra": "^7.0.1", "lodash": "^4.17.21", "temp": "^0.9.0" }, "optionalDependencies": { "@electron/windows-sign": "^1.1.2" } }, "sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg=="], @@ -1147,7 +1192,7 @@ "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], - "es-toolkit": ["es-toolkit@1.47.1", "", {}, "sha512-5RAqEwf4P4E17p+W75KLOWw/nOvKZzSQpxM32IpI2KZLaVonjTrZ0Ai5ghMaVI9eKC2p8eoQgcBdkEDgzFk6+Q=="], + "es-toolkit": ["es-toolkit@1.49.0", "", {}, "sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g=="], "es6-error": ["es6-error@4.1.1", "", {}, "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="], @@ -1159,7 +1204,7 @@ "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - "eslint": ["eslint@10.5.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.6.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "minimatch": "^10.2.4", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-1y+7C+vi12bUK1IpZeaV3gsH9fHLBmPvYmPx42pvT/E9yG0IC8g3PUZZgp0+JLJl7ZDK0flc2gc+Aw9dpCvIsQ=="], + "eslint": ["eslint@10.6.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.6.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "minimatch": "^10.2.4", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg=="], "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@7.1.1", "", { "dependencies": { "@babel/core": "^7.24.4", "@babel/parser": "^7.24.4", "hermes-parser": "^0.25.1", "zod": "^3.25.0 || ^4.0.0", "zod-validation-error": "^3.5.0 || ^4.0.0" }, "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" } }, "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g=="], @@ -1199,7 +1244,7 @@ "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], - "fallow": ["fallow@2.99.0", "", { "dependencies": { "detect-libc": "2.1.2" }, "optionalDependencies": { "@fallow-cli/darwin-arm64": "2.99.0", "@fallow-cli/darwin-x64": "2.99.0", "@fallow-cli/linux-arm64-gnu": "2.99.0", "@fallow-cli/linux-arm64-musl": "2.99.0", "@fallow-cli/linux-x64-gnu": "2.99.0", "@fallow-cli/linux-x64-musl": "2.99.0", "@fallow-cli/win32-arm64-msvc": "2.99.0", "@fallow-cli/win32-x64-msvc": "2.99.0" }, "bin": { "fallow": "bin/fallow", "fallow-lsp": "bin/fallow-lsp", "fallow-mcp": "bin/fallow-mcp" } }, "sha512-p+JRuyx8chpTI/zJ3rF1F0b0baMpG1WYdJcJZn1fYPRSyio/uheF1o24TWz/eDZNIFrQQDsy9n5nznnW6Lmcqw=="], + "fallow": ["fallow@2.104.0", "", { "dependencies": { "detect-libc": "2.1.2" }, "optionalDependencies": { "@fallow-cli/darwin-arm64": "2.104.0", "@fallow-cli/darwin-x64": "2.104.0", "@fallow-cli/linux-arm64-gnu": "2.104.0", "@fallow-cli/linux-arm64-musl": "2.104.0", "@fallow-cli/linux-x64-gnu": "2.104.0", "@fallow-cli/linux-x64-musl": "2.104.0", "@fallow-cli/win32-arm64-msvc": "2.104.0", "@fallow-cli/win32-x64-msvc": "2.104.0" }, "bin": { "fallow": "bin/fallow", "fallow-lsp": "bin/fallow-lsp", "fallow-mcp": "bin/fallow-mcp" } }, "sha512-UX6Q10Feyb7epe5tTI0sHCHPReOhuKOtxdVpkbqr1lLSZirv2PJiLTTrJr7gKeLHbztE9CHR1y7YARSe0rNYag=="], "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], @@ -1209,13 +1254,7 @@ "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], - "fast-string-truncated-width": ["fast-string-truncated-width@3.0.3", "", {}, "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g=="], - - "fast-string-width": ["fast-string-width@3.0.2", "", { "dependencies": { "fast-string-truncated-width": "^3.0.2" } }, "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg=="], - - "fast-uri": ["fast-uri@3.1.2", "", {}, "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ=="], - - "fast-wrap-ansi": ["fast-wrap-ansi@0.2.2", "", { "dependencies": { "fast-string-width": "^3.0.2" } }, "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q=="], + "fast-uri": ["fast-uri@3.1.3", "", {}, "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg=="], "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="], @@ -1223,8 +1262,6 @@ "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], - "fetch-blob": ["fetch-blob@3.2.0", "", { "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" } }, "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ=="], - "figures": ["figures@6.1.0", "", { "dependencies": { "is-unicode-supported": "^2.0.0" } }, "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg=="], "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], @@ -1243,8 +1280,6 @@ "form-data": ["form-data@4.0.6", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.4", "mime-types": "^2.1.35" } }, "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ=="], - "formdata-polyfill": ["formdata-polyfill@4.0.10", "", { "dependencies": { "fetch-blob": "^3.1.2" } }, "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g=="], - "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], "fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="], @@ -1259,8 +1294,6 @@ "fuzzysort": ["fuzzysort@3.1.0", "", {}, "sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ=="], - "fzf": ["fzf@0.5.2", "", {}, "sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q=="], - "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], @@ -1283,7 +1316,7 @@ "global-agent": ["global-agent@3.0.0", "", { "dependencies": { "boolean": "^3.0.1", "es6-error": "^4.1.1", "matcher": "^3.0.0", "roarr": "^2.15.3", "semver": "^7.3.2", "serialize-error": "^7.0.1" } }, "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q=="], - "globals": ["globals@17.6.0", "", {}, "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA=="], + "globals": ["globals@17.7.0", "", {}, "sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg=="], "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="], @@ -1293,8 +1326,6 @@ "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - "graphql": ["graphql@16.14.2", "", {}, "sha512-Chq1s4CY7jmh8gO2qvLIJyfCDIN+EHLFW/9iShnp1z8FjBQMoodWP1kDC36VAMXXIvAjj4ARa7ntfAV2BrjsbA=="], - "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="], @@ -1305,13 +1336,11 @@ "hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="], - "headers-polyfill": ["headers-polyfill@5.0.1", "", { "dependencies": { "@types/set-cookie-parser": "^2.4.10", "set-cookie-parser": "^3.0.1" } }, "sha512-1TJ6Fih/b8h5TIcv+1+Hw0PDQWJTKDKzFZzcKOiW1wJza3XoAQlkCuXLbymPYB8+ZQyw8mHvdw560e8zVFIWyA=="], - "hermes-estree": ["hermes-estree@0.25.1", "", {}, "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw=="], "hermes-parser": ["hermes-parser@0.25.1", "", { "dependencies": { "hermes-estree": "0.25.1" } }, "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA=="], - "hono": ["hono@4.12.26", "", {}, "sha512-uyZtpnYxM9CmQ7QsQknM4zN8EftNqhON1qYeIKM0Se67CCEe2c44xyGURwB0axX2fBDu1dqHrHAc1hmNT8ITkw=="], + "hono": ["hono@4.12.27", "", {}, "sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q=="], "hosted-git-info": ["hosted-git-info@4.1.0", "", { "dependencies": { "lru-cache": "^6.0.0" } }, "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA=="], @@ -1365,8 +1394,6 @@ "is-interactive": ["is-interactive@2.0.0", "", {}, "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ=="], - "is-node-process": ["is-node-process@1.2.0", "", {}, "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw=="], - "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], "is-obj": ["is-obj@3.0.0", "", {}, "sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ=="], @@ -1387,7 +1414,7 @@ "isbinaryfile": ["isbinaryfile@5.0.7", "", {}, "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ=="], - "isbot": ["isbot@5.1.43", "", {}, "sha512-drJhFmibra4LO6Wd7D3Oi6UICRK9244vSZkmxzhlZP0TTdwCA2ueK4PEkUkzPYeuqug9+cqqdWPgihjk5+83Cg=="], + "isbot": ["isbot@5.1.44", "", {}, "sha512-PGEHtwMnKbZpeSEXW2Utx+/JWed7dp6DiH0WWg33vGSDA7RUvpUeJSVlLrVkQ1RCpvDOUc/eH9ql7VsdbBZ8pA=="], "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], @@ -1399,7 +1426,7 @@ "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - "js-yaml": ["js-yaml@4.2.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw=="], + "js-yaml": ["js-yaml@4.3.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q=="], "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], @@ -1455,7 +1482,7 @@ "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], - "livekit-client": ["livekit-client@2.19.2", "", { "dependencies": { "@livekit/mutex": "1.1.1", "@livekit/protocol": "1.45.8", "events": "^3.3.0", "jose": "^6.1.0", "loglevel": "^1.9.2", "sdp-transform": "^2.15.0", "tslib": "2.8.1", "typed-emitter": "^2.1.0", "webrtc-adapter": "9.0.5" }, "peerDependencies": { "@types/dom-mediacapture-record": "^1" } }, "sha512-Kvk07QYDWRAbmYNLRll04ZIuxMQobW/oLPYnmR1kCy8GGHpU0gqyHf704Rz+29zfy8IJZRjKqeVbzGSKn9sumw=="], + "livekit-client": ["livekit-client@2.20.0", "", { "dependencies": { "@livekit/mutex": "1.1.1", "@livekit/protocol": "1.46.6", "events": "^3.3.0", "jose": "^6.1.0", "loglevel": "^1.9.2", "sdp-transform": "^2.15.0", "tslib": "2.8.1", "typed-emitter": "^2.1.0", "webrtc-adapter": "9.0.5" }, "peerDependencies": { "@types/dom-mediacapture-record": "^1" } }, "sha512-RIJcpvBmOmwz3jTj3rmdY6Dzr55HrhcaJjMgY+HSmoEM+yIRyA40m7r8UKv0hnZWM3z/AYhP1q8C8ciz5UWFKQ=="], "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], @@ -1471,7 +1498,7 @@ "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - "lucide-react": ["lucide-react@1.21.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-reEZMXq8Qdd5jg5XYkQ5TR1fB/GiQ7ih4vcrthYDtgjSDwh0i6/YLiGjsWsIwgN49gpAnd4J2elSNzncMEEUUQ=="], + "lucide-react": ["lucide-react@1.23.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-38BpJcD0JhFosxHApP/BYsBetLpQFRoTRzEzstM/XCc3jsAG7wqaY1lgVwxiUe3xqYE+lNxo2PkCmYwXWrwwIw=="], "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], @@ -1513,11 +1540,9 @@ "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - "msw": ["msw@2.14.6", "", { "dependencies": { "@inquirer/confirm": "^6.0.11", "@mswjs/interceptors": "^0.41.3", "@open-draft/deferred-promise": "^3.0.0", "@types/statuses": "^2.0.6", "cookie": "^1.1.1", "graphql": "^16.13.2", "headers-polyfill": "^5.0.1", "is-node-process": "^1.2.0", "outvariant": "^1.4.3", "path-to-regexp": "^6.3.0", "picocolors": "^1.1.1", "rettime": "^0.11.11", "statuses": "^2.0.2", "strict-event-emitter": "^0.5.1", "tough-cookie": "^6.0.1", "type-fest": "^5.5.0", "until-async": "^3.0.2", "yargs": "^17.7.2" }, "peerDependencies": { "typescript": ">= 4.8.x" }, "optionalPeers": ["typescript"], "bin": { "msw": "cli/index.js" } }, "sha512-ALe+N10S72cyx94cMcy3Zs4HhXCj35sgeAL4c+WTvKi0zWnbd8/h0lcFqv0mb2P+aSgAdD7p9HzvA0DiUPxsyg=="], + "mtp": ["mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c4a52c6/mtp-0.1.0.tgz", {}, "sha512-KIhmkIlALo0PdMnx/QzhM87jNCuC90DaQ7uEWpMjbkI3xvGWmkiX75zqt0UZcO03JYWfBAsCO4+51egoOUq6TA=="], - "mute-stream": ["mute-stream@3.0.0", "", {}, "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw=="], - - "nanoid": ["nanoid@3.3.13", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-sPdqC6ByMVVGvF1ynvvMo0/o+oD1VX7DaHhijt1bFgjvBkHBib4t49GoNDhf2NDta4oeUNlaGbSt5K7qjZ955Q=="], + "nanoid": ["nanoid@3.3.15", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA=="], "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], @@ -1525,19 +1550,15 @@ "next-themes": ["next-themes@0.4.6", "", { "peerDependencies": { "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA=="], - "node-abi": ["node-abi@4.31.0", "", { "dependencies": { "semver": "^7.6.3" } }, "sha512-Erq5w/t3syw3s4sDsUaX4QttIdBPsGKTT1DTRsCkTonGggczhlDKm/wDX3o+HPJpQ41EjXCbcmXf0tgr5YZJXw=="], + "node-abi": ["node-abi@4.32.0", "", { "dependencies": { "semver": "^7.6.3" } }, "sha512-2cvOMwK7aQ8eQhHTG9DBK/akKfNaJDwtbxgUaA1u3BHGpd6cbUvWCbA0u3aKan+s7Nl60tMGx4tn11+VS1fiUA=="], "node-api-version": ["node-api-version@0.2.1", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q=="], - "node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="], - - "node-fetch": ["node-fetch@3.3.2", "", { "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", "formdata-polyfill": "^4.0.10" } }, "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA=="], - "node-gyp": ["node-gyp@12.4.0", "", { "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", "nopt": "^9.0.0", "proc-log": "^6.0.0", "semver": "^7.3.5", "tar": "^7.5.4", "tinyglobby": "^0.2.12", "undici": "^6.25.0", "which": "^6.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" } }, "sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw=="], "node-int64": ["node-int64@0.4.0", "", {}, "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="], - "node-releases": ["node-releases@2.0.48", "", {}, "sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA=="], + "node-releases": ["node-releases@2.0.50", "", {}, "sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg=="], "nopt": ["nopt@9.0.0", "", { "dependencies": { "abbrev": "^4.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw=="], @@ -1565,8 +1586,6 @@ "ora": ["ora@8.2.0", "", { "dependencies": { "chalk": "^5.3.0", "cli-cursor": "^5.0.0", "cli-spinners": "^2.9.2", "is-interactive": "^2.0.0", "is-unicode-supported": "^2.0.0", "log-symbols": "^6.0.0", "stdin-discarder": "^0.2.2", "string-width": "^7.2.0", "strip-ansi": "^7.1.0" } }, "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw=="], - "outvariant": ["outvariant@1.4.3", "", {}, "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA=="], - "p-cancelable": ["p-cancelable@2.1.1", "", {}, "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="], "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], @@ -1575,8 +1594,6 @@ "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], - "package-manager-detector": ["package-manager-detector@1.6.0", "", {}, "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA=="], - "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], "parse-json": ["parse-json@5.2.0", "", { "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], @@ -1593,7 +1610,7 @@ "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], - "path-to-regexp": ["path-to-regexp@6.3.0", "", {}, "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ=="], + "path-to-regexp": ["path-to-regexp@8.4.2", "", {}, "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA=="], "pe-library": ["pe-library@0.4.1", "", {}, "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw=="], @@ -1601,7 +1618,7 @@ "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - "picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="], + "picomatch": ["picomatch@4.0.5", "", {}, "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A=="], "pkce-challenge": ["pkce-challenge@5.0.1", "", {}, "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ=="], @@ -1613,7 +1630,7 @@ "pngjs": ["pngjs@5.0.0", "", {}, "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="], - "postcss": ["postcss@8.5.15", "", { "dependencies": { "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A=="], + "postcss": ["postcss@8.5.16", "", { "dependencies": { "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg=="], "postcss-selector-parser": ["postcss-selector-parser@7.1.4", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg=="], @@ -1623,7 +1640,7 @@ "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], - "prettier": ["prettier@3.8.4", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q=="], + "prettier": ["prettier@3.9.4", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg=="], "pretty-ms": ["pretty-ms@9.3.0", "", { "dependencies": { "parse-ms": "^4.0.0" } }, "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ=="], @@ -1651,19 +1668,19 @@ "qrcode": ["qrcode@1.5.4", "", { "dependencies": { "dijkstrajs": "^1.0.1", "pngjs": "^5.0.0", "yargs": "^15.3.1" }, "bin": { "qrcode": "bin/qrcode" } }, "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg=="], - "qs": ["qs@6.15.2", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw=="], + "qs": ["qs@6.15.3", "", { "dependencies": { "es-define-property": "^1.0.1", "side-channel": "^1.1.1" } }, "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A=="], "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], "quick-lru": ["quick-lru@5.1.1", "", {}, "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="], - "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], + "range-parser": ["range-parser@1.3.0", "", {}, "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw=="], "raw-body": ["raw-body@3.0.2", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" } }, "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA=="], "react": ["react@19.2.7", "", {}, "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ=="], - "react-day-picker": ["react-day-picker@9.14.0", "", { "dependencies": { "@date-fns/tz": "^1.4.1", "@tabby_ai/hijri-converter": "1.0.5", "date-fns": "^4.1.0", "date-fns-jalali": "4.1.0-0" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-tBaoDWjPwe0M5pGrum4H0SR6Lyk+BO9oHnp9JbKpGKW2mlraNPgP9BMfsg5pWpwrssARmeqk7YBl2oXutZTaHA=="], + "react-day-picker": ["react-day-picker@10.0.1", "", { "dependencies": { "@date-fns/tz": "^1.4.1", "date-fns": "^4.1.0" }, "peerDependencies": { "@types/react": ">=16.8.0", "react": ">=16.8.0" }, "optionalPeers": ["@types/react"] }, "sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w=="], "react-dom": ["react-dom@19.2.7", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.7" } }, "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ=="], @@ -1675,7 +1692,7 @@ "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], - "react-resizable-panels": ["react-resizable-panels@4.11.2", "", { "peerDependencies": { "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, "sha512-+kfFbDZ8mygc7g0vxOcDzCVGuwiIUOnILqPoUHo6/uP+Mmyx6HzZU+kj1aOPDlktXuobYbr6BtQekvJwHRX4Eg=="], + "react-resizable-panels": ["react-resizable-panels@4.12.0", "", { "peerDependencies": { "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, "sha512-t/Gp57qSCxGQ52ckhz+8lM7dnuymeU95TEzl2U203qEbGkSLHrtm7US2/ANzq/zOlja3CwPTAfCDuh1unv9mfw=="], "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], @@ -1683,9 +1700,9 @@ "readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], - "recast": ["recast@0.23.11", "", { "dependencies": { "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", "tiny-invariant": "^1.3.3", "tslib": "^2.0.1" } }, "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA=="], + "recast": ["recast@0.23.12", "", { "dependencies": { "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", "tiny-invariant": "^1.3.3", "tslib": "^2.0.1" } }, "sha512-dEWRjcINDu/F4l2dYx57ugBtD7HV9KXESyxhzw/MqWLeglJrsjJKqACPyUPg+6AF8mIgm+Zi0dZ3ACoIg+QtpA=="], - "recharts": ["recharts@3.8.1", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg=="], + "recharts": ["recharts@3.9.1", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^11.1.8", "react-redux": "8.x.x || 9.x.x", "reselect": "5.2.0", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-WMcwlXcB7l+BbxiEdyClkG+1sxrMHNZpzT577LEvU4+rXPd8oTAy1wXk72hnk2KOOmxuLvw3z5DtXT7HEAydtg=="], "redux": ["redux@5.0.1", "", {}, "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w=="], @@ -1711,15 +1728,13 @@ "retry": ["retry@0.12.0", "", {}, "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="], - "rettime": ["rettime@0.11.11", "", {}, "sha512-ILJRqVWBCTlg9r42fFgwVZx1gnFAcQF8mRoMkbgQfIrjEDf9nbBFDFx00oloOa+Q869FUtaYDXZvEfnecQSCoQ=="], - "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], "rimraf": ["rimraf@2.6.3", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "./bin.js" } }, "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA=="], "roarr": ["roarr@2.15.4", "", { "dependencies": { "boolean": "^3.0.1", "detect-node": "^2.0.4", "globalthis": "^1.0.1", "json-stringify-safe": "^5.0.1", "semver-compare": "^1.0.0", "sprintf-js": "^1.1.2" } }, "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A=="], - "rolldown": ["rolldown@1.0.3", "", { "dependencies": { "@oxc-project/types": "=0.133.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.3", "@rolldown/binding-darwin-arm64": "1.0.3", "@rolldown/binding-darwin-x64": "1.0.3", "@rolldown/binding-freebsd-x64": "1.0.3", "@rolldown/binding-linux-arm-gnueabihf": "1.0.3", "@rolldown/binding-linux-arm64-gnu": "1.0.3", "@rolldown/binding-linux-arm64-musl": "1.0.3", "@rolldown/binding-linux-ppc64-gnu": "1.0.3", "@rolldown/binding-linux-s390x-gnu": "1.0.3", "@rolldown/binding-linux-x64-gnu": "1.0.3", "@rolldown/binding-linux-x64-musl": "1.0.3", "@rolldown/binding-openharmony-arm64": "1.0.3", "@rolldown/binding-wasm32-wasi": "1.0.3", "@rolldown/binding-win32-arm64-msvc": "1.0.3", "@rolldown/binding-win32-x64-msvc": "1.0.3" }, "bin": { "rolldown": "./bin/cli.mjs" } }, "sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g=="], + "rolldown": ["rolldown@1.1.4", "", { "dependencies": { "@oxc-project/types": "=0.138.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.1.4", "@rolldown/binding-darwin-arm64": "1.1.4", "@rolldown/binding-darwin-x64": "1.1.4", "@rolldown/binding-freebsd-x64": "1.1.4", "@rolldown/binding-linux-arm-gnueabihf": "1.1.4", "@rolldown/binding-linux-arm64-gnu": "1.1.4", "@rolldown/binding-linux-arm64-musl": "1.1.4", "@rolldown/binding-linux-ppc64-gnu": "1.1.4", "@rolldown/binding-linux-s390x-gnu": "1.1.4", "@rolldown/binding-linux-x64-gnu": "1.1.4", "@rolldown/binding-linux-x64-musl": "1.1.4", "@rolldown/binding-openharmony-arm64": "1.1.4", "@rolldown/binding-wasm32-wasi": "1.1.4", "@rolldown/binding-win32-arm64-msvc": "1.1.4", "@rolldown/binding-win32-x64-msvc": "1.1.4" }, "bin": { "rolldown": "./bin/cli.mjs" } }, "sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA=="], "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], @@ -1759,11 +1774,9 @@ "set-blocking": ["set-blocking@2.0.0", "", {}, "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="], - "set-cookie-parser": ["set-cookie-parser@3.1.0", "", {}, "sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw=="], - "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], - "shadcn": ["shadcn@3.8.5", "", { "dependencies": { "@antfu/ni": "^25.0.0", "@babel/core": "^7.28.0", "@babel/parser": "^7.28.0", "@babel/plugin-transform-typescript": "^7.28.0", "@babel/preset-typescript": "^7.27.1", "@dotenvx/dotenvx": "^1.48.4", "@modelcontextprotocol/sdk": "^1.26.0", "@types/validate-npm-package-name": "^4.0.2", "browserslist": "^4.26.2", "commander": "^14.0.0", "cosmiconfig": "^9.0.0", "dedent": "^1.6.0", "deepmerge": "^4.3.1", "diff": "^8.0.2", "execa": "^9.6.0", "fast-glob": "^3.3.3", "fs-extra": "^11.3.1", "fuzzysort": "^3.1.0", "https-proxy-agent": "^7.0.6", "kleur": "^4.1.5", "msw": "^2.10.4", "node-fetch": "^3.3.2", "open": "^11.0.0", "ora": "^8.2.0", "postcss": "^8.5.6", "postcss-selector-parser": "^7.1.0", "prompts": "^2.4.2", "recast": "^0.23.11", "stringify-object": "^5.0.0", "tailwind-merge": "^3.0.1", "ts-morph": "^26.0.0", "tsconfig-paths": "^4.2.0", "validate-npm-package-name": "^7.0.1", "zod": "^3.24.1", "zod-to-json-schema": "^3.24.6" }, "bin": { "shadcn": "dist/index.js" } }, "sha512-jPRx44e+eyeV7xwY3BLJXcfrks00+M0h5BGB9l6DdcBW4BpAj4x3lVmVy0TXPEs2iHEisxejr62sZAAw6B1EVA=="], + "shadcn": ["shadcn@4.12.0", "", { "dependencies": { "@babel/core": "^7.28.0", "@babel/parser": "^7.28.0", "@babel/plugin-transform-typescript": "^7.28.0", "@babel/preset-typescript": "^7.27.1", "@dotenvx/dotenvx": "^1.48.4", "@modelcontextprotocol/sdk": "^1.26.0", "@types/validate-npm-package-name": "^4.0.2", "browserslist": "^4.26.2", "commander": "^14.0.0", "cosmiconfig": "^9.0.0", "dedent": "^1.6.0", "deepmerge": "^4.3.1", "diff": "^8.0.2", "execa": "^9.6.0", "fast-glob": "^3.3.3", "fs-extra": "^11.3.1", "fuzzysort": "^3.1.0", "kleur": "^4.1.5", "open": "^11.0.0", "ora": "^8.2.0", "postcss": "^8.5.6", "postcss-selector-parser": "^7.1.0", "prompts": "^2.4.2", "recast": "^0.23.11", "stringify-object": "^5.0.0", "tailwind-merge": "^3.0.1", "ts-morph": "^26.0.0", "tsconfig-paths": "^4.2.0", "undici": "^7.27.2", "validate-npm-package-name": "^7.0.1", "zod": "^3.24.1", "zod-to-json-schema": "^3.24.6" }, "bin": { "shadcn": "dist/index.js" } }, "sha512-o781ieQziCnXH2FKsEqxp1fnbHdbgAPO9inTSPeZ59hQfsZXuMGp3ul8oFSV5KQS4nbUK9b+DrDE6C7OvfKKQQ=="], "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], @@ -1799,8 +1812,6 @@ "stdin-discarder": ["stdin-discarder@0.2.2", "", {}, "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ=="], - "strict-event-emitter": ["strict-event-emitter@0.5.1", "", {}, "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ=="], - "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], "string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], @@ -1819,19 +1830,17 @@ "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "systeminformation": ["systeminformation@5.31.7", "", { "os": "!aix", "bin": { "systeminformation": "lib/cli.js" } }, "sha512-/8NC53e5nP9nmhn42/ncdOkyJnOoue/Vy+tJOyUGd1Yv66G069wK4rrziwhrqDETgk78CudTQupw5z19S5uoZw=="], - - "tagged-tag": ["tagged-tag@1.0.0", "", {}, "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng=="], + "systeminformation": ["systeminformation@5.31.11", "", { "os": "!aix", "bin": { "systeminformation": "lib/cli.js" } }, "sha512-I6O7iaUj23AXRgCPDDnvi3xHvdOLp4+1YMbF+X194lJwY1NeWojgHJPhslVKcmTtrLTguRk3QJK+xEdTiI3P0w=="], "tailwind-merge": ["tailwind-merge@3.6.0", "", {}, "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w=="], "tailwind-scrollbar-hide": ["tailwind-scrollbar-hide@4.0.0", "", { "peerDependencies": { "tailwindcss": ">=3.0.0 || >= 4.0.0 || >= 4.0.0-beta.8 || >= 4.0.0-alpha.20" } }, "sha512-gobtvVcThB2Dxhy0EeYSS1RKQJ5baDFkamkhwBvzvevwX6L4XQfpZ3me9s25Ss1ecFVT5jPYJ50n+7xTBJG9WQ=="], - "tailwindcss": ["tailwindcss@4.3.1", "", {}, "sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q=="], + "tailwindcss": ["tailwindcss@4.3.2", "", {}, "sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA=="], "tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="], - "tar": ["tar@7.5.16", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-56adEpPMouktRlBLXiaYFFzZ/3+JXa8P9n7WbR+ibIjtviN55mEaOkiysCnPnWm+7kkui1Dn8J9l+g6zV8731w=="], + "tar": ["tar@7.5.19", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw=="], "tauri-plugin-app-events-api": ["tauri-plugin-app-events-api@0.2.0", "", { "dependencies": { "@tauri-apps/api": "^2.0.3" } }, "sha512-CnlAeucWhT+Rgx6CCsqUpq2D3pqgx0fhjSPKomH7O2t1rGVu5kGLMkYvaCX6gqVTUYpIWX5BLV7LGY2DRri0QA=="], @@ -1843,14 +1852,8 @@ "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], - "tinyexec": ["tinyexec@1.2.4", "", {}, "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg=="], - "tinyglobby": ["tinyglobby@0.2.17", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" } }, "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g=="], - "tldts": ["tldts@7.4.3", "", { "dependencies": { "tldts-core": "^7.4.3" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-A3BDQBeeukYPzB4QdQ1DtdlUmp4x2OCH8n5UVhEWbyANxNep8GavottKzd1xYKFJKjUgMyPT7EzOfnBO55s8Sg=="], - - "tldts-core": ["tldts-core@7.4.3", "", {}, "sha512-27ep5H9PzdBrNd5OFM/j3WCU8F3kPwM9D0BOaOf7uYfxMJfyr0K5Tjj69Gri+sZlh2WXd5buIm47NuPF29CDiw=="], - "tmp": ["tmp@0.2.7", "", {}, "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw=="], "tmp-promise": ["tmp-promise@3.0.3", "", { "dependencies": { "tmp": "^0.2.0" } }, "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ=="], @@ -1859,8 +1862,6 @@ "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], - "tough-cookie": ["tough-cookie@6.0.1", "", { "dependencies": { "tldts": "^7.0.5" } }, "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw=="], - "truncate-utf8-bytes": ["truncate-utf8-bytes@1.0.2", "", { "dependencies": { "utf8-byte-length": "^1.0.1" } }, "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ=="], "ts-api-utils": ["ts-api-utils@2.5.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA=="], @@ -1875,7 +1876,7 @@ "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], - "type-fest": ["type-fest@5.7.0", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg=="], + "type-fest": ["type-fest@0.13.1", "", {}, "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="], "type-is": ["type-is@2.1.0", "", { "dependencies": { "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA=="], @@ -1883,7 +1884,7 @@ "typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="], - "typescript-eslint": ["typescript-eslint@8.61.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.61.1", "@typescript-eslint/parser": "8.61.1", "@typescript-eslint/typescript-estree": "8.61.1", "@typescript-eslint/utils": "8.61.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-V7PayAfJokV3pEHgN7/v03D1SpujhRfQtYLbLIiBfDDncdg4PAiRBfoS4cnCANK4jmAPncczi59QO3afiXUlNw=="], + "typescript-eslint": ["typescript-eslint@8.62.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.62.1", "@typescript-eslint/parser": "8.62.1", "@typescript-eslint/typescript-estree": "8.62.1", "@typescript-eslint/utils": "8.62.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw=="], "undici": ["undici@7.28.0", "", {}, "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA=="], @@ -1895,9 +1896,7 @@ "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], - "until-async": ["until-async@3.0.2", "", {}, "sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw=="], - - "unzipper": ["unzipper@0.12.3", "", { "dependencies": { "bluebird": "~3.7.2", "duplexer2": "~0.1.4", "fs-extra": "^11.2.0", "graceful-fs": "^4.2.2", "node-int64": "^0.4.0" } }, "sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA=="], + "unzipper": ["unzipper@0.12.5", "", { "dependencies": { "bluebird": "~3.7.2", "duplexer2": "~0.1.4", "fs-extra": "11.3.1", "graceful-fs": "^4.2.2", "node-int64": "^0.4.0" } }, "sha512-tXYOi9R57Uj/2Z25SOs5RRSzq886MBQj2gY8dPL+xl/kv6s6SvByoKfAtvfVeEuhntWDgjd2o9p2lb4TVPAz0A=="], "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], @@ -1923,12 +1922,10 @@ "victory-vendor": ["victory-vendor@37.3.6", "", { "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", "@types/d3-interpolate": "^3.0.1", "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^3.1.0", "@types/d3-time": "^3.0.0", "@types/d3-timer": "^3.0.0", "d3-array": "^3.1.6", "d3-ease": "^3.0.1", "d3-interpolate": "^3.0.1", "d3-scale": "^4.0.2", "d3-shape": "^3.1.0", "d3-time": "^3.0.0", "d3-timer": "^3.0.1" } }, "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ=="], - "vite": ["vite@8.0.16", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.15", "rolldown": "1.0.3", "tinyglobby": "^0.2.17" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.1.18", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw=="], + "vite": ["vite@8.1.3", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.16", "rolldown": "~1.1.3", "tinyglobby": "^0.2.17" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.3.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA=="], "w3c-keyname": ["w3c-keyname@2.2.8", "", {}, "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="], - "web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="], - "webcrypto-core": ["webcrypto-core@1.9.2", "", { "dependencies": { "@peculiar/asn1-schema": "^2.7.0", "@peculiar/json-schema": "^1.1.12", "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q=="], "webrtc-adapter": ["webrtc-adapter@9.0.5", "", { "dependencies": { "sdp": "^3.2.0" } }, "sha512-U9vjByy/sK2OMXu5mmfuZFKTMIUQe34c0JXRO+oDrxJTsntdYT2iIFwYMOV7HhMTuktcZLGf2W1N/OcSf9ssWg=="], @@ -1939,7 +1936,7 @@ "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], - "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + "wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], @@ -1947,13 +1944,13 @@ "xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], - "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], + "y18n": ["y18n@4.0.3", "", {}, "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="], "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], - "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + "yargs": ["yargs@15.4.1", "", { "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" } }, "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A=="], - "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + "yargs-parser": ["yargs-parser@18.1.3", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ=="], "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="], @@ -2003,15 +2000,15 @@ "@electron/osx-sign/isbinaryfile": ["isbinaryfile@4.0.10", "", {}, "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw=="], - "@electron/universal/fs-extra": ["fs-extra@11.3.5", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg=="], + "@electron/universal/fs-extra": ["fs-extra@11.3.6", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA=="], "@electron/universal/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], - "@electron/windows-sign/fs-extra": ["fs-extra@11.3.5", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg=="], + "@electron/windows-sign/fs-extra": ["fs-extra@11.3.6", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA=="], "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - "@floating-ui/react-dom/@floating-ui/dom": ["@floating-ui/dom@1.7.6", "", { "dependencies": { "@floating-ui/core": "^1.7.5", "@floating-ui/utils": "^0.2.11" } }, "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ=="], + "@livekit/components-core/@floating-ui/dom": ["@floating-ui/dom@1.7.4", "", { "dependencies": { "@floating-ui/core": "^1.7.3", "@floating-ui/utils": "^0.2.10" } }, "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA=="], "@livekit/components-core/loglevel": ["loglevel@1.9.1", "", {}, "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg=="], @@ -2019,27 +2016,35 @@ "@modelcontextprotocol/sdk/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], - "@mswjs/interceptors/@open-draft/deferred-promise": ["@open-draft/deferred-promise@2.2.0", "", {}, "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA=="], + "@radix-ui/react-dismissable-layer/@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.3", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA=="], - "@reduxjs/toolkit/immer": ["immer@11.1.8", "", {}, "sha512-/tbkHMW7y10Lx6i1crLjD4/OhNkRG+Fo7byZHtah0547nIeXYcpIXaUh0IAQY6gO5459qpGGYapcEOHtFXkIuA=="], + "@radix-ui/react-use-controllable-state/@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.3", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA=="], + + "@radix-ui/react-use-effect-event/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@reduxjs/toolkit/immer": ["immer@11.1.9", "", {}, "sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA=="], "@reduxjs/toolkit/reselect": ["reselect@5.2.0", "", {}, "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw=="], - "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" }, "bundled": true }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" }, "bundled": true }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="], - "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="], - "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="], - "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.5", "", { "dependencies": { "@tybys/wasm-util": "^0.10.2" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" }, "bundled": true }, "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q=="], + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.6", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" }, "bundled": true }, "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg=="], - "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg=="], + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.3", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg=="], "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@tanstack/react-store/@tanstack/store": ["@tanstack/store@0.9.3", "", {}, "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw=="], + "@tanstack/pacer/@tanstack/devtools-event-client": ["@tanstack/devtools-event-client@0.4.4", "", { "bin": { "intent": "./bin/intent.js" } }, "sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw=="], - "@tensamin/ui/recharts": ["recharts@3.8.0", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ=="], + "@tanstack/pacer/@tanstack/store": ["@tanstack/store@0.11.0", "", {}, "sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw=="], + + "@tensamin/ui/recharts": ["recharts@3.8.1", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg=="], + + "@tensamin/web/recharts": ["recharts@3.8.1", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg=="], "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], @@ -2069,11 +2074,9 @@ "dot-prop/is-obj": ["is-obj@2.0.0", "", {}, "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="], - "eciesjs/@noble/curves": ["@noble/curves@1.9.7", "", { "dependencies": { "@noble/hashes": "1.8.0" } }, "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw=="], + "electron/@types/node": ["@types/node@22.20.0", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g=="], - "eciesjs/@noble/hashes": ["@noble/hashes@1.8.0", "", {}, "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A=="], - - "electron/@types/node": ["@types/node@22.19.21", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA=="], + "electron-builder/yargs": ["yargs@17.7.3", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g=="], "electron-winstaller/fs-extra": ["fs-extra@7.0.1", "", { "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw=="], @@ -2081,8 +2084,6 @@ "execa/get-stream": ["get-stream@9.0.1", "", { "dependencies": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" } }, "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA=="], - "express/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], - "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], "filelist/minimatch": ["minimatch@5.1.9", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw=="], @@ -2125,15 +2126,13 @@ "proper-lockfile/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - "qrcode/yargs": ["yargs@15.4.1", "", { "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" } }, "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A=="], + "recharts/immer": ["immer@11.1.9", "", {}, "sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA=="], + + "recharts/reselect": ["reselect@5.2.0", "", {}, "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw=="], "restore-cursor/onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="], - "router/path-to-regexp": ["path-to-regexp@8.4.2", "", {}, "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA=="], - - "serialize-error/type-fest": ["type-fest@0.13.1", "", {}, "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="], - - "shadcn/fs-extra": ["fs-extra@11.3.5", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg=="], + "shadcn/fs-extra": ["fs-extra@11.3.6", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA=="], "shadcn/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], @@ -2143,12 +2142,14 @@ "type-is/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="], - "unzipper/fs-extra": ["fs-extra@11.3.5", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg=="], + "unzipper/fs-extra": ["fs-extra@11.3.1", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g=="], "wrap-ansi/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "wsl-utils/is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="], + "yargs/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], + "@dotenvx/dotenvx/execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], "@dotenvx/dotenvx/execa/human-signals": ["human-signals@2.1.0", "", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="], @@ -2191,6 +2192,12 @@ "dir-compare/minimatch/brace-expansion": ["brace-expansion@1.1.15", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg=="], + "electron-builder/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "electron-builder/yargs/y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], + + "electron-builder/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + "electron-winstaller/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], "electron-winstaller/fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], @@ -2213,18 +2220,12 @@ "pkg-up/find-up/locate-path": ["locate-path@3.0.0", "", { "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="], - "qrcode/yargs/cliui": ["cliui@6.0.0", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="], - - "qrcode/yargs/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], - - "qrcode/yargs/y18n": ["y18n@4.0.3", "", {}, "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="], - - "qrcode/yargs/yargs-parser": ["yargs-parser@18.1.3", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ=="], - "string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "yargs/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], + "@electron/asar/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], "@electron/universal/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], @@ -2235,6 +2236,10 @@ "dir-compare/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + "electron-builder/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "electron-builder/yargs/cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + "filelist/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], "glob/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], @@ -2243,18 +2248,12 @@ "pkg-up/find-up/locate-path/path-exists": ["path-exists@3.0.0", "", {}, "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="], - "qrcode/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "yargs/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], - "qrcode/yargs/cliui/wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], - - "qrcode/yargs/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], + "electron-builder/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "pkg-up/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - "qrcode/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "qrcode/yargs/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], - - "qrcode/yargs/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], + "yargs/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], } } diff --git a/flake.nix b/flake.nix index c8e59e5..8cd7777 100644 --- a/flake.nix +++ b/flake.nix @@ -205,11 +205,13 @@ "wasm32-unknown-unknown" ]; }; + + commonDeps = [pkgs.wasm-pack pkgs.lld]; in rec { default = electron; electron = pkgs.mkShell { - packages = with pkgs; + packages = with pkgs; [ nodejs_22 corepack_22 @@ -232,7 +234,7 @@ rsync xz ] - ++ electronRuntimeLibs; + ++ electronRuntimeLibs ++ commonDeps; shellHook = '' export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath electronRuntimeLibs}:$LD_LIBRARY_PATH" @@ -267,7 +269,8 @@ ++ [ android.androidsdk android-studio-tools - ]; + ] + ++ commonDeps; shellHook = '' sdkSource="${android.androidsdk}/libexec/android-sdk" diff --git a/licenses/@babel_runtime@7.29.7/LICENSE b/licenses/@babel_runtime@7.29.7/LICENSE new file mode 100644 index 0000000..f31575e --- /dev/null +++ b/licenses/@babel_runtime@7.29.7/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/licenses/@base-ui_react@1.6.0/LICENSE b/licenses/@base-ui_react@1.6.0/LICENSE new file mode 100644 index 0000000..510c55e --- /dev/null +++ b/licenses/@base-ui_react@1.6.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Material-UI SAS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@base-ui_utils@0.3.1/LICENSE b/licenses/@base-ui_utils@0.3.1/LICENSE new file mode 100644 index 0000000..510c55e --- /dev/null +++ b/licenses/@base-ui_utils@0.3.1/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Material-UI SAS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@codemirror_commands@6.10.3/LICENSE b/licenses/@codemirror_commands@6.10.4/LICENSE similarity index 100% rename from licenses/@codemirror_commands@6.10.3/LICENSE rename to licenses/@codemirror_commands@6.10.4/LICENSE diff --git a/licenses/@codemirror_state@6.6.0/LICENSE b/licenses/@codemirror_state@6.7.0/LICENSE similarity index 100% rename from licenses/@codemirror_state@6.6.0/LICENSE rename to licenses/@codemirror_state@6.7.0/LICENSE diff --git a/licenses/@codemirror_view@6.41.1/LICENSE b/licenses/@codemirror_view@6.43.4/LICENSE similarity index 100% rename from licenses/@codemirror_view@6.41.1/LICENSE rename to licenses/@codemirror_view@6.43.4/LICENSE diff --git a/licenses/@floating-ui_core@1.7.5/LICENSE b/licenses/@floating-ui_core@1.7.5/LICENSE new file mode 100644 index 0000000..639cdc6 --- /dev/null +++ b/licenses/@floating-ui_core@1.7.5/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2021-present Floating UI contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/licenses/@floating-ui_dom@1.7.6/LICENSE b/licenses/@floating-ui_dom@1.7.6/LICENSE new file mode 100644 index 0000000..639cdc6 --- /dev/null +++ b/licenses/@floating-ui_dom@1.7.6/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2021-present Floating UI contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/licenses/@floating-ui_react-dom@2.1.8/LICENSE b/licenses/@floating-ui_react-dom@2.1.8/LICENSE new file mode 100644 index 0000000..639cdc6 --- /dev/null +++ b/licenses/@floating-ui_react-dom@2.1.8/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2021-present Floating UI contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/licenses/@floating-ui_utils@0.2.11/LICENSE b/licenses/@floating-ui_utils@0.2.11/LICENSE new file mode 100644 index 0000000..639cdc6 --- /dev/null +++ b/licenses/@floating-ui_utils@0.2.11/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2021-present Floating UI contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/licenses/@fontsource-variable_public-sans@5.2.7/LICENSE b/licenses/@fontsource-variable_public-sans@5.2.7/LICENSE new file mode 100644 index 0000000..a6cb63a --- /dev/null +++ b/licenses/@fontsource-variable_public-sans@5.2.7/LICENSE @@ -0,0 +1,93 @@ +Copyright 2015 The Public Sans Project Authors (https://github.com/uswds/public-sans) PublicSans-Italic[wght].ttf: Copyright 2015 The Public Sans Project Authors (https://github.com/uswds/public-sans) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/licenses/@livekit_components-react@2.9.20/LICENSE b/licenses/@livekit_components-react@2.9.21/LICENSE similarity index 100% rename from licenses/@livekit_components-react@2.9.20/LICENSE rename to licenses/@livekit_components-react@2.9.21/LICENSE diff --git a/licenses/@noble_hashes@2.2.0/LICENSE b/licenses/@noble_hashes@2.2.0/LICENSE new file mode 100644 index 0000000..9297a04 --- /dev/null +++ b/licenses/@noble_hashes@2.2.0/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2022 Paul Miller (https://paulmillr.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the “Software”), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/licenses/@radix-ui_primitive@1.1.4/LICENSE b/licenses/@radix-ui_primitive@1.1.4/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_primitive@1.1.4/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-compose-refs@1.1.3/LICENSE b/licenses/@radix-ui_react-compose-refs@1.1.3/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-compose-refs@1.1.3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-context@1.1.4/LICENSE b/licenses/@radix-ui_react-context@1.1.4/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-context@1.1.4/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-dialog@1.1.18/LICENSE b/licenses/@radix-ui_react-dialog@1.1.18/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-dialog@1.1.18/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-dismissable-layer@1.1.14/LICENSE b/licenses/@radix-ui_react-dismissable-layer@1.1.14/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-dismissable-layer@1.1.14/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-focus-guards@1.1.4/LICENSE b/licenses/@radix-ui_react-focus-guards@1.1.4/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-focus-guards@1.1.4/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-focus-scope@1.1.11/LICENSE b/licenses/@radix-ui_react-focus-scope@1.1.11/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-focus-scope@1.1.11/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-id@1.1.2/LICENSE b/licenses/@radix-ui_react-id@1.1.2/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-id@1.1.2/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-portal@1.1.13/LICENSE b/licenses/@radix-ui_react-portal@1.1.13/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-portal@1.1.13/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-presence@1.1.6/LICENSE b/licenses/@radix-ui_react-presence@1.1.6/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-presence@1.1.6/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-primitive@2.1.7/LICENSE b/licenses/@radix-ui_react-primitive@2.1.7/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-primitive@2.1.7/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-slot@1.3.0/LICENSE b/licenses/@radix-ui_react-slot@1.3.0/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-slot@1.3.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-use-callback-ref@1.1.2/LICENSE b/licenses/@radix-ui_react-use-callback-ref@1.1.2/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-use-callback-ref@1.1.2/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-use-controllable-state@1.2.3/LICENSE b/licenses/@radix-ui_react-use-controllable-state@1.2.3/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-use-controllable-state@1.2.3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-use-effect-event@0.0.2/LICENSE b/licenses/@radix-ui_react-use-effect-event@0.0.2/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-use-effect-event@0.0.2/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@radix-ui_react-use-layout-effect@1.1.2/LICENSE b/licenses/@radix-ui_react-use-layout-effect@1.1.2/LICENSE new file mode 100644 index 0000000..a18858f --- /dev/null +++ b/licenses/@radix-ui_react-use-layout-effect@1.1.2/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@reduxjs_toolkit@2.12.0/LICENSE b/licenses/@reduxjs_toolkit@2.12.0/LICENSE new file mode 100644 index 0000000..1daa252 --- /dev/null +++ b/licenses/@reduxjs_toolkit@2.12.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Mark Erikson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@tailwindcss_vite@4.2.4/LICENSE b/licenses/@tailwindcss_vite@4.3.2/LICENSE similarity index 100% rename from licenses/@tailwindcss_vite@4.2.4/LICENSE rename to licenses/@tailwindcss_vite@4.3.2/LICENSE diff --git a/licenses/@tanstack_devtools-event-client@0.3.5/LICENSE b/licenses/@tanstack_devtools-event-client@0.3.5/LICENSE new file mode 100644 index 0000000..0ede5e8 --- /dev/null +++ b/licenses/@tanstack_devtools-event-client@0.3.5/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 TanStack + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@tanstack_react-query@5.100.8/LICENSE b/licenses/@tanstack_history@1.162.0/LICENSE similarity index 100% rename from licenses/@tanstack_react-query@5.100.8/LICENSE rename to licenses/@tanstack_history@1.162.0/LICENSE diff --git a/licenses/@tanstack_pacer@0.21.1/LICENSE b/licenses/@tanstack_pacer@0.21.1/LICENSE new file mode 100644 index 0000000..308cb68 --- /dev/null +++ b/licenses/@tanstack_pacer@0.21.1/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Tanner Linsley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@tanstack_react-router@1.169.1/LICENSE b/licenses/@tanstack_query-core@5.101.2/LICENSE similarity index 100% rename from licenses/@tanstack_react-router@1.169.1/LICENSE rename to licenses/@tanstack_query-core@5.101.2/LICENSE diff --git a/licenses/@tanstack_react-virtual@3.13.24/LICENSE b/licenses/@tanstack_react-query@5.101.2/LICENSE similarity index 100% rename from licenses/@tanstack_react-virtual@3.13.24/LICENSE rename to licenses/@tanstack_react-query@5.101.2/LICENSE diff --git a/licenses/@tanstack_react-router@1.170.17/LICENSE b/licenses/@tanstack_react-router@1.170.17/LICENSE new file mode 100644 index 0000000..1869e21 --- /dev/null +++ b/licenses/@tanstack_react-router@1.170.17/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-present Tanner Linsley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@tanstack_react-store@0.9.3/LICENSE b/licenses/@tanstack_react-store@0.9.3/LICENSE new file mode 100644 index 0000000..77eca38 --- /dev/null +++ b/licenses/@tanstack_react-store@0.9.3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Tanner Linsley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@tanstack_react-virtual@3.14.5/LICENSE b/licenses/@tanstack_react-virtual@3.14.5/LICENSE new file mode 100644 index 0000000..1869e21 --- /dev/null +++ b/licenses/@tanstack_react-virtual@3.14.5/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-present Tanner Linsley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@tanstack_router-core@1.171.14/LICENSE b/licenses/@tanstack_router-core@1.171.14/LICENSE new file mode 100644 index 0000000..1869e21 --- /dev/null +++ b/licenses/@tanstack_router-core@1.171.14/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-present Tanner Linsley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@tanstack_store@0.9.3/LICENSE b/licenses/@tanstack_store@0.9.3/LICENSE new file mode 100644 index 0000000..77eca38 --- /dev/null +++ b/licenses/@tanstack_store@0.9.3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Tanner Linsley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@tanstack_virtual-core@3.17.3/LICENSE b/licenses/@tanstack_virtual-core@3.17.3/LICENSE new file mode 100644 index 0000000..1869e21 --- /dev/null +++ b/licenses/@tanstack_virtual-core@3.17.3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-present Tanner Linsley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/@tauri-apps_api@2.11.0/LICENSE_APACHE-2.0 b/licenses/@tauri-apps_api@2.11.1/LICENSE_APACHE-2.0 similarity index 100% rename from licenses/@tauri-apps_api@2.11.0/LICENSE_APACHE-2.0 rename to licenses/@tauri-apps_api@2.11.1/LICENSE_APACHE-2.0 diff --git a/licenses/@tauri-apps_api@2.11.0/LICENSE_MIT b/licenses/@tauri-apps_api@2.11.1/LICENSE_MIT similarity index 100% rename from licenses/@tauri-apps_api@2.11.0/LICENSE_MIT rename to licenses/@tauri-apps_api@2.11.1/LICENSE_MIT diff --git a/licenses/@tauri-apps_cli@2.11.0/LICENSE_APACHE-2.0 b/licenses/@tauri-apps_cli@2.11.4/LICENSE_APACHE-2.0 similarity index 100% rename from licenses/@tauri-apps_cli@2.11.0/LICENSE_APACHE-2.0 rename to licenses/@tauri-apps_cli@2.11.4/LICENSE_APACHE-2.0 diff --git a/licenses/@tauri-apps_cli@2.11.0/LICENSE_MIT b/licenses/@tauri-apps_cli@2.11.4/LICENSE_MIT similarity index 100% rename from licenses/@tauri-apps_cli@2.11.0/LICENSE_MIT rename to licenses/@tauri-apps_cli@2.11.4/LICENSE_MIT diff --git a/licenses/@tauri-apps_plugin-barcode-scanner@2.4.4/LICENSE.spdx b/licenses/@tauri-apps_plugin-barcode-scanner@2.4.5/LICENSE.spdx similarity index 100% rename from licenses/@tauri-apps_plugin-barcode-scanner@2.4.4/LICENSE.spdx rename to licenses/@tauri-apps_plugin-barcode-scanner@2.4.5/LICENSE.spdx diff --git a/licenses/@tauri-apps_plugin-opener@2.5.4/LICENSE.spdx b/licenses/@tauri-apps_plugin-log@2.8.0/LICENSE.spdx similarity index 100% rename from licenses/@tauri-apps_plugin-opener@2.5.4/LICENSE.spdx rename to licenses/@tauri-apps_plugin-log@2.8.0/LICENSE.spdx diff --git a/licenses/@tauri-apps_plugin-notification@2.3.3/LICENSE.spdx b/licenses/@tauri-apps_plugin-notification@2.3.3/LICENSE.spdx new file mode 100644 index 0000000..cdd0df5 --- /dev/null +++ b/licenses/@tauri-apps_plugin-notification@2.3.3/LICENSE.spdx @@ -0,0 +1,20 @@ +SPDXVersion: SPDX-2.1 +DataLicense: CC0-1.0 +PackageName: tauri +DataFormat: SPDXRef-1 +PackageSupplier: Organization: The Tauri Programme in the Commons Conservancy +PackageHomePage: https://tauri.app +PackageLicenseDeclared: Apache-2.0 +PackageLicenseDeclared: MIT +PackageCopyrightText: 2019-2022, The Tauri Programme in the Commons Conservancy +PackageSummary: Tauri is a rust project that enables developers to make secure +and small desktop applications using a web frontend. + +PackageComment: The package includes the following libraries; see +Relationship information. + +Created: 2019-05-20T09:00:00Z +PackageDownloadLocation: git://github.com/tauri-apps/tauri +PackageDownloadLocation: git+https://github.com/tauri-apps/tauri.git +PackageDownloadLocation: git+ssh://github.com/tauri-apps/tauri.git +Creator: Person: Daniel Thompson-Yvetot \ No newline at end of file diff --git a/licenses/@tensamin_ttp-core@0.0.19/LICENSE b/licenses/@tensamin_ttp-core@0.0.19/LICENSE deleted file mode 100644 index 7ba2513..0000000 --- a/licenses/@tensamin_ttp-core@0.0.19/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -Copyright (c) [2026] [Methanium] -All rights reserved. - -This software is protected by copyright. Copying, editing, -distributing, publicly performing, or any other use of this software -or its components, in source or binary form, is strictly prohibited without the express -written permission of the copyright holder. - -FUTURE LICENSE ACCEPTANCE: -It is the copyright holder's intention to release this software in the future -under a license yet to be defined, which will, among other things, -allow private, non-commercial use. This statement does not constitute -a current license grant and does not alter the above -prohibition on use, copying, or modification. Until the formal -publication of such a future license, all rights remain -reserved. diff --git a/licenses/@types_node@25.6.0/LICENSE b/licenses/@types_node@25.9.4/LICENSE similarity index 100% rename from licenses/@types_node@25.6.0/LICENSE rename to licenses/@types_node@25.9.4/LICENSE diff --git a/licenses/@types_react@19.2.14/LICENSE b/licenses/@types_react@19.2.17/LICENSE similarity index 100% rename from licenses/@types_react@19.2.14/LICENSE rename to licenses/@types_react@19.2.17/LICENSE diff --git a/licenses/@typescript-eslint_parser@8.59.1/LICENSE b/licenses/@typescript-eslint_parser@8.62.1/LICENSE similarity index 100% rename from licenses/@typescript-eslint_parser@8.59.1/LICENSE rename to licenses/@typescript-eslint_parser@8.62.1/LICENSE diff --git a/licenses/@vitejs_plugin-react@6.0.1/LICENSE b/licenses/@vitejs_plugin-react@6.0.3/LICENSE similarity index 100% rename from licenses/@vitejs_plugin-react@6.0.1/LICENSE rename to licenses/@vitejs_plugin-react@6.0.3/LICENSE diff --git a/licenses/THIRD_PARTY_NOTICES.md b/licenses/THIRD_PARTY_NOTICES.md index 2dcc4e3..33aad1a 100644 --- a/licenses/THIRD_PARTY_NOTICES.md +++ b/licenses/THIRD_PARTY_NOTICES.md @@ -2,13 +2,42 @@ Generated from bun.lock and installed packages in workspace node_modules folders. -## @codemirror/commands@6.10.3 +## @babel/runtime@7.29.7 - License: MIT -- Repository: git+https://github.com/codemirror/commands.git +- Homepage: https://babel.dev/docs/en/next/babel-runtime +- Repository: https://github.com/babel/babel.git +- Description: babel's modular runtime helpers +- Included files: LICENSE +- Folder: `licenses/@babel_runtime@7.29.7` +- Source package dir: `apps/web/node_modules/@babel/runtime` + +## @base-ui/react@1.6.0 + +- License: MIT +- Homepage: https://base-ui.com +- Repository: git+https://github.com/mui/base-ui.git +- Description: Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features. +- Included files: LICENSE +- Folder: `licenses/@base-ui_react@1.6.0` +- Source package dir: `apps/web/node_modules/@base-ui/react` + +## @base-ui/utils@0.3.1 + +- License: MIT +- Repository: git+https://github.com/mui/base-ui.git +- Description: A collection of React utility functions for Base UI. +- Included files: LICENSE +- Folder: `licenses/@base-ui_utils@0.3.1` +- Source package dir: `apps/web/node_modules/@base-ui/utils` + +## @codemirror/commands@6.10.4 + +- License: MIT +- Repository: git+https://code.haverbeke.berlin/codemirror/commands.git - Description: Collection of editing commands for the CodeMirror code editor - Included files: LICENSE -- Folder: `licenses/@codemirror_commands@6.10.3` +- Folder: `licenses/@codemirror_commands@6.10.4` - Source package dir: `packages/markdown/node_modules/@codemirror/commands` ## @codemirror/lang-markdown@6.5.0 @@ -20,22 +49,22 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/@codemirror_lang-markdown@6.5.0` - Source package dir: `packages/markdown/node_modules/@codemirror/lang-markdown` -## @codemirror/state@6.6.0 +## @codemirror/state@6.7.0 - License: MIT -- Repository: git+https://github.com/codemirror/state.git +- Repository: git+https://code.haverbeke.berlin/codemirror/state.git - Description: Editor state data structures for the CodeMirror code editor - Included files: LICENSE -- Folder: `licenses/@codemirror_state@6.6.0` +- Folder: `licenses/@codemirror_state@6.7.0` - Source package dir: `packages/markdown/node_modules/@codemirror/state` -## @codemirror/view@6.41.1 +## @codemirror/view@6.43.4 - License: MIT - Repository: git+https://code.haverbeke.berlin/codemirror/view.git - Description: DOM view component for the CodeMirror code editor - Included files: LICENSE -- Folder: `licenses/@codemirror_view@6.41.1` +- Folder: `licenses/@codemirror_view@6.43.4` - Source package dir: `packages/markdown/node_modules/@codemirror/view` ## @eslint/js@10.0.1 @@ -48,6 +77,46 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/@eslint_js@10.0.1` - Source package dir: `apps/web/node_modules/@eslint/js` +## @floating-ui/core@1.7.5 + +- License: MIT +- Homepage: https://floating-ui.com +- Repository: https://github.com/floating-ui/floating-ui.git +- Description: Positioning library for floating elements: tooltips, popovers, dropdowns, and more +- Included files: LICENSE +- Folder: `licenses/@floating-ui_core@1.7.5` +- Source package dir: `apps/web/node_modules/@floating-ui/core` + +## @floating-ui/dom@1.7.6 + +- License: MIT +- Homepage: https://floating-ui.com +- Repository: https://github.com/floating-ui/floating-ui.git +- Description: Floating UI for the web +- Included files: LICENSE +- Folder: `licenses/@floating-ui_dom@1.7.6` +- Source package dir: `apps/web/node_modules/@floating-ui/dom` + +## @floating-ui/react-dom@2.1.8 + +- License: MIT +- Homepage: https://floating-ui.com/docs/react-dom +- Repository: https://github.com/floating-ui/floating-ui.git +- Description: Floating UI for React DOM +- Included files: LICENSE +- Folder: `licenses/@floating-ui_react-dom@2.1.8` +- Source package dir: `apps/web/node_modules/@floating-ui/react-dom` + +## @floating-ui/utils@0.2.11 + +- License: MIT +- Homepage: https://floating-ui.com +- Repository: https://github.com/floating-ui/floating-ui.git +- Description: Utilities for Floating UI +- Included files: LICENSE +- Folder: `licenses/@floating-ui_utils@0.2.11` +- Source package dir: `apps/web/node_modules/@floating-ui/utils` + ## @fontsource-variable/inter@5.2.8 - License: OFL-1.1 @@ -58,12 +127,22 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/@fontsource-variable_inter@5.2.8` - Source package dir: `apps/web/node_modules/@fontsource-variable/inter` -## @livekit/components-react@2.9.20 +## @fontsource-variable/public-sans@5.2.7 + +- License: OFL-1.1 +- Homepage: https://fontsource.org/fonts/public-sans +- Repository: git+https://github.com/fontsource/font-files.git +- Description: Self-host the Public Sans font in a neatly bundled NPM package. +- Included files: LICENSE +- Folder: `licenses/@fontsource-variable_public-sans@5.2.7` +- Source package dir: `apps/web/node_modules/@fontsource-variable/public-sans` + +## @livekit/components-react@2.9.21 - License: Apache-2.0 - Repository: https://github.com/livekit/components-js.git - Included files: LICENSE -- Folder: `licenses/@livekit_components-react@2.9.20` +- Folder: `licenses/@livekit_components-react@2.9.21` - Source package dir: `packages/call/node_modules/@livekit/components-react` ## @noble/curves@2.2.0 @@ -74,75 +153,319 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Description: Audited & minimal JS implementation of elliptic curve cryptography - Included files: LICENSE - Folder: `licenses/@noble_curves@2.2.0` -- Source package dir: `apps/web/node_modules/@noble/curves` +- Source package dir: `packages/crypto/node_modules/@noble/curves` -## @tailwindcss/vite@4.2.4 +## @noble/hashes@2.2.0 + +- License: MIT +- Homepage: https://paulmillr.com/noble/ +- Repository: git+https://github.com/paulmillr/noble-hashes.git +- Description: Audited & minimal 0-dependency JS implementation of SHA, RIPEMD, BLAKE, HMAC, HKDF, PBKDF & Scrypt +- Included files: LICENSE +- Folder: `licenses/@noble_hashes@2.2.0` +- Source package dir: `packages/crypto/node_modules/@noble/hashes` + +## @radix-ui/primitive@1.1.4 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_primitive@1.1.4` +- Source package dir: `apps/web/node_modules/@radix-ui/primitive` + +## @radix-ui/react-compose-refs@1.1.3 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-compose-refs@1.1.3` +- Source package dir: `apps/web/node_modules/@radix-ui/react-compose-refs` + +## @radix-ui/react-context@1.1.4 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-context@1.1.4` +- Source package dir: `apps/web/node_modules/@radix-ui/react-context` + +## @radix-ui/react-dialog@1.1.18 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-dialog@1.1.18` +- Source package dir: `apps/web/node_modules/@radix-ui/react-dialog` + +## @radix-ui/react-dismissable-layer@1.1.14 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-dismissable-layer@1.1.14` +- Source package dir: `apps/web/node_modules/@radix-ui/react-dismissable-layer` + +## @radix-ui/react-focus-guards@1.1.4 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-focus-guards@1.1.4` +- Source package dir: `apps/web/node_modules/@radix-ui/react-focus-guards` + +## @radix-ui/react-focus-scope@1.1.11 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-focus-scope@1.1.11` +- Source package dir: `apps/web/node_modules/@radix-ui/react-focus-scope` + +## @radix-ui/react-id@1.1.2 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-id@1.1.2` +- Source package dir: `apps/web/node_modules/@radix-ui/react-id` + +## @radix-ui/react-portal@1.1.13 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-portal@1.1.13` +- Source package dir: `apps/web/node_modules/@radix-ui/react-portal` + +## @radix-ui/react-presence@1.1.6 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-presence@1.1.6` +- Source package dir: `apps/web/node_modules/@radix-ui/react-presence` + +## @radix-ui/react-primitive@2.1.7 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-primitive@2.1.7` +- Source package dir: `apps/web/node_modules/@radix-ui/react-primitive` + +## @radix-ui/react-slot@1.3.0 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-slot@1.3.0` +- Source package dir: `apps/web/node_modules/@radix-ui/react-slot` + +## @radix-ui/react-use-callback-ref@1.1.2 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-use-callback-ref@1.1.2` +- Source package dir: `apps/web/node_modules/@radix-ui/react-use-callback-ref` + +## @radix-ui/react-use-controllable-state@1.2.3 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-use-controllable-state@1.2.3` +- Source package dir: `apps/web/node_modules/@radix-ui/react-use-controllable-state` + +## @radix-ui/react-use-effect-event@0.0.2 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-use-effect-event@0.0.2` +- Source package dir: `apps/web/node_modules/@radix-ui/react-use-effect-event` + +## @radix-ui/react-use-layout-effect@1.1.2 + +- License: MIT +- Homepage: https://radix-ui.com/primitives +- Repository: git+https://github.com/radix-ui/primitives.git +- Included files: LICENSE +- Folder: `licenses/@radix-ui_react-use-layout-effect@1.1.2` +- Source package dir: `apps/web/node_modules/@radix-ui/react-use-layout-effect` + +## @reduxjs/toolkit@2.12.0 + +- License: MIT +- Homepage: https://redux-toolkit.js.org +- Repository: git+https://github.com/reduxjs/redux-toolkit.git +- Description: The official, opinionated, batteries-included toolset for efficient Redux development +- Included files: LICENSE +- Folder: `licenses/@reduxjs_toolkit@2.12.0` +- Source package dir: `apps/web/node_modules/@reduxjs/toolkit` + +## @tailwindcss/vite@4.3.2 - License: MIT - Homepage: https://tailwindcss.com - Repository: https://github.com/tailwindlabs/tailwindcss.git - Description: A utility-first CSS framework for rapidly building custom user interfaces. - Included files: LICENSE -- Folder: `licenses/@tailwindcss_vite@4.2.4` +- Folder: `licenses/@tailwindcss_vite@4.3.2` - Source package dir: `apps/web/node_modules/@tailwindcss/vite` -## @tanstack/react-query@5.100.8 +## @tanstack/devtools-event-client@0.3.5 - License: MIT -- Homepage: https://tanstack.com/query -- Repository: git+https://github.com/TanStack/query.git -- Description: Hooks for managing, caching and syncing asynchronous and remote data in React +- Homepage: https://tanstack.com/devtools +- Repository: https://github.com/TanStack/devtools.git +- Description: TanStack Event Client is a lightweight event client for TanStack Devtools event bus. - Included files: LICENSE -- Folder: `licenses/@tanstack_react-query@5.100.8` -- Source package dir: `packages/call/node_modules/@tanstack/react-query` +- Folder: `licenses/@tanstack_devtools-event-client@0.3.5` +- Source package dir: `apps/web/node_modules/@tanstack/devtools-event-client` -## @tanstack/react-router@1.169.1 +## @tanstack/history@1.162.0 - License: MIT - Homepage: https://tanstack.com/router - Repository: git+https://github.com/TanStack/router.git - Description: Modern and scalable routing for React applications - Included files: LICENSE -- Folder: `licenses/@tanstack_react-router@1.169.1` +- Folder: `licenses/@tanstack_history@1.162.0` +- Source package dir: `apps/web/node_modules/@tanstack/history` + +## @tanstack/pacer@0.21.1 + +- License: MIT +- Homepage: https://tanstack.com/pacer +- Repository: git+https://github.com/TanStack/pacer.git +- Description: Utilities for debouncing, throttling, rate-limiting, queuing, and more. +- Included files: LICENSE +- Folder: `licenses/@tanstack_pacer@0.21.1` +- Source package dir: `packages/chat/node_modules/@tanstack/pacer` + +## @tanstack/query-core@5.101.2 + +- License: MIT +- Homepage: https://tanstack.com/query +- Repository: git+https://github.com/TanStack/query.git +- Description: The framework agnostic core that powers TanStack Query +- Included files: LICENSE +- Folder: `licenses/@tanstack_query-core@5.101.2` +- Source package dir: `apps/web/node_modules/@tanstack/query-core` + +## @tanstack/react-query@5.101.2 + +- License: MIT +- Homepage: https://tanstack.com/query +- Repository: git+https://github.com/TanStack/query.git +- Description: Hooks for managing, caching and syncing asynchronous and remote data in React +- Included files: LICENSE +- Folder: `licenses/@tanstack_react-query@5.101.2` +- Source package dir: `packages/chat/node_modules/@tanstack/react-query` + +## @tanstack/react-router@1.170.17 + +- License: MIT +- Homepage: https://tanstack.com/router +- Repository: git+https://github.com/TanStack/router.git +- Description: Modern and scalable routing for React applications +- Included files: LICENSE +- Folder: `licenses/@tanstack_react-router@1.170.17` - Source package dir: `apps/web/node_modules/@tanstack/react-router` -## @tanstack/react-virtual@3.13.24 +## @tanstack/react-store@0.9.3 + +- License: MIT +- Homepage: https://tanstack.com/store +- Repository: https://github.com/TanStack/store.git +- Description: Framework agnostic type-safe store w/ reactive framework adapters +- Included files: LICENSE +- Folder: `licenses/@tanstack_react-store@0.9.3` +- Source package dir: `apps/web/node_modules/@tanstack/react-store` + +## @tanstack/react-virtual@3.14.5 - License: MIT - Homepage: https://tanstack.com/virtual - Repository: git+https://github.com/TanStack/virtual.git - Description: Headless UI for virtualizing scrollable elements in React - Included files: LICENSE -- Folder: `licenses/@tanstack_react-virtual@3.13.24` +- Folder: `licenses/@tanstack_react-virtual@3.14.5` - Source package dir: `apps/web/node_modules/@tanstack/react-virtual` -## @tauri-apps/api@2.11.0 +## @tanstack/router-core@1.171.14 + +- License: MIT +- Homepage: https://tanstack.com/router +- Repository: git+https://github.com/TanStack/router.git +- Description: Modern and scalable routing for React applications +- Included files: LICENSE +- Folder: `licenses/@tanstack_router-core@1.171.14` +- Source package dir: `apps/web/node_modules/@tanstack/router-core` + +## @tanstack/store@0.9.3 + +- License: MIT +- Homepage: https://tanstack.com/store +- Repository: git+https://github.com/TanStack/store.git +- Description: Framework agnostic type-safe store w/ reactive framework adapters +- Included files: LICENSE +- Folder: `licenses/@tanstack_store@0.9.3` +- Source package dir: `apps/web/node_modules/@tanstack/store` + +## @tanstack/virtual-core@3.17.3 + +- License: MIT +- Homepage: https://tanstack.com/virtual +- Repository: git+https://github.com/TanStack/virtual.git +- Description: Headless UI for virtualizing scrollable elements in TS/JS + Frameworks +- Included files: LICENSE +- Folder: `licenses/@tanstack_virtual-core@3.17.3` +- Source package dir: `apps/web/node_modules/@tanstack/virtual-core` + +## @tauri-apps/api@2.11.1 - License: Apache-2.0 OR MIT - Homepage: https://github.com/tauri-apps/tauri#readme - Repository: git+https://github.com/tauri-apps/tauri.git - Description: Tauri API definitions - Included files: LICENSE_MIT, LICENSE_APACHE-2.0 -- Folder: `licenses/@tauri-apps_api@2.11.0` +- Folder: `licenses/@tauri-apps_api@2.11.1` - Source package dir: `apps/tauri/node_modules/@tauri-apps/api` -## @tauri-apps/cli@2.11.0 +## @tauri-apps/cli@2.11.4 - License: Apache-2.0 OR MIT - Homepage: https://github.com/tauri-apps/tauri#readme - Repository: git+https://github.com/tauri-apps/tauri.git - Description: Command line interface for building Tauri apps - Included files: LICENSE_MIT, LICENSE_APACHE-2.0 -- Folder: `licenses/@tauri-apps_cli@2.11.0` +- Folder: `licenses/@tauri-apps_cli@2.11.4` - Source package dir: `apps/tauri/node_modules/@tauri-apps/cli` -## @tauri-apps/plugin-barcode-scanner@2.4.4 +## @tauri-apps/plugin-barcode-scanner@2.4.5 - License: MIT OR Apache-2.0 - Repository: https://github.com/tauri-apps/plugins-workspace - Description: Scan QR codes, EAN-13 and other kinds of barcodes on Android and iOS - Included files: LICENSE.spdx -- Folder: `licenses/@tauri-apps_plugin-barcode-scanner@2.4.4` +- Folder: `licenses/@tauri-apps_plugin-barcode-scanner@2.4.5` - Source package dir: `apps/tauri/node_modules/@tauri-apps/plugin-barcode-scanner` ## @tauri-apps/plugin-deep-link@2.4.9 @@ -154,38 +477,39 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/@tauri-apps_plugin-deep-link@2.4.9` - Source package dir: `apps/tauri/node_modules/@tauri-apps/plugin-deep-link` -## @tauri-apps/plugin-opener@2.5.4 +## @tauri-apps/plugin-log@2.8.0 - License: MIT OR Apache-2.0 - Repository: https://github.com/tauri-apps/plugins-workspace -- Description: Open files and URLs using their default application. +- Description: Configurable logging for your Tauri app. - Included files: LICENSE.spdx -- Folder: `licenses/@tauri-apps_plugin-opener@2.5.4` -- Source package dir: `apps/tauri/node_modules/@tauri-apps/plugin-opener` +- Folder: `licenses/@tauri-apps_plugin-log@2.8.0` +- Source package dir: `apps/tauri/node_modules/@tauri-apps/plugin-log` -## @tensamin/ttp-core@0.0.19 +## @tauri-apps/plugin-notification@2.3.3 -- License: UNKNOWN -- Included files: LICENSE -- Folder: `licenses/@tensamin_ttp-core@0.0.19` -- Source package dir: `packages/ttp/node_modules/@tensamin/ttp-core` +- License: MIT OR Apache-2.0 +- Repository: https://github.com/tauri-apps/plugins-workspace +- Included files: LICENSE.spdx +- Folder: `licenses/@tauri-apps_plugin-notification@2.3.3` +- Source package dir: `apps/tauri/node_modules/@tauri-apps/plugin-notification` -## @tensamin/ui@0.0.34 +## @tensamin/ui@0.0.39 - License: UNKNOWN - Included files: none found -- Folder: `licenses/@tensamin_ui@0.0.34` +- Folder: `licenses/@tensamin_ui@0.0.39` - Source package dir: `apps/tauri/node_modules/@tensamin/ui` -## @types/node@25.6.0 +## @types/node@25.9.4 - License: MIT - Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node - Repository: https://github.com/DefinitelyTyped/DefinitelyTyped.git - Description: TypeScript definitions for node - Included files: LICENSE -- Folder: `licenses/@types_node@25.6.0` -- Source package dir: `node_modules/@types/node` +- Folder: `licenses/@types_node@25.9.4` +- Source package dir: `apps/electron/node_modules/@types/node` ## @types/qrcode@1.5.6 @@ -197,14 +521,14 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/@types_qrcode@1.5.6` - Source package dir: `apps/web/node_modules/@types/qrcode` -## @types/react@19.2.14 +## @types/react@19.2.17 - License: MIT - Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react - Repository: https://github.com/DefinitelyTyped/DefinitelyTyped.git - Description: TypeScript definitions for react - Included files: LICENSE -- Folder: `licenses/@types_react@19.2.14` +- Folder: `licenses/@types_react@19.2.17` - Source package dir: `apps/web/node_modules/@types/react` ## @types/react-dom@19.2.3 @@ -217,26 +541,36 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/@types_react-dom@19.2.3` - Source package dir: `apps/web/node_modules/@types/react-dom` -## @typescript-eslint/parser@8.59.1 +## @typescript-eslint/parser@8.62.1 - License: MIT - Homepage: https://typescript-eslint.io/packages/parser - Repository: https://github.com/typescript-eslint/typescript-eslint.git - Description: An ESLint custom parser which leverages TypeScript ESTree - Included files: LICENSE -- Folder: `licenses/@typescript-eslint_parser@8.59.1` +- Folder: `licenses/@typescript-eslint_parser@8.62.1` - Source package dir: `node_modules/@typescript-eslint/parser` -## @vitejs/plugin-react@6.0.1 +## @vitejs/plugin-react@6.0.3 - License: MIT - Homepage: https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme - Repository: git+https://github.com/vitejs/vite-plugin-react.git - Description: The default Vite plugin for React projects - Included files: LICENSE -- Folder: `licenses/@vitejs_plugin-react@6.0.1` +- Folder: `licenses/@vitejs_plugin-react@6.0.3` - Source package dir: `apps/web/node_modules/@vitejs/plugin-react` +## aria-hidden@1.2.6 + +- License: MIT +- Homepage: https://github.com/theKashey/aria-hidden#readme +- Repository: git+https://github.com/theKashey/aria-hidden.git +- Description: Cast aria-hidden to everything, except... +- Included files: LICENSE +- Folder: `licenses/aria-hidden@1.2.6` +- Source package dir: `apps/web/node_modules/aria-hidden` + ## class-variance-authority@0.7.1 - License: Apache-2.0 @@ -256,6 +590,15 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/clsx@2.1.1` - Source package dir: `apps/web/node_modules/clsx` +## cmdk@1.1.1 + +- License: MIT +- Homepage: https://github.com/pacocoursey/cmdk#readme +- Repository: git+https://github.com/pacocoursey/cmdk.git +- Included files: LICENSE.md +- Folder: `licenses/cmdk@1.1.1` +- Source package dir: `apps/web/node_modules/cmdk` + ## comlink@4.4.2 - License: Apache-2.0 @@ -263,18 +606,233 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Description: Comlink makes WebWorkers enjoyable - Included files: LICENSE - Folder: `licenses/comlink@4.4.2` -- Source package dir: `apps/web/node_modules/comlink` +- Source package dir: `packages/crypto/node_modules/comlink` -## deepfilternet3-noise-filter@1.2.1 +## cookie-es@3.1.1 + +- License: MIT +- Repository: unjs/cookie-es +- Included files: LICENSE +- Folder: `licenses/cookie-es@3.1.1` +- Source package dir: `apps/web/node_modules/cookie-es` + +## d3-array@3.2.4 + +- License: ISC +- Homepage: https://d3js.org/d3-array/ +- Repository: https://github.com/d3/d3-array.git +- Description: Array manipulation, ordering, searching, summarizing, etc. +- Included files: LICENSE +- Folder: `licenses/d3-array@3.2.4` +- Source package dir: `apps/web/node_modules/d3-array` + +## d3-color@3.1.0 + +- License: ISC +- Homepage: https://d3js.org/d3-color/ +- Repository: https://github.com/d3/d3-color.git +- Description: Color spaces! RGB, HSL, Cubehelix, Lab and HCL (Lch). +- Included files: LICENSE +- Folder: `licenses/d3-color@3.1.0` +- Source package dir: `apps/web/node_modules/d3-color` + +## d3-ease@3.0.1 + +- License: BSD-3-Clause +- Homepage: https://d3js.org/d3-ease/ +- Repository: https://github.com/d3/d3-ease.git +- Description: Easing functions for smooth animation. +- Included files: LICENSE +- Folder: `licenses/d3-ease@3.0.1` +- Source package dir: `apps/web/node_modules/d3-ease` + +## d3-format@3.1.2 + +- License: ISC +- Homepage: https://d3js.org/d3-format/ +- Repository: https://github.com/d3/d3-format.git +- Description: Format numbers for human consumption. +- Included files: LICENSE +- Folder: `licenses/d3-format@3.1.2` +- Source package dir: `apps/web/node_modules/d3-format` + +## d3-interpolate@3.0.1 + +- License: ISC +- Homepage: https://d3js.org/d3-interpolate/ +- Repository: https://github.com/d3/d3-interpolate.git +- Description: Interpolate numbers, colors, strings, arrays, objects, whatever! +- Included files: LICENSE +- Folder: `licenses/d3-interpolate@3.0.1` +- Source package dir: `apps/web/node_modules/d3-interpolate` + +## d3-path@3.1.0 + +- License: ISC +- Homepage: https://d3js.org/d3-path/ +- Repository: https://github.com/d3/d3-path.git +- Description: Serialize Canvas path commands to SVG. +- Included files: LICENSE +- Folder: `licenses/d3-path@3.1.0` +- Source package dir: `apps/web/node_modules/d3-path` + +## d3-scale@4.0.2 + +- License: ISC +- Homepage: https://d3js.org/d3-scale/ +- Repository: https://github.com/d3/d3-scale.git +- Description: Encodings that map abstract data to visual representation. +- Included files: LICENSE +- Folder: `licenses/d3-scale@4.0.2` +- Source package dir: `apps/web/node_modules/d3-scale` + +## d3-shape@3.2.0 + +- License: ISC +- Homepage: https://d3js.org/d3-shape/ +- Repository: https://github.com/d3/d3-shape.git +- Description: Graphical primitives for visualization, such as lines and areas. +- Included files: LICENSE +- Folder: `licenses/d3-shape@3.2.0` +- Source package dir: `apps/web/node_modules/d3-shape` + +## d3-time@3.1.0 + +- License: ISC +- Homepage: https://d3js.org/d3-time/ +- Repository: https://github.com/d3/d3-time.git +- Description: A calculator for humanity’s peculiar conventions of time. +- Included files: LICENSE +- Folder: `licenses/d3-time@3.1.0` +- Source package dir: `apps/web/node_modules/d3-time` + +## d3-time-format@4.1.0 + +- License: ISC +- Homepage: https://d3js.org/d3-time-format/ +- Repository: https://github.com/d3/d3-time-format.git +- Description: A JavaScript time formatter and parser inspired by strftime and strptime. +- Included files: LICENSE +- Folder: `licenses/d3-time-format@4.1.0` +- Source package dir: `apps/web/node_modules/d3-time-format` + +## d3-timer@3.0.1 + +- License: ISC +- Homepage: https://d3js.org/d3-timer/ +- Repository: https://github.com/d3/d3-timer.git +- Description: An efficient queue capable of managing thousands of concurrent animations. +- Included files: LICENSE +- Folder: `licenses/d3-timer@3.0.1` +- Source package dir: `apps/web/node_modules/d3-timer` + +## date-fns@4.4.0 + +- License: MIT +- Repository: https://github.com/date-fns/date-fns +- Description: Modern JavaScript date utility library +- Included files: LICENSE.md +- Folder: `licenses/date-fns@4.4.0` +- Source package dir: `apps/web/node_modules/date-fns` + +## decimal.js-light@2.5.1 + +- License: MIT +- Repository: https://github.com/MikeMcl/decimal.js-light.git +- Description: An arbitrary-precision Decimal type for JavaScript. +- Included files: LICENCE.md +- Folder: `licenses/decimal.js-light@2.5.1` +- Source package dir: `apps/web/node_modules/decimal.js-light` + +## deepfilternet3-noise-filter@1.3.0 - License: (Apache-2.0 OR MIT) - Homepage: https://github.com/mezonai/mezon-noise-suppression#readme - Repository: git+https://github.com/mezonai/mezon-noise-suppression.git - Description: Custom audio processor with DeepFilterNet3 noise filtering integrated with LiveKit client - Included files: LICENSE-APACHE, LICENSE-MIT -- Folder: `licenses/deepfilternet3-noise-filter@1.2.1` +- Folder: `licenses/deepfilternet3-noise-filter@1.3.0` - Source package dir: `packages/call/node_modules/deepfilternet3-noise-filter` +## detect-node-es@1.1.0 + +- License: MIT +- Homepage: https://github.com/thekashey/detect-node +- Repository: https://github.com/thekashey/detect-node +- Description: Detect Node.JS (as opposite to browser environment). ESM modification +- Included files: LICENSE +- Folder: `licenses/detect-node-es@1.1.0` +- Source package dir: `apps/web/node_modules/detect-node-es` + +## dijkstrajs@1.0.3 + +- License: MIT +- Homepage: https://github.com/tcort/dijkstrajs +- Repository: git://github.com/tcort/dijkstrajs +- Description: A simple JavaScript implementation of Dijkstra's single-source shortest-paths algorithm. +- Included files: LICENSE.md +- Folder: `licenses/dijkstrajs@1.0.3` +- Source package dir: `apps/web/node_modules/dijkstrajs` + +## electron@39.8.10 + +- License: MIT +- Repository: https://github.com/electron/electron +- Description: Build cross platform desktop apps with JavaScript, HTML, and CSS +- Included files: LICENSE +- Folder: `licenses/electron@39.8.10` +- Source package dir: `apps/electron/node_modules/electron` + +## electron-builder@26.15.3 + +- License: MIT +- Homepage: https://github.com/electron-userland/electron-builder +- Repository: git+https://github.com/electron-userland/electron-builder.git +- Description: A complete solution to package and build a ready for distribution Electron app for MacOS, Windows and Linux with “auto update” support out of the box +- Included files: LICENSE +- Folder: `licenses/electron-builder@26.15.3` +- Source package dir: `apps/electron/node_modules/electron-builder` + +## embla-carousel@8.6.0 + +- License: MIT +- Homepage: https://www.embla-carousel.com +- Repository: git+https://github.com/davidjerleke/embla-carousel +- Description: A lightweight carousel library with fluid motion and great swipe precision +- Included files: none found +- Folder: `licenses/embla-carousel@8.6.0` +- Source package dir: `apps/web/node_modules/embla-carousel` + +## embla-carousel-react@8.6.0 + +- License: MIT +- Homepage: https://www.embla-carousel.com +- Repository: git+https://github.com/davidjerleke/embla-carousel +- Description: A lightweight carousel library with fluid motion and great swipe precision +- Included files: none found +- Folder: `licenses/embla-carousel-react@8.6.0` +- Source package dir: `apps/web/node_modules/embla-carousel-react` + +## embla-carousel-reactive-utils@8.6.0 + +- License: MIT +- Homepage: https://www.embla-carousel.com +- Repository: git+https://github.com/davidjerleke/embla-carousel +- Description: Reactive utilities for Embla Carousel +- Included files: none found +- Folder: `licenses/embla-carousel-reactive-utils@8.6.0` +- Source package dir: `apps/web/node_modules/embla-carousel-reactive-utils` + +## es-toolkit@1.49.0 + +- License: MIT +- Homepage: https://es-toolkit.dev +- Repository: https://github.com/toss/es-toolkit.git +- Description: A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations. +- Included files: LICENSE +- Folder: `licenses/es-toolkit@1.49.0` +- Source package dir: `apps/web/node_modules/es-toolkit` + ## esbuild@0.25.12 - License: MIT @@ -282,16 +840,16 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Description: An extremely fast JavaScript and CSS bundler and minifier. - Included files: LICENSE.md - Folder: `licenses/esbuild@0.25.12` -- Source package dir: `apps/web/node_modules/esbuild` +- Source package dir: `apps/electron/node_modules/esbuild` -## eslint@10.3.0 +## eslint@10.6.0 - License: MIT - Homepage: https://eslint.org - Repository: eslint/eslint - Description: An AST-based pattern checker for JavaScript. - Included files: LICENSE -- Folder: `licenses/eslint@10.3.0` +- Folder: `licenses/eslint@10.6.0` - Source package dir: `apps/web/node_modules/eslint` ## eslint-plugin-react-hooks@7.1.1 @@ -304,24 +862,74 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/eslint-plugin-react-hooks@7.1.1` - Source package dir: `node_modules/eslint-plugin-react-hooks` -## framer-motion@12.38.0 +## eventemitter3@5.0.4 - License: MIT -- Repository: https://github.com/motiondivision/motion/ -- Description: A simple and powerful JavaScript animation library -- Included files: LICENSE.md -- Folder: `licenses/framer-motion@12.38.0` -- Source package dir: `apps/web/node_modules/framer-motion` +- Repository: git://github.com/primus/eventemitter3.git +- Description: EventEmitter3 focuses on performance while maintaining a Node.js AND browser compatible interface. +- Included files: LICENSE +- Folder: `licenses/eventemitter3@5.0.4` +- Source package dir: `apps/web/node_modules/eventemitter3` -## globals@17.6.0 +## fallow@2.104.0 + +- License: MIT +- Homepage: https://docs.fallow.tools +- Repository: git+https://github.com/fallow-rs/fallow.git +- Description: Deterministic codebase intelligence for TypeScript and JavaScript. Quality, risk, architecture, dependencies, duplication, and safe cleanup evidence for humans, CI, and agents. Optional runtime intelligence layer (Fallow Runtime) adds production execution evidence. Rust-native, sub-second, zero-config framework support. +- Included files: none found +- Folder: `licenses/fallow@2.104.0` +- Source package dir: `node_modules/fallow` + +## get-nonce@1.0.1 + +- License: MIT +- Homepage: https://github.com/theKashey/get-nonce +- Repository: git@github.com:theKashey/get-nonce.git +- Description: returns nonce +- Included files: LICENSE +- Folder: `licenses/get-nonce@1.0.1` +- Source package dir: `apps/web/node_modules/get-nonce` + +## globals@17.7.0 - License: MIT - Repository: sindresorhus/globals - Description: Global identifiers from different JavaScript environments - Included files: license -- Folder: `licenses/globals@17.6.0` +- Folder: `licenses/globals@17.7.0` - Source package dir: `apps/web/node_modules/globals` +## immer@10.2.0 + +- License: MIT +- Homepage: https://github.com/immerjs/immer#readme +- Repository: https://github.com/immerjs/immer.git +- Description: Create your next immutable state by mutating the current one +- Included files: LICENSE +- Folder: `licenses/immer@10.2.0` +- Source package dir: `apps/web/node_modules/immer` + +## input-otp@1.4.2 + +- License: MIT +- Homepage: https://input-otp.rodz.dev/ +- Repository: git+https://github.com/guilhermerodz/input-otp.git +- Description: One-time password input component for React. +- Included files: none found +- Folder: `licenses/input-otp@1.4.2` +- Source package dir: `apps/web/node_modules/input-otp` + +## internmap@2.0.3 + +- License: ISC +- Homepage: https://github.com/mbostock/internmap/ +- Repository: https://github.com/mbostock/internmap.git +- Description: Map and Set with automatic key interning +- Included files: LICENSE +- Folder: `licenses/internmap@2.0.3` +- Source package dir: `apps/web/node_modules/internmap` + ## jsonc-parser@3.3.1 - License: MIT @@ -331,33 +939,59 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/jsonc-parser@3.3.1` - Source package dir: `node_modules/jsonc-parser` -## livekit-client@2.18.8 +## livekit-client@2.20.0 - License: Apache-2.0 - Repository: git@github.com:livekit/client-sdk-js.git - Description: JavaScript/TypeScript client SDK for LiveKit - Included files: LICENSE -- Folder: `licenses/livekit-client@2.18.8` +- Folder: `licenses/livekit-client@2.20.0` - Source package dir: `packages/call/node_modules/livekit-client` -## lucide-react@1.14.0 +## lucide-react@1.23.0 - License: ISC - Homepage: https://lucide.dev - Repository: https://github.com/lucide-icons/lucide.git - Description: A Lucide icon library package for React applications. - Included files: LICENSE -- Folder: `licenses/lucide-react@1.14.0` -- Source package dir: `apps/tauri/node_modules/lucide-react` +- Folder: `licenses/lucide-react@1.23.0` +- Source package dir: `apps/web/node_modules/lucide-react` -## prettier@3.8.3 +## mtp@0.1.0 + +- License: UNKNOWN +- Description: MTP TypeScript SDK +- Included files: none found +- Folder: `licenses/mtp@0.1.0` +- Source package dir: `packages/mtp/node_modules/mtp` + +## next-themes@0.4.6 + +- License: MIT +- Repository: https://github.com/pacocoursey/next-themes.git +- Included files: license.md +- Folder: `licenses/next-themes@0.4.6` +- Source package dir: `apps/web/node_modules/next-themes` + +## pngjs@5.0.0 + +- License: MIT +- Homepage: https://github.com/lukeapage/pngjs +- Repository: git://github.com/lukeapage/pngjs.git +- Description: PNG encoder/decoder in pure JS, supporting any bit size & interlace, async & sync with full test suite. +- Included files: LICENSE +- Folder: `licenses/pngjs@5.0.0` +- Source package dir: `apps/web/node_modules/pngjs` + +## prettier@3.9.4 - License: MIT - Homepage: https://prettier.io - Repository: prettier/prettier - Description: Prettier is an opinionated code formatter - Included files: LICENSE -- Folder: `licenses/prettier@3.8.3` +- Folder: `licenses/prettier@3.9.4` - Source package dir: `node_modules/prettier` ## qrcode@1.5.4 @@ -370,26 +1004,93 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/qrcode@1.5.4` - Source package dir: `apps/web/node_modules/qrcode` -## react@19.2.5 +## react@19.2.7 - License: MIT - Homepage: https://react.dev/ - Repository: https://github.com/facebook/react.git - Description: React is a JavaScript library for building user interfaces. - Included files: LICENSE -- Folder: `licenses/react@19.2.5` +- Folder: `licenses/react@19.2.7` - Source package dir: `apps/tauri/node_modules/react` -## react-dom@19.2.5 +## react-day-picker@10.0.1 + +- License: MIT +- Homepage: https://daypicker.dev +- Repository: git+https://github.com/gpbl/react-day-picker.git +- Description: Customizable Date Picker for React +- Included files: LICENSE +- Folder: `licenses/react-day-picker@10.0.1` +- Source package dir: `apps/web/node_modules/react-day-picker` + +## react-dom@19.2.7 - License: MIT - Homepage: https://react.dev/ - Repository: https://github.com/facebook/react.git - Description: React package for working with the DOM. - Included files: LICENSE -- Folder: `licenses/react-dom@19.2.5` +- Folder: `licenses/react-dom@19.2.7` - Source package dir: `apps/tauri/node_modules/react-dom` +## react-is@19.2.7 + +- License: MIT +- Homepage: https://react.dev/ +- Repository: https://github.com/facebook/react.git +- Description: Brand checking of React Elements. +- Included files: LICENSE +- Folder: `licenses/react-is@19.2.7` +- Source package dir: `apps/web/node_modules/react-is` + +## react-redux@9.3.0 + +- License: MIT +- Homepage: https://github.com/reduxjs/react-redux +- Repository: github:reduxjs/react-redux +- Description: Official React bindings for Redux +- Included files: LICENSE.md +- Folder: `licenses/react-redux@9.3.0` +- Source package dir: `apps/web/node_modules/react-redux` + +## react-remove-scroll@2.7.2 + +- License: MIT +- Repository: https://github.com/theKashey/react-remove-scroll +- Description: Disables scroll outside of `children` node. +- Included files: LICENSE +- Folder: `licenses/react-remove-scroll@2.7.2` +- Source package dir: `apps/web/node_modules/react-remove-scroll` + +## react-remove-scroll-bar@2.3.8 + +- License: MIT +- Repository: https://github.com/theKashey/react-remove-scroll-bar +- Description: Removes body scroll without content _shake_ +- Included files: none found +- Folder: `licenses/react-remove-scroll-bar@2.3.8` +- Source package dir: `apps/web/node_modules/react-remove-scroll-bar` + +## react-resizable-panels@4.12.0 + +- License: MIT +- Homepage: https://react-resizable-panels.vercel.app/ +- Repository: https://github.com/bvaughn/react-resizable-panels.git +- Included files: LICENSE.md +- Folder: `licenses/react-resizable-panels@4.12.0` +- Source package dir: `apps/web/node_modules/react-resizable-panels` + +## react-style-singleton@2.2.3 + +- License: MIT +- Homepage: https://github.com/theKashey/react-style-singleton#readme +- Repository: https://github.com/theKashey/react-style-singleton +- Description: Just create a single stylesheet... +- Included files: LICENSE +- Folder: `licenses/react-style-singleton@2.2.3` +- Source package dir: `apps/web/node_modules/react-style-singleton` + ## recharts@3.8.1 - License: MIT @@ -398,15 +1099,74 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Description: React charts - Included files: LICENSE - Folder: `licenses/recharts@3.8.1` -- Source package dir: `packages/call/node_modules/recharts` +- Source package dir: `apps/web/node_modules/recharts` -## shadcn@4.6.0 +## redux@5.0.1 + +- License: MIT +- Homepage: http://redux.js.org +- Repository: github:reduxjs/redux +- Description: Predictable state container for JavaScript apps +- Included files: LICENSE.md +- Folder: `licenses/redux@5.0.1` +- Source package dir: `apps/web/node_modules/redux` + +## redux-thunk@3.1.0 + +- License: MIT +- Homepage: https://github.com/reduxjs/redux-thunk +- Repository: github:reduxjs/redux-thunk +- Description: Thunk middleware for Redux. +- Included files: LICENSE.md +- Folder: `licenses/redux-thunk@3.1.0` +- Source package dir: `apps/web/node_modules/redux-thunk` + +## reselect@5.1.1 + +- License: MIT +- Repository: https://github.com/reduxjs/reselect.git +- Description: Selectors for Redux. +- Included files: LICENSE +- Folder: `licenses/reselect@5.1.1` +- Source package dir: `apps/web/node_modules/reselect` + +## scheduler@0.27.0 + +- License: MIT +- Homepage: https://react.dev/ +- Repository: https://github.com/facebook/react.git +- Description: Cooperative scheduler for the browser environment. +- Included files: LICENSE +- Folder: `licenses/scheduler@0.27.0` +- Source package dir: `apps/web/node_modules/scheduler` + +## seroval@1.5.4 + +- License: MIT +- Homepage: https://github.com/lxsmnsyc/seroval/tree/main/packages/seroval +- Repository: https://github.com/lxsmnsyc/seroval.git +- Description: Stringify JS values +- Included files: LICENSE +- Folder: `licenses/seroval@1.5.4` +- Source package dir: `apps/web/node_modules/seroval` + +## seroval-plugins@1.5.4 + +- License: MIT +- Homepage: https://github.com/lxsmnsyc/seroval/tree/main/packages/plugins +- Repository: https://github.com/lxsmnsyc/seroval.git +- Description: Stringify JS values +- Included files: LICENSE +- Folder: `licenses/seroval-plugins@1.5.4` +- Source package dir: `apps/web/node_modules/seroval-plugins` + +## shadcn@4.12.0 - License: MIT - Repository: https://github.com/shadcn-ui/ui.git - Description: Add components to your apps. - Included files: LICENSE.md -- Folder: `licenses/shadcn@4.6.0` +- Folder: `licenses/shadcn@4.12.0` - Source package dir: `apps/web/node_modules/shadcn` ## sonner@2.0.7 @@ -419,14 +1179,14 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/sonner@2.0.7` - Source package dir: `apps/web/node_modules/sonner` -## tailwind-merge@3.5.0 +## tailwind-merge@3.6.0 - License: MIT - Homepage: https://github.com/dcastil/tailwind-merge - Repository: https://github.com/dcastil/tailwind-merge.git - Description: Merge Tailwind CSS classes without style conflicts - Included files: LICENSE.md -- Folder: `licenses/tailwind-merge@3.5.0` +- Folder: `licenses/tailwind-merge@3.6.0` - Source package dir: `apps/web/node_modules/tailwind-merge` ## tailwind-scrollbar-hide@4.0.0 @@ -439,14 +1199,14 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/tailwind-scrollbar-hide@4.0.0` - Source package dir: `apps/web/node_modules/tailwind-scrollbar-hide` -## tailwindcss@4.2.4 +## tailwindcss@4.3.2 - License: MIT - Homepage: https://tailwindcss.com - Repository: https://github.com/tailwindlabs/tailwindcss.git - Description: A utility-first CSS framework for rapidly building custom user interfaces. - Included files: LICENSE -- Folder: `licenses/tailwindcss@4.2.4` +- Folder: `licenses/tailwindcss@4.3.2` - Source package dir: `apps/web/node_modules/tailwindcss` ## tauri-plugin-app-events-api@0.2.0 @@ -457,7 +1217,26 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Description: A plugin for tauri@v2 to listen some events on iOS and Android. - Included files: LICENSE - Folder: `licenses/tauri-plugin-app-events-api@0.2.0` -- Source package dir: `apps/web/node_modules/tauri-plugin-app-events-api` +- Source package dir: `packages/mtp/node_modules/tauri-plugin-app-events-api` + +## tiny-invariant@1.3.3 + +- License: MIT +- Repository: https://github.com/alexreardon/tiny-invariant.git +- Description: A tiny invariant function +- Included files: LICENSE +- Folder: `licenses/tiny-invariant@1.3.3` +- Source package dir: `apps/web/node_modules/tiny-invariant` + +## tslib@2.8.1 + +- License: 0BSD +- Homepage: https://www.typescriptlang.org/ +- Repository: https://github.com/Microsoft/tslib.git +- Description: Runtime library for TypeScript helper functions +- Included files: LICENSE.txt +- Folder: `licenses/tslib@2.8.1` +- Source package dir: `apps/web/node_modules/tslib` ## tw-animate-css@1.4.0 @@ -477,44 +1256,102 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Description: TypeScript is a language for application scale JavaScript development - Included files: LICENSE.txt - Folder: `licenses/typescript@6.0.3` -- Source package dir: `apps/web/node_modules/typescript` +- Source package dir: `apps/electron/node_modules/typescript` -## typescript-eslint@8.59.1 +## typescript-eslint@8.62.1 - License: MIT - Homepage: https://typescript-eslint.io/packages/typescript-eslint - Repository: https://github.com/typescript-eslint/typescript-eslint.git - Description: Tooling which enables you to use TypeScript with ESLint - Included files: LICENSE -- Folder: `licenses/typescript-eslint@8.59.1` +- Folder: `licenses/typescript-eslint@8.62.1` - Source package dir: `apps/web/node_modules/typescript-eslint` -## vite@8.0.10 +## use-callback-ref@1.3.3 + +- License: MIT +- Repository: https://github.com/theKashey/use-callback-ref/ +- Description: The same useRef, but with callback +- Included files: LICENSE +- Folder: `licenses/use-callback-ref@1.3.3` +- Source package dir: `apps/web/node_modules/use-callback-ref` + +## use-sidecar@1.1.3 + +- License: MIT +- Homepage: https://github.com/theKashey/use-sidecar +- Repository: https://github.com/theKashey/use-sidecar +- Description: Sidecar code splitting utils +- Included files: LICENSE +- Folder: `licenses/use-sidecar@1.1.3` +- Source package dir: `apps/web/node_modules/use-sidecar` + +## use-sync-external-store@1.6.0 + +- License: MIT +- Repository: https://github.com/facebook/react.git +- Description: Backwards compatible shim for React's useSyncExternalStore. Works with any React that supports hooks. +- Included files: LICENSE +- Folder: `licenses/use-sync-external-store@1.6.0` +- Source package dir: `apps/web/node_modules/use-sync-external-store` + +## vaul@1.1.2 + +- License: MIT +- Homepage: https://vaul.emilkowal.ski/ +- Repository: https://github.com/emilkowalski/vaul.git +- Description: Drawer component for React. +- Included files: LICENSE.md +- Folder: `licenses/vaul@1.1.2` +- Source package dir: `apps/web/node_modules/vaul` + +## victory-vendor@37.3.6 + +- License: MIT AND ISC +- Homepage: https://commerce.nearform.com/open-source/victory +- Repository: https://github.com/FormidableLabs/victory +- Description: Vendored dependencies for Victory +- Included files: none found +- Folder: `licenses/victory-vendor@37.3.6` +- Source package dir: `apps/web/node_modules/victory-vendor` + +## vite@8.1.3 - License: MIT - Homepage: https://vite.dev - Repository: git+https://github.com/vitejs/vite.git - Description: Native-ESM powered web dev build tool - Included files: LICENSE.md -- Folder: `licenses/vite@8.0.10` +- Folder: `licenses/vite@8.1.3` - Source package dir: `apps/web/node_modules/vite` -## zod@4.4.2 +## yargs@15.4.1 + +- License: MIT +- Homepage: https://yargs.js.org/ +- Repository: https://github.com/yargs/yargs.git +- Description: yargs the modern, pirate-themed, successor to optimist. +- Included files: LICENSE +- Folder: `licenses/yargs@15.4.1` +- Source package dir: `apps/web/node_modules/yargs` + +## zod@4.4.3 - License: MIT - Homepage: https://zod.dev - Repository: git+https://github.com/colinhacks/zod.git - Description: TypeScript-first schema declaration and validation library with static type inference - Included files: LICENSE -- Folder: `licenses/zod@4.4.2` +- Folder: `licenses/zod@4.4.3` - Source package dir: `apps/web/node_modules/zod` -## zustand@5.0.12 +## zustand@5.0.14 - License: MIT - Homepage: https://github.com/pmndrs/zustand - Repository: git+https://github.com/pmndrs/zustand.git - Description: 🐻 Bear necessities for state management in React - Included files: LICENSE -- Folder: `licenses/zustand@5.0.12` +- Folder: `licenses/zustand@5.0.14` - Source package dir: `packages/call/node_modules/zustand` diff --git a/licenses/aria-hidden@1.2.6/LICENSE b/licenses/aria-hidden@1.2.6/LICENSE new file mode 100644 index 0000000..a194c88 --- /dev/null +++ b/licenses/aria-hidden@1.2.6/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Anton Korzunov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/cmdk@1.1.1/LICENSE.md b/licenses/cmdk@1.1.1/LICENSE.md new file mode 100644 index 0000000..76228cc --- /dev/null +++ b/licenses/cmdk@1.1.1/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Paco Coursey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/cookie-es@3.1.1/LICENSE b/licenses/cookie-es@3.1.1/LICENSE new file mode 100644 index 0000000..db7eac1 --- /dev/null +++ b/licenses/cookie-es@3.1.1/LICENSE @@ -0,0 +1,28 @@ +MIT License + +Cookie-es copyright (c) Pooya Parsa + +Cookie parsing based on https://github.com/jshttp/cookie +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson + +Set-Cookie parsing based on https://github.com/nfriedly/set-cookie-parser +Copyright (c) 2015 Nathan Friedly (http://nfriedly.com/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/d3-array@3.2.4/LICENSE b/licenses/d3-array@3.2.4/LICENSE new file mode 100644 index 0000000..3594fff --- /dev/null +++ b/licenses/d3-array@3.2.4/LICENSE @@ -0,0 +1,13 @@ +Copyright 2010-2023 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/d3-color@3.1.0/LICENSE b/licenses/d3-color@3.1.0/LICENSE new file mode 100644 index 0000000..fbe44bd --- /dev/null +++ b/licenses/d3-color@3.1.0/LICENSE @@ -0,0 +1,13 @@ +Copyright 2010-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/d3-ease@3.0.1/LICENSE b/licenses/d3-ease@3.0.1/LICENSE new file mode 100644 index 0000000..83cc997 --- /dev/null +++ b/licenses/d3-ease@3.0.1/LICENSE @@ -0,0 +1,28 @@ +Copyright 2010-2021 Mike Bostock +Copyright 2001 Robert Penner +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/d3-format@3.1.2/LICENSE b/licenses/d3-format@3.1.2/LICENSE new file mode 100644 index 0000000..a8918c4 --- /dev/null +++ b/licenses/d3-format@3.1.2/LICENSE @@ -0,0 +1,13 @@ +Copyright 2010-2026 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/d3-interpolate@3.0.1/LICENSE b/licenses/d3-interpolate@3.0.1/LICENSE new file mode 100644 index 0000000..b014515 --- /dev/null +++ b/licenses/d3-interpolate@3.0.1/LICENSE @@ -0,0 +1,13 @@ +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/d3-path@3.1.0/LICENSE b/licenses/d3-path@3.1.0/LICENSE new file mode 100644 index 0000000..ed25746 --- /dev/null +++ b/licenses/d3-path@3.1.0/LICENSE @@ -0,0 +1,13 @@ +Copyright 2015-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/d3-scale@4.0.2/LICENSE b/licenses/d3-scale@4.0.2/LICENSE new file mode 100644 index 0000000..b014515 --- /dev/null +++ b/licenses/d3-scale@4.0.2/LICENSE @@ -0,0 +1,13 @@ +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/d3-shape@3.2.0/LICENSE b/licenses/d3-shape@3.2.0/LICENSE new file mode 100644 index 0000000..fbe44bd --- /dev/null +++ b/licenses/d3-shape@3.2.0/LICENSE @@ -0,0 +1,13 @@ +Copyright 2010-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/d3-time-format@4.1.0/LICENSE b/licenses/d3-time-format@4.1.0/LICENSE new file mode 100644 index 0000000..b014515 --- /dev/null +++ b/licenses/d3-time-format@4.1.0/LICENSE @@ -0,0 +1,13 @@ +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/d3-time@3.1.0/LICENSE b/licenses/d3-time@3.1.0/LICENSE new file mode 100644 index 0000000..fbe44bd --- /dev/null +++ b/licenses/d3-time@3.1.0/LICENSE @@ -0,0 +1,13 @@ +Copyright 2010-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/d3-timer@3.0.1/LICENSE b/licenses/d3-timer@3.0.1/LICENSE new file mode 100644 index 0000000..b014515 --- /dev/null +++ b/licenses/d3-timer@3.0.1/LICENSE @@ -0,0 +1,13 @@ +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/date-fns@4.4.0/LICENSE.md b/licenses/date-fns@4.4.0/LICENSE.md new file mode 100644 index 0000000..29c6e85 --- /dev/null +++ b/licenses/date-fns@4.4.0/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Sasha Koss and Lesha Koss https://kossnocorp.mit-license.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/decimal.js-light@2.5.1/LICENCE.md b/licenses/decimal.js-light@2.5.1/LICENCE.md new file mode 100644 index 0000000..538bf23 --- /dev/null +++ b/licenses/decimal.js-light@2.5.1/LICENCE.md @@ -0,0 +1,23 @@ +The MIT Expat Licence. + +Copyright (c) 2020 Michael Mclaughlin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/licenses/deepfilternet3-noise-filter@1.2.1/LICENSE-APACHE b/licenses/deepfilternet3-noise-filter@1.3.0/LICENSE-APACHE similarity index 100% rename from licenses/deepfilternet3-noise-filter@1.2.1/LICENSE-APACHE rename to licenses/deepfilternet3-noise-filter@1.3.0/LICENSE-APACHE diff --git a/licenses/deepfilternet3-noise-filter@1.2.1/LICENSE-MIT b/licenses/deepfilternet3-noise-filter@1.3.0/LICENSE-MIT similarity index 100% rename from licenses/deepfilternet3-noise-filter@1.2.1/LICENSE-MIT rename to licenses/deepfilternet3-noise-filter@1.3.0/LICENSE-MIT diff --git a/licenses/detect-node-es@1.1.0/LICENSE b/licenses/detect-node-es@1.1.0/LICENSE new file mode 100644 index 0000000..3113356 --- /dev/null +++ b/licenses/detect-node-es@1.1.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Ilya Kantor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/dijkstrajs@1.0.3/LICENSE.md b/licenses/dijkstrajs@1.0.3/LICENSE.md new file mode 100644 index 0000000..b662d80 --- /dev/null +++ b/licenses/dijkstrajs@1.0.3/LICENSE.md @@ -0,0 +1,19 @@ +``` +Dijkstra path-finding functions. Adapted from the Dijkstar Python project. + +Copyright (C) 2008 + Wyatt Baldwin + All rights reserved + +Licensed under the MIT license. + + http://www.opensource.org/licenses/mit-license.php + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +``` diff --git a/licenses/electron-builder@26.15.3/LICENSE b/licenses/electron-builder@26.15.3/LICENSE new file mode 100644 index 0000000..7d8fa01 --- /dev/null +++ b/licenses/electron-builder@26.15.3/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Loopline Systems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/licenses/electron@39.8.10/LICENSE b/licenses/electron@39.8.10/LICENSE new file mode 100644 index 0000000..536d54e --- /dev/null +++ b/licenses/electron@39.8.10/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) Electron contributors +Copyright (c) 2013-2020 GitHub Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/licenses/es-toolkit@1.49.0/LICENSE b/licenses/es-toolkit@1.49.0/LICENSE new file mode 100644 index 0000000..69dc6a7 --- /dev/null +++ b/licenses/es-toolkit@1.49.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Viva Republica, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/eslint@10.3.0/LICENSE b/licenses/eslint@10.6.0/LICENSE similarity index 100% rename from licenses/eslint@10.3.0/LICENSE rename to licenses/eslint@10.6.0/LICENSE diff --git a/licenses/eventemitter3@5.0.4/LICENSE b/licenses/eventemitter3@5.0.4/LICENSE new file mode 100644 index 0000000..abcbd54 --- /dev/null +++ b/licenses/eventemitter3@5.0.4/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Arnout Kazemier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/get-nonce@1.0.1/LICENSE b/licenses/get-nonce@1.0.1/LICENSE new file mode 100644 index 0000000..9455bf5 --- /dev/null +++ b/licenses/get-nonce@1.0.1/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Anton Korzunov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/globals@17.6.0/license b/licenses/globals@17.7.0/license similarity index 100% rename from licenses/globals@17.6.0/license rename to licenses/globals@17.7.0/license diff --git a/licenses/immer@10.2.0/LICENSE b/licenses/immer@10.2.0/LICENSE new file mode 100644 index 0000000..c014115 --- /dev/null +++ b/licenses/immer@10.2.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Michel Weststrate + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/internmap@2.0.3/LICENSE b/licenses/internmap@2.0.3/LICENSE new file mode 100644 index 0000000..6fca711 --- /dev/null +++ b/licenses/internmap@2.0.3/LICENSE @@ -0,0 +1,13 @@ +Copyright 2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/licenses/livekit-client@2.18.8/LICENSE b/licenses/livekit-client@2.20.0/LICENSE similarity index 100% rename from licenses/livekit-client@2.18.8/LICENSE rename to licenses/livekit-client@2.20.0/LICENSE diff --git a/licenses/lucide-react@1.14.0/LICENSE b/licenses/lucide-react@1.23.0/LICENSE similarity index 100% rename from licenses/lucide-react@1.14.0/LICENSE rename to licenses/lucide-react@1.23.0/LICENSE diff --git a/licenses/next-themes@0.4.6/license.md b/licenses/next-themes@0.4.6/license.md new file mode 100644 index 0000000..76228cc --- /dev/null +++ b/licenses/next-themes@0.4.6/license.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Paco Coursey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/pngjs@5.0.0/LICENSE b/licenses/pngjs@5.0.0/LICENSE new file mode 100644 index 0000000..6942e25 --- /dev/null +++ b/licenses/pngjs@5.0.0/LICENSE @@ -0,0 +1,20 @@ +pngjs2 original work Copyright (c) 2015 Luke Page & Original Contributors +pngjs derived work Copyright (c) 2012 Kuba Niegowski + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/licenses/prettier@3.8.3/LICENSE b/licenses/prettier@3.9.4/LICENSE similarity index 100% rename from licenses/prettier@3.8.3/LICENSE rename to licenses/prettier@3.9.4/LICENSE diff --git a/licenses/react-day-picker@10.0.1/LICENSE b/licenses/react-day-picker@10.0.1/LICENSE new file mode 100644 index 0000000..07372a1 --- /dev/null +++ b/licenses/react-day-picker@10.0.1/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2026 Giampaolo Bellavite and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/react-dom@19.2.5/LICENSE b/licenses/react-dom@19.2.7/LICENSE similarity index 100% rename from licenses/react-dom@19.2.5/LICENSE rename to licenses/react-dom@19.2.7/LICENSE diff --git a/licenses/react@19.2.5/LICENSE b/licenses/react-is@19.2.7/LICENSE similarity index 100% rename from licenses/react@19.2.5/LICENSE rename to licenses/react-is@19.2.7/LICENSE diff --git a/licenses/react-redux@9.3.0/LICENSE.md b/licenses/react-redux@9.3.0/LICENSE.md new file mode 100644 index 0000000..55bc8df --- /dev/null +++ b/licenses/react-redux@9.3.0/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015-present Dan Abramov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/react-remove-scroll@2.7.2/LICENSE b/licenses/react-remove-scroll@2.7.2/LICENSE new file mode 100644 index 0000000..a194c88 --- /dev/null +++ b/licenses/react-remove-scroll@2.7.2/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Anton Korzunov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/framer-motion@12.38.0/LICENSE.md b/licenses/react-resizable-panels@4.12.0/LICENSE.md similarity index 97% rename from licenses/framer-motion@12.38.0/LICENSE.md rename to licenses/react-resizable-panels@4.12.0/LICENSE.md index b5b8d6a..0569d0a 100644 --- a/licenses/framer-motion@12.38.0/LICENSE.md +++ b/licenses/react-resizable-panels@4.12.0/LICENSE.md @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Framer B.V. +Copyright (c) 2018 Brian Vaughn Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/licenses/react-style-singleton@2.2.3/LICENSE b/licenses/react-style-singleton@2.2.3/LICENSE new file mode 100644 index 0000000..a194c88 --- /dev/null +++ b/licenses/react-style-singleton@2.2.3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Anton Korzunov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/react@19.2.7/LICENSE b/licenses/react@19.2.7/LICENSE new file mode 100644 index 0000000..b93be90 --- /dev/null +++ b/licenses/react@19.2.7/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Meta Platforms, Inc. and affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/redux-thunk@3.1.0/LICENSE.md b/licenses/redux-thunk@3.1.0/LICENSE.md new file mode 100644 index 0000000..c108bf3 --- /dev/null +++ b/licenses/redux-thunk@3.1.0/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015-present Dan Abramov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/redux@5.0.1/LICENSE.md b/licenses/redux@5.0.1/LICENSE.md new file mode 100644 index 0000000..55bc8df --- /dev/null +++ b/licenses/redux@5.0.1/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015-present Dan Abramov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/reselect@5.1.1/LICENSE b/licenses/reselect@5.1.1/LICENSE new file mode 100644 index 0000000..2a957b4 --- /dev/null +++ b/licenses/reselect@5.1.1/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015-2018 Reselect Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/sbom.cyclonedx.json b/licenses/sbom.cyclonedx.json index 4d1284c..8a52ab9 100644 --- a/licenses/sbom.cyclonedx.json +++ b/licenses/sbom.cyclonedx.json @@ -3,7 +3,7 @@ "specVersion": "1.5", "version": 1, "metadata": { - "timestamp": "2026-05-21T10:15:15.541Z", + "timestamp": "2026-07-02T17:59:19.433Z", "tools": [ { "vendor": "OpenAI", @@ -18,10 +18,111 @@ "components": [ { "type": "library", - "bomRef": "pkg:npm/%40codemirror/commands@6.10.3", + "bomRef": "pkg:npm/%40babel/runtime@7.29.7", + "name": "@babel/runtime", + "version": "7.29.7", + "purl": "pkg:npm/%40babel/runtime@7.29.7", + "description": "babel's modular runtime helpers", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://babel.dev/docs/en/next/babel-runtime" + }, + { + "type": "vcs", + "url": "https://github.com/babel/babel.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@babel_runtime@7.29.7" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@babel/runtime" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40base-ui/react@1.6.0", + "name": "@base-ui/react", + "version": "1.6.0", + "purl": "pkg:npm/%40base-ui/react@1.6.0", + "description": "Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://base-ui.com" + }, + { + "type": "vcs", + "url": "git+https://github.com/mui/base-ui.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@base-ui_react@1.6.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@base-ui/react" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40base-ui/utils@0.3.1", + "name": "@base-ui/utils", + "version": "0.3.1", + "purl": "pkg:npm/%40base-ui/utils@0.3.1", + "description": "A collection of React utility functions for Base UI.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "git+https://github.com/mui/base-ui.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@base-ui_utils@0.3.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@base-ui/utils" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40codemirror/commands@6.10.4", "name": "@codemirror/commands", - "version": "6.10.3", - "purl": "pkg:npm/%40codemirror/commands@6.10.3", + "version": "6.10.4", + "purl": "pkg:npm/%40codemirror/commands@6.10.4", "description": "Collection of editing commands for the CodeMirror code editor", "licenses": [ { @@ -33,13 +134,13 @@ "externalReferences": [ { "type": "vcs", - "url": "git+https://github.com/codemirror/commands.git" + "url": "git+https://code.haverbeke.berlin/codemirror/commands.git" } ], "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@codemirror_commands@6.10.3" + "value": "licenses/@codemirror_commands@6.10.4" }, { "name": "local:sourcePackageDir", @@ -80,10 +181,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40codemirror/state@6.6.0", + "bomRef": "pkg:npm/%40codemirror/state@6.7.0", "name": "@codemirror/state", - "version": "6.6.0", - "purl": "pkg:npm/%40codemirror/state@6.6.0", + "version": "6.7.0", + "purl": "pkg:npm/%40codemirror/state@6.7.0", "description": "Editor state data structures for the CodeMirror code editor", "licenses": [ { @@ -95,13 +196,13 @@ "externalReferences": [ { "type": "vcs", - "url": "git+https://github.com/codemirror/state.git" + "url": "git+https://code.haverbeke.berlin/codemirror/state.git" } ], "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@codemirror_state@6.6.0" + "value": "licenses/@codemirror_state@6.7.0" }, { "name": "local:sourcePackageDir", @@ -111,10 +212,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40codemirror/view@6.41.1", + "bomRef": "pkg:npm/%40codemirror/view@6.43.4", "name": "@codemirror/view", - "version": "6.41.1", - "purl": "pkg:npm/%40codemirror/view@6.41.1", + "version": "6.43.4", + "purl": "pkg:npm/%40codemirror/view@6.43.4", "description": "DOM view component for the CodeMirror code editor", "licenses": [ { @@ -132,7 +233,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@codemirror_view@6.41.1" + "value": "licenses/@codemirror_view@6.43.4" }, { "name": "local:sourcePackageDir", @@ -175,6 +276,146 @@ } ] }, + { + "type": "library", + "bomRef": "pkg:npm/%40floating-ui/core@1.7.5", + "name": "@floating-ui/core", + "version": "1.7.5", + "purl": "pkg:npm/%40floating-ui/core@1.7.5", + "description": "Positioning library for floating elements: tooltips, popovers, dropdowns, and more", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://floating-ui.com" + }, + { + "type": "vcs", + "url": "https://github.com/floating-ui/floating-ui.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@floating-ui_core@1.7.5" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@floating-ui/core" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40floating-ui/dom@1.7.6", + "name": "@floating-ui/dom", + "version": "1.7.6", + "purl": "pkg:npm/%40floating-ui/dom@1.7.6", + "description": "Floating UI for the web", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://floating-ui.com" + }, + { + "type": "vcs", + "url": "https://github.com/floating-ui/floating-ui.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@floating-ui_dom@1.7.6" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@floating-ui/dom" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40floating-ui/react-dom@2.1.8", + "name": "@floating-ui/react-dom", + "version": "2.1.8", + "purl": "pkg:npm/%40floating-ui/react-dom@2.1.8", + "description": "Floating UI for React DOM", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://floating-ui.com/docs/react-dom" + }, + { + "type": "vcs", + "url": "https://github.com/floating-ui/floating-ui.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@floating-ui_react-dom@2.1.8" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@floating-ui/react-dom" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40floating-ui/utils@0.2.11", + "name": "@floating-ui/utils", + "version": "0.2.11", + "purl": "pkg:npm/%40floating-ui/utils@0.2.11", + "description": "Utilities for Floating UI", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://floating-ui.com" + }, + { + "type": "vcs", + "url": "https://github.com/floating-ui/floating-ui.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@floating-ui_utils@0.2.11" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@floating-ui/utils" + } + ] + }, { "type": "library", "bomRef": "pkg:npm/%40fontsource-variable/inter@5.2.8", @@ -212,10 +453,45 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40livekit/components-react@2.9.20", + "bomRef": "pkg:npm/%40fontsource-variable/public-sans@5.2.7", + "name": "@fontsource-variable/public-sans", + "version": "5.2.7", + "purl": "pkg:npm/%40fontsource-variable/public-sans@5.2.7", + "description": "Self-host the Public Sans font in a neatly bundled NPM package.", + "licenses": [ + { + "license": { + "id": "OFL-1.1" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://fontsource.org/fonts/public-sans" + }, + { + "type": "vcs", + "url": "git+https://github.com/fontsource/font-files.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@fontsource-variable_public-sans@5.2.7" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@fontsource-variable/public-sans" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40livekit/components-react@2.9.21", "name": "@livekit/components-react", - "version": "2.9.20", - "purl": "pkg:npm/%40livekit/components-react@2.9.20", + "version": "2.9.21", + "purl": "pkg:npm/%40livekit/components-react@2.9.21", "licenses": [ { "license": { @@ -232,7 +508,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@livekit_components-react@2.9.20" + "value": "licenses/@livekit_components-react@2.9.21" }, { "name": "local:sourcePackageDir", @@ -271,16 +547,630 @@ }, { "name": "local:sourcePackageDir", - "value": "apps/web/node_modules/@noble/curves" + "value": "packages/crypto/node_modules/@noble/curves" } ] }, { "type": "library", - "bomRef": "pkg:npm/%40tailwindcss/vite@4.2.4", + "bomRef": "pkg:npm/%40noble/hashes@2.2.0", + "name": "@noble/hashes", + "version": "2.2.0", + "purl": "pkg:npm/%40noble/hashes@2.2.0", + "description": "Audited & minimal 0-dependency JS implementation of SHA, RIPEMD, BLAKE, HMAC, HKDF, PBKDF & Scrypt", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://paulmillr.com/noble/" + }, + { + "type": "vcs", + "url": "git+https://github.com/paulmillr/noble-hashes.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@noble_hashes@2.2.0" + }, + { + "name": "local:sourcePackageDir", + "value": "packages/crypto/node_modules/@noble/hashes" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/primitive@1.1.4", + "name": "@radix-ui/primitive", + "version": "1.1.4", + "purl": "pkg:npm/%40radix-ui/primitive@1.1.4", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_primitive@1.1.4" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/primitive" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-compose-refs@1.1.3", + "name": "@radix-ui/react-compose-refs", + "version": "1.1.3", + "purl": "pkg:npm/%40radix-ui/react-compose-refs@1.1.3", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-compose-refs@1.1.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-compose-refs" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-context@1.1.4", + "name": "@radix-ui/react-context", + "version": "1.1.4", + "purl": "pkg:npm/%40radix-ui/react-context@1.1.4", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-context@1.1.4" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-context" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-dialog@1.1.18", + "name": "@radix-ui/react-dialog", + "version": "1.1.18", + "purl": "pkg:npm/%40radix-ui/react-dialog@1.1.18", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-dialog@1.1.18" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-dialog" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-dismissable-layer@1.1.14", + "name": "@radix-ui/react-dismissable-layer", + "version": "1.1.14", + "purl": "pkg:npm/%40radix-ui/react-dismissable-layer@1.1.14", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-dismissable-layer@1.1.14" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-dismissable-layer" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-focus-guards@1.1.4", + "name": "@radix-ui/react-focus-guards", + "version": "1.1.4", + "purl": "pkg:npm/%40radix-ui/react-focus-guards@1.1.4", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-focus-guards@1.1.4" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-focus-guards" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-focus-scope@1.1.11", + "name": "@radix-ui/react-focus-scope", + "version": "1.1.11", + "purl": "pkg:npm/%40radix-ui/react-focus-scope@1.1.11", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-focus-scope@1.1.11" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-focus-scope" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-id@1.1.2", + "name": "@radix-ui/react-id", + "version": "1.1.2", + "purl": "pkg:npm/%40radix-ui/react-id@1.1.2", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-id@1.1.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-id" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-portal@1.1.13", + "name": "@radix-ui/react-portal", + "version": "1.1.13", + "purl": "pkg:npm/%40radix-ui/react-portal@1.1.13", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-portal@1.1.13" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-portal" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-presence@1.1.6", + "name": "@radix-ui/react-presence", + "version": "1.1.6", + "purl": "pkg:npm/%40radix-ui/react-presence@1.1.6", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-presence@1.1.6" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-presence" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-primitive@2.1.7", + "name": "@radix-ui/react-primitive", + "version": "2.1.7", + "purl": "pkg:npm/%40radix-ui/react-primitive@2.1.7", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-primitive@2.1.7" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-primitive" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-slot@1.3.0", + "name": "@radix-ui/react-slot", + "version": "1.3.0", + "purl": "pkg:npm/%40radix-ui/react-slot@1.3.0", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-slot@1.3.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-slot" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-use-callback-ref@1.1.2", + "name": "@radix-ui/react-use-callback-ref", + "version": "1.1.2", + "purl": "pkg:npm/%40radix-ui/react-use-callback-ref@1.1.2", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-use-callback-ref@1.1.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-use-callback-ref" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-use-controllable-state@1.2.3", + "name": "@radix-ui/react-use-controllable-state", + "version": "1.2.3", + "purl": "pkg:npm/%40radix-ui/react-use-controllable-state@1.2.3", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-use-controllable-state@1.2.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-use-controllable-state" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-use-effect-event@0.0.2", + "name": "@radix-ui/react-use-effect-event", + "version": "0.0.2", + "purl": "pkg:npm/%40radix-ui/react-use-effect-event@0.0.2", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-use-effect-event@0.0.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-use-effect-event" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40radix-ui/react-use-layout-effect@1.1.2", + "name": "@radix-ui/react-use-layout-effect", + "version": "1.1.2", + "purl": "pkg:npm/%40radix-ui/react-use-layout-effect@1.1.2", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://radix-ui.com/primitives" + }, + { + "type": "vcs", + "url": "git+https://github.com/radix-ui/primitives.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@radix-ui_react-use-layout-effect@1.1.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@radix-ui/react-use-layout-effect" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40reduxjs/toolkit@2.12.0", + "name": "@reduxjs/toolkit", + "version": "2.12.0", + "purl": "pkg:npm/%40reduxjs/toolkit@2.12.0", + "description": "The official, opinionated, batteries-included toolset for efficient Redux development", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://redux-toolkit.js.org" + }, + { + "type": "vcs", + "url": "git+https://github.com/reduxjs/redux-toolkit.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@reduxjs_toolkit@2.12.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@reduxjs/toolkit" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40tailwindcss/vite@4.3.2", "name": "@tailwindcss/vite", - "version": "4.2.4", - "purl": "pkg:npm/%40tailwindcss/vite@4.2.4", + "version": "4.3.2", + "purl": "pkg:npm/%40tailwindcss/vite@4.3.2", "description": "A utility-first CSS framework for rapidly building custom user interfaces.", "licenses": [ { @@ -302,7 +1192,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tailwindcss_vite@4.2.4" + "value": "licenses/@tailwindcss_vite@4.3.2" }, { "name": "local:sourcePackageDir", @@ -312,11 +1202,11 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40tanstack/react-query@5.100.8", - "name": "@tanstack/react-query", - "version": "5.100.8", - "purl": "pkg:npm/%40tanstack/react-query@5.100.8", - "description": "Hooks for managing, caching and syncing asynchronous and remote data in React", + "bomRef": "pkg:npm/%40tanstack/devtools-event-client@0.3.5", + "name": "@tanstack/devtools-event-client", + "version": "0.3.5", + "purl": "pkg:npm/%40tanstack/devtools-event-client@0.3.5", + "description": "TanStack Event Client is a lightweight event client for TanStack Devtools event bus.", "licenses": [ { "license": { @@ -327,30 +1217,30 @@ "externalReferences": [ { "type": "website", - "url": "https://tanstack.com/query" + "url": "https://tanstack.com/devtools" }, { "type": "vcs", - "url": "git+https://github.com/TanStack/query.git" + "url": "https://github.com/TanStack/devtools.git" } ], "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tanstack_react-query@5.100.8" + "value": "licenses/@tanstack_devtools-event-client@0.3.5" }, { "name": "local:sourcePackageDir", - "value": "packages/call/node_modules/@tanstack/react-query" + "value": "apps/web/node_modules/@tanstack/devtools-event-client" } ] }, { "type": "library", - "bomRef": "pkg:npm/%40tanstack/react-router@1.169.1", - "name": "@tanstack/react-router", - "version": "1.169.1", - "purl": "pkg:npm/%40tanstack/react-router@1.169.1", + "bomRef": "pkg:npm/%40tanstack/history@1.162.0", + "name": "@tanstack/history", + "version": "1.162.0", + "purl": "pkg:npm/%40tanstack/history@1.162.0", "description": "Modern and scalable routing for React applications", "licenses": [ { @@ -372,7 +1262,147 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tanstack_react-router@1.169.1" + "value": "licenses/@tanstack_history@1.162.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@tanstack/history" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40tanstack/pacer@0.21.1", + "name": "@tanstack/pacer", + "version": "0.21.1", + "purl": "pkg:npm/%40tanstack/pacer@0.21.1", + "description": "Utilities for debouncing, throttling, rate-limiting, queuing, and more.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://tanstack.com/pacer" + }, + { + "type": "vcs", + "url": "git+https://github.com/TanStack/pacer.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@tanstack_pacer@0.21.1" + }, + { + "name": "local:sourcePackageDir", + "value": "packages/chat/node_modules/@tanstack/pacer" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40tanstack/query-core@5.101.2", + "name": "@tanstack/query-core", + "version": "5.101.2", + "purl": "pkg:npm/%40tanstack/query-core@5.101.2", + "description": "The framework agnostic core that powers TanStack Query", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://tanstack.com/query" + }, + { + "type": "vcs", + "url": "git+https://github.com/TanStack/query.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@tanstack_query-core@5.101.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@tanstack/query-core" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40tanstack/react-query@5.101.2", + "name": "@tanstack/react-query", + "version": "5.101.2", + "purl": "pkg:npm/%40tanstack/react-query@5.101.2", + "description": "Hooks for managing, caching and syncing asynchronous and remote data in React", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://tanstack.com/query" + }, + { + "type": "vcs", + "url": "git+https://github.com/TanStack/query.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@tanstack_react-query@5.101.2" + }, + { + "name": "local:sourcePackageDir", + "value": "packages/chat/node_modules/@tanstack/react-query" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40tanstack/react-router@1.170.17", + "name": "@tanstack/react-router", + "version": "1.170.17", + "purl": "pkg:npm/%40tanstack/react-router@1.170.17", + "description": "Modern and scalable routing for React applications", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://tanstack.com/router" + }, + { + "type": "vcs", + "url": "git+https://github.com/TanStack/router.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@tanstack_react-router@1.170.17" }, { "name": "local:sourcePackageDir", @@ -382,10 +1412,45 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40tanstack/react-virtual@3.13.24", + "bomRef": "pkg:npm/%40tanstack/react-store@0.9.3", + "name": "@tanstack/react-store", + "version": "0.9.3", + "purl": "pkg:npm/%40tanstack/react-store@0.9.3", + "description": "Framework agnostic type-safe store w/ reactive framework adapters", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://tanstack.com/store" + }, + { + "type": "vcs", + "url": "https://github.com/TanStack/store.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@tanstack_react-store@0.9.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@tanstack/react-store" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40tanstack/react-virtual@3.14.5", "name": "@tanstack/react-virtual", - "version": "3.13.24", - "purl": "pkg:npm/%40tanstack/react-virtual@3.13.24", + "version": "3.14.5", + "purl": "pkg:npm/%40tanstack/react-virtual@3.14.5", "description": "Headless UI for virtualizing scrollable elements in React", "licenses": [ { @@ -407,7 +1472,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tanstack_react-virtual@3.13.24" + "value": "licenses/@tanstack_react-virtual@3.14.5" }, { "name": "local:sourcePackageDir", @@ -417,10 +1482,115 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40tauri-apps/api@2.11.0", + "bomRef": "pkg:npm/%40tanstack/router-core@1.171.14", + "name": "@tanstack/router-core", + "version": "1.171.14", + "purl": "pkg:npm/%40tanstack/router-core@1.171.14", + "description": "Modern and scalable routing for React applications", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://tanstack.com/router" + }, + { + "type": "vcs", + "url": "git+https://github.com/TanStack/router.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@tanstack_router-core@1.171.14" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@tanstack/router-core" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40tanstack/store@0.9.3", + "name": "@tanstack/store", + "version": "0.9.3", + "purl": "pkg:npm/%40tanstack/store@0.9.3", + "description": "Framework agnostic type-safe store w/ reactive framework adapters", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://tanstack.com/store" + }, + { + "type": "vcs", + "url": "git+https://github.com/TanStack/store.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@tanstack_store@0.9.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@tanstack/store" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40tanstack/virtual-core@3.17.3", + "name": "@tanstack/virtual-core", + "version": "3.17.3", + "purl": "pkg:npm/%40tanstack/virtual-core@3.17.3", + "description": "Headless UI for virtualizing scrollable elements in TS/JS + Frameworks", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://tanstack.com/virtual" + }, + { + "type": "vcs", + "url": "git+https://github.com/TanStack/virtual.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/@tanstack_virtual-core@3.17.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/@tanstack/virtual-core" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/%40tauri-apps/api@2.11.1", "name": "@tauri-apps/api", - "version": "2.11.0", - "purl": "pkg:npm/%40tauri-apps/api@2.11.0", + "version": "2.11.1", + "purl": "pkg:npm/%40tauri-apps/api@2.11.1", "description": "Tauri API definitions", "licenses": [ { @@ -442,7 +1612,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tauri-apps_api@2.11.0" + "value": "licenses/@tauri-apps_api@2.11.1" }, { "name": "local:sourcePackageDir", @@ -452,10 +1622,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40tauri-apps/cli@2.11.0", + "bomRef": "pkg:npm/%40tauri-apps/cli@2.11.4", "name": "@tauri-apps/cli", - "version": "2.11.0", - "purl": "pkg:npm/%40tauri-apps/cli@2.11.0", + "version": "2.11.4", + "purl": "pkg:npm/%40tauri-apps/cli@2.11.4", "description": "Command line interface for building Tauri apps", "licenses": [ { @@ -477,7 +1647,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tauri-apps_cli@2.11.0" + "value": "licenses/@tauri-apps_cli@2.11.4" }, { "name": "local:sourcePackageDir", @@ -487,10 +1657,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40tauri-apps/plugin-barcode-scanner@2.4.4", + "bomRef": "pkg:npm/%40tauri-apps/plugin-barcode-scanner@2.4.5", "name": "@tauri-apps/plugin-barcode-scanner", - "version": "2.4.4", - "purl": "pkg:npm/%40tauri-apps/plugin-barcode-scanner@2.4.4", + "version": "2.4.5", + "purl": "pkg:npm/%40tauri-apps/plugin-barcode-scanner@2.4.5", "description": "Scan QR codes, EAN-13 and other kinds of barcodes on Android and iOS", "licenses": [ { @@ -508,7 +1678,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tauri-apps_plugin-barcode-scanner@2.4.4" + "value": "licenses/@tauri-apps_plugin-barcode-scanner@2.4.5" }, { "name": "local:sourcePackageDir", @@ -549,11 +1719,11 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40tauri-apps/plugin-opener@2.5.4", - "name": "@tauri-apps/plugin-opener", - "version": "2.5.4", - "purl": "pkg:npm/%40tauri-apps/plugin-opener@2.5.4", - "description": "Open files and URLs using their default application.", + "bomRef": "pkg:npm/%40tauri-apps/plugin-log@2.8.0", + "name": "@tauri-apps/plugin-log", + "version": "2.8.0", + "purl": "pkg:npm/%40tauri-apps/plugin-log@2.8.0", + "description": "Configurable logging for your Tauri app.", "licenses": [ { "license": { @@ -570,43 +1740,55 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tauri-apps_plugin-opener@2.5.4" + "value": "licenses/@tauri-apps_plugin-log@2.8.0" }, { "name": "local:sourcePackageDir", - "value": "apps/tauri/node_modules/@tauri-apps/plugin-opener" + "value": "apps/tauri/node_modules/@tauri-apps/plugin-log" } ] }, { "type": "library", - "bomRef": "pkg:npm/%40tensamin/ttp-core@0.0.19", - "name": "@tensamin/ttp-core", - "version": "0.0.19", - "purl": "pkg:npm/%40tensamin/ttp-core@0.0.19", - "externalReferences": [], + "bomRef": "pkg:npm/%40tauri-apps/plugin-notification@2.3.3", + "name": "@tauri-apps/plugin-notification", + "version": "2.3.3", + "purl": "pkg:npm/%40tauri-apps/plugin-notification@2.3.3", + "licenses": [ + { + "license": { + "name": "MIT OR Apache-2.0" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/tauri-apps/plugins-workspace" + } + ], "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tensamin_ttp-core@0.0.19" + "value": "licenses/@tauri-apps_plugin-notification@2.3.3" }, { "name": "local:sourcePackageDir", - "value": "packages/ttp/node_modules/@tensamin/ttp-core" + "value": "apps/tauri/node_modules/@tauri-apps/plugin-notification" } ] }, { "type": "library", - "bomRef": "pkg:npm/%40tensamin/ui@0.0.34", + "bomRef": "pkg:npm/%40tensamin/ui@0.0.39", "name": "@tensamin/ui", - "version": "0.0.34", - "purl": "pkg:npm/%40tensamin/ui@0.0.34", + "version": "0.0.39", + "purl": "pkg:npm/%40tensamin/ui@0.0.39", "externalReferences": [], "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@tensamin_ui@0.0.34" + "value": "licenses/@tensamin_ui@0.0.39" }, { "name": "local:sourcePackageDir", @@ -616,10 +1798,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40types/node@25.6.0", + "bomRef": "pkg:npm/%40types/node@25.9.4", "name": "@types/node", - "version": "25.6.0", - "purl": "pkg:npm/%40types/node@25.6.0", + "version": "25.9.4", + "purl": "pkg:npm/%40types/node@25.9.4", "description": "TypeScript definitions for node", "licenses": [ { @@ -641,11 +1823,11 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@types_node@25.6.0" + "value": "licenses/@types_node@25.9.4" }, { "name": "local:sourcePackageDir", - "value": "node_modules/@types/node" + "value": "apps/electron/node_modules/@types/node" } ] }, @@ -686,10 +1868,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40types/react@19.2.14", + "bomRef": "pkg:npm/%40types/react@19.2.17", "name": "@types/react", - "version": "19.2.14", - "purl": "pkg:npm/%40types/react@19.2.14", + "version": "19.2.17", + "purl": "pkg:npm/%40types/react@19.2.17", "description": "TypeScript definitions for react", "licenses": [ { @@ -711,7 +1893,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@types_react@19.2.14" + "value": "licenses/@types_react@19.2.17" }, { "name": "local:sourcePackageDir", @@ -756,10 +1938,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40typescript-eslint/parser@8.59.1", + "bomRef": "pkg:npm/%40typescript-eslint/parser@8.62.1", "name": "@typescript-eslint/parser", - "version": "8.59.1", - "purl": "pkg:npm/%40typescript-eslint/parser@8.59.1", + "version": "8.62.1", + "purl": "pkg:npm/%40typescript-eslint/parser@8.62.1", "description": "An ESLint custom parser which leverages TypeScript ESTree", "licenses": [ { @@ -781,7 +1963,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@typescript-eslint_parser@8.59.1" + "value": "licenses/@typescript-eslint_parser@8.62.1" }, { "name": "local:sourcePackageDir", @@ -791,10 +1973,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/%40vitejs/plugin-react@6.0.1", + "bomRef": "pkg:npm/%40vitejs/plugin-react@6.0.3", "name": "@vitejs/plugin-react", - "version": "6.0.1", - "purl": "pkg:npm/%40vitejs/plugin-react@6.0.1", + "version": "6.0.3", + "purl": "pkg:npm/%40vitejs/plugin-react@6.0.3", "description": "The default Vite plugin for React projects", "licenses": [ { @@ -816,7 +1998,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/@vitejs_plugin-react@6.0.1" + "value": "licenses/@vitejs_plugin-react@6.0.3" }, { "name": "local:sourcePackageDir", @@ -824,6 +2006,41 @@ } ] }, + { + "type": "library", + "bomRef": "pkg:npm/aria-hidden@1.2.6", + "name": "aria-hidden", + "version": "1.2.6", + "purl": "pkg:npm/aria-hidden@1.2.6", + "description": "Cast aria-hidden to everything, except...", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/theKashey/aria-hidden#readme" + }, + { + "type": "vcs", + "url": "git+https://github.com/theKashey/aria-hidden.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/aria-hidden@1.2.6" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/aria-hidden" + } + ] + }, { "type": "library", "bomRef": "pkg:npm/class-variance-authority@0.7.1", @@ -890,6 +2107,40 @@ } ] }, + { + "type": "library", + "bomRef": "pkg:npm/cmdk@1.1.1", + "name": "cmdk", + "version": "1.1.1", + "purl": "pkg:npm/cmdk@1.1.1", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/pacocoursey/cmdk#readme" + }, + { + "type": "vcs", + "url": "git+https://github.com/pacocoursey/cmdk.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/cmdk@1.1.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/cmdk" + } + ] + }, { "type": "library", "bomRef": "pkg:npm/comlink@4.4.2", @@ -917,16 +2168,493 @@ }, { "name": "local:sourcePackageDir", - "value": "apps/web/node_modules/comlink" + "value": "packages/crypto/node_modules/comlink" } ] }, { "type": "library", - "bomRef": "pkg:npm/deepfilternet3-noise-filter@1.2.1", + "bomRef": "pkg:npm/cookie-es@3.1.1", + "name": "cookie-es", + "version": "3.1.1", + "purl": "pkg:npm/cookie-es@3.1.1", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "unjs/cookie-es" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/cookie-es@3.1.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/cookie-es" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-array@3.2.4", + "name": "d3-array", + "version": "3.2.4", + "purl": "pkg:npm/d3-array@3.2.4", + "description": "Array manipulation, ordering, searching, summarizing, etc.", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-array/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-array.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-array@3.2.4" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-array" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-color@3.1.0", + "name": "d3-color", + "version": "3.1.0", + "purl": "pkg:npm/d3-color@3.1.0", + "description": "Color spaces! RGB, HSL, Cubehelix, Lab and HCL (Lch).", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-color/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-color.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-color@3.1.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-color" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-ease@3.0.1", + "name": "d3-ease", + "version": "3.0.1", + "purl": "pkg:npm/d3-ease@3.0.1", + "description": "Easing functions for smooth animation.", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-ease/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-ease.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-ease@3.0.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-ease" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-format@3.1.2", + "name": "d3-format", + "version": "3.1.2", + "purl": "pkg:npm/d3-format@3.1.2", + "description": "Format numbers for human consumption.", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-format/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-format.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-format@3.1.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-format" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-interpolate@3.0.1", + "name": "d3-interpolate", + "version": "3.0.1", + "purl": "pkg:npm/d3-interpolate@3.0.1", + "description": "Interpolate numbers, colors, strings, arrays, objects, whatever!", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-interpolate/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-interpolate.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-interpolate@3.0.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-interpolate" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-path@3.1.0", + "name": "d3-path", + "version": "3.1.0", + "purl": "pkg:npm/d3-path@3.1.0", + "description": "Serialize Canvas path commands to SVG.", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-path/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-path.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-path@3.1.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-path" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-scale@4.0.2", + "name": "d3-scale", + "version": "4.0.2", + "purl": "pkg:npm/d3-scale@4.0.2", + "description": "Encodings that map abstract data to visual representation.", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-scale/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-scale.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-scale@4.0.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-scale" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-shape@3.2.0", + "name": "d3-shape", + "version": "3.2.0", + "purl": "pkg:npm/d3-shape@3.2.0", + "description": "Graphical primitives for visualization, such as lines and areas.", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-shape/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-shape.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-shape@3.2.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-shape" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-time@3.1.0", + "name": "d3-time", + "version": "3.1.0", + "purl": "pkg:npm/d3-time@3.1.0", + "description": "A calculator for humanity’s peculiar conventions of time.", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-time/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-time.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-time@3.1.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-time" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-time-format@4.1.0", + "name": "d3-time-format", + "version": "4.1.0", + "purl": "pkg:npm/d3-time-format@4.1.0", + "description": "A JavaScript time formatter and parser inspired by strftime and strptime.", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-time-format/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-time-format.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-time-format@4.1.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-time-format" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/d3-timer@3.0.1", + "name": "d3-timer", + "version": "3.0.1", + "purl": "pkg:npm/d3-timer@3.0.1", + "description": "An efficient queue capable of managing thousands of concurrent animations.", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://d3js.org/d3-timer/" + }, + { + "type": "vcs", + "url": "https://github.com/d3/d3-timer.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/d3-timer@3.0.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/d3-timer" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/date-fns@4.4.0", + "name": "date-fns", + "version": "4.4.0", + "purl": "pkg:npm/date-fns@4.4.0", + "description": "Modern JavaScript date utility library", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/date-fns/date-fns" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/date-fns@4.4.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/date-fns" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/decimal.js-light@2.5.1", + "name": "decimal.js-light", + "version": "2.5.1", + "purl": "pkg:npm/decimal.js-light@2.5.1", + "description": "An arbitrary-precision Decimal type for JavaScript.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/MikeMcl/decimal.js-light.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/decimal.js-light@2.5.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/decimal.js-light" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/deepfilternet3-noise-filter@1.3.0", "name": "deepfilternet3-noise-filter", - "version": "1.2.1", - "purl": "pkg:npm/deepfilternet3-noise-filter@1.2.1", + "version": "1.3.0", + "purl": "pkg:npm/deepfilternet3-noise-filter@1.3.0", "description": "Custom audio processor with DeepFilterNet3 noise filtering integrated with LiveKit client", "licenses": [ { @@ -948,7 +2676,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/deepfilternet3-noise-filter@1.2.1" + "value": "licenses/deepfilternet3-noise-filter@1.3.0" }, { "name": "local:sourcePackageDir", @@ -956,6 +2684,282 @@ } ] }, + { + "type": "library", + "bomRef": "pkg:npm/detect-node-es@1.1.0", + "name": "detect-node-es", + "version": "1.1.0", + "purl": "pkg:npm/detect-node-es@1.1.0", + "description": "Detect Node.JS (as opposite to browser environment). ESM modification", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/thekashey/detect-node" + }, + { + "type": "vcs", + "url": "https://github.com/thekashey/detect-node" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/detect-node-es@1.1.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/detect-node-es" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/dijkstrajs@1.0.3", + "name": "dijkstrajs", + "version": "1.0.3", + "purl": "pkg:npm/dijkstrajs@1.0.3", + "description": "A simple JavaScript implementation of Dijkstra's single-source shortest-paths algorithm.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/tcort/dijkstrajs" + }, + { + "type": "vcs", + "url": "git://github.com/tcort/dijkstrajs" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/dijkstrajs@1.0.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/dijkstrajs" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/electron@39.8.10", + "name": "electron", + "version": "39.8.10", + "purl": "pkg:npm/electron@39.8.10", + "description": "Build cross platform desktop apps with JavaScript, HTML, and CSS", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/electron/electron" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/electron@39.8.10" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/electron/node_modules/electron" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/electron-builder@26.15.3", + "name": "electron-builder", + "version": "26.15.3", + "purl": "pkg:npm/electron-builder@26.15.3", + "description": "A complete solution to package and build a ready for distribution Electron app for MacOS, Windows and Linux with “auto update” support out of the box", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/electron-userland/electron-builder" + }, + { + "type": "vcs", + "url": "git+https://github.com/electron-userland/electron-builder.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/electron-builder@26.15.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/electron/node_modules/electron-builder" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/embla-carousel@8.6.0", + "name": "embla-carousel", + "version": "8.6.0", + "purl": "pkg:npm/embla-carousel@8.6.0", + "description": "A lightweight carousel library with fluid motion and great swipe precision", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://www.embla-carousel.com" + }, + { + "type": "vcs", + "url": "git+https://github.com/davidjerleke/embla-carousel" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/embla-carousel@8.6.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/embla-carousel" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/embla-carousel-react@8.6.0", + "name": "embla-carousel-react", + "version": "8.6.0", + "purl": "pkg:npm/embla-carousel-react@8.6.0", + "description": "A lightweight carousel library with fluid motion and great swipe precision", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://www.embla-carousel.com" + }, + { + "type": "vcs", + "url": "git+https://github.com/davidjerleke/embla-carousel" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/embla-carousel-react@8.6.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/embla-carousel-react" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/embla-carousel-reactive-utils@8.6.0", + "name": "embla-carousel-reactive-utils", + "version": "8.6.0", + "purl": "pkg:npm/embla-carousel-reactive-utils@8.6.0", + "description": "Reactive utilities for Embla Carousel", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://www.embla-carousel.com" + }, + { + "type": "vcs", + "url": "git+https://github.com/davidjerleke/embla-carousel" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/embla-carousel-reactive-utils@8.6.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/embla-carousel-reactive-utils" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/es-toolkit@1.49.0", + "name": "es-toolkit", + "version": "1.49.0", + "purl": "pkg:npm/es-toolkit@1.49.0", + "description": "A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://es-toolkit.dev" + }, + { + "type": "vcs", + "url": "https://github.com/toss/es-toolkit.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/es-toolkit@1.49.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/es-toolkit" + } + ] + }, { "type": "library", "bomRef": "pkg:npm/esbuild@0.25.12", @@ -983,16 +2987,16 @@ }, { "name": "local:sourcePackageDir", - "value": "apps/web/node_modules/esbuild" + "value": "apps/electron/node_modules/esbuild" } ] }, { "type": "library", - "bomRef": "pkg:npm/eslint@10.3.0", + "bomRef": "pkg:npm/eslint@10.6.0", "name": "eslint", - "version": "10.3.0", - "purl": "pkg:npm/eslint@10.3.0", + "version": "10.6.0", + "purl": "pkg:npm/eslint@10.6.0", "description": "An AST-based pattern checker for JavaScript.", "licenses": [ { @@ -1014,7 +3018,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/eslint@10.3.0" + "value": "licenses/eslint@10.6.0" }, { "name": "local:sourcePackageDir", @@ -1059,11 +3063,11 @@ }, { "type": "library", - "bomRef": "pkg:npm/framer-motion@12.38.0", - "name": "framer-motion", - "version": "12.38.0", - "purl": "pkg:npm/framer-motion@12.38.0", - "description": "A simple and powerful JavaScript animation library", + "bomRef": "pkg:npm/eventemitter3@5.0.4", + "name": "eventemitter3", + "version": "5.0.4", + "purl": "pkg:npm/eventemitter3@5.0.4", + "description": "EventEmitter3 focuses on performance while maintaining a Node.js AND browser compatible interface.", "licenses": [ { "license": { @@ -1074,26 +3078,96 @@ "externalReferences": [ { "type": "vcs", - "url": "https://github.com/motiondivision/motion/" + "url": "git://github.com/primus/eventemitter3.git" } ], "properties": [ { "name": "local:licenseFolder", - "value": "licenses/framer-motion@12.38.0" + "value": "licenses/eventemitter3@5.0.4" }, { "name": "local:sourcePackageDir", - "value": "apps/web/node_modules/framer-motion" + "value": "apps/web/node_modules/eventemitter3" } ] }, { "type": "library", - "bomRef": "pkg:npm/globals@17.6.0", + "bomRef": "pkg:npm/fallow@2.104.0", + "name": "fallow", + "version": "2.104.0", + "purl": "pkg:npm/fallow@2.104.0", + "description": "Deterministic codebase intelligence for TypeScript and JavaScript. Quality, risk, architecture, dependencies, duplication, and safe cleanup evidence for humans, CI, and agents. Optional runtime intelligence layer (Fallow Runtime) adds production execution evidence. Rust-native, sub-second, zero-config framework support.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://docs.fallow.tools" + }, + { + "type": "vcs", + "url": "git+https://github.com/fallow-rs/fallow.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/fallow@2.104.0" + }, + { + "name": "local:sourcePackageDir", + "value": "node_modules/fallow" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/get-nonce@1.0.1", + "name": "get-nonce", + "version": "1.0.1", + "purl": "pkg:npm/get-nonce@1.0.1", + "description": "returns nonce", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/theKashey/get-nonce" + }, + { + "type": "vcs", + "url": "git@github.com:theKashey/get-nonce.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/get-nonce@1.0.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/get-nonce" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/globals@17.7.0", "name": "globals", - "version": "17.6.0", - "purl": "pkg:npm/globals@17.6.0", + "version": "17.7.0", + "purl": "pkg:npm/globals@17.7.0", "description": "Global identifiers from different JavaScript environments", "licenses": [ { @@ -1111,7 +3185,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/globals@17.6.0" + "value": "licenses/globals@17.7.0" }, { "name": "local:sourcePackageDir", @@ -1119,6 +3193,111 @@ } ] }, + { + "type": "library", + "bomRef": "pkg:npm/immer@10.2.0", + "name": "immer", + "version": "10.2.0", + "purl": "pkg:npm/immer@10.2.0", + "description": "Create your next immutable state by mutating the current one", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/immerjs/immer#readme" + }, + { + "type": "vcs", + "url": "https://github.com/immerjs/immer.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/immer@10.2.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/immer" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/input-otp@1.4.2", + "name": "input-otp", + "version": "1.4.2", + "purl": "pkg:npm/input-otp@1.4.2", + "description": "One-time password input component for React.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://input-otp.rodz.dev/" + }, + { + "type": "vcs", + "url": "git+https://github.com/guilhermerodz/input-otp.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/input-otp@1.4.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/input-otp" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/internmap@2.0.3", + "name": "internmap", + "version": "2.0.3", + "purl": "pkg:npm/internmap@2.0.3", + "description": "Map and Set with automatic key interning", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/mbostock/internmap/" + }, + { + "type": "vcs", + "url": "https://github.com/mbostock/internmap.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/internmap@2.0.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/internmap" + } + ] + }, { "type": "library", "bomRef": "pkg:npm/jsonc-parser@3.3.1", @@ -1152,10 +3331,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/livekit-client@2.18.8", + "bomRef": "pkg:npm/livekit-client@2.20.0", "name": "livekit-client", - "version": "2.18.8", - "purl": "pkg:npm/livekit-client@2.18.8", + "version": "2.20.0", + "purl": "pkg:npm/livekit-client@2.20.0", "description": "JavaScript/TypeScript client SDK for LiveKit", "licenses": [ { @@ -1173,7 +3352,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/livekit-client@2.18.8" + "value": "licenses/livekit-client@2.20.0" }, { "name": "local:sourcePackageDir", @@ -1183,10 +3362,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/lucide-react@1.14.0", + "bomRef": "pkg:npm/lucide-react@1.23.0", "name": "lucide-react", - "version": "1.14.0", - "purl": "pkg:npm/lucide-react@1.14.0", + "version": "1.23.0", + "purl": "pkg:npm/lucide-react@1.23.0", "description": "A Lucide icon library package for React applications.", "licenses": [ { @@ -1208,20 +3387,104 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/lucide-react@1.14.0" + "value": "licenses/lucide-react@1.23.0" }, { "name": "local:sourcePackageDir", - "value": "apps/tauri/node_modules/lucide-react" + "value": "apps/web/node_modules/lucide-react" } ] }, { "type": "library", - "bomRef": "pkg:npm/prettier@3.8.3", + "bomRef": "pkg:npm/mtp@0.1.0", + "name": "mtp", + "version": "0.1.0", + "purl": "pkg:npm/mtp@0.1.0", + "description": "MTP TypeScript SDK", + "externalReferences": [], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/mtp@0.1.0" + }, + { + "name": "local:sourcePackageDir", + "value": "packages/mtp/node_modules/mtp" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/next-themes@0.4.6", + "name": "next-themes", + "version": "0.4.6", + "purl": "pkg:npm/next-themes@0.4.6", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/pacocoursey/next-themes.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/next-themes@0.4.6" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/next-themes" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/pngjs@5.0.0", + "name": "pngjs", + "version": "5.0.0", + "purl": "pkg:npm/pngjs@5.0.0", + "description": "PNG encoder/decoder in pure JS, supporting any bit size & interlace, async & sync with full test suite.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/lukeapage/pngjs" + }, + { + "type": "vcs", + "url": "git://github.com/lukeapage/pngjs.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/pngjs@5.0.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/pngjs" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/prettier@3.9.4", "name": "prettier", - "version": "3.8.3", - "purl": "pkg:npm/prettier@3.8.3", + "version": "3.9.4", + "purl": "pkg:npm/prettier@3.9.4", "description": "Prettier is an opinionated code formatter", "licenses": [ { @@ -1243,7 +3506,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/prettier@3.8.3" + "value": "licenses/prettier@3.9.4" }, { "name": "local:sourcePackageDir", @@ -1288,10 +3551,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/react@19.2.5", + "bomRef": "pkg:npm/react@19.2.7", "name": "react", - "version": "19.2.5", - "purl": "pkg:npm/react@19.2.5", + "version": "19.2.7", + "purl": "pkg:npm/react@19.2.7", "description": "React is a JavaScript library for building user interfaces.", "licenses": [ { @@ -1313,7 +3576,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/react@19.2.5" + "value": "licenses/react@19.2.7" }, { "name": "local:sourcePackageDir", @@ -1323,10 +3586,45 @@ }, { "type": "library", - "bomRef": "pkg:npm/react-dom@19.2.5", + "bomRef": "pkg:npm/react-day-picker@10.0.1", + "name": "react-day-picker", + "version": "10.0.1", + "purl": "pkg:npm/react-day-picker@10.0.1", + "description": "Customizable Date Picker for React", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://daypicker.dev" + }, + { + "type": "vcs", + "url": "git+https://github.com/gpbl/react-day-picker.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/react-day-picker@10.0.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/react-day-picker" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/react-dom@19.2.7", "name": "react-dom", - "version": "19.2.5", - "purl": "pkg:npm/react-dom@19.2.5", + "version": "19.2.7", + "purl": "pkg:npm/react-dom@19.2.7", "description": "React package for working with the DOM.", "licenses": [ { @@ -1348,7 +3646,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/react-dom@19.2.5" + "value": "licenses/react-dom@19.2.7" }, { "name": "local:sourcePackageDir", @@ -1356,6 +3654,207 @@ } ] }, + { + "type": "library", + "bomRef": "pkg:npm/react-is@19.2.7", + "name": "react-is", + "version": "19.2.7", + "purl": "pkg:npm/react-is@19.2.7", + "description": "Brand checking of React Elements.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://react.dev/" + }, + { + "type": "vcs", + "url": "https://github.com/facebook/react.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/react-is@19.2.7" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/react-is" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/react-redux@9.3.0", + "name": "react-redux", + "version": "9.3.0", + "purl": "pkg:npm/react-redux@9.3.0", + "description": "Official React bindings for Redux", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/reduxjs/react-redux" + }, + { + "type": "vcs", + "url": "github:reduxjs/react-redux" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/react-redux@9.3.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/react-redux" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/react-remove-scroll@2.7.2", + "name": "react-remove-scroll", + "version": "2.7.2", + "purl": "pkg:npm/react-remove-scroll@2.7.2", + "description": "Disables scroll outside of `children` node.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/theKashey/react-remove-scroll" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/react-remove-scroll@2.7.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/react-remove-scroll" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/react-remove-scroll-bar@2.3.8", + "name": "react-remove-scroll-bar", + "version": "2.3.8", + "purl": "pkg:npm/react-remove-scroll-bar@2.3.8", + "description": "Removes body scroll without content _shake_", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/theKashey/react-remove-scroll-bar" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/react-remove-scroll-bar@2.3.8" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/react-remove-scroll-bar" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/react-resizable-panels@4.12.0", + "name": "react-resizable-panels", + "version": "4.12.0", + "purl": "pkg:npm/react-resizable-panels@4.12.0", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://react-resizable-panels.vercel.app/" + }, + { + "type": "vcs", + "url": "https://github.com/bvaughn/react-resizable-panels.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/react-resizable-panels@4.12.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/react-resizable-panels" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/react-style-singleton@2.2.3", + "name": "react-style-singleton", + "version": "2.2.3", + "purl": "pkg:npm/react-style-singleton@2.2.3", + "description": "Just create a single stylesheet...", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/theKashey/react-style-singleton#readme" + }, + { + "type": "vcs", + "url": "https://github.com/theKashey/react-style-singleton" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/react-style-singleton@2.2.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/react-style-singleton" + } + ] + }, { "type": "library", "bomRef": "pkg:npm/recharts@3.8.1", @@ -1387,16 +3886,222 @@ }, { "name": "local:sourcePackageDir", - "value": "packages/call/node_modules/recharts" + "value": "apps/web/node_modules/recharts" } ] }, { "type": "library", - "bomRef": "pkg:npm/shadcn@4.6.0", + "bomRef": "pkg:npm/redux@5.0.1", + "name": "redux", + "version": "5.0.1", + "purl": "pkg:npm/redux@5.0.1", + "description": "Predictable state container for JavaScript apps", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "http://redux.js.org" + }, + { + "type": "vcs", + "url": "github:reduxjs/redux" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/redux@5.0.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/redux" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/redux-thunk@3.1.0", + "name": "redux-thunk", + "version": "3.1.0", + "purl": "pkg:npm/redux-thunk@3.1.0", + "description": "Thunk middleware for Redux.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/reduxjs/redux-thunk" + }, + { + "type": "vcs", + "url": "github:reduxjs/redux-thunk" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/redux-thunk@3.1.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/redux-thunk" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/reselect@5.1.1", + "name": "reselect", + "version": "5.1.1", + "purl": "pkg:npm/reselect@5.1.1", + "description": "Selectors for Redux.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/reduxjs/reselect.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/reselect@5.1.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/reselect" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/scheduler@0.27.0", + "name": "scheduler", + "version": "0.27.0", + "purl": "pkg:npm/scheduler@0.27.0", + "description": "Cooperative scheduler for the browser environment.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://react.dev/" + }, + { + "type": "vcs", + "url": "https://github.com/facebook/react.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/scheduler@0.27.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/scheduler" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/seroval@1.5.4", + "name": "seroval", + "version": "1.5.4", + "purl": "pkg:npm/seroval@1.5.4", + "description": "Stringify JS values", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/lxsmnsyc/seroval/tree/main/packages/seroval" + }, + { + "type": "vcs", + "url": "https://github.com/lxsmnsyc/seroval.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/seroval@1.5.4" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/seroval" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/seroval-plugins@1.5.4", + "name": "seroval-plugins", + "version": "1.5.4", + "purl": "pkg:npm/seroval-plugins@1.5.4", + "description": "Stringify JS values", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/lxsmnsyc/seroval/tree/main/packages/plugins" + }, + { + "type": "vcs", + "url": "https://github.com/lxsmnsyc/seroval.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/seroval-plugins@1.5.4" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/seroval-plugins" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/shadcn@4.12.0", "name": "shadcn", - "version": "4.6.0", - "purl": "pkg:npm/shadcn@4.6.0", + "version": "4.12.0", + "purl": "pkg:npm/shadcn@4.12.0", "description": "Add components to your apps.", "licenses": [ { @@ -1414,7 +4119,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/shadcn@4.6.0" + "value": "licenses/shadcn@4.12.0" }, { "name": "local:sourcePackageDir", @@ -1459,10 +4164,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/tailwind-merge@3.5.0", + "bomRef": "pkg:npm/tailwind-merge@3.6.0", "name": "tailwind-merge", - "version": "3.5.0", - "purl": "pkg:npm/tailwind-merge@3.5.0", + "version": "3.6.0", + "purl": "pkg:npm/tailwind-merge@3.6.0", "description": "Merge Tailwind CSS classes without style conflicts", "licenses": [ { @@ -1484,7 +4189,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/tailwind-merge@3.5.0" + "value": "licenses/tailwind-merge@3.6.0" }, { "name": "local:sourcePackageDir", @@ -1529,10 +4234,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/tailwindcss@4.2.4", + "bomRef": "pkg:npm/tailwindcss@4.3.2", "name": "tailwindcss", - "version": "4.2.4", - "purl": "pkg:npm/tailwindcss@4.2.4", + "version": "4.3.2", + "purl": "pkg:npm/tailwindcss@4.3.2", "description": "A utility-first CSS framework for rapidly building custom user interfaces.", "licenses": [ { @@ -1554,7 +4259,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/tailwindcss@4.2.4" + "value": "licenses/tailwindcss@4.3.2" }, { "name": "local:sourcePackageDir", @@ -1593,7 +4298,73 @@ }, { "name": "local:sourcePackageDir", - "value": "apps/web/node_modules/tauri-plugin-app-events-api" + "value": "packages/mtp/node_modules/tauri-plugin-app-events-api" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/tiny-invariant@1.3.3", + "name": "tiny-invariant", + "version": "1.3.3", + "purl": "pkg:npm/tiny-invariant@1.3.3", + "description": "A tiny invariant function", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/alexreardon/tiny-invariant.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/tiny-invariant@1.3.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/tiny-invariant" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/tslib@2.8.1", + "name": "tslib", + "version": "2.8.1", + "purl": "pkg:npm/tslib@2.8.1", + "description": "Runtime library for TypeScript helper functions", + "licenses": [ + { + "license": { + "id": "0BSD" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://www.typescriptlang.org/" + }, + { + "type": "vcs", + "url": "https://github.com/Microsoft/tslib.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/tslib@2.8.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/tslib" } ] }, @@ -1663,16 +4434,16 @@ }, { "name": "local:sourcePackageDir", - "value": "apps/web/node_modules/typescript" + "value": "apps/electron/node_modules/typescript" } ] }, { "type": "library", - "bomRef": "pkg:npm/typescript-eslint@8.59.1", + "bomRef": "pkg:npm/typescript-eslint@8.62.1", "name": "typescript-eslint", - "version": "8.59.1", - "purl": "pkg:npm/typescript-eslint@8.59.1", + "version": "8.62.1", + "purl": "pkg:npm/typescript-eslint@8.62.1", "description": "Tooling which enables you to use TypeScript with ESLint", "licenses": [ { @@ -1694,7 +4465,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/typescript-eslint@8.59.1" + "value": "licenses/typescript-eslint@8.62.1" }, { "name": "local:sourcePackageDir", @@ -1704,10 +4475,177 @@ }, { "type": "library", - "bomRef": "pkg:npm/vite@8.0.10", + "bomRef": "pkg:npm/use-callback-ref@1.3.3", + "name": "use-callback-ref", + "version": "1.3.3", + "purl": "pkg:npm/use-callback-ref@1.3.3", + "description": "The same useRef, but with callback", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/theKashey/use-callback-ref/" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/use-callback-ref@1.3.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/use-callback-ref" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/use-sidecar@1.1.3", + "name": "use-sidecar", + "version": "1.1.3", + "purl": "pkg:npm/use-sidecar@1.1.3", + "description": "Sidecar code splitting utils", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://github.com/theKashey/use-sidecar" + }, + { + "type": "vcs", + "url": "https://github.com/theKashey/use-sidecar" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/use-sidecar@1.1.3" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/use-sidecar" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/use-sync-external-store@1.6.0", + "name": "use-sync-external-store", + "version": "1.6.0", + "purl": "pkg:npm/use-sync-external-store@1.6.0", + "description": "Backwards compatible shim for React's useSyncExternalStore. Works with any React that supports hooks.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "vcs", + "url": "https://github.com/facebook/react.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/use-sync-external-store@1.6.0" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/use-sync-external-store" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/vaul@1.1.2", + "name": "vaul", + "version": "1.1.2", + "purl": "pkg:npm/vaul@1.1.2", + "description": "Drawer component for React.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://vaul.emilkowal.ski/" + }, + { + "type": "vcs", + "url": "https://github.com/emilkowalski/vaul.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/vaul@1.1.2" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/vaul" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/victory-vendor@37.3.6", + "name": "victory-vendor", + "version": "37.3.6", + "purl": "pkg:npm/victory-vendor@37.3.6", + "description": "Vendored dependencies for Victory", + "licenses": [ + { + "license": { + "name": "MIT AND ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://commerce.nearform.com/open-source/victory" + }, + { + "type": "vcs", + "url": "https://github.com/FormidableLabs/victory" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/victory-vendor@37.3.6" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/victory-vendor" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/vite@8.1.3", "name": "vite", - "version": "8.0.10", - "purl": "pkg:npm/vite@8.0.10", + "version": "8.1.3", + "purl": "pkg:npm/vite@8.1.3", "description": "Native-ESM powered web dev build tool", "licenses": [ { @@ -1729,7 +4667,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/vite@8.0.10" + "value": "licenses/vite@8.1.3" }, { "name": "local:sourcePackageDir", @@ -1739,10 +4677,45 @@ }, { "type": "library", - "bomRef": "pkg:npm/zod@4.4.2", + "bomRef": "pkg:npm/yargs@15.4.1", + "name": "yargs", + "version": "15.4.1", + "purl": "pkg:npm/yargs@15.4.1", + "description": "yargs the modern, pirate-themed, successor to optimist.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://yargs.js.org/" + }, + { + "type": "vcs", + "url": "https://github.com/yargs/yargs.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/yargs@15.4.1" + }, + { + "name": "local:sourcePackageDir", + "value": "apps/web/node_modules/yargs" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/zod@4.4.3", "name": "zod", - "version": "4.4.2", - "purl": "pkg:npm/zod@4.4.2", + "version": "4.4.3", + "purl": "pkg:npm/zod@4.4.3", "description": "TypeScript-first schema declaration and validation library with static type inference", "licenses": [ { @@ -1764,7 +4737,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/zod@4.4.2" + "value": "licenses/zod@4.4.3" }, { "name": "local:sourcePackageDir", @@ -1774,10 +4747,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/zustand@5.0.12", + "bomRef": "pkg:npm/zustand@5.0.14", "name": "zustand", - "version": "5.0.12", - "purl": "pkg:npm/zustand@5.0.12", + "version": "5.0.14", + "purl": "pkg:npm/zustand@5.0.14", "description": "🐻 Bear necessities for state management in React", "licenses": [ { @@ -1799,7 +4772,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/zustand@5.0.12" + "value": "licenses/zustand@5.0.14" }, { "name": "local:sourcePackageDir", diff --git a/licenses/scheduler@0.27.0/LICENSE b/licenses/scheduler@0.27.0/LICENSE new file mode 100644 index 0000000..b93be90 --- /dev/null +++ b/licenses/scheduler@0.27.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Meta Platforms, Inc. and affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/seroval-plugins@1.5.4/LICENSE b/licenses/seroval-plugins@1.5.4/LICENSE new file mode 100644 index 0000000..78c9813 --- /dev/null +++ b/licenses/seroval-plugins@1.5.4/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2025 Alexis Munsayac + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/licenses/seroval@1.5.4/LICENSE b/licenses/seroval@1.5.4/LICENSE new file mode 100644 index 0000000..78c9813 --- /dev/null +++ b/licenses/seroval@1.5.4/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2025 Alexis Munsayac + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/licenses/shadcn@4.6.0/LICENSE.md b/licenses/shadcn@4.12.0/LICENSE.md similarity index 100% rename from licenses/shadcn@4.6.0/LICENSE.md rename to licenses/shadcn@4.12.0/LICENSE.md diff --git a/licenses/tailwind-merge@3.5.0/LICENSE.md b/licenses/tailwind-merge@3.6.0/LICENSE.md similarity index 100% rename from licenses/tailwind-merge@3.5.0/LICENSE.md rename to licenses/tailwind-merge@3.6.0/LICENSE.md diff --git a/licenses/tailwindcss@4.2.4/LICENSE b/licenses/tailwindcss@4.3.2/LICENSE similarity index 100% rename from licenses/tailwindcss@4.2.4/LICENSE rename to licenses/tailwindcss@4.3.2/LICENSE diff --git a/licenses/third-party-credits.json b/licenses/third-party-credits.json index bf9eab8..6ad9b41 100644 --- a/licenses/third-party-credits.json +++ b/licenses/third-party-credits.json @@ -1,18 +1,57 @@ { - "generatedAt": "2026-05-21T10:15:15.540Z", - "packageCount": 54, + "generatedAt": "2026-07-02T17:59:19.431Z", + "packageCount": 141, "packages": [ { - "name": "@codemirror/commands", - "version": "6.10.3", + "name": "@babel/runtime", + "version": "7.29.7", + "license": "MIT", + "homepage": "https://babel.dev/docs/en/next/babel-runtime", + "repository": "https://github.com/babel/babel.git", + "description": "babel's modular runtime helpers", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@babel_runtime@7.29.7", + "sourcePackageDir": "apps/web/node_modules/@babel/runtime" + }, + { + "name": "@base-ui/react", + "version": "1.6.0", + "license": "MIT", + "homepage": "https://base-ui.com", + "repository": "git+https://github.com/mui/base-ui.git", + "description": "Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@base-ui_react@1.6.0", + "sourcePackageDir": "apps/web/node_modules/@base-ui/react" + }, + { + "name": "@base-ui/utils", + "version": "0.3.1", "license": "MIT", "homepage": null, - "repository": "git+https://github.com/codemirror/commands.git", + "repository": "git+https://github.com/mui/base-ui.git", + "description": "A collection of React utility functions for Base UI.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@base-ui_utils@0.3.1", + "sourcePackageDir": "apps/web/node_modules/@base-ui/utils" + }, + { + "name": "@codemirror/commands", + "version": "6.10.4", + "license": "MIT", + "homepage": null, + "repository": "git+https://code.haverbeke.berlin/codemirror/commands.git", "description": "Collection of editing commands for the CodeMirror code editor", "files": [ "LICENSE" ], - "licenseFolder": "licenses/@codemirror_commands@6.10.3", + "licenseFolder": "licenses/@codemirror_commands@6.10.4", "sourcePackageDir": "packages/markdown/node_modules/@codemirror/commands" }, { @@ -30,20 +69,20 @@ }, { "name": "@codemirror/state", - "version": "6.6.0", + "version": "6.7.0", "license": "MIT", "homepage": null, - "repository": "git+https://github.com/codemirror/state.git", + "repository": "git+https://code.haverbeke.berlin/codemirror/state.git", "description": "Editor state data structures for the CodeMirror code editor", "files": [ "LICENSE" ], - "licenseFolder": "licenses/@codemirror_state@6.6.0", + "licenseFolder": "licenses/@codemirror_state@6.7.0", "sourcePackageDir": "packages/markdown/node_modules/@codemirror/state" }, { "name": "@codemirror/view", - "version": "6.41.1", + "version": "6.43.4", "license": "MIT", "homepage": null, "repository": "git+https://code.haverbeke.berlin/codemirror/view.git", @@ -51,7 +90,7 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/@codemirror_view@6.41.1", + "licenseFolder": "licenses/@codemirror_view@6.43.4", "sourcePackageDir": "packages/markdown/node_modules/@codemirror/view" }, { @@ -67,6 +106,58 @@ "licenseFolder": "licenses/@eslint_js@10.0.1", "sourcePackageDir": "apps/web/node_modules/@eslint/js" }, + { + "name": "@floating-ui/core", + "version": "1.7.5", + "license": "MIT", + "homepage": "https://floating-ui.com", + "repository": "https://github.com/floating-ui/floating-ui.git", + "description": "Positioning library for floating elements: tooltips, popovers, dropdowns, and more", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@floating-ui_core@1.7.5", + "sourcePackageDir": "apps/web/node_modules/@floating-ui/core" + }, + { + "name": "@floating-ui/dom", + "version": "1.7.6", + "license": "MIT", + "homepage": "https://floating-ui.com", + "repository": "https://github.com/floating-ui/floating-ui.git", + "description": "Floating UI for the web", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@floating-ui_dom@1.7.6", + "sourcePackageDir": "apps/web/node_modules/@floating-ui/dom" + }, + { + "name": "@floating-ui/react-dom", + "version": "2.1.8", + "license": "MIT", + "homepage": "https://floating-ui.com/docs/react-dom", + "repository": "https://github.com/floating-ui/floating-ui.git", + "description": "Floating UI for React DOM", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@floating-ui_react-dom@2.1.8", + "sourcePackageDir": "apps/web/node_modules/@floating-ui/react-dom" + }, + { + "name": "@floating-ui/utils", + "version": "0.2.11", + "license": "MIT", + "homepage": "https://floating-ui.com", + "repository": "https://github.com/floating-ui/floating-ui.git", + "description": "Utilities for Floating UI", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@floating-ui_utils@0.2.11", + "sourcePackageDir": "apps/web/node_modules/@floating-ui/utils" + }, { "name": "@fontsource-variable/inter", "version": "5.2.8", @@ -80,9 +171,22 @@ "licenseFolder": "licenses/@fontsource-variable_inter@5.2.8", "sourcePackageDir": "apps/web/node_modules/@fontsource-variable/inter" }, + { + "name": "@fontsource-variable/public-sans", + "version": "5.2.7", + "license": "OFL-1.1", + "homepage": "https://fontsource.org/fonts/public-sans", + "repository": "git+https://github.com/fontsource/font-files.git", + "description": "Self-host the Public Sans font in a neatly bundled NPM package.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@fontsource-variable_public-sans@5.2.7", + "sourcePackageDir": "apps/web/node_modules/@fontsource-variable/public-sans" + }, { "name": "@livekit/components-react", - "version": "2.9.20", + "version": "2.9.21", "license": "Apache-2.0", "homepage": null, "repository": "https://github.com/livekit/components-js.git", @@ -90,7 +194,7 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/@livekit_components-react@2.9.20", + "licenseFolder": "licenses/@livekit_components-react@2.9.21", "sourcePackageDir": "packages/call/node_modules/@livekit/components-react" }, { @@ -104,11 +208,245 @@ "LICENSE" ], "licenseFolder": "licenses/@noble_curves@2.2.0", - "sourcePackageDir": "apps/web/node_modules/@noble/curves" + "sourcePackageDir": "packages/crypto/node_modules/@noble/curves" + }, + { + "name": "@noble/hashes", + "version": "2.2.0", + "license": "MIT", + "homepage": "https://paulmillr.com/noble/", + "repository": "git+https://github.com/paulmillr/noble-hashes.git", + "description": "Audited & minimal 0-dependency JS implementation of SHA, RIPEMD, BLAKE, HMAC, HKDF, PBKDF & Scrypt", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@noble_hashes@2.2.0", + "sourcePackageDir": "packages/crypto/node_modules/@noble/hashes" + }, + { + "name": "@radix-ui/primitive", + "version": "1.1.4", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_primitive@1.1.4", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/primitive" + }, + { + "name": "@radix-ui/react-compose-refs", + "version": "1.1.3", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-compose-refs@1.1.3", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-compose-refs" + }, + { + "name": "@radix-ui/react-context", + "version": "1.1.4", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-context@1.1.4", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-context" + }, + { + "name": "@radix-ui/react-dialog", + "version": "1.1.18", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-dialog@1.1.18", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-dialog" + }, + { + "name": "@radix-ui/react-dismissable-layer", + "version": "1.1.14", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-dismissable-layer@1.1.14", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-dismissable-layer" + }, + { + "name": "@radix-ui/react-focus-guards", + "version": "1.1.4", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-focus-guards@1.1.4", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-focus-guards" + }, + { + "name": "@radix-ui/react-focus-scope", + "version": "1.1.11", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-focus-scope@1.1.11", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-focus-scope" + }, + { + "name": "@radix-ui/react-id", + "version": "1.1.2", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-id@1.1.2", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-id" + }, + { + "name": "@radix-ui/react-portal", + "version": "1.1.13", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-portal@1.1.13", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-portal" + }, + { + "name": "@radix-ui/react-presence", + "version": "1.1.6", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-presence@1.1.6", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-presence" + }, + { + "name": "@radix-ui/react-primitive", + "version": "2.1.7", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-primitive@2.1.7", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-primitive" + }, + { + "name": "@radix-ui/react-slot", + "version": "1.3.0", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-slot@1.3.0", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-slot" + }, + { + "name": "@radix-ui/react-use-callback-ref", + "version": "1.1.2", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-use-callback-ref@1.1.2", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-use-callback-ref" + }, + { + "name": "@radix-ui/react-use-controllable-state", + "version": "1.2.3", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-use-controllable-state@1.2.3", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-use-controllable-state" + }, + { + "name": "@radix-ui/react-use-effect-event", + "version": "0.0.2", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-use-effect-event@0.0.2", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-use-effect-event" + }, + { + "name": "@radix-ui/react-use-layout-effect", + "version": "1.1.2", + "license": "MIT", + "homepage": "https://radix-ui.com/primitives", + "repository": "git+https://github.com/radix-ui/primitives.git", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@radix-ui_react-use-layout-effect@1.1.2", + "sourcePackageDir": "apps/web/node_modules/@radix-ui/react-use-layout-effect" + }, + { + "name": "@reduxjs/toolkit", + "version": "2.12.0", + "license": "MIT", + "homepage": "https://redux-toolkit.js.org", + "repository": "git+https://github.com/reduxjs/redux-toolkit.git", + "description": "The official, opinionated, batteries-included toolset for efficient Redux development", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@reduxjs_toolkit@2.12.0", + "sourcePackageDir": "apps/web/node_modules/@reduxjs/toolkit" }, { "name": "@tailwindcss/vite", - "version": "4.2.4", + "version": "4.3.2", "license": "MIT", "homepage": "https://tailwindcss.com", "repository": "https://github.com/tailwindlabs/tailwindcss.git", @@ -116,25 +454,25 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/@tailwindcss_vite@4.2.4", + "licenseFolder": "licenses/@tailwindcss_vite@4.3.2", "sourcePackageDir": "apps/web/node_modules/@tailwindcss/vite" }, { - "name": "@tanstack/react-query", - "version": "5.100.8", + "name": "@tanstack/devtools-event-client", + "version": "0.3.5", "license": "MIT", - "homepage": "https://tanstack.com/query", - "repository": "git+https://github.com/TanStack/query.git", - "description": "Hooks for managing, caching and syncing asynchronous and remote data in React", + "homepage": "https://tanstack.com/devtools", + "repository": "https://github.com/TanStack/devtools.git", + "description": "TanStack Event Client is a lightweight event client for TanStack Devtools event bus.", "files": [ "LICENSE" ], - "licenseFolder": "licenses/@tanstack_react-query@5.100.8", - "sourcePackageDir": "packages/call/node_modules/@tanstack/react-query" + "licenseFolder": "licenses/@tanstack_devtools-event-client@0.3.5", + "sourcePackageDir": "apps/web/node_modules/@tanstack/devtools-event-client" }, { - "name": "@tanstack/react-router", - "version": "1.169.1", + "name": "@tanstack/history", + "version": "1.162.0", "license": "MIT", "homepage": "https://tanstack.com/router", "repository": "git+https://github.com/TanStack/router.git", @@ -142,12 +480,77 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/@tanstack_react-router@1.169.1", + "licenseFolder": "licenses/@tanstack_history@1.162.0", + "sourcePackageDir": "apps/web/node_modules/@tanstack/history" + }, + { + "name": "@tanstack/pacer", + "version": "0.21.1", + "license": "MIT", + "homepage": "https://tanstack.com/pacer", + "repository": "git+https://github.com/TanStack/pacer.git", + "description": "Utilities for debouncing, throttling, rate-limiting, queuing, and more.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@tanstack_pacer@0.21.1", + "sourcePackageDir": "packages/chat/node_modules/@tanstack/pacer" + }, + { + "name": "@tanstack/query-core", + "version": "5.101.2", + "license": "MIT", + "homepage": "https://tanstack.com/query", + "repository": "git+https://github.com/TanStack/query.git", + "description": "The framework agnostic core that powers TanStack Query", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@tanstack_query-core@5.101.2", + "sourcePackageDir": "apps/web/node_modules/@tanstack/query-core" + }, + { + "name": "@tanstack/react-query", + "version": "5.101.2", + "license": "MIT", + "homepage": "https://tanstack.com/query", + "repository": "git+https://github.com/TanStack/query.git", + "description": "Hooks for managing, caching and syncing asynchronous and remote data in React", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@tanstack_react-query@5.101.2", + "sourcePackageDir": "packages/chat/node_modules/@tanstack/react-query" + }, + { + "name": "@tanstack/react-router", + "version": "1.170.17", + "license": "MIT", + "homepage": "https://tanstack.com/router", + "repository": "git+https://github.com/TanStack/router.git", + "description": "Modern and scalable routing for React applications", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@tanstack_react-router@1.170.17", "sourcePackageDir": "apps/web/node_modules/@tanstack/react-router" }, + { + "name": "@tanstack/react-store", + "version": "0.9.3", + "license": "MIT", + "homepage": "https://tanstack.com/store", + "repository": "https://github.com/TanStack/store.git", + "description": "Framework agnostic type-safe store w/ reactive framework adapters", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@tanstack_react-store@0.9.3", + "sourcePackageDir": "apps/web/node_modules/@tanstack/react-store" + }, { "name": "@tanstack/react-virtual", - "version": "3.13.24", + "version": "3.14.5", "license": "MIT", "homepage": "https://tanstack.com/virtual", "repository": "git+https://github.com/TanStack/virtual.git", @@ -155,12 +558,51 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/@tanstack_react-virtual@3.13.24", + "licenseFolder": "licenses/@tanstack_react-virtual@3.14.5", "sourcePackageDir": "apps/web/node_modules/@tanstack/react-virtual" }, + { + "name": "@tanstack/router-core", + "version": "1.171.14", + "license": "MIT", + "homepage": "https://tanstack.com/router", + "repository": "git+https://github.com/TanStack/router.git", + "description": "Modern and scalable routing for React applications", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@tanstack_router-core@1.171.14", + "sourcePackageDir": "apps/web/node_modules/@tanstack/router-core" + }, + { + "name": "@tanstack/store", + "version": "0.9.3", + "license": "MIT", + "homepage": "https://tanstack.com/store", + "repository": "git+https://github.com/TanStack/store.git", + "description": "Framework agnostic type-safe store w/ reactive framework adapters", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@tanstack_store@0.9.3", + "sourcePackageDir": "apps/web/node_modules/@tanstack/store" + }, + { + "name": "@tanstack/virtual-core", + "version": "3.17.3", + "license": "MIT", + "homepage": "https://tanstack.com/virtual", + "repository": "git+https://github.com/TanStack/virtual.git", + "description": "Headless UI for virtualizing scrollable elements in TS/JS + Frameworks", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/@tanstack_virtual-core@3.17.3", + "sourcePackageDir": "apps/web/node_modules/@tanstack/virtual-core" + }, { "name": "@tauri-apps/api", - "version": "2.11.0", + "version": "2.11.1", "license": "Apache-2.0 OR MIT", "homepage": "https://github.com/tauri-apps/tauri#readme", "repository": "git+https://github.com/tauri-apps/tauri.git", @@ -169,12 +611,12 @@ "LICENSE_MIT", "LICENSE_APACHE-2.0" ], - "licenseFolder": "licenses/@tauri-apps_api@2.11.0", + "licenseFolder": "licenses/@tauri-apps_api@2.11.1", "sourcePackageDir": "apps/tauri/node_modules/@tauri-apps/api" }, { "name": "@tauri-apps/cli", - "version": "2.11.0", + "version": "2.11.4", "license": "Apache-2.0 OR MIT", "homepage": "https://github.com/tauri-apps/tauri#readme", "repository": "git+https://github.com/tauri-apps/tauri.git", @@ -183,12 +625,12 @@ "LICENSE_MIT", "LICENSE_APACHE-2.0" ], - "licenseFolder": "licenses/@tauri-apps_cli@2.11.0", + "licenseFolder": "licenses/@tauri-apps_cli@2.11.4", "sourcePackageDir": "apps/tauri/node_modules/@tauri-apps/cli" }, { "name": "@tauri-apps/plugin-barcode-scanner", - "version": "2.4.4", + "version": "2.4.5", "license": "MIT OR Apache-2.0", "homepage": null, "repository": "https://github.com/tauri-apps/plugins-workspace", @@ -196,7 +638,7 @@ "files": [ "LICENSE.spdx" ], - "licenseFolder": "licenses/@tauri-apps_plugin-barcode-scanner@2.4.4", + "licenseFolder": "licenses/@tauri-apps_plugin-barcode-scanner@2.4.5", "sourcePackageDir": "apps/tauri/node_modules/@tauri-apps/plugin-barcode-scanner" }, { @@ -213,45 +655,45 @@ "sourcePackageDir": "apps/tauri/node_modules/@tauri-apps/plugin-deep-link" }, { - "name": "@tauri-apps/plugin-opener", - "version": "2.5.4", + "name": "@tauri-apps/plugin-log", + "version": "2.8.0", "license": "MIT OR Apache-2.0", "homepage": null, "repository": "https://github.com/tauri-apps/plugins-workspace", - "description": "Open files and URLs using their default application.", + "description": "Configurable logging for your Tauri app.", "files": [ "LICENSE.spdx" ], - "licenseFolder": "licenses/@tauri-apps_plugin-opener@2.5.4", - "sourcePackageDir": "apps/tauri/node_modules/@tauri-apps/plugin-opener" + "licenseFolder": "licenses/@tauri-apps_plugin-log@2.8.0", + "sourcePackageDir": "apps/tauri/node_modules/@tauri-apps/plugin-log" }, { - "name": "@tensamin/ttp-core", - "version": "0.0.19", - "license": "UNKNOWN", + "name": "@tauri-apps/plugin-notification", + "version": "2.3.3", + "license": "MIT OR Apache-2.0", "homepage": null, - "repository": null, + "repository": "https://github.com/tauri-apps/plugins-workspace", "description": null, "files": [ - "LICENSE" + "LICENSE.spdx" ], - "licenseFolder": "licenses/@tensamin_ttp-core@0.0.19", - "sourcePackageDir": "packages/ttp/node_modules/@tensamin/ttp-core" + "licenseFolder": "licenses/@tauri-apps_plugin-notification@2.3.3", + "sourcePackageDir": "apps/tauri/node_modules/@tauri-apps/plugin-notification" }, { "name": "@tensamin/ui", - "version": "0.0.34", + "version": "0.0.39", "license": "UNKNOWN", "homepage": null, "repository": null, "description": null, "files": [], - "licenseFolder": "licenses/@tensamin_ui@0.0.34", + "licenseFolder": "licenses/@tensamin_ui@0.0.39", "sourcePackageDir": "apps/tauri/node_modules/@tensamin/ui" }, { "name": "@types/node", - "version": "25.6.0", + "version": "25.9.4", "license": "MIT", "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node", "repository": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", @@ -259,8 +701,8 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/@types_node@25.6.0", - "sourcePackageDir": "node_modules/@types/node" + "licenseFolder": "licenses/@types_node@25.9.4", + "sourcePackageDir": "apps/electron/node_modules/@types/node" }, { "name": "@types/qrcode", @@ -277,7 +719,7 @@ }, { "name": "@types/react", - "version": "19.2.14", + "version": "19.2.17", "license": "MIT", "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react", "repository": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", @@ -285,7 +727,7 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/@types_react@19.2.14", + "licenseFolder": "licenses/@types_react@19.2.17", "sourcePackageDir": "apps/web/node_modules/@types/react" }, { @@ -303,7 +745,7 @@ }, { "name": "@typescript-eslint/parser", - "version": "8.59.1", + "version": "8.62.1", "license": "MIT", "homepage": "https://typescript-eslint.io/packages/parser", "repository": "https://github.com/typescript-eslint/typescript-eslint.git", @@ -311,12 +753,12 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/@typescript-eslint_parser@8.59.1", + "licenseFolder": "licenses/@typescript-eslint_parser@8.62.1", "sourcePackageDir": "node_modules/@typescript-eslint/parser" }, { "name": "@vitejs/plugin-react", - "version": "6.0.1", + "version": "6.0.3", "license": "MIT", "homepage": "https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme", "repository": "git+https://github.com/vitejs/vite-plugin-react.git", @@ -324,9 +766,22 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/@vitejs_plugin-react@6.0.1", + "licenseFolder": "licenses/@vitejs_plugin-react@6.0.3", "sourcePackageDir": "apps/web/node_modules/@vitejs/plugin-react" }, + { + "name": "aria-hidden", + "version": "1.2.6", + "license": "MIT", + "homepage": "https://github.com/theKashey/aria-hidden#readme", + "repository": "git+https://github.com/theKashey/aria-hidden.git", + "description": "Cast aria-hidden to everything, except...", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/aria-hidden@1.2.6", + "sourcePackageDir": "apps/web/node_modules/aria-hidden" + }, { "name": "class-variance-authority", "version": "0.7.1", @@ -353,6 +808,19 @@ "licenseFolder": "licenses/clsx@2.1.1", "sourcePackageDir": "apps/web/node_modules/clsx" }, + { + "name": "cmdk", + "version": "1.1.1", + "license": "MIT", + "homepage": "https://github.com/pacocoursey/cmdk#readme", + "repository": "git+https://github.com/pacocoursey/cmdk.git", + "description": null, + "files": [ + "LICENSE.md" + ], + "licenseFolder": "licenses/cmdk@1.1.1", + "sourcePackageDir": "apps/web/node_modules/cmdk" + }, { "name": "comlink", "version": "4.4.2", @@ -364,11 +832,193 @@ "LICENSE" ], "licenseFolder": "licenses/comlink@4.4.2", - "sourcePackageDir": "apps/web/node_modules/comlink" + "sourcePackageDir": "packages/crypto/node_modules/comlink" + }, + { + "name": "cookie-es", + "version": "3.1.1", + "license": "MIT", + "homepage": null, + "repository": "unjs/cookie-es", + "description": null, + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/cookie-es@3.1.1", + "sourcePackageDir": "apps/web/node_modules/cookie-es" + }, + { + "name": "d3-array", + "version": "3.2.4", + "license": "ISC", + "homepage": "https://d3js.org/d3-array/", + "repository": "https://github.com/d3/d3-array.git", + "description": "Array manipulation, ordering, searching, summarizing, etc.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-array@3.2.4", + "sourcePackageDir": "apps/web/node_modules/d3-array" + }, + { + "name": "d3-color", + "version": "3.1.0", + "license": "ISC", + "homepage": "https://d3js.org/d3-color/", + "repository": "https://github.com/d3/d3-color.git", + "description": "Color spaces! RGB, HSL, Cubehelix, Lab and HCL (Lch).", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-color@3.1.0", + "sourcePackageDir": "apps/web/node_modules/d3-color" + }, + { + "name": "d3-ease", + "version": "3.0.1", + "license": "BSD-3-Clause", + "homepage": "https://d3js.org/d3-ease/", + "repository": "https://github.com/d3/d3-ease.git", + "description": "Easing functions for smooth animation.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-ease@3.0.1", + "sourcePackageDir": "apps/web/node_modules/d3-ease" + }, + { + "name": "d3-format", + "version": "3.1.2", + "license": "ISC", + "homepage": "https://d3js.org/d3-format/", + "repository": "https://github.com/d3/d3-format.git", + "description": "Format numbers for human consumption.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-format@3.1.2", + "sourcePackageDir": "apps/web/node_modules/d3-format" + }, + { + "name": "d3-interpolate", + "version": "3.0.1", + "license": "ISC", + "homepage": "https://d3js.org/d3-interpolate/", + "repository": "https://github.com/d3/d3-interpolate.git", + "description": "Interpolate numbers, colors, strings, arrays, objects, whatever!", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-interpolate@3.0.1", + "sourcePackageDir": "apps/web/node_modules/d3-interpolate" + }, + { + "name": "d3-path", + "version": "3.1.0", + "license": "ISC", + "homepage": "https://d3js.org/d3-path/", + "repository": "https://github.com/d3/d3-path.git", + "description": "Serialize Canvas path commands to SVG.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-path@3.1.0", + "sourcePackageDir": "apps/web/node_modules/d3-path" + }, + { + "name": "d3-scale", + "version": "4.0.2", + "license": "ISC", + "homepage": "https://d3js.org/d3-scale/", + "repository": "https://github.com/d3/d3-scale.git", + "description": "Encodings that map abstract data to visual representation.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-scale@4.0.2", + "sourcePackageDir": "apps/web/node_modules/d3-scale" + }, + { + "name": "d3-shape", + "version": "3.2.0", + "license": "ISC", + "homepage": "https://d3js.org/d3-shape/", + "repository": "https://github.com/d3/d3-shape.git", + "description": "Graphical primitives for visualization, such as lines and areas.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-shape@3.2.0", + "sourcePackageDir": "apps/web/node_modules/d3-shape" + }, + { + "name": "d3-time", + "version": "3.1.0", + "license": "ISC", + "homepage": "https://d3js.org/d3-time/", + "repository": "https://github.com/d3/d3-time.git", + "description": "A calculator for humanity’s peculiar conventions of time.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-time@3.1.0", + "sourcePackageDir": "apps/web/node_modules/d3-time" + }, + { + "name": "d3-time-format", + "version": "4.1.0", + "license": "ISC", + "homepage": "https://d3js.org/d3-time-format/", + "repository": "https://github.com/d3/d3-time-format.git", + "description": "A JavaScript time formatter and parser inspired by strftime and strptime.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-time-format@4.1.0", + "sourcePackageDir": "apps/web/node_modules/d3-time-format" + }, + { + "name": "d3-timer", + "version": "3.0.1", + "license": "ISC", + "homepage": "https://d3js.org/d3-timer/", + "repository": "https://github.com/d3/d3-timer.git", + "description": "An efficient queue capable of managing thousands of concurrent animations.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/d3-timer@3.0.1", + "sourcePackageDir": "apps/web/node_modules/d3-timer" + }, + { + "name": "date-fns", + "version": "4.4.0", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/date-fns/date-fns", + "description": "Modern JavaScript date utility library", + "files": [ + "LICENSE.md" + ], + "licenseFolder": "licenses/date-fns@4.4.0", + "sourcePackageDir": "apps/web/node_modules/date-fns" + }, + { + "name": "decimal.js-light", + "version": "2.5.1", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/MikeMcl/decimal.js-light.git", + "description": "An arbitrary-precision Decimal type for JavaScript.", + "files": [ + "LICENCE.md" + ], + "licenseFolder": "licenses/decimal.js-light@2.5.1", + "sourcePackageDir": "apps/web/node_modules/decimal.js-light" }, { "name": "deepfilternet3-noise-filter", - "version": "1.2.1", + "version": "1.3.0", "license": "(Apache-2.0 OR MIT)", "homepage": "https://github.com/mezonai/mezon-noise-suppression#readme", "repository": "git+https://github.com/mezonai/mezon-noise-suppression.git", @@ -377,9 +1027,107 @@ "LICENSE-APACHE", "LICENSE-MIT" ], - "licenseFolder": "licenses/deepfilternet3-noise-filter@1.2.1", + "licenseFolder": "licenses/deepfilternet3-noise-filter@1.3.0", "sourcePackageDir": "packages/call/node_modules/deepfilternet3-noise-filter" }, + { + "name": "detect-node-es", + "version": "1.1.0", + "license": "MIT", + "homepage": "https://github.com/thekashey/detect-node", + "repository": "https://github.com/thekashey/detect-node", + "description": "Detect Node.JS (as opposite to browser environment). ESM modification", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/detect-node-es@1.1.0", + "sourcePackageDir": "apps/web/node_modules/detect-node-es" + }, + { + "name": "dijkstrajs", + "version": "1.0.3", + "license": "MIT", + "homepage": "https://github.com/tcort/dijkstrajs", + "repository": "git://github.com/tcort/dijkstrajs", + "description": "A simple JavaScript implementation of Dijkstra's single-source shortest-paths algorithm.", + "files": [ + "LICENSE.md" + ], + "licenseFolder": "licenses/dijkstrajs@1.0.3", + "sourcePackageDir": "apps/web/node_modules/dijkstrajs" + }, + { + "name": "electron", + "version": "39.8.10", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/electron/electron", + "description": "Build cross platform desktop apps with JavaScript, HTML, and CSS", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/electron@39.8.10", + "sourcePackageDir": "apps/electron/node_modules/electron" + }, + { + "name": "electron-builder", + "version": "26.15.3", + "license": "MIT", + "homepage": "https://github.com/electron-userland/electron-builder", + "repository": "git+https://github.com/electron-userland/electron-builder.git", + "description": "A complete solution to package and build a ready for distribution Electron app for MacOS, Windows and Linux with “auto update” support out of the box", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/electron-builder@26.15.3", + "sourcePackageDir": "apps/electron/node_modules/electron-builder" + }, + { + "name": "embla-carousel", + "version": "8.6.0", + "license": "MIT", + "homepage": "https://www.embla-carousel.com", + "repository": "git+https://github.com/davidjerleke/embla-carousel", + "description": "A lightweight carousel library with fluid motion and great swipe precision", + "files": [], + "licenseFolder": "licenses/embla-carousel@8.6.0", + "sourcePackageDir": "apps/web/node_modules/embla-carousel" + }, + { + "name": "embla-carousel-react", + "version": "8.6.0", + "license": "MIT", + "homepage": "https://www.embla-carousel.com", + "repository": "git+https://github.com/davidjerleke/embla-carousel", + "description": "A lightweight carousel library with fluid motion and great swipe precision", + "files": [], + "licenseFolder": "licenses/embla-carousel-react@8.6.0", + "sourcePackageDir": "apps/web/node_modules/embla-carousel-react" + }, + { + "name": "embla-carousel-reactive-utils", + "version": "8.6.0", + "license": "MIT", + "homepage": "https://www.embla-carousel.com", + "repository": "git+https://github.com/davidjerleke/embla-carousel", + "description": "Reactive utilities for Embla Carousel", + "files": [], + "licenseFolder": "licenses/embla-carousel-reactive-utils@8.6.0", + "sourcePackageDir": "apps/web/node_modules/embla-carousel-reactive-utils" + }, + { + "name": "es-toolkit", + "version": "1.49.0", + "license": "MIT", + "homepage": "https://es-toolkit.dev", + "repository": "https://github.com/toss/es-toolkit.git", + "description": "A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/es-toolkit@1.49.0", + "sourcePackageDir": "apps/web/node_modules/es-toolkit" + }, { "name": "esbuild", "version": "0.25.12", @@ -391,11 +1139,11 @@ "LICENSE.md" ], "licenseFolder": "licenses/esbuild@0.25.12", - "sourcePackageDir": "apps/web/node_modules/esbuild" + "sourcePackageDir": "apps/electron/node_modules/esbuild" }, { "name": "eslint", - "version": "10.3.0", + "version": "10.6.0", "license": "MIT", "homepage": "https://eslint.org", "repository": "eslint/eslint", @@ -403,7 +1151,7 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/eslint@10.3.0", + "licenseFolder": "licenses/eslint@10.6.0", "sourcePackageDir": "apps/web/node_modules/eslint" }, { @@ -420,21 +1168,45 @@ "sourcePackageDir": "node_modules/eslint-plugin-react-hooks" }, { - "name": "framer-motion", - "version": "12.38.0", + "name": "eventemitter3", + "version": "5.0.4", "license": "MIT", "homepage": null, - "repository": "https://github.com/motiondivision/motion/", - "description": "A simple and powerful JavaScript animation library", + "repository": "git://github.com/primus/eventemitter3.git", + "description": "EventEmitter3 focuses on performance while maintaining a Node.js AND browser compatible interface.", "files": [ - "LICENSE.md" + "LICENSE" ], - "licenseFolder": "licenses/framer-motion@12.38.0", - "sourcePackageDir": "apps/web/node_modules/framer-motion" + "licenseFolder": "licenses/eventemitter3@5.0.4", + "sourcePackageDir": "apps/web/node_modules/eventemitter3" + }, + { + "name": "fallow", + "version": "2.104.0", + "license": "MIT", + "homepage": "https://docs.fallow.tools", + "repository": "git+https://github.com/fallow-rs/fallow.git", + "description": "Deterministic codebase intelligence for TypeScript and JavaScript. Quality, risk, architecture, dependencies, duplication, and safe cleanup evidence for humans, CI, and agents. Optional runtime intelligence layer (Fallow Runtime) adds production execution evidence. Rust-native, sub-second, zero-config framework support.", + "files": [], + "licenseFolder": "licenses/fallow@2.104.0", + "sourcePackageDir": "node_modules/fallow" + }, + { + "name": "get-nonce", + "version": "1.0.1", + "license": "MIT", + "homepage": "https://github.com/theKashey/get-nonce", + "repository": "git@github.com:theKashey/get-nonce.git", + "description": "returns nonce", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/get-nonce@1.0.1", + "sourcePackageDir": "apps/web/node_modules/get-nonce" }, { "name": "globals", - "version": "17.6.0", + "version": "17.7.0", "license": "MIT", "homepage": null, "repository": "sindresorhus/globals", @@ -442,9 +1214,46 @@ "files": [ "license" ], - "licenseFolder": "licenses/globals@17.6.0", + "licenseFolder": "licenses/globals@17.7.0", "sourcePackageDir": "apps/web/node_modules/globals" }, + { + "name": "immer", + "version": "10.2.0", + "license": "MIT", + "homepage": "https://github.com/immerjs/immer#readme", + "repository": "https://github.com/immerjs/immer.git", + "description": "Create your next immutable state by mutating the current one", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/immer@10.2.0", + "sourcePackageDir": "apps/web/node_modules/immer" + }, + { + "name": "input-otp", + "version": "1.4.2", + "license": "MIT", + "homepage": "https://input-otp.rodz.dev/", + "repository": "git+https://github.com/guilhermerodz/input-otp.git", + "description": "One-time password input component for React.", + "files": [], + "licenseFolder": "licenses/input-otp@1.4.2", + "sourcePackageDir": "apps/web/node_modules/input-otp" + }, + { + "name": "internmap", + "version": "2.0.3", + "license": "ISC", + "homepage": "https://github.com/mbostock/internmap/", + "repository": "https://github.com/mbostock/internmap.git", + "description": "Map and Set with automatic key interning", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/internmap@2.0.3", + "sourcePackageDir": "apps/web/node_modules/internmap" + }, { "name": "jsonc-parser", "version": "3.3.1", @@ -460,7 +1269,7 @@ }, { "name": "livekit-client", - "version": "2.18.8", + "version": "2.20.0", "license": "Apache-2.0", "homepage": null, "repository": "git@github.com:livekit/client-sdk-js.git", @@ -468,12 +1277,12 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/livekit-client@2.18.8", + "licenseFolder": "licenses/livekit-client@2.20.0", "sourcePackageDir": "packages/call/node_modules/livekit-client" }, { "name": "lucide-react", - "version": "1.14.0", + "version": "1.23.0", "license": "ISC", "homepage": "https://lucide.dev", "repository": "https://github.com/lucide-icons/lucide.git", @@ -481,12 +1290,49 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/lucide-react@1.14.0", - "sourcePackageDir": "apps/tauri/node_modules/lucide-react" + "licenseFolder": "licenses/lucide-react@1.23.0", + "sourcePackageDir": "apps/web/node_modules/lucide-react" + }, + { + "name": "mtp", + "version": "0.1.0", + "license": "UNKNOWN", + "homepage": null, + "repository": null, + "description": "MTP TypeScript SDK", + "files": [], + "licenseFolder": "licenses/mtp@0.1.0", + "sourcePackageDir": "packages/mtp/node_modules/mtp" + }, + { + "name": "next-themes", + "version": "0.4.6", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/pacocoursey/next-themes.git", + "description": null, + "files": [ + "license.md" + ], + "licenseFolder": "licenses/next-themes@0.4.6", + "sourcePackageDir": "apps/web/node_modules/next-themes" + }, + { + "name": "pngjs", + "version": "5.0.0", + "license": "MIT", + "homepage": "https://github.com/lukeapage/pngjs", + "repository": "git://github.com/lukeapage/pngjs.git", + "description": "PNG encoder/decoder in pure JS, supporting any bit size & interlace, async & sync with full test suite.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/pngjs@5.0.0", + "sourcePackageDir": "apps/web/node_modules/pngjs" }, { "name": "prettier", - "version": "3.8.3", + "version": "3.9.4", "license": "MIT", "homepage": "https://prettier.io", "repository": "prettier/prettier", @@ -494,7 +1340,7 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/prettier@3.8.3", + "licenseFolder": "licenses/prettier@3.9.4", "sourcePackageDir": "node_modules/prettier" }, { @@ -512,7 +1358,7 @@ }, { "name": "react", - "version": "19.2.5", + "version": "19.2.7", "license": "MIT", "homepage": "https://react.dev/", "repository": "https://github.com/facebook/react.git", @@ -520,12 +1366,25 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/react@19.2.5", + "licenseFolder": "licenses/react@19.2.7", "sourcePackageDir": "apps/tauri/node_modules/react" }, + { + "name": "react-day-picker", + "version": "10.0.1", + "license": "MIT", + "homepage": "https://daypicker.dev", + "repository": "git+https://github.com/gpbl/react-day-picker.git", + "description": "Customizable Date Picker for React", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/react-day-picker@10.0.1", + "sourcePackageDir": "apps/web/node_modules/react-day-picker" + }, { "name": "react-dom", - "version": "19.2.5", + "version": "19.2.7", "license": "MIT", "homepage": "https://react.dev/", "repository": "https://github.com/facebook/react.git", @@ -533,9 +1392,85 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/react-dom@19.2.5", + "licenseFolder": "licenses/react-dom@19.2.7", "sourcePackageDir": "apps/tauri/node_modules/react-dom" }, + { + "name": "react-is", + "version": "19.2.7", + "license": "MIT", + "homepage": "https://react.dev/", + "repository": "https://github.com/facebook/react.git", + "description": "Brand checking of React Elements.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/react-is@19.2.7", + "sourcePackageDir": "apps/web/node_modules/react-is" + }, + { + "name": "react-redux", + "version": "9.3.0", + "license": "MIT", + "homepage": "https://github.com/reduxjs/react-redux", + "repository": "github:reduxjs/react-redux", + "description": "Official React bindings for Redux", + "files": [ + "LICENSE.md" + ], + "licenseFolder": "licenses/react-redux@9.3.0", + "sourcePackageDir": "apps/web/node_modules/react-redux" + }, + { + "name": "react-remove-scroll", + "version": "2.7.2", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/theKashey/react-remove-scroll", + "description": "Disables scroll outside of `children` node.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/react-remove-scroll@2.7.2", + "sourcePackageDir": "apps/web/node_modules/react-remove-scroll" + }, + { + "name": "react-remove-scroll-bar", + "version": "2.3.8", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/theKashey/react-remove-scroll-bar", + "description": "Removes body scroll without content _shake_", + "files": [], + "licenseFolder": "licenses/react-remove-scroll-bar@2.3.8", + "sourcePackageDir": "apps/web/node_modules/react-remove-scroll-bar" + }, + { + "name": "react-resizable-panels", + "version": "4.12.0", + "license": "MIT", + "homepage": "https://react-resizable-panels.vercel.app/", + "repository": "https://github.com/bvaughn/react-resizable-panels.git", + "description": null, + "files": [ + "LICENSE.md" + ], + "licenseFolder": "licenses/react-resizable-panels@4.12.0", + "sourcePackageDir": "apps/web/node_modules/react-resizable-panels" + }, + { + "name": "react-style-singleton", + "version": "2.2.3", + "license": "MIT", + "homepage": "https://github.com/theKashey/react-style-singleton#readme", + "repository": "https://github.com/theKashey/react-style-singleton", + "description": "Just create a single stylesheet...", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/react-style-singleton@2.2.3", + "sourcePackageDir": "apps/web/node_modules/react-style-singleton" + }, { "name": "recharts", "version": "3.8.1", @@ -547,11 +1482,89 @@ "LICENSE" ], "licenseFolder": "licenses/recharts@3.8.1", - "sourcePackageDir": "packages/call/node_modules/recharts" + "sourcePackageDir": "apps/web/node_modules/recharts" + }, + { + "name": "redux", + "version": "5.0.1", + "license": "MIT", + "homepage": "http://redux.js.org", + "repository": "github:reduxjs/redux", + "description": "Predictable state container for JavaScript apps", + "files": [ + "LICENSE.md" + ], + "licenseFolder": "licenses/redux@5.0.1", + "sourcePackageDir": "apps/web/node_modules/redux" + }, + { + "name": "redux-thunk", + "version": "3.1.0", + "license": "MIT", + "homepage": "https://github.com/reduxjs/redux-thunk", + "repository": "github:reduxjs/redux-thunk", + "description": "Thunk middleware for Redux.", + "files": [ + "LICENSE.md" + ], + "licenseFolder": "licenses/redux-thunk@3.1.0", + "sourcePackageDir": "apps/web/node_modules/redux-thunk" + }, + { + "name": "reselect", + "version": "5.1.1", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/reduxjs/reselect.git", + "description": "Selectors for Redux.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/reselect@5.1.1", + "sourcePackageDir": "apps/web/node_modules/reselect" + }, + { + "name": "scheduler", + "version": "0.27.0", + "license": "MIT", + "homepage": "https://react.dev/", + "repository": "https://github.com/facebook/react.git", + "description": "Cooperative scheduler for the browser environment.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/scheduler@0.27.0", + "sourcePackageDir": "apps/web/node_modules/scheduler" + }, + { + "name": "seroval", + "version": "1.5.4", + "license": "MIT", + "homepage": "https://github.com/lxsmnsyc/seroval/tree/main/packages/seroval", + "repository": "https://github.com/lxsmnsyc/seroval.git", + "description": "Stringify JS values", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/seroval@1.5.4", + "sourcePackageDir": "apps/web/node_modules/seroval" + }, + { + "name": "seroval-plugins", + "version": "1.5.4", + "license": "MIT", + "homepage": "https://github.com/lxsmnsyc/seroval/tree/main/packages/plugins", + "repository": "https://github.com/lxsmnsyc/seroval.git", + "description": "Stringify JS values", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/seroval-plugins@1.5.4", + "sourcePackageDir": "apps/web/node_modules/seroval-plugins" }, { "name": "shadcn", - "version": "4.6.0", + "version": "4.12.0", "license": "MIT", "homepage": null, "repository": "https://github.com/shadcn-ui/ui.git", @@ -559,7 +1572,7 @@ "files": [ "LICENSE.md" ], - "licenseFolder": "licenses/shadcn@4.6.0", + "licenseFolder": "licenses/shadcn@4.12.0", "sourcePackageDir": "apps/web/node_modules/shadcn" }, { @@ -577,7 +1590,7 @@ }, { "name": "tailwind-merge", - "version": "3.5.0", + "version": "3.6.0", "license": "MIT", "homepage": "https://github.com/dcastil/tailwind-merge", "repository": "https://github.com/dcastil/tailwind-merge.git", @@ -585,7 +1598,7 @@ "files": [ "LICENSE.md" ], - "licenseFolder": "licenses/tailwind-merge@3.5.0", + "licenseFolder": "licenses/tailwind-merge@3.6.0", "sourcePackageDir": "apps/web/node_modules/tailwind-merge" }, { @@ -603,7 +1616,7 @@ }, { "name": "tailwindcss", - "version": "4.2.4", + "version": "4.3.2", "license": "MIT", "homepage": "https://tailwindcss.com", "repository": "https://github.com/tailwindlabs/tailwindcss.git", @@ -611,7 +1624,7 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/tailwindcss@4.2.4", + "licenseFolder": "licenses/tailwindcss@4.3.2", "sourcePackageDir": "apps/web/node_modules/tailwindcss" }, { @@ -625,7 +1638,33 @@ "LICENSE" ], "licenseFolder": "licenses/tauri-plugin-app-events-api@0.2.0", - "sourcePackageDir": "apps/web/node_modules/tauri-plugin-app-events-api" + "sourcePackageDir": "packages/mtp/node_modules/tauri-plugin-app-events-api" + }, + { + "name": "tiny-invariant", + "version": "1.3.3", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/alexreardon/tiny-invariant.git", + "description": "A tiny invariant function", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/tiny-invariant@1.3.3", + "sourcePackageDir": "apps/web/node_modules/tiny-invariant" + }, + { + "name": "tslib", + "version": "2.8.1", + "license": "0BSD", + "homepage": "https://www.typescriptlang.org/", + "repository": "https://github.com/Microsoft/tslib.git", + "description": "Runtime library for TypeScript helper functions", + "files": [ + "LICENSE.txt" + ], + "licenseFolder": "licenses/tslib@2.8.1", + "sourcePackageDir": "apps/web/node_modules/tslib" }, { "name": "tw-animate-css", @@ -651,11 +1690,11 @@ "LICENSE.txt" ], "licenseFolder": "licenses/typescript@6.0.3", - "sourcePackageDir": "apps/web/node_modules/typescript" + "sourcePackageDir": "apps/electron/node_modules/typescript" }, { "name": "typescript-eslint", - "version": "8.59.1", + "version": "8.62.1", "license": "MIT", "homepage": "https://typescript-eslint.io/packages/typescript-eslint", "repository": "https://github.com/typescript-eslint/typescript-eslint.git", @@ -663,12 +1702,75 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/typescript-eslint@8.59.1", + "licenseFolder": "licenses/typescript-eslint@8.62.1", "sourcePackageDir": "apps/web/node_modules/typescript-eslint" }, + { + "name": "use-callback-ref", + "version": "1.3.3", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/theKashey/use-callback-ref/", + "description": "The same useRef, but with callback", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/use-callback-ref@1.3.3", + "sourcePackageDir": "apps/web/node_modules/use-callback-ref" + }, + { + "name": "use-sidecar", + "version": "1.1.3", + "license": "MIT", + "homepage": "https://github.com/theKashey/use-sidecar", + "repository": "https://github.com/theKashey/use-sidecar", + "description": "Sidecar code splitting utils", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/use-sidecar@1.1.3", + "sourcePackageDir": "apps/web/node_modules/use-sidecar" + }, + { + "name": "use-sync-external-store", + "version": "1.6.0", + "license": "MIT", + "homepage": null, + "repository": "https://github.com/facebook/react.git", + "description": "Backwards compatible shim for React's useSyncExternalStore. Works with any React that supports hooks.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/use-sync-external-store@1.6.0", + "sourcePackageDir": "apps/web/node_modules/use-sync-external-store" + }, + { + "name": "vaul", + "version": "1.1.2", + "license": "MIT", + "homepage": "https://vaul.emilkowal.ski/", + "repository": "https://github.com/emilkowalski/vaul.git", + "description": "Drawer component for React.", + "files": [ + "LICENSE.md" + ], + "licenseFolder": "licenses/vaul@1.1.2", + "sourcePackageDir": "apps/web/node_modules/vaul" + }, + { + "name": "victory-vendor", + "version": "37.3.6", + "license": "MIT AND ISC", + "homepage": "https://commerce.nearform.com/open-source/victory", + "repository": "https://github.com/FormidableLabs/victory", + "description": "Vendored dependencies for Victory", + "files": [], + "licenseFolder": "licenses/victory-vendor@37.3.6", + "sourcePackageDir": "apps/web/node_modules/victory-vendor" + }, { "name": "vite", - "version": "8.0.10", + "version": "8.1.3", "license": "MIT", "homepage": "https://vite.dev", "repository": "git+https://github.com/vitejs/vite.git", @@ -676,12 +1778,25 @@ "files": [ "LICENSE.md" ], - "licenseFolder": "licenses/vite@8.0.10", + "licenseFolder": "licenses/vite@8.1.3", "sourcePackageDir": "apps/web/node_modules/vite" }, + { + "name": "yargs", + "version": "15.4.1", + "license": "MIT", + "homepage": "https://yargs.js.org/", + "repository": "https://github.com/yargs/yargs.git", + "description": "yargs the modern, pirate-themed, successor to optimist.", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/yargs@15.4.1", + "sourcePackageDir": "apps/web/node_modules/yargs" + }, { "name": "zod", - "version": "4.4.2", + "version": "4.4.3", "license": "MIT", "homepage": "https://zod.dev", "repository": "git+https://github.com/colinhacks/zod.git", @@ -689,12 +1804,12 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/zod@4.4.2", + "licenseFolder": "licenses/zod@4.4.3", "sourcePackageDir": "apps/web/node_modules/zod" }, { "name": "zustand", - "version": "5.0.12", + "version": "5.0.14", "license": "MIT", "homepage": "https://github.com/pmndrs/zustand", "repository": "git+https://github.com/pmndrs/zustand.git", @@ -702,7 +1817,7 @@ "files": [ "LICENSE" ], - "licenseFolder": "licenses/zustand@5.0.12", + "licenseFolder": "licenses/zustand@5.0.14", "sourcePackageDir": "packages/call/node_modules/zustand" } ] diff --git a/licenses/tiny-invariant@1.3.3/LICENSE b/licenses/tiny-invariant@1.3.3/LICENSE new file mode 100644 index 0000000..f3dcb58 --- /dev/null +++ b/licenses/tiny-invariant@1.3.3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Alexander Reardon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/licenses/tslib@2.8.1/LICENSE.txt b/licenses/tslib@2.8.1/LICENSE.txt new file mode 100644 index 0000000..bfe6430 --- /dev/null +++ b/licenses/tslib@2.8.1/LICENSE.txt @@ -0,0 +1,12 @@ +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/licenses/typescript-eslint@8.59.1/LICENSE b/licenses/typescript-eslint@8.62.1/LICENSE similarity index 100% rename from licenses/typescript-eslint@8.59.1/LICENSE rename to licenses/typescript-eslint@8.62.1/LICENSE diff --git a/licenses/use-callback-ref@1.3.3/LICENSE b/licenses/use-callback-ref@1.3.3/LICENSE new file mode 100644 index 0000000..a194c88 --- /dev/null +++ b/licenses/use-callback-ref@1.3.3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Anton Korzunov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/use-sidecar@1.1.3/LICENSE b/licenses/use-sidecar@1.1.3/LICENSE new file mode 100644 index 0000000..a194c88 --- /dev/null +++ b/licenses/use-sidecar@1.1.3/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Anton Korzunov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/use-sync-external-store@1.6.0/LICENSE b/licenses/use-sync-external-store@1.6.0/LICENSE new file mode 100644 index 0000000..b93be90 --- /dev/null +++ b/licenses/use-sync-external-store@1.6.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Meta Platforms, Inc. and affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/licenses/vaul@1.1.2/LICENSE.md b/licenses/vaul@1.1.2/LICENSE.md new file mode 100644 index 0000000..03986c1 --- /dev/null +++ b/licenses/vaul@1.1.2/LICENSE.md @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2023 Emil Kowalski + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/licenses/vite@8.0.10/LICENSE.md b/licenses/vite@8.1.3/LICENSE.md similarity index 97% rename from licenses/vite@8.0.10/LICENSE.md rename to licenses/vite@8.1.3/LICENSE.md index 0aabee5..ccf4c21 100644 --- a/licenses/vite@8.0.10/LICENSE.md +++ b/licenses/vite@8.1.3/LICENSE.md @@ -369,6 +369,34 @@ Repository: https://github.com/vitest-dev/vitest --------------------------------------- +## @voidzero-dev/vite-task-client +License: MIT +Repository: https://github.com/voidzero-dev/vite-task + +> MIT License +> +> Copyright (c) 2026-present, VoidZero Inc. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + ## anymatch License: ISC By: Elan Shanker @@ -962,6 +990,35 @@ Repository: https://github.com/follow-redirects/follow-redirects --------------------------------------- +## fresh-import +License: MIT +By: sapphi-red +Repository: https://github.com/sapphi-red/fresh-import + +> MIT License +> +> Copyright (c) 2026 sapphi-red +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + ## generic-names License: MIT By: Alexey Litvinov @@ -1217,7 +1274,7 @@ Repository: https://github.com/lydell/js-tokens ## launch-editor, launch-editor-middleware License: MIT By: Evan You -Repositories: https://github.com/yyx990803/launch-editor, https://github.com/yyx990803/launch-editor +Repositories: https://github.com/vitejs/launch-editor, https://github.com/vitejs/launch-editor > The MIT License (MIT) > diff --git a/licenses/yargs@15.4.1/LICENSE b/licenses/yargs@15.4.1/LICENSE new file mode 100644 index 0000000..b0145ca --- /dev/null +++ b/licenses/yargs@15.4.1/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright 2010 James Halliday (mail@substack.net); Modified work Copyright 2014 Contributors (ben@npmjs.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/licenses/zod@4.4.2/LICENSE b/licenses/zod@4.4.3/LICENSE similarity index 100% rename from licenses/zod@4.4.2/LICENSE rename to licenses/zod@4.4.3/LICENSE diff --git a/licenses/zustand@5.0.12/LICENSE b/licenses/zustand@5.0.14/LICENSE similarity index 100% rename from licenses/zustand@5.0.12/LICENSE rename to licenses/zustand@5.0.14/LICENSE diff --git a/package.json b/package.json index 0fc8932..82550b9 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "start-adb:mobile": "cd apps/tauri && bun run start-adb:mobile", "dev:desktop": "cd apps/electron && bun run dev", "build:desktop": "cd apps/electron && bun run package", - "run:desktop": "TENSAMIN_DEB=\"$PWD/apps/electron/release/Tensamin-$(node -p \\\"require('./package.json').version\\\")-linux-amd64.deb\" nix run .#localPathForDev --impure", "delete:mobile": "cd apps/tauri && nix develop ../..#tauri --command adb uninstall net.tensamin.client" }, "devDependencies": { @@ -44,12 +43,12 @@ "typescript-eslint": "^8.59.1" }, "overrides": { - "@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.39.tar.gz", - "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.24.tar.gz" + "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", + "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c4a52c6/mtp-0.1.0.tgz" }, "dependencies": { - "@tensamin/ttp-core": "*", "@tensamin/ui": "*", + "mtp": "*", "sonner": "^2.0.7" } } diff --git a/packages/call/package.json b/packages/call/package.json index d3b5827..74ee941 100644 --- a/packages/call/package.json +++ b/packages/call/package.json @@ -22,7 +22,7 @@ "@tensamin/crypto": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", - "@tensamin/ttp": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "deepfilternet3-noise-filter": "^1.2.1", diff --git a/packages/call/src/store.tsx b/packages/call/src/store.tsx index a5b4b83..c931a04 100644 --- a/packages/call/src/store.tsx +++ b/packages/call/src/store.tsx @@ -1,9 +1,9 @@ import { useCallback, useEffect, useMemo, useRef } from "react"; import { create } from "zustand"; import { useLocation, useNavigate } from "@tanstack/react-router"; -import { useTTP } from "@tensamin/ttp"; +import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; -import { ttp } from "@tensamin/shared/data"; +import { mtp } from "@tensamin/shared/data"; import { useCrypto } from "@tensamin/crypto/context"; import { useStorage } from "@tensamin/storage/context"; import { useSession } from "@tensamin/storage/session"; @@ -52,7 +52,7 @@ type IncomingCallInvite = { senderId: number; }; type CurrentCallData = - | (z.infer & { exists: boolean }) + | (z.infer & { exists: boolean }) | null; type NavigateFn = (options: { @@ -1088,7 +1088,7 @@ export const useCall = create(() => ({ export function useInitializeCall() { const navigate = useNavigate(); const location = useLocation(); - const { send, subscribePush } = useTTP(); + const { send, subscribePush } = useMTP(); const { getSharedSecret, decryptText, encryptText } = useCrypto(); const { load } = useStorage(); const { insertCall } = useSession(); @@ -1504,7 +1504,7 @@ export function useInitializeCall() { send("call_data", { call_id: callId }) .then((data) => { setCurrentCallData({ - ...(data.data as z.infer), + ...(data.data as z.infer), exists: true, }); }) diff --git a/packages/chat/package.json b/packages/chat/package.json index a4b9b86..b04384e 100644 --- a/packages/chat/package.json +++ b/packages/chat/package.json @@ -23,7 +23,7 @@ "@tensamin/markdown": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", - "@tensamin/ttp": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "lucide-react": "^1.14.0", diff --git a/packages/chat/src/behaviour/conversation.ts b/packages/chat/src/behaviour/conversation.ts index 67e77ee..cf0ea55 100644 --- a/packages/chat/src/behaviour/conversation.ts +++ b/packages/chat/src/behaviour/conversation.ts @@ -1,5 +1,4 @@ -import type { BoundSendFn } from "@tensamin/ttp"; -import type { TTP } from "@tensamin/shared/data"; +import type { BoundSendFn } from "@tensamin/mtp"; import type { RawMessages } from "../values"; /** @@ -11,7 +10,7 @@ import type { RawMessages } from "../values"; * @returns Promise. */ export async function getMessages( - send: BoundSendFn, + send: BoundSendFn, amount: number, offset: number, user_id: number, diff --git a/packages/chat/src/components/input.tsx b/packages/chat/src/components/input.tsx index e1356ee..da7575c 100644 --- a/packages/chat/src/components/input.tsx +++ b/packages/chat/src/components/input.tsx @@ -12,7 +12,7 @@ import { Button } from "@tensamin/ui"; import { Plus, Laugh, FileVideo } from "lucide-react"; import { useChat } from "../context"; -import { useTTP } from "@tensamin/ttp"; +import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; import { cn, useIsMobile } from "@tensamin/ui"; import { encryptText } from "@tensamin/crypto/worker"; @@ -28,7 +28,7 @@ export default function InputComponent({ }) { const [invertEnterBehavior, setInvertEnterBehavior] = React.useState(false); - const { send } = useTTP(); + const { send } = useMTP(); const { addLiveMessage, sharedSecret, userId, inputBoxRef } = useChat(); const { load, save } = useStorage(); const { moveUserIdToTop } = useSession(); diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index 6a8ffe5..e5f9c29 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -28,7 +28,7 @@ import { import MessageContextMenu from "./messageContextMenu"; import Media from "./media"; import { useStorage } from "@tensamin/storage/context"; -import { useTTP } from "@tensamin/ttp"; +import { useMTP } from "@tensamin/mtp"; function MessageComponent({ grouped, @@ -75,7 +75,7 @@ function MessageComponent({ // Message states const { load } = useStorage(); - const { send } = useTTP(); + const { send } = useMTP(); const messageStateReadUpdate = useCallback(async () => { const readConfirmations = await load("settings.read_confirmations"); diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index 09d65c3..1f641ce 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -15,7 +15,7 @@ import type { LiveMessage, RawMessage, RawMessages } from "./values"; import { useCrypto } from "@tensamin/crypto/context"; import { useUser } from "@tensamin/user/context"; import { useStorage } from "@tensamin/storage/context"; -import { useTTP } from "@tensamin/ttp"; +import { useMTP } from "@tensamin/mtp"; import { log } from "@tensamin/shared/log"; import { useSession } from "@tensamin/storage/session"; @@ -59,7 +59,7 @@ export default function Provider(props: { children: ReactNode }) { const { getSharedSecret, decryptText } = useCrypto(); const { get } = useUser(); const { load } = useStorage(); - const { send, subscribePush } = useTTP(); + const { send, subscribePush } = useMTP(); const { moveUserIdToTop } = useSession(); const [liveMessagesState, setLiveMessagesState] = useState([]); diff --git a/packages/chat/src/values.ts b/packages/chat/src/values.ts index 8a97ef0..675c0f8 100644 --- a/packages/chat/src/values.ts +++ b/packages/chat/src/values.ts @@ -1,7 +1,7 @@ import { z } from "zod"; -import { ttp } from "@tensamin/shared/data"; +import { mtp } from "@tensamin/shared/data"; -export type RawMessages = z.infer["messages"]; +export type RawMessages = z.infer["messages"]; export type RawMessage = RawMessages[number]; diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 705faa0..2129227 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -15,6 +15,7 @@ }, "dependencies": { "@noble/curves": "^2.0.1", + "@noble/hashes": "^2.0.1", "comlink": "^4.4.2", "react": "^19.2.0", "react-dom": "^19.2.0" diff --git a/packages/ttp/package.json b/packages/mtp/package.json similarity index 79% rename from packages/ttp/package.json rename to packages/mtp/package.json index 7243f25..3b7db74 100644 --- a/packages/ttp/package.json +++ b/packages/mtp/package.json @@ -1,5 +1,5 @@ { - "name": "@tensamin/ttp", + "name": "@tensamin/mtp", "private": true, "version": "0.0.0", "type": "module", @@ -12,16 +12,16 @@ "build": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@tensamin/ttp-core": "*", - "@tanstack/react-router": "^1.0.0", - "@tensamin/crypto": "workspace:*", - "@tensamin/storage": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/ui": "*", "@tauri-apps/api": "^2", + "@tensamin/crypto": "workspace:*", + "@tensamin/shared": "workspace:*", + "@tensamin/storage": "workspace:*", + "@tensamin/ui": "*", + "mtp": "*", "react": "^19.2.0", "react-dom": "^19.2.0", - "tauri-plugin-app-events-api": "^0.2.0" + "tauri-plugin-app-events-api": "^0.2.0", + "zod": "^4.4.2" }, "devDependencies": { "eslint": "^10.0.3" diff --git a/packages/ttp/src/context.tsx b/packages/mtp/src/context.tsx similarity index 50% rename from packages/ttp/src/context.tsx rename to packages/mtp/src/context.tsx index 36138a9..c81aa13 100644 --- a/packages/ttp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -1,42 +1,71 @@ import { - useState, createContext, type ReactNode, - useRef, - useEffect, - useContext, useCallback, + useContext, + useEffect, useMemo, + useRef, + useState, } from "react"; -import { useCrypto } from "@tensamin/crypto/context"; -import { log } from "@tensamin/shared/log"; -import { useStorage } from "@tensamin/storage/context"; -import { - createTransportClient, - READY_STATE, - type BoundSendFn, -} from "@tensamin/ttp-core"; import { isTauri } from "@tauri-apps/api/core"; import { onResume } from "tauri-plugin-app-events-api"; -import type { PushHandler } from "@tensamin/ttp-core"; +import { MTPClient } from "mtp"; +import type { z } from "zod"; + +import { decryptText } from "@tensamin/crypto/worker"; +import { useCrypto } from "@tensamin/crypto/context"; +import { + type Calls, + type Communities, + type Contacts, + mtp as schemas, + type MTP as Schemas, +} from "@tensamin/shared/data"; +import { log } from "@tensamin/shared/log"; +import { useStorage } from "@tensamin/storage/context"; +import { ErrorScreen, LoadingScreen as Loading } from "@tensamin/ui"; + import { PING_INTERVAL, RECONNECT_RESET, RECONNECT_TRIES, RETRY_INTERVAL, } from "./values"; -import { - type Calls, - type Communities, - type Contacts, - ttp as schemas, - type TTP as Schemas, -} from "@tensamin/shared/data"; -import { LoadingScreen as Loading } from "@tensamin/ui"; -import { ErrorScreen } from "@tensamin/ui"; -import { version } from "../../../package.json"; -import { decryptText } from "@tensamin/crypto/worker"; +const APP_VERSION = "0.0.10"; + +const READY_STATE = { + CLOSED: 0, + CONNECTING: 1, + OPEN: 2, +} as const; + +const PUSH_TYPES = ["message_live", "message_state", "call_invite", "error_no_iota"] as const; + +const WIRE_TYPES = { + identification: "AppIdentification", + challenge_response: "AppChallengeResponse", + get_user_data: "GetUserData", + change_user_data: "ChangeUserData", + ping: "AppPing", + message_live: "MessageLive", + messages_get: "MessagesGet", + message_send: "MessageSend", + add_conversation: "AddConversation", + message_state: "MessageState", + load_txt_record: "LoadTxtRecord", + authenticate_app: "AuthenticateApp", + create_app: "CreateApp", + call_token: "CallToken", + call_data: "CallData", + call_invite: "CallInvite", + error_no_iota: "ErrorNoIota", +} as const satisfies Record; + +const APP_TYPES = Object.fromEntries( + Object.entries(WIRE_TYPES).map(([appType, wireType]) => [wireType, appType]), +) as Record; const FATAL_IDENTIFICATION_ERROR_TYPES = new Set([ "error", @@ -49,105 +78,26 @@ const FATAL_IDENTIFICATION_ERROR_TYPES = new Set([ "error_not_authenticated", ]); -/** - * Detects whether an error chain contains a STOP_SENDING transport signal. - * @param error Unknown error value from transport operations. - * @returns True when the error represents a STOP_SENDING condition. - */ -function isStopSendingError(error: unknown) { - if (typeof error === "string") { - return error.includes("STOP_SENDING"); - } +export type ProtocolMessage = { + id?: number; + type: T | string; + data: z.infer; +}; - if (error instanceof Error) { - if (error.message.includes("STOP_SENDING")) { - return true; - } +export type BoundSendFn = ( + type: T, + data?: z.infer, + options?: { id?: number }, +) => Promise>; - const errorWithCause = error as Error & { cause?: unknown }; - if (errorWithCause.cause !== undefined) { - return isStopSendingError(errorWithCause.cause); - } - - return false; - } - - if (typeof error === "object" && error !== null) { - const maybeMessage = (error as { message?: unknown }).message; - if (typeof maybeMessage === "string") { - return maybeMessage.includes("STOP_SENDING"); - } - } - - return false; -} - -/** - * Classifies identification errors that should be treated as terminal. - * @param error Unknown error raised during identification. - * @returns True when identification should fail without retry. - */ -function isFatalIdentificationError(error: unknown) { - if (typeof error === "object" && error !== null && "type" in error) { - const type = (error as { type?: unknown }).type; - if ( - typeof type === "string" && - FATAL_IDENTIFICATION_ERROR_TYPES.has(type) - ) { - return true; - } - } - - if (!(error instanceof Error)) { - return false; - } - - if ( - error.message.includes("Missing or invalid user id") || - error.message.includes("Missing private key") || - error.message.includes("Identification challenge was rejected") || - error.message.includes("timed out after") || - error.message.includes("Response validation failed") - ) { - return true; - } - - return false; -} - -/** - * Extracts structured protocol error details for identification logging. - * @param error Unknown error raised during identification. - * @returns Structured protocol error details when available. - */ -function getProtocolErrorDetails(error: unknown) { - if (typeof error !== "object" || error === null) { - return null; - } - - if (!("type" in error)) { - return null; - } - - const protocolError = error as { - id?: unknown; - type?: unknown; - data?: unknown; - }; - - return { - id: protocolError.id, - type: protocolError.type, - data: protocolError.data, - }; -} - -function isTauriMobile() { - return isTauri() && /Android|iPhone|iPad|iPod/.test(navigator.userAgent); -} +export type PushHandler = (message: ProtocolMessage) => void; type ContextType = { - send: BoundSendFn; + send: BoundSendFn; + subscribe: ( + type: T, + handler: (message: ProtocolMessage) => void, + ) => () => void; subscribePush: (handler: PushHandler) => () => void; readyState: number; ownPing: number; @@ -158,17 +108,102 @@ type ContextType = { freshCalls: Calls; }; -const TTPContext = createContext(undefined); +const MTPContext = createContext(undefined); -/** - * Provides ttp transport state and authenticated send operations to children. - * @param props Component props with children. - * @returns Loading, error, or provider-wrapped JSX. - */ -export function Provider(props: { - children: ReactNode; - blockConnection?: boolean; -}) { +function isTauriMobile() { + return isTauri() && /Android|iPhone|iPad|iPod/.test(navigator.userAgent); +} + +function isFatalIdentificationError(error: unknown) { + if (typeof error === "object" && error !== null && "type" in error) { + const type = (error as { type?: unknown }).type; + if (typeof type === "string" && FATAL_IDENTIFICATION_ERROR_TYPES.has(type)) { + return true; + } + } + + return error instanceof Error && ( + error.message.includes("Missing or invalid user id") || + error.message.includes("Missing private key") || + error.message.includes("Identification challenge was rejected") || + error.message.includes("timed out after") || + error.message.includes("Response validation failed") + ); +} + +function getProtocolErrorDetails(error: unknown) { + if (typeof error !== "object" || error === null || !("type" in error)) { + return null; + } + + const protocolError = error as { id?: unknown; type?: unknown; data?: unknown }; + return { + id: protocolError.id, + type: protocolError.type, + data: protocolError.data, + }; +} + +function toPascalCase(value: string) { + return value + .split("_") + .map((part) => part.charAt(0).toUpperCase() + part.slice(1)) + .join(""); +} + +function toSnakeCase(value: string) { + return value + .replace(/([a-z0-9])([A-Z])/g, "$1_$2") + .replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2") + .toLowerCase(); +} + +function mapDataKeys(value: unknown, mapKey: (key: string) => string): unknown { + if (Array.isArray(value)) { + return value.map((item) => mapDataKeys(item, mapKey)); + } + + if (typeof value !== "object" || value === null) { + return value; + } + + return Object.fromEntries( + Object.entries(value).map(([key, entry]) => [ + mapKey(key), + mapDataKeys(entry, mapKey), + ]), + ); +} + +function validateResponse( + type: T, + message: { id?: number; type: string; data: unknown }, +): ProtocolMessage { + const appType = APP_TYPES[message.type] ?? message.type; + const data = mapDataKeys(message.data, toSnakeCase); + + if (appType.startsWith("error")) { + return { ...message, type: appType, data } as ProtocolMessage; + } + + const schema = schemas[type]?.response; + if (!schema) { + return message as ProtocolMessage; + } + + const parsed = schema.safeParse(data); + if (!parsed.success) { + throw new Error(`Response validation failed for ${type}: ${parsed.error.message}`); + } + + return { + id: message.id, + type: appType, + data: parsed.data, + } as ProtocolMessage; +} + +export function Provider(props: { children: ReactNode; blockConnection?: boolean }) { const { load } = useStorage(); const { decrypt, getSharedSecret } = useCrypto(); @@ -187,73 +222,65 @@ export function Provider(props: { const [freshContacts, setFreshContacts] = useState([]); const [freshCalls, setFreshCalls] = useState([]); - const clientRef = useRef - > | null>(null); + const clientRef = useRef> | null>(null); const identificationStartedRef = useRef(false); const identificationCancelRef = useRef(false); - // Load ttp url - const [ttpUrl, setTtpUrl] = useState(null); - const [ttpServerCert, setTtpServerCert] = useState(""); + const [mtpUrl, setMtpUrl] = useState(null); useEffect(() => { - load("ttp_url").then((url) => { - setTtpUrl(url); - }); - load("ttp_server_cert").then((cert) => { - setTtpServerCert(cert.trim()); - }); + load("mtp_url").then(setMtpUrl); }, [load]); - /** - * Sends typed protocol messages through the active transport client. - * @param type Protocol message type. - * @param data Optional request payload. - * @param options Optional request id. - * @returns A promise for the typed message payload. - */ - const send: BoundSendFn = useMemo( - () => - (( - type: string, - data?: Record, - options?: { id?: number }, - ) => { - const client = clientRef.current; + const send: BoundSendFn = useMemo( + () => async (type, data, options) => { + const client = clientRef.current; - if (!client) { - return Promise.reject(new Error("ttp is not connected")); - } + if (!client) { + throw new Error("mtp is not connected"); + } - return client.send(type as keyof Schemas & string, data as never, { - ...options, - }); - }) as BoundSendFn, + const message = await client.request( + WIRE_TYPES[type], + mapDataKeys(data ?? {}, toPascalCase) as Record, + options, + ); + return validateResponse(type, message); + }, [], ); - /** - * Subscribes to unsolicited push events from the active transport client. - * @param handler Callback invoked for each push message. - * @returns Unsubscribe function. - */ - const subscribePush = useCallback((handler: PushHandler) => { + const subscribe = useCallback((type, handler) => { const client = clientRef.current; - if (!client) { return () => {}; } - return client.subscribePush(handler); + return client.subscribe(WIRE_TYPES[type], (message) => { + handler(validateResponse(type, message)); + }); + }, []); + + const subscribePush = useCallback((handler: PushHandler) => { + const client = clientRef.current; + if (!client) { + return () => {}; + } + + const unsubscribers = PUSH_TYPES.map((type) => + client.subscribe(WIRE_TYPES[type], (message) => { + handler(validateResponse(type as keyof Schemas & string, message)); + }), + ); + + return () => { + unsubscribers.forEach((unsubscribe) => unsubscribe()); + }; }, []); - // Check for error_no_iota useEffect(() => { if (!connected) return; - return subscribePush((message) => { - if (message.type !== "error_no_iota") return; - + return subscribe("error_no_iota", () => { identificationCancelRef.current = true; setIdentified(false); setIdentifying(false); @@ -262,7 +289,7 @@ export function Provider(props: { "You could try to restart your Iota, check for updates or check your network connection.", ); }); - }, [connected, subscribePush]); + }, [connected, subscribe]); useEffect(() => { if (!connected || !identified) { @@ -272,20 +299,15 @@ export function Provider(props: { const interval = setInterval(async () => { try { const originalNow = Date.now(); - - const data = await send("ping", { - last_ping: originalNow, - }); - - const travelTime = Date.now() - originalNow; - setOwnPing(travelTime); + const data = await send("ping", { last_ping: originalNow }); + setOwnPing(Date.now() - originalNow); const remotePing = data.data.ping_iota; if (typeof remotePing === "number") { setIotaPing(remotePing); } } catch (intervalError) { - log(1, "ttp", "yellow", "Ping failed", intervalError); + log(1, "mtp", "yellow", "Ping failed", intervalError); } }, PING_INTERVAL); @@ -295,9 +317,10 @@ export function Provider(props: { }, [connected, identified, send]); useEffect(() => { - if (!ttpUrl) { + if (!mtpUrl) { return; } + const url = mtpUrl; let attempts = 0; let reconnectTimer: ReturnType | null = null; @@ -306,37 +329,19 @@ export function Provider(props: { let disposed = false; let resumeListenerRegistered = false; - /** - * Clears any scheduled reconnect timeout and resets scheduling flags. - * @returns Void. - */ const clearReconnectTimer = () => { - if (!reconnectTimer) { - return; - } - + if (!reconnectTimer) return; clearTimeout(reconnectTimer); reconnectTimer = null; reconnectScheduled = false; }; - /** - * Clears the stability timer that resets reconnect attempt counters. - * @returns Void. - */ const clearReconnectResetTimer = () => { - if (!reconnectResetTimer) { - return; - } - + if (!reconnectResetTimer) return; clearTimeout(reconnectResetTimer); reconnectResetTimer = null; }; - /** - * Starts the stability timer that resets reconnect attempts after uptime. - * @returns Void. - */ const scheduleReconnectReset = () => { clearReconnectResetTimer(); reconnectResetTimer = setTimeout(() => { @@ -345,22 +350,15 @@ export function Provider(props: { }, RECONNECT_RESET * 1_000); }; - /** - * Schedules a delayed reconnect attempt unless retries are exhausted. - * @param reason Optional reason for reconnect scheduling. - * @returns Void. - */ const scheduleReconnect = (reason?: unknown) => { - if (disposed || reconnectScheduled) { - return; - } + if (disposed || reconnectScheduled) return; if (attempts >= RECONNECT_TRIES) { setError("Connection Failed"); setErrorDescription( "Unable to connect to the server after multiple attempts. Please check your internet connection or try again later.", ); - log(0, "ttp", "red", "Reconnection attempts exhausted", reason); + log(0, "mtp", "red", "Reconnection attempts exhausted", reason); return; } @@ -373,87 +371,65 @@ export function Provider(props: { }, RETRY_INTERVAL); }; - const transportClient = !props.blockConnection - ? createTransportClient(schemas, { - url: ttpUrl, - serverCert: ttpServerCert || undefined, - onReadyStateChange: (state) => { - if (state === READY_STATE.CONNECTING) { - log(2, "ttp", "blue", ttpUrl); - } - - setReadyState(state); - - if (state === READY_STATE.OPEN) { - clearReconnectTimer(); - scheduleReconnectReset(); - identificationStartedRef.current = false; - identificationCancelRef.current = false; - setConnected(true); - setIdentified(false); - setError(""); - setErrorDescription(""); - return; - } - - clearReconnectResetTimer(); - identificationStartedRef.current = false; - setConnected(false); - setIdentified(false); - setIdentifying(false); - }, - onClose: ({ error: closeError, intentional }) => { - clearReconnectResetTimer(); - setConnected(false); - setIdentified(false); - setIdentifying(false); - - if (disposed || intentional) { - return; - } - - log(0, "ttp", "red", "Disconnected", closeError); - scheduleReconnect(closeError); - }, - }) - : null; - - clientRef.current = transportClient; - - /** - * Establishes the transport connection and schedules reconnect on failures. - * @returns Promise that resolves after one connection attempt. - */ async function connect() { - if (disposed) { - return; - } - - if (!ttpUrl) { + if (disposed || props.blockConnection) { return; } try { - await transportClient?.connect(ttpUrl); - } catch (connectError) { + setReadyState(READY_STATE.CONNECTING); + setConnected(false); + setIdentified(false); + setIdentifying(false); + identificationStartedRef.current = false; + + await MTPClient.init(); + const client = await MTPClient.create({ + url, + pings: true, + logger: (event) => log(event.hint === "error" ? 0 : 2, "mtp", "blue", event), + }); + if (disposed) { + client.disconnect(); return; } - log(0, "ttp", "red", "Connection attempt failed", connectError); + clientRef.current = client; + await client.connect(); + + if (disposed) { + client.disconnect(); + return; + } + + clearReconnectTimer(); + scheduleReconnectReset(); + identificationCancelRef.current = false; + setReadyState(READY_STATE.OPEN); + setConnected(true); + setError(""); + setErrorDescription(""); + } catch (connectError) { + if (disposed) return; + + clientRef.current?.disconnect(); + clientRef.current = null; + clearReconnectResetTimer(); + setReadyState(READY_STATE.CLOSED); + setConnected(false); + setIdentified(false); + setIdentifying(false); + log(0, "mtp", "red", "Connection attempt failed", connectError); scheduleReconnect(connectError); } } - /** - * Starts a reconnect after resume only when the transport is disconnected. - * @returns Promise that resolves after any needed resume reconnect starts. - */ async function reconnectAfterResume() { - if (disposed || !transportClient) { - return; - } + if (disposed) return; + clientRef.current?.disconnect(); + clientRef.current = null; clearReconnectTimer(); clearReconnectResetTimer(); attempts = 0; @@ -482,18 +458,15 @@ export function Provider(props: { onResume(); } - if (clientRef.current === transportClient) { - clientRef.current = null; - } - - void transportClient?.close("context-dispose"); + clientRef.current?.disconnect(); + clientRef.current = null; setReadyState(READY_STATE.CLOSED); setConnected(false); setIdentified(false); setIdentifying(false); identificationStartedRef.current = false; }; - }, [props.blockConnection, ttpServerCert, ttpUrl]); + }, [mtpUrl, props.blockConnection]); useEffect(() => { if (!connected) { @@ -501,12 +474,7 @@ export function Provider(props: { return; } - if (identificationCancelRef.current) { - identificationStartedRef.current = false; - return; - } - - if (identificationStartedRef.current) { + if (identificationCancelRef.current || identificationStartedRef.current) { return; } @@ -515,10 +483,6 @@ export function Provider(props: { setIdentifying(true); setIdentified(false); - /** - * Executes the challenge-response identification handshake. - * @returns Promise that resolves when identification flow completes. - */ const identify = async () => { try { const sessionId = await load("session_id"); @@ -535,58 +499,39 @@ export function Provider(props: { throw new Error("Invalid credentials"); } - // Challenge Request const challengeEnvelope = await send("identification", { - version, + version: APP_VERSION, session_id: sessionId, user_id: userId, - }).catch((challengeError) => { - throw new Error( - "Failed to obtain identification challenge from server", - challengeError, - ); }); - // Shared Secret const sharedSecret = await getSharedSecret( privateKey, "", challengeEnvelope.data.public_key, - ).catch((secretError) => { - throw new Error( - "Failed to derive shared secret for identification", - secretError, - ); - }); + ); - // Challenge Decryption const decryptedChallenge = await decryptText( sharedSecret, challengeEnvelope.data.challenge, - ).catch((decryptionError) => { - throw new Error( - "Failed to decrypt identification challenge: " + - String(decryptionError), - ); - }); + ); - // Challenge Response const finalResponse = await send("challenge_response", { challenge: decryptedChallenge, - }).catch((error) => { + }).catch((challengeError) => { if (!identificationCancelRef.current) { setError("Identification Failed"); setErrorDescription( "Unable to complete secure identification. Please verify your credentials and try again.", ); } - throw error; + throw challengeError; }); - // Data handling setFreshContacts(finalResponse.data.contacts); - setFreshCommunities(finalResponse.data.communities); + setFreshCommunities(finalResponse.data.communities ?? []); setFreshCalls(finalResponse.data.calls); + if (cancelled || identificationCancelRef.current) { return; } @@ -595,37 +540,20 @@ export function Provider(props: { setErrorDescription(""); setIdentified(true); } catch (identificationError) { - if (cancelled) { - return; - } - - if (identificationCancelRef.current) { - return; - } - - if (isStopSendingError(identificationError)) { - setError("Connection closed"); - setErrorDescription( - "The connection was forcefully closed by the Omikron.", - ); - setIdentified(false); + if (cancelled || identificationCancelRef.current) { return; } const isFatal = isFatalIdentificationError(identificationError); - const protocolErrorDetails = - getProtocolErrorDetails(identificationError); - log( isFatal ? 0 : 1, - "ttp", + "mtp", isFatal ? "red" : "yellow", "Identification handshake failed", - protocolErrorDetails ?? identificationError, + getProtocolErrorDetails(identificationError) ?? identificationError, ); setIdentified(false); - setError("Identification Failed"); setErrorDescription( isFatal @@ -647,51 +575,35 @@ export function Provider(props: { }, [connected, decrypt, getSharedSecret, load, send]); const progress = useMemo(() => { - if (!ttpUrl) return 10; + if (!mtpUrl) return 10; if (readyState === READY_STATE.CONNECTING) return 30; if (!connected) return 45; if (identifying) return 75; if (!identified) return 90; return 100; - }, [connected, identified, identifying, readyState, ttpUrl]); + }, [connected, identified, identifying, readyState, mtpUrl]); const loadingTitle = useMemo(() => { - if (!ttpUrl) { - return "Looking up configuration"; - } - - if (readyState === READY_STATE.CONNECTING || !connected) { - return "Connecting to Tensamin"; - } - - if (identifying || !identified) { - return "Identifying secure session"; - } - + if (!mtpUrl) return "Looking up configuration"; + if (readyState === READY_STATE.CONNECTING || !connected) return "Connecting to Tensamin"; + if (identifying || !identified) return "Identifying secure session"; return "Loading"; - }, [connected, identified, identifying, readyState, ttpUrl]); + }, [connected, identified, identifying, readyState, mtpUrl]); const loadingDescription = useMemo(() => { - if (!ttpUrl) { - return "Loading connection details"; - } - + if (!mtpUrl) return "Loading connection details"; if (readyState === READY_STATE.CONNECTING || !connected) { return "Establishing transport channel"; } - - if (identifying || !identified) { - return "Verifying challenge-response handshake"; - } - + if (identifying || !identified) return "Verifying challenge-response handshake"; return undefined; - }, [connected, identified, identifying, readyState, ttpUrl]); + }, [connected, identified, identifying, readyState, mtpUrl]); if (error !== "" && errorDescription !== "") { return ; } - if (!connected || !identified || !ttpUrl) { + if (!connected || !identified || !mtpUrl) { return ( {props.children} - + ); } -/** - * Returns the active ttp context and enforces provider usage. - * @returns ttp context API for transport operations and connection state. - */ -export function useTTP(): ContextType { - const context = useContext(TTPContext); +export function useMTP(): ContextType { + const context = useContext(MTPContext); if (!context) { - throw new Error("useTTP must be used within a TTPProvider"); + throw new Error("useMTP must be used within an MTPProvider"); } return context; } diff --git a/packages/mtp/src/index.ts b/packages/mtp/src/index.ts new file mode 100644 index 0000000..dff2352 --- /dev/null +++ b/packages/mtp/src/index.ts @@ -0,0 +1,2 @@ +export { Provider, useMTP } from "./context"; +export type { BoundSendFn, PushHandler, ProtocolMessage } from "./context"; diff --git a/packages/ttp/src/values.ts b/packages/mtp/src/values.ts similarity index 66% rename from packages/ttp/src/values.ts rename to packages/mtp/src/values.ts index ae72d43..b95efe4 100644 --- a/packages/ttp/src/values.ts +++ b/packages/mtp/src/values.ts @@ -1,5 +1,3 @@ -export const RESPONSE_TIMEOUT = 15_000; -export const RETRY_COUNT = 10; export const RETRY_INTERVAL = 3_000; export const PING_INTERVAL = 3_000; export const RECONNECT_TRIES = 3; diff --git a/packages/mtp/tsconfig.json b/packages/mtp/tsconfig.json new file mode 100644 index 0000000..f456417 --- /dev/null +++ b/packages/mtp/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "jsx": "react-jsx", + "module": "ESNext", + "target": "ES2020", + "moduleResolution": "Bundler", + "strict": true, + "skipLibCheck": true, + "noEmit": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true + }, + "include": ["src"] +} diff --git a/packages/notifications/package.json b/packages/notifications/package.json index cfd540a..4e09a14 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -18,7 +18,7 @@ "@tensamin/shared": "workspace:*", "@tensamin/chat": "workspace:*", "@tensamin/storage": "workspace:*", - "@tensamin/ttp": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "react": "^19.2.0", diff --git a/packages/notifications/src/context.tsx b/packages/notifications/src/context.tsx index 306788e..96332ce 100644 --- a/packages/notifications/src/context.tsx +++ b/packages/notifications/src/context.tsx @@ -2,7 +2,7 @@ import { useCrypto } from "@tensamin/crypto/context"; import { useStorage } from "@tensamin/storage/context"; import { useUser } from "@tensamin/user/context"; import { useChat } from "@tensamin/chat/context"; -import { useTTP } from "@tensamin/ttp"; +import { useMTP } from "@tensamin/mtp"; import { createContext, useEffect, useContext } from "react"; import z from "zod"; import { toast as sonnerToast } from "sonner"; @@ -24,7 +24,7 @@ async function requestNotificationPermission() { } export default function Provider(props: { children: React.ReactNode }) { - const { subscribePush, send } = useTTP(); + const { subscribePush, send } = useMTP(); const { load } = useStorage(); const { get } = useUser(); const { decryptText, getSharedSecret } = useCrypto(); diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 21f69e3..23c8d31 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -37,15 +37,15 @@ export const failedUser = { sub_level: 0, user_id: 0, username: "unknown", -} as z.infer; +} as z.infer; export type Contacts = z.infer< - typeof ttp.challenge_response.response.shape.contacts + typeof mtp.challenge_response.response.shape.contacts >; export type Communities = z.infer< - typeof ttp.challenge_response.response.shape.communities + typeof mtp.challenge_response.response.shape.communities >; -export type Calls = z.infer; +export type Calls = z.infer; type Base16Palette = Record< | "base00" @@ -67,7 +67,7 @@ type Base16Palette = Record< string >; -// TTP +// MTP const user = z.object({ about: z.string().max(255).optional(), avatar: z.string().optional(), @@ -93,7 +93,7 @@ const user = z.object({ user_id: z.number(), username: z.string().min(1).max(15), }); -export const ttp = { +export const mtp = { identification: { request: z.object({ version: z.string(), @@ -258,9 +258,13 @@ export const ttp = { sender_id: z.number().optional(), }), }, + error_no_iota: { + request: z.object({}).optional(), + response: z.object({}), + }, } satisfies Record; -export type TTP = typeof ttp; +export type MTP = typeof mtp; // Storage export interface Storage extends SettingsStorageDefaults { @@ -276,8 +280,7 @@ export interface Storage extends SettingsStorageDefaults { legal_docs: z.infer; cached_contacts: Contacts; cached_communities: Communities; - ttp_url: string; - ttp_server_cert: string; + mtp_url: string; call_mute_range_start: number; call_mute_range_end: number; theme_color: string; @@ -326,8 +329,7 @@ export const storageDefaults: Storage = { }, cached_contacts: [], cached_communities: [], - ttp_url: "https://tensamin.net:959", - ttp_server_cert: "", + mtp_url: "https://tensamin.net:959", call_mute_range_start: -55, call_mute_range_end: -45, theme_color: "", @@ -368,7 +370,7 @@ export const storageDefaults: Storage = { // User Status export function getStatusColor( - status: z.infer, + status: z.infer, ) { switch (status) { case "user_online": diff --git a/packages/storage/package.json b/packages/storage/package.json index ef28e8b..8bc2765 100644 --- a/packages/storage/package.json +++ b/packages/storage/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "@tensamin/shared": "workspace:*", - "@tensamin/ttp": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/ui": "*", "react": "^19.2.0", "react-dom": "^19.2.0" diff --git a/packages/storage/src/session.tsx b/packages/storage/src/session.tsx index 46f36d6..9a9181b 100644 --- a/packages/storage/src/session.tsx +++ b/packages/storage/src/session.tsx @@ -1,4 +1,4 @@ -import { useTTP } from "@tensamin/ttp"; +import { useMTP } from "@tensamin/mtp"; import { createContext, type ReactNode, @@ -21,7 +21,7 @@ interface SessionContextType { const SessionContext = createContext(undefined); export default function SessionProvider({ children }: { children: ReactNode }) { - const { freshContacts, freshCommunities, freshCalls } = useTTP(); + const { freshContacts, freshCommunities, freshCalls } = useMTP(); const { load, save } = useStorage(); const [contacts, setContacts] = useState([]); const [communities, setCommunities] = useState([]); diff --git a/packages/tauth/package.json b/packages/tauth/package.json index 2e9adf2..ba6e5d3 100644 --- a/packages/tauth/package.json +++ b/packages/tauth/package.json @@ -18,7 +18,7 @@ "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", "@tensamin/tauri": "workspace:*", - "@tensamin/ttp": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "lucide-react": "^1.8.0", diff --git a/packages/tauth/src/context.tsx b/packages/tauth/src/context.tsx index 0e094a0..641a278 100644 --- a/packages/tauth/src/context.tsx +++ b/packages/tauth/src/context.tsx @@ -13,7 +13,7 @@ import { } from "@tensamin/ui"; import { useLocation } from "@tanstack/react-router"; import { useDeeplinks } from "@tensamin/tauri/deeplinkHandler"; -import { useTTP } from "@tensamin/ttp"; +import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; import { Loader2 } from "lucide-react"; import { isTauri } from "@tauri-apps/api/core"; @@ -22,7 +22,7 @@ import { decryptText } from "@tensamin/crypto/worker"; export default function Wrapper({ children }: { children: ReactNode }) { const { get } = useUser(); const { load } = useStorage(); - const { send } = useTTP(); + const { send } = useMTP(); const { getSharedSecret } = useCrypto(); const { searchStr } = useLocation(); const [dialogOpen, setDialogOpen] = useState(false); diff --git a/packages/ttp/src/index.ts b/packages/ttp/src/index.ts deleted file mode 100644 index e1a274f..0000000 --- a/packages/ttp/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "@tensamin/ttp-core"; -export * from "./context"; -export * from "./values"; diff --git a/packages/ttp/todo.md b/packages/ttp/todo.md deleted file mode 100644 index a62aa4d..0000000 --- a/packages/ttp/todo.md +++ /dev/null @@ -1,3 +0,0 @@ -- Replace with MTP - - Remove queue - - Use Date.now() for message id diff --git a/packages/ttp/tsconfig.json b/packages/ttp/tsconfig.json deleted file mode 100644 index 9714625..0000000 --- a/packages/ttp/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "module": "ESNext", - "moduleResolution": "bundler", - "jsx": "react-jsx", - "strict": true, - "skipLibCheck": true, - "noEmit": true - }, - "include": ["src"] -} diff --git a/packages/user/package.json b/packages/user/package.json index ced2f84..bb49cec 100644 --- a/packages/user/package.json +++ b/packages/user/package.json @@ -14,7 +14,7 @@ "build": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@tensamin/ttp": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", "react": "^19.2.0", diff --git a/packages/user/src/context.tsx b/packages/user/src/context.tsx index 962152a..41340fb 100644 --- a/packages/user/src/context.tsx +++ b/packages/user/src/context.tsx @@ -1,7 +1,7 @@ import * as React from "react"; -import { useTTP } from "@tensamin/ttp"; +import { useMTP } from "@tensamin/mtp"; -import { ttp as schemas } from "@tensamin/shared/data"; +import { mtp as schemas } from "@tensamin/shared/data"; import type z from "zod"; export type User = z.infer; @@ -23,7 +23,7 @@ export default function UserProvider(props: { children: React.ReactNode }) { {}, ); - const { send } = useTTP(); + const { send } = useMTP(); /** * Executes get. diff --git a/temp b/temp deleted file mode 100644 index e69de29..0000000 diff --git a/type-maps.yaml b/type-maps.yaml new file mode 100644 index 0000000..15f30cc --- /dev/null +++ b/type-maps.yaml @@ -0,0 +1,70 @@ +protocol_version: "0.0" + +type_maps: + "0.0": + CommunicationTypes: + AppIdentification: 32 + AppChallengeResponse: 33 + GetUserData: 34 + ChangeUserData: 35 + MessageLive: 36 + MessagesGet: 37 + MessageSend: 38 + AddConversation: 39 + MessageState: 40 + LoadTxtRecord: 41 + AuthenticateApp: 42 + CreateApp: 43 + CallToken: 44 + CallData: 45 + CallInvite: 46 + AppPing: 47 + ErrorNoIota: 48 + DataTypes: + About: 32 + AppIdentifier: 33 + AppPublicKey: 34 + Avatar: 35 + CallId: 36 + CallMembers: 37 + CallSecret: 38 + CallToken: 39 + Calls: 40 + Challenge: 41 + ChatPartnerId: 42 + ChatPartnerName: 43 + Communities: 44 + CommunityId: 45 + Contacts: 46 + Content: 47 + Display: 48 + Files: 49 + Height: 50 + IotaId: 51 + LastMessage: 52 + LastMessageAt: 53 + LastPing: 54 + Message: 55 + MessageState: 56 + Messages: 57 + Name: 58 + Offset: 59 + OmikronConnections: 60 + OmikronId: 61 + OnlineStatus: 62 + Path: 63 + PingIota: 64 + PublicKey: 65 + ReceiverId: 66 + SendTime: 67 + SenderId: 68 + SessionId: 69 + Status: 70 + SubEnd: 71 + SubLevel: 72 + Tint: 73 + Type: 74 + UserId: 75 + UserIds: 76 + Username: 77 + AppVersion: 78 From 8e831fd993839d9e0f3ec7648b2651c7a87bbd13 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 2 Jul 2026 23:56:49 +0200 Subject: [PATCH 36/75] (feat): prepare for new ident flow (fix): some bugs --- apps/web/src/index.tsx | 40 +++---- apps/web/vite.config.ts | 59 ++++++++- bun.lock | 4 +- package.json | 2 +- packages/call/src/store.tsx | 3 +- packages/mtp/src/context.tsx | 223 +++++++++++------------------------ packages/shared/src/data.ts | 75 +++++------- type-maps.yaml | 3 +- 8 files changed, 177 insertions(+), 232 deletions(-) diff --git a/apps/web/src/index.tsx b/apps/web/src/index.tsx index 4d1e9ae..bbc399e 100644 --- a/apps/web/src/index.tsx +++ b/apps/web/src/index.tsx @@ -238,19 +238,9 @@ function RootShell() { - - - - - - - - - - - - - + + + @@ -264,13 +254,23 @@ function RootShell() { function AppShell() { return ( - - - - - - - + + + + + + + + + + + + + + + + + ); } diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index 44697ad..a224653 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -3,7 +3,7 @@ import type { IncomingMessage, ServerResponse } from "node:http"; import { dirname, resolve } from "node:path"; import { fileURLToPath } from "node:url"; -import { defineConfig, type Plugin } from "vite"; +import { defineConfig, normalizePath, type Plugin } from "vite"; import react from "@vitejs/plugin-react"; import tailwindcss from "@tailwindcss/vite"; import { mtp } from "mtp/vite"; @@ -51,6 +51,38 @@ function deepFilterAssetHeaders(rootDir: string): Plugin { }; } +function restartOnMtpSourceChange(srcDir: string): Plugin { + const watchedDir = normalizePath(realpathSync(srcDir)); + + return { + name: "restart-on-mtp-source-change", + apply: "serve", + configureServer(server) { + server.watcher.add(watchedDir); + let restartTimer: ReturnType | null = null; + + const restart = (file: string) => { + if (!normalizePath(file).startsWith(`${watchedDir}/`)) { + return; + } + + if (restartTimer) { + clearTimeout(restartTimer); + } + + restartTimer = setTimeout(() => { + restartTimer = null; + void server.restart(); + }, 50); + }; + + server.watcher.on("add", restart); + server.watcher.on("change", restart); + server.watcher.on("unlink", restart); + }, + }; +} + export default defineConfig({ base: "./", clearScreen: false, @@ -105,7 +137,6 @@ export default defineConfig({ }, envPrefix: ["VITE_", "TAURI_ENV_*"], optimizeDeps: { - // Annoying Vite 8 stuff include: [ "react-redux", "use-sync-external-store/shim/with-selector", @@ -114,7 +145,28 @@ export default defineConfig({ "eventemitter3", "react-is", ], - exclude: ["mtp", "mtp/raw", "mtp/type-map", "@tensamin/shared"], + exclude: [ + "mtp", + "mtp/raw", + "mtp/type-map", + "@tensamin/call", + "@tensamin/call/utils", + "@tensamin/chat", + "@tensamin/crypto", + "@tensamin/crypto/context", + "@tensamin/crypto/worker", + "@tensamin/markdown", + "@tensamin/mtp", + "@tensamin/notifications", + "@tensamin/shared", + "@tensamin/shared/data", + "@tensamin/shared/log", + "@tensamin/storage", + "@tensamin/storage/context", + "@tensamin/tauri", + "@tensamin/tauth", + "@tensamin/user", + ], }, build: { minify: !process.env.TAURI_ENV_DEBUG ? "esbuild" : false, @@ -122,6 +174,7 @@ export default defineConfig({ }, plugins: [ deepFilterAssetHeaders(resolve(appDir, "public")), + restartOnMtpSourceChange(resolve(appDir, "../../packages/mtp/src")), mtp({ typeMaps: resolve(appDir, "../../type-maps.yaml") }), react(), tailwindcss(), diff --git a/bun.lock b/bun.lock index 466251e..0af5854 100644 --- a/bun.lock +++ b/bun.lock @@ -347,7 +347,7 @@ }, "overrides": { "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", - "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c4a52c6/mtp-0.1.0.tgz", + "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8ae8377/mtp-0.1.0.tgz", }, "packages": { "@babel/code-frame": ["@babel/code-frame@7.29.7", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw=="], @@ -1540,7 +1540,7 @@ "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - "mtp": ["mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c4a52c6/mtp-0.1.0.tgz", {}, "sha512-KIhmkIlALo0PdMnx/QzhM87jNCuC90DaQ7uEWpMjbkI3xvGWmkiX75zqt0UZcO03JYWfBAsCO4+51egoOUq6TA=="], + "mtp": ["mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8ae8377/mtp-0.1.0.tgz", {}, "sha512-W0l7Jc+1XI8BdrmRP9rlY/di6kZ5a/srv4mQvzwyJd+Tfg7BWZ9IUYUXIPze6ayx9dLY1f9Y71OgbhjstMzYjA=="], "nanoid": ["nanoid@3.3.15", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA=="], diff --git a/package.json b/package.json index 82550b9..c673b1a 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ }, "overrides": { "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", - "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c4a52c6/mtp-0.1.0.tgz" + "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8ae8377/mtp-0.1.0.tgz" }, "dependencies": { "@tensamin/ui": "*", diff --git a/packages/call/src/store.tsx b/packages/call/src/store.tsx index c931a04..251071a 100644 --- a/packages/call/src/store.tsx +++ b/packages/call/src/store.tsx @@ -52,8 +52,7 @@ type IncomingCallInvite = { senderId: number; }; type CurrentCallData = - | (z.infer & { exists: boolean }) - | null; + (z.infer & { exists: boolean }) | null; type NavigateFn = (options: { to: string; diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index c81aa13..b6da558 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -13,8 +13,6 @@ import { onResume } from "tauri-plugin-app-events-api"; import { MTPClient } from "mtp"; import type { z } from "zod"; -import { decryptText } from "@tensamin/crypto/worker"; -import { useCrypto } from "@tensamin/crypto/context"; import { type Calls, type Communities, @@ -33,19 +31,21 @@ import { RETRY_INTERVAL, } from "./values"; -const APP_VERSION = "0.0.10"; - const READY_STATE = { CLOSED: 0, CONNECTING: 1, OPEN: 2, } as const; -const PUSH_TYPES = ["message_live", "message_state", "call_invite", "error_no_iota"] as const; +const PUSH_TYPES = [ + "message_live", + "message_state", + "call_invite", + "error_no_iota", +] as const; const WIRE_TYPES = { - identification: "AppIdentification", - challenge_response: "AppChallengeResponse", + temp_cool_type: "TempCoolType", get_user_data: "GetUserData", change_user_data: "ChangeUserData", ping: "AppPing", @@ -67,18 +67,9 @@ const APP_TYPES = Object.fromEntries( Object.entries(WIRE_TYPES).map(([appType, wireType]) => [wireType, appType]), ) as Record; -const FATAL_IDENTIFICATION_ERROR_TYPES = new Set([ - "error", - "error_invalid_user_id", - "error_no_user_id", - "error_invalid_challenge", - "error_invalid_secret", - "error_invalid_private_key", - "error_invalid_public_key", - "error_not_authenticated", -]); - -export type ProtocolMessage = { +export type ProtocolMessage< + T extends keyof Schemas & string = keyof Schemas & string, +> = { id?: number; type: T | string; data: z.infer; @@ -114,29 +105,16 @@ function isTauriMobile() { return isTauri() && /Android|iPhone|iPad|iPod/.test(navigator.userAgent); } -function isFatalIdentificationError(error: unknown) { - if (typeof error === "object" && error !== null && "type" in error) { - const type = (error as { type?: unknown }).type; - if (typeof type === "string" && FATAL_IDENTIFICATION_ERROR_TYPES.has(type)) { - return true; - } - } - - return error instanceof Error && ( - error.message.includes("Missing or invalid user id") || - error.message.includes("Missing private key") || - error.message.includes("Identification challenge was rejected") || - error.message.includes("timed out after") || - error.message.includes("Response validation failed") - ); -} - function getProtocolErrorDetails(error: unknown) { if (typeof error !== "object" || error === null || !("type" in error)) { return null; } - const protocolError = error as { id?: unknown; type?: unknown; data?: unknown }; + const protocolError = error as { + id?: unknown; + type?: unknown; + data?: unknown; + }; return { id: protocolError.id, type: protocolError.type, @@ -193,7 +171,9 @@ function validateResponse( const parsed = schema.safeParse(data); if (!parsed.success) { - throw new Error(`Response validation failed for ${type}: ${parsed.error.message}`); + throw new Error( + `Response validation failed for ${type}: ${parsed.error.message}`, + ); } return { @@ -203,9 +183,11 @@ function validateResponse( } as ProtocolMessage; } -export function Provider(props: { children: ReactNode; blockConnection?: boolean }) { +export function Provider(props: { + children: ReactNode; + blockConnection?: boolean; +}) { const { load } = useStorage(); - const { decrypt, getSharedSecret } = useCrypto(); const [readyState, setReadyState] = useState(READY_STATE.CLOSED); const [connected, setConnected] = useState(false); @@ -222,9 +204,9 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean const [freshContacts, setFreshContacts] = useState([]); const [freshCalls, setFreshCalls] = useState([]); - const clientRef = useRef> | null>(null); - const identificationStartedRef = useRef(false); - const identificationCancelRef = useRef(false); + const clientRef = useRef> | null>( + null, + ); const [mtpUrl, setMtpUrl] = useState(null); useEffect(() => { @@ -281,7 +263,6 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean if (!connected) return; return subscribe("error_no_iota", () => { - identificationCancelRef.current = true; setIdentified(false); setIdentifying(false); setError("We couldn't reach your Iota"); @@ -381,13 +362,14 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean setConnected(false); setIdentified(false); setIdentifying(false); - identificationStartedRef.current = false; await MTPClient.init(); const client = await MTPClient.create({ url, pings: true, - logger: (event) => log(event.hint === "error" ? 0 : 2, "mtp", "blue", event), + logger: (event) => { + log(2, "mtp", event.type === "state" ? "cyan" : "blue", event.type === "state" ? event.data : event.type, event); + }, }); if (disposed) { @@ -403,13 +385,40 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean return; } + const authPayload = new Promise>( + (resolve, reject) => { + const unsubscribe = client.subscribe("TempCoolType", (message) => { + try { + unsubscribe(); + resolve(validateResponse("temp_cool_type", message)); + } catch (authPayloadError) { + unsubscribe(); + reject(authPayloadError); + } + }); + }, + ); + clearReconnectTimer(); scheduleReconnectReset(); - identificationCancelRef.current = false; setReadyState(READY_STATE.OPEN); setConnected(true); + setIdentifying(true); setError(""); setErrorDescription(""); + + await client.auth(); + const finalResponse = await authPayload; + + if (disposed || clientRef.current !== client) { + return; + } + + setFreshContacts(finalResponse.data.contacts); + setFreshCommunities(finalResponse.data.communities ?? []); + setFreshCalls(finalResponse.data.calls); + setIdentifying(false); + setIdentified(true); } catch (connectError) { if (disposed) return; @@ -420,7 +429,13 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean setConnected(false); setIdentified(false); setIdentifying(false); - log(0, "mtp", "red", "Connection attempt failed", connectError); + log( + 0, + "mtp", + "red", + "Connection/authentication attempt failed", + getProtocolErrorDetails(connectError) ?? connectError, + ); scheduleReconnect(connectError); } } @@ -464,116 +479,9 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean setConnected(false); setIdentified(false); setIdentifying(false); - identificationStartedRef.current = false; }; }, [mtpUrl, props.blockConnection]); - useEffect(() => { - if (!connected) { - identificationStartedRef.current = false; - return; - } - - if (identificationCancelRef.current || identificationStartedRef.current) { - return; - } - - identificationStartedRef.current = true; - let cancelled = false; - setIdentifying(true); - setIdentified(false); - - const identify = async () => { - try { - const sessionId = await load("session_id"); - const userId = await load("user_id"); - const privateKey = await load("private_key"); - - if ( - !Number.isSafeInteger(userId) || - userId <= 0 || - privateKey.trim() === "" || - !Number.isSafeInteger(sessionId) || - sessionId <= 0 - ) { - throw new Error("Invalid credentials"); - } - - const challengeEnvelope = await send("identification", { - version: APP_VERSION, - session_id: sessionId, - user_id: userId, - }); - - const sharedSecret = await getSharedSecret( - privateKey, - "", - challengeEnvelope.data.public_key, - ); - - const decryptedChallenge = await decryptText( - sharedSecret, - challengeEnvelope.data.challenge, - ); - - const finalResponse = await send("challenge_response", { - challenge: decryptedChallenge, - }).catch((challengeError) => { - if (!identificationCancelRef.current) { - setError("Identification Failed"); - setErrorDescription( - "Unable to complete secure identification. Please verify your credentials and try again.", - ); - } - throw challengeError; - }); - - setFreshContacts(finalResponse.data.contacts); - setFreshCommunities(finalResponse.data.communities ?? []); - setFreshCalls(finalResponse.data.calls); - - if (cancelled || identificationCancelRef.current) { - return; - } - - setError(""); - setErrorDescription(""); - setIdentified(true); - } catch (identificationError) { - if (cancelled || identificationCancelRef.current) { - return; - } - - const isFatal = isFatalIdentificationError(identificationError); - log( - isFatal ? 0 : 1, - "mtp", - isFatal ? "red" : "yellow", - "Identification handshake failed", - getProtocolErrorDetails(identificationError) ?? identificationError, - ); - - setIdentified(false); - setError("Identification Failed"); - setErrorDescription( - isFatal - ? "Unable to complete secure identification. Please verify your credentials and try again." - : "Unable to complete secure identification because the transport request failed.", - ); - } finally { - if (!cancelled && !identificationCancelRef.current) { - setIdentifying(false); - } - } - }; - - void identify(); - - return () => { - cancelled = true; - }; - }, [connected, decrypt, getSharedSecret, load, send]); - const progress = useMemo(() => { if (!mtpUrl) return 10; if (readyState === READY_STATE.CONNECTING) return 30; @@ -585,7 +493,8 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean const loadingTitle = useMemo(() => { if (!mtpUrl) return "Looking up configuration"; - if (readyState === READY_STATE.CONNECTING || !connected) return "Connecting to Tensamin"; + if (readyState === READY_STATE.CONNECTING || !connected) + return "Connecting to Tensamin"; if (identifying || !identified) return "Identifying secure session"; return "Loading"; }, [connected, identified, identifying, readyState, mtpUrl]); @@ -595,7 +504,7 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean if (readyState === READY_STATE.CONNECTING || !connected) { return "Establishing transport channel"; } - if (identifying || !identified) return "Verifying challenge-response handshake"; + if (identifying || !identified) return "Waiting for authenticated session"; return undefined; }, [connected, identified, identifying, readyState, mtpUrl]); diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 23c8d31..b284c14 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -39,13 +39,33 @@ export const failedUser = { username: "unknown", } as z.infer; -export type Contacts = z.infer< - typeof mtp.challenge_response.response.shape.contacts ->; -export type Communities = z.infer< - typeof mtp.challenge_response.response.shape.communities ->; -export type Calls = z.infer; +const authPayload = z.object({ + communities: z.array(z.object({})).optional(), + contacts: z.array( + z.object({ + last_message_at: z.number(), + user_id: z.number(), + last_message: z + .object({ + content: z.base64(), + sender_id: z.number(), + }) + .optional(), + messages: z.array(message), + }), + ), + calls: z.array( + z.object({ + call_id: z.string(), + call_secret: z.base64().optional(), + call_members: z.array(z.number()), + }), + ), +}); + +export type Contacts = z.infer; +export type Communities = z.infer; +export type Calls = z.infer; type Base16Palette = Record< | "base00" @@ -94,44 +114,9 @@ const user = z.object({ username: z.string().min(1).max(15), }); export const mtp = { - identification: { - request: z.object({ - version: z.string(), - session_id: z.number(), - user_id: z.number(), - }), - response: z.object({ - challenge: z.string(), - public_key: z.base64(), - }), - }, - challenge_response: { - request: z.object({ - challenge: z.base64(), - }), - response: z.object({ - communities: z.array(z.object({})).optional(), - contacts: z.array( - z.object({ - last_message_at: z.number(), - user_id: z.number(), - last_message: z - .object({ - content: z.base64(), - sender_id: z.number(), - }) - .optional(), - messages: z.array(message), - }), - ), - calls: z.array( - z.object({ - call_id: z.string(), - call_secret: z.base64().optional(), - call_members: z.array(z.number()), - }), - ), - }), + temp_cool_type: { + request: z.object({}).optional(), + response: authPayload, }, get_user_data: { request: z.object({ diff --git a/type-maps.yaml b/type-maps.yaml index 15f30cc..b542504 100644 --- a/type-maps.yaml +++ b/type-maps.yaml @@ -3,8 +3,7 @@ protocol_version: "0.0" type_maps: "0.0": CommunicationTypes: - AppIdentification: 32 - AppChallengeResponse: 33 + TempCoolType: 32 GetUserData: 34 ChangeUserData: 35 MessageLive: 36 From ee5955fc753648198df62ef8fd0e4b71498be91c Mon Sep 17 00:00:00 2001 From: Alois Date: Fri, 3 Jul 2026 10:56:42 +0200 Subject: [PATCH 37/75] (wip): migrate ttp to mtp (feat): migrate tauth to mtp (qol): update todo (qol): add direnv --- .envrc | 1 + .gitignore | 3 +- bun.lock | 4 +-- flake.nix | 3 +- package.json | 2 +- packages/mtp/src/context.tsx | 63 ++++++++++++++++++++-------------- packages/tauth/src/context.tsx | 58 +++++++++++++++++++++++++++---- todo.md | 1 + 8 files changed, 97 insertions(+), 38 deletions(-) create mode 100644 .envrc diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore index 87d0fc3..c0e6a9b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules releases -.fallow/ +.fallow +.direnv diff --git a/bun.lock b/bun.lock index 0af5854..376d438 100644 --- a/bun.lock +++ b/bun.lock @@ -347,7 +347,7 @@ }, "overrides": { "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", - "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8ae8377/mtp-0.1.0.tgz", + "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c3fbeb2/mtp-0.1.0.tgz", }, "packages": { "@babel/code-frame": ["@babel/code-frame@7.29.7", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw=="], @@ -1540,7 +1540,7 @@ "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - "mtp": ["mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8ae8377/mtp-0.1.0.tgz", {}, "sha512-W0l7Jc+1XI8BdrmRP9rlY/di6kZ5a/srv4mQvzwyJd+Tfg7BWZ9IUYUXIPze6ayx9dLY1f9Y71OgbhjstMzYjA=="], + "mtp": ["mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c3fbeb2/mtp-0.1.0.tgz", {}, "sha512-j/RGQY9/3NXzZptXbY44Kv7YnGr38CQQOehRAzPPFvnEVj+kxCwzVLgSImT765+vfgl2L+bkAE9aI2PWwOBTow=="], "nanoid": ["nanoid@3.3.15", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA=="], diff --git a/flake.nix b/flake.nix index 8cd7777..55990bb 100644 --- a/flake.nix +++ b/flake.nix @@ -206,7 +206,7 @@ ]; }; - commonDeps = [pkgs.wasm-pack pkgs.lld]; + commonDeps = [rustToolchain pkgs.wasm-pack pkgs.lld]; in rec { default = electron; @@ -256,7 +256,6 @@ buildInputs = with pkgs; [ jdk17 - rustToolchain gradle bun nodejs diff --git a/package.json b/package.json index c673b1a..4b90957 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ }, "overrides": { "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", - "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8ae8377/mtp-0.1.0.tgz" + "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c3fbeb2/mtp-0.1.0.tgz" }, "dependencies": { "@tensamin/ui": "*", diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index b6da558..bcdcbaa 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -10,7 +10,7 @@ import { } from "react"; import { isTauri } from "@tauri-apps/api/core"; import { onResume } from "tauri-plugin-app-events-api"; -import { MTPClient } from "mtp"; +import { ConnectionState, MTPClient } from "mtp"; import type { z } from "zod"; import { @@ -31,12 +31,6 @@ import { RETRY_INTERVAL, } from "./values"; -const READY_STATE = { - CLOSED: 0, - CONNECTING: 1, - OPEN: 2, -} as const; - const PUSH_TYPES = [ "message_live", "message_state", @@ -153,6 +147,7 @@ function mapDataKeys(value: unknown, mapKey: (key: string) => string): unknown { ); } +// Zod schema validation function validateResponse( type: T, message: { id?: number; type: string; data: unknown }, @@ -189,8 +184,9 @@ export function Provider(props: { }) { const { load } = useStorage(); - const [readyState, setReadyState] = useState(READY_STATE.CLOSED); - const [connected, setConnected] = useState(false); + const [readyState, setReadyState] = useState( + ConnectionState.Disconnected, + ); const [identified, setIdentified] = useState(false); const [identifying, setIdentifying] = useState(false); @@ -208,11 +204,15 @@ export function Provider(props: { null, ); + const connected = readyState === ConnectionState.Connected; + + // MTP url const [mtpUrl, setMtpUrl] = useState(null); useEffect(() => { load("mtp_url").then(setMtpUrl); }, [load]); + // Validation override functions const send: BoundSendFn = useMemo( () => async (type, data, options) => { const client = clientRef.current; @@ -259,6 +259,7 @@ export function Provider(props: { }; }, []); + // No Iota check useEffect(() => { if (!connected) return; @@ -272,6 +273,7 @@ export function Provider(props: { }); }, [connected, subscribe]); + // Custom Pings useEffect(() => { if (!connected || !identified) { return; @@ -297,11 +299,9 @@ export function Provider(props: { }; }, [connected, identified, send]); + // Reconnect stuff useEffect(() => { - if (!mtpUrl) { - return; - } - const url = mtpUrl; + if (!mtpUrl) return; let attempts = 0; let reconnectTimer: ReturnType | null = null; @@ -358,17 +358,28 @@ export function Provider(props: { } try { - setReadyState(READY_STATE.CONNECTING); - setConnected(false); setIdentified(false); setIdentifying(false); await MTPClient.init(); const client = await MTPClient.create({ - url, + url: mtpUrl ?? "", + descriptor: "client", pings: true, logger: (event) => { - log(2, "mtp", event.type === "state" ? "cyan" : "blue", event.type === "state" ? event.data : event.type, event); + if (event.type === "state") { + setReadyState( + clientRef.current?.state ?? ConnectionState.Disconnected, + ); + } + + log( + 2, + "mtp", + event.type === "state" ? "cyan" : "blue", + event.type === "state" ? event.data : event.type, + event, + ); }, }); @@ -378,6 +389,7 @@ export function Provider(props: { } clientRef.current = client; + setReadyState(client.state); await client.connect(); if (disposed) { @@ -401,8 +413,7 @@ export function Provider(props: { clearReconnectTimer(); scheduleReconnectReset(); - setReadyState(READY_STATE.OPEN); - setConnected(true); + setReadyState(client.state); setIdentifying(true); setError(""); setErrorDescription(""); @@ -425,8 +436,7 @@ export function Provider(props: { clientRef.current?.disconnect(); clientRef.current = null; clearReconnectResetTimer(); - setReadyState(READY_STATE.CLOSED); - setConnected(false); + setReadyState(ConnectionState.Disconnected); setIdentified(false); setIdentifying(false); log( @@ -475,16 +485,16 @@ export function Provider(props: { clientRef.current?.disconnect(); clientRef.current = null; - setReadyState(READY_STATE.CLOSED); - setConnected(false); + setReadyState(ConnectionState.Disconnected); setIdentified(false); setIdentifying(false); }; }, [mtpUrl, props.blockConnection]); + // Loading bar const progress = useMemo(() => { if (!mtpUrl) return 10; - if (readyState === READY_STATE.CONNECTING) return 30; + if (readyState === ConnectionState.Connecting) return 30; if (!connected) return 45; if (identifying) return 75; if (!identified) return 90; @@ -493,7 +503,7 @@ export function Provider(props: { const loadingTitle = useMemo(() => { if (!mtpUrl) return "Looking up configuration"; - if (readyState === READY_STATE.CONNECTING || !connected) + if (readyState === ConnectionState.Connecting || !connected) return "Connecting to Tensamin"; if (identifying || !identified) return "Identifying secure session"; return "Loading"; @@ -501,13 +511,14 @@ export function Provider(props: { const loadingDescription = useMemo(() => { if (!mtpUrl) return "Loading connection details"; - if (readyState === READY_STATE.CONNECTING || !connected) { + if (readyState === ConnectionState.Connecting || !connected) { return "Establishing transport channel"; } if (identifying || !identified) return "Waiting for authenticated session"; return undefined; }, [connected, identified, identifying, readyState, mtpUrl]); + // Return if (error !== "" && errorDescription !== "") { return ; } diff --git a/packages/tauth/src/context.tsx b/packages/tauth/src/context.tsx index 641a278..31ca22a 100644 --- a/packages/tauth/src/context.tsx +++ b/packages/tauth/src/context.tsx @@ -11,7 +11,7 @@ import { DialogHeader, DialogTitle, } from "@tensamin/ui"; -import { useLocation } from "@tanstack/react-router"; +import { useLocation, useNavigate } from "@tanstack/react-router"; import { useDeeplinks } from "@tensamin/tauri/deeplinkHandler"; import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; @@ -25,28 +25,40 @@ export default function Wrapper({ children }: { children: ReactNode }) { const { send } = useMTP(); const { getSharedSecret } = useCrypto(); const { searchStr } = useLocation(); + const navigate = useNavigate(); const [dialogOpen, setDialogOpen] = useState(false); const [loading, setLoading] = useState(false); const [identifier, setIdentifier] = useState(null); const [redirect, setRedirect] = useState(null); const [challenge, setChallenge] = useState(null); + const [appPublicKey, setAppPublicKey] = useState(null); const [allowChildern, setAllowChildern] = useState(false); const { deeplinks } = useDeeplinks(); const authorizeApp = async () => { - if (!identifier || !redirect || !challenge) return; + if (!identifier || !redirect || !challenge || !appPublicKey) return; try { // Get Data const user = await get(await load("user_id")); const { - data: { content: appPublicKey }, + data: { content: appPublicKeyHash }, } = await send("load_txt_record", { path: "tauth." + identifier, }); + const verifiedAppPublicKeyHash = await sha256Hex(appPublicKey); + if (normalizeHash(appPublicKeyHash) !== verifiedAppPublicKeyHash) { + log(1, "tauth", "red", "App public key hash mismatch", undefined, { + appPublicKey, + appPublicKeyHash, + verifiedAppPublicKeyHash, + }); + throw new Error("App public key hash mismatch"); + } + // Get Shared Secret const sharedSecret = await getSharedSecret( await load("private_key"), @@ -75,7 +87,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { finalUrl.searchParams.set("challenge", solvedChallenge); finalUrl.searchParams.set("originalChallenge", challenge); - const session = Date.now(); + const session = new Date().getTime(); finalUrl.searchParams.set("sessionId", String(session)); // Save Session @@ -92,11 +104,14 @@ export default function Wrapper({ children }: { children: ReactNode }) { setIdentifier(null); setRedirect(null); setChallenge(null); + setAppPublicKey(null); toast("success", "App authorized successfully"); return; } else { - window.location.href = finalUrl.toString(); + navigate({ + to: finalUrl.toString(), + }); return; } } catch (err) { @@ -108,9 +123,27 @@ export default function Wrapper({ children }: { children: ReactNode }) { setIdentifier(null); setRedirect(null); setChallenge(null); + setAppPublicKey(null); } }; + async function sha256Hex(value: string): Promise { + const hash = await crypto.subtle.digest( + "SHA-256", + new TextEncoder().encode(value), + ); + return [...new Uint8Array(hash)] + .map((byte) => byte.toString(16).padStart(2, "0")) + .join(""); + } + + function normalizeHash(value: string): string { + return value + .trim() + .toLowerCase() + .replace(/^sha256[:=]/, ""); + } + function hexToBase64(hex: string): string { const bytes = hex.match(/.{2}/g)?.map((byte) => parseInt(byte, 16)) ?? []; const binaryString = String.fromCharCode(...bytes); @@ -122,6 +155,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { const identifier = params.get("identifier"); const redirect = params.get("redirect"); const challenge = params.get("challenge"); + const appPublicKey = params.get("public_key"); if (!identifier || !redirect) { setAllowChildern(true); return; @@ -135,10 +169,18 @@ export default function Wrapper({ children }: { children: ReactNode }) { return; } + if (!appPublicKey) { + toast("error", "Missing app public key"); + log(1, "tauth", "red", "Missing app public key"); + setAllowChildern(true); + return; + } + setAllowChildern(true); setIdentifier(identifier); setRedirect(redirect); setChallenge(hexToBase64(challenge || "")); + setAppPublicKey(appPublicKey); setDialogOpen(true); }); }, [searchStr, load]); @@ -149,11 +191,13 @@ export default function Wrapper({ children }: { children: ReactNode }) { const url = new URL(link); const identifier = url.searchParams.get("identifier"); const redirect = url.searchParams.get("redirect"); + const appPublicKey = url.searchParams.get("public_key"); - if (identifier && redirect) { + if (identifier && redirect && appPublicKey) { setIdentifier(identifier); setRedirect(redirect); setChallenge(hexToBase64(url.searchParams.get("challenge") || "")); + setAppPublicKey(appPublicKey); setDialogOpen(true); } } @@ -170,6 +214,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { setIdentifier(null); setRedirect(null); setChallenge(null); + setAppPublicKey(null); } }} > @@ -205,6 +250,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { setIdentifier(null); setRedirect(null); setChallenge(null); + setAppPublicKey(null); }} > Deny diff --git a/todo.md b/todo.md index 837b847..d3665c2 100644 --- a/todo.md +++ b/todo.md @@ -1 +1,2 @@ - Move legal to extra onboarding package +- Add a bunch of tests From 7f75a36d73159ca6e2e96ecf612c1505ec32461f Mon Sep 17 00:00:00 2001 From: Alois Date: Fri, 3 Jul 2026 11:08:38 +0200 Subject: [PATCH 38/75] (wip): migrate ttp to mtp -> snake case to pascal case --- apps/web/src/components/modals/basic.tsx | 5 +- apps/web/src/components/modals/profile.tsx | 12 +- apps/web/src/components/navbar.tsx | 14 +-- apps/web/src/components/sidebar.tsx | 10 +- .../src/features/conversation/list/body.tsx | 2 +- apps/web/src/routes/app/home.tsx | 8 +- .../call/src/components/buttons/invite.tsx | 6 +- packages/call/src/components/modals/base.tsx | 19 ++- .../src/components/modals/contextMenu.tsx | 4 +- packages/call/src/components/top.tsx | 2 +- packages/call/src/store.tsx | 42 +++---- packages/call/src/views/preview.tsx | 4 +- packages/chat/src/behaviour/conversation.ts | 6 +- packages/chat/src/components/input.tsx | 16 +-- packages/chat/src/components/message.tsx | 46 +++---- packages/chat/src/context.tsx | 50 ++++---- packages/chat/src/screen.tsx | 18 +-- packages/mtp/src/context.tsx | 42 +------ packages/notifications/src/context.tsx | 22 ++-- packages/shared/src/data.ts | 112 +++++++++--------- packages/storage/src/session.tsx | 14 +-- packages/tauth/src/context.tsx | 6 +- packages/user/src/context.tsx | 2 +- 23 files changed, 214 insertions(+), 248 deletions(-) diff --git a/apps/web/src/components/modals/basic.tsx b/apps/web/src/components/modals/basic.tsx index 2d5a3d8..eb9a27b 100644 --- a/apps/web/src/components/modals/basic.tsx +++ b/apps/web/src/components/modals/basic.tsx @@ -34,7 +34,7 @@ export function Basic({
    @@ -42,8 +42,7 @@ export function Basic({ } /> - {user.online_status - .split("_") + {user.OnlineStatus.split("_") .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) .join(" ")} diff --git a/apps/web/src/components/modals/profile.tsx b/apps/web/src/components/modals/profile.tsx index c46e4ef..e34a9ac 100644 --- a/apps/web/src/components/modals/profile.tsx +++ b/apps/web/src/components/modals/profile.tsx @@ -34,8 +34,8 @@ export default function Profile({ user }: { user: User }) { const ownData = await get(ownId); const secret = await getSharedSecret( privateKey, - ownData.public_key, - user.public_key, + ownData.PublicKey, + user.PublicKey, ); if (active) { @@ -51,7 +51,7 @@ export default function Profile({ user }: { user: User }) { return () => { active = false; }; - }, [get, getSharedSecret, load, user.public_key]); + }, [get, getSharedSecret, load, user.PublicKey]); const sharedSecretCode = sharedSecret ? toLossySixDigitCode(sharedSecret) @@ -98,13 +98,13 @@ export default function Profile({ user }: { user: User }) {

    - Iota ID: {user.iota_id} + Iota ID: {user.IotaId}

    - User ID: {user.user_id} + User ID: {user.UserId}

    - Public Key: {user.public_key} + Public Key: {user.PublicKey}

    )} diff --git a/apps/web/src/components/navbar.tsx b/apps/web/src/components/navbar.tsx index 7550b28..0d396c6 100644 --- a/apps/web/src/components/navbar.tsx +++ b/apps/web/src/components/navbar.tsx @@ -28,7 +28,7 @@ export default function Navbar({ forMobile }: { forMobile: boolean }) { const { id } = useSearch({ strict: false }); const currentCalls = calls.filter((call) => - call.call_members.some((member) => member === id), + call.CallMembers.some((member) => member === id), ); const isMobile = useIsMobile(); @@ -121,8 +121,8 @@ export default function Navbar({ forMobile }: { forMobile: boolean }) { onClick={() => { void joinCall( id, - currentCalls[0].call_secret, - currentCalls[0].call_id, + currentCalls[0].CallSecret, + currentCalls[0].CallId, ); }} className="w-9 h-9 aspect-square rounded-lg" @@ -147,13 +147,13 @@ export default function Navbar({ forMobile }: { forMobile: boolean }) { {currentCalls.map((call) => ( { - void joinCall(id, call.call_secret, call.call_id); + void joinCall(id, call.CallSecret, call.CallId); }} > - {displayCallId(call.call_id)} + {displayCallId(call.CallId)} ))} diff --git a/apps/web/src/components/sidebar.tsx b/apps/web/src/components/sidebar.tsx index 4dc94d4..95fcd51 100644 --- a/apps/web/src/components/sidebar.tsx +++ b/apps/web/src/components/sidebar.tsx @@ -41,7 +41,7 @@ import { mtp } from "@tensamin/shared/data"; import { useMTP } from "@tensamin/mtp"; type OnlineStatus = z.infer< - typeof mtp.get_user_data.response.shape.online_status + typeof mtp.get_user_data.response.shape.OnlineStatus >; const onlineStatusLabels: Record = { @@ -89,7 +89,7 @@ function StatusDialog({ onOpenChange={(nextOpen) => { if (!nextOpen) { setDraftStatus(user.status ?? ""); - setDraftOnlineStatus(user.online_status); + setDraftOnlineStatus(user.OnlineStatus); setErrorMessage(""); setSaveSucceeded(false); } @@ -144,7 +144,7 @@ function StatusDialog({ onClick={async () => { const payload = { ...(draftStatus && { status: draftStatus }), - online_status: draftOnlineStatus, + OnlineStatus: draftOnlineStatus, }; const validation = @@ -230,7 +230,7 @@ export default function Sidebar() { { setDraftStatus(user.status ?? ""); - setDraftOnlineStatus(user.online_status); + setDraftOnlineStatus(user.OnlineStatus); setStatusErrorMessage(""); setStatusSaveSucceeded(false); setDialogOpen(true); @@ -249,7 +249,7 @@ export default function Sidebar() { onOpenChange={(nextOpen) => { if (!nextOpen) { setDraftStatus(user.status ?? ""); - setDraftOnlineStatus(user.online_status); + setDraftOnlineStatus(user.OnlineStatus); setStatusErrorMessage(""); setStatusSaveSucceeded(false); } diff --git a/apps/web/src/features/conversation/list/body.tsx b/apps/web/src/features/conversation/list/body.tsx index d240655..36399e9 100644 --- a/apps/web/src/features/conversation/list/body.tsx +++ b/apps/web/src/features/conversation/list/body.tsx @@ -65,7 +65,7 @@ export default function List() { {category === "conversations" ? ( contacts?.[virtualItem.index] ? ( ) : null ) : communities?.[virtualItem.index] ? ( diff --git a/apps/web/src/routes/app/home.tsx b/apps/web/src/routes/app/home.tsx index 0add511..832d498 100644 --- a/apps/web/src/routes/app/home.tsx +++ b/apps/web/src/routes/app/home.tsx @@ -59,7 +59,7 @@ function AddConversationButton() { username: result.data, }) .then((data) => { - if (data.data.user_id === 0) { + if (data.data.UserId === 0) { throw new Error(); } @@ -72,7 +72,7 @@ function AddConversationButton() { if (!user) return; // alrady added check - if (contacts.some((contact) => contact.user_id === user.data.user_id)) { + if (contacts.some((contact) => contact.UserId === user.data.UserId)) { setError("Conversation already exists"); return; } @@ -81,10 +81,10 @@ function AddConversationButton() { const timeout = setTimeout(() => setLoading(true), 500); send("add_conversation", { - chat_partner_name: result.data, + ChatPartnerName: result.data, }) .then(() => { - insertContact(user.data.user_id); + insertContact(user.data.UserId); setOpen(false); }) .catch((error) => { diff --git a/packages/call/src/components/buttons/invite.tsx b/packages/call/src/components/buttons/invite.tsx index d3a6d8e..d7ccf82 100644 --- a/packages/call/src/components/buttons/invite.tsx +++ b/packages/call/src/components/buttons/invite.tsx @@ -61,15 +61,15 @@ export default function InviteButton({ > {contacts.map((contact) => ( Loading...
    } component={(user) => (
    )} {view === "grid" || - (view === "focused" && - user.user_id !== focusedParticipantId) ? ( + (view === "focused" && user.UserId !== focusedParticipantId) ? ( ) : null} diff --git a/packages/call/src/components/modals/contextMenu.tsx b/packages/call/src/components/modals/contextMenu.tsx index 82f79c8..a3d2261 100644 --- a/packages/call/src/components/modals/contextMenu.tsx +++ b/packages/call/src/components/modals/contextMenu.tsx @@ -36,8 +36,8 @@ export default function ContextMenu({ return ( - {watchedStreamParticipantIds.includes(user.user_id) && - user.user_id !== ownId ? ( + {watchedStreamParticipantIds.includes(user.UserId) && + user.UserId !== ownId ? ( Stop Watching ) : null} Profile diff --git a/packages/call/src/components/top.tsx b/packages/call/src/components/top.tsx index 4da11db..ce5b7cf 100644 --- a/packages/call/src/components/top.tsx +++ b/packages/call/src/components/top.tsx @@ -70,7 +70,7 @@ export default function TopBar() {
    {users.map((user) => ( -
    +
    Promise; type EncryptTextFn = (sharedSecret: string, text: string) => Promise; type LoadFn = (key: string) => Promise; -type GetUserFn = (userId: number) => Promise<{ public_key: string }>; +type GetUserFn = (userId: number) => Promise<{ PublicKey: string }>; type RemoteVideoTrackSelector = Track.Kind | Track.Source; type Runtime = { @@ -605,15 +605,15 @@ export async function openCallPage(callId: string) { export async function getCallToken(callId: string): Promise { const response = await requireRuntime(useCall.getState().runtime) .send("call_token", { - call_id: callId, + CallId: callId, }) .catch((err) => { log(1, "call", "red", "Failed to get call secret", err); throw err; }); - const data = response.data as { call_token: string }; - return data.call_token; + const data = response.data as { CallToken: string }; + return data.CallToken; } // Encrypt the active call secret for a recipient and send the call invite. @@ -629,10 +629,10 @@ export async function sendCallInvite(userId: number) { const privateKey = await runtime.load("private_key"); const ownPublicKey = await runtime .getUser(ownUserId) - .then((data) => data.public_key); + .then((data) => data.PublicKey); const remotePublicKey = await runtime .getUser(userId) - .then((data) => data.public_key); + .then((data) => data.PublicKey); const sharedSecret = await runtime.getSharedSecret( privateKey, ownPublicKey, @@ -644,9 +644,9 @@ export async function sendCallInvite(userId: number) { ); await runtime.send("call_invite", { - receiver_id: userId, - call_id: callId, - call_secret: encryptedCallSecret, + ReceiverId: userId, + CallId: callId, + CallSecret: encryptedCallSecret, }); } @@ -900,8 +900,8 @@ export async function joinCall( await runtime.load("private_key"), await runtime .getUser((await runtime.load("user_id")) as number) - .then((res) => res.public_key), - await runtime.getUser(userId).then((res) => res.public_key), + .then((res) => res.PublicKey), + await runtime.getUser(userId).then((res) => res.PublicKey), ); const decryptedSecret = await runtime.decryptText( sharedSecret, @@ -1150,9 +1150,9 @@ export function useInitializeCall() { } insertCall({ - call_id: invite.callId, - call_secret: invite.callSecret, - call_members: [invite.senderId], + CallId: invite.callId, + CallSecret: invite.callSecret, + CallMembers: [invite.senderId], }); if (accepted) { @@ -1180,13 +1180,13 @@ export function useInitializeCall() { subscribePush(async (message) => { if (message.type !== "call_invite") return; - const { call_id, call_secret, sender_id } = message.data as { - call_id: string; - call_secret: string; - sender_id: number; + const { CallId, CallSecret, SenderId } = message.data as { + CallId: string; + CallSecret: string; + SenderId: number; }; - showCallingScreen(call_id, call_secret, sender_id); + showCallingScreen(CallId, CallSecret, SenderId); }); }, [subscribePush, showCallingScreen]); @@ -1500,7 +1500,7 @@ export function useInitializeCall() { return; } - send("call_data", { call_id: callId }) + send("call_data", { CallId: callId }) .then((data) => { setCurrentCallData({ ...(data.data as z.infer), @@ -1513,7 +1513,7 @@ export function useInitializeCall() { error: err, }); setCurrentCallData({ - user_ids: [], + UserIds: [], exists: false, }); }); diff --git a/packages/call/src/views/preview.tsx b/packages/call/src/views/preview.tsx index bc4b574..d489dba 100644 --- a/packages/call/src/views/preview.tsx +++ b/packages/call/src/views/preview.tsx @@ -17,7 +17,7 @@ export default function Preview() { }; } - void Promise.all(currentCallData.user_ids.map((id) => get(id))) + void Promise.all(currentCallData.UserIds.map((id) => get(id))) .then((users) => { if (!active) { return; @@ -44,7 +44,7 @@ export default function Preview() {
    {data.map((user) => { return ( -

    +

    User: {user.display}

    ); diff --git a/packages/chat/src/behaviour/conversation.ts b/packages/chat/src/behaviour/conversation.ts index cf0ea55..4081b72 100644 --- a/packages/chat/src/behaviour/conversation.ts +++ b/packages/chat/src/behaviour/conversation.ts @@ -6,19 +6,19 @@ import type { RawMessages } from "../values"; * @param send Parameter send. * @param amount Parameter amount. * @param offset Parameter offset. - * @param user_id Parameter user_id. + * @param UserId Parameter UserId. * @returns Promise. */ export async function getMessages( send: BoundSendFn, amount: number, offset: number, - user_id: number, + UserId: number, ): Promise { const messages = await send("messages_get", { amount: amount, offset: offset, - user_id: user_id, + UserId, }); if (messages.type.startsWith("error")) { diff --git a/packages/chat/src/components/input.tsx b/packages/chat/src/components/input.tsx index da7575c..49600f3 100644 --- a/packages/chat/src/components/input.tsx +++ b/packages/chat/src/components/input.tsx @@ -73,11 +73,11 @@ export default function InputComponent({ const reference = addLiveMessage({ height: 0, - not_encrypted: true, - send_time: time, + NotEncrypted: true, + SendTime: time, content: currentValue, - sent_by_self: true, - message_state: "awaiting", + SentBySelf: true, + MessageState: "awaiting", }); log(3, "chat", "purple", "Live message added, encrypting..."); @@ -97,14 +97,14 @@ export default function InputComponent({ send("message_send", { height: 0, content: encryptedContext, - receiver_id: userId, - send_time: time, + ReceiverId: userId, + SendTime: time, }).catch((e) => { log(0, "Chat", "red", "Failed to send message", e, { content: currentValue, encryptedContext, - receiver_id: userId, - send_time: time, + ReceiverId: userId, + SendTime: time, }); reference.setFailed(true); toast("error", "Failed to send message"); diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index e5f9c29..621a815 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -41,13 +41,13 @@ function MessageComponent({ }; user: User | null; }) { - const actuallyFailed = message.failed && message.message_state === "awaiting"; + const actuallyFailed = message.failed && message.MessageState === "awaiting"; // Fade-in const [hasFadedIn, setHasFadedIn] = useState(false); const opacityClass = !hasFadedIn ? "opacity-0" - : actuallyFailed || message.message_state === "awaiting" + : actuallyFailed || message.MessageState === "awaiting" ? "opacity-50" : "opacity-100"; useEffect(() => { @@ -80,21 +80,21 @@ function MessageComponent({ const readConfirmations = await load("settings.read_confirmations"); if (readConfirmations) { - if (!user?.user_id) return; + if (!user?.UserId) return; await send("message_state", { - chat_partner_id: user?.user_id, - send_time: message.send_time, - message_state: "read", + ChatPartnerId: user?.UserId, + SendTime: message.SendTime, + MessageState: "read", }); } else { await send("message_state", { - chat_partner_id: user?.user_id, - send_time: message.send_time, - message_state: "received", + ChatPartnerId: user?.UserId, + SendTime: message.SendTime, + MessageState: "received", }); } - }, [load, message.send_time, user?.user_id, send]); + }, [load, message.SendTime, user?.UserId, send]); useEffect(() => { let cancelled = false; @@ -102,7 +102,7 @@ function MessageComponent({ const receiveConfirmations = await load("settings.receive_confirmations"); if (cancelled) return; - switch (message.message_state) { + switch (message.MessageState) { case "sent": if (receiveConfirmations) { messageStateReadUpdate(); @@ -123,7 +123,7 @@ function MessageComponent({ return () => { cancelled = true; }; - }, [message.message_state, load, messageStateReadUpdate]); + }, [message.MessageState, load, messageStateReadUpdate]); return (
    {grouped ? (

    - {new Date(message.send_time).toLocaleString([], { + {new Date(message.SendTime).toLocaleString([], { hour: "2-digit", minute: "2-digit", })} @@ -160,7 +160,7 @@ function MessageComponent({ )} - {message.failed && message.message_state === "awaiting" && ( + {message.failed && message.MessageState === "awaiting" && (

    Failed to send message

    @@ -192,22 +192,22 @@ function MessageComponent({

    {user.display}

    - {new Date(message.send_time).toLocaleString([], { + {new Date(message.SendTime).toLocaleString([], { hour: "2-digit", minute: "2-digit", })}

    - {message.message_state === "read" ? ( + {message.MessageState === "read" ? ( - ) : message.message_state === "received" ? ( + ) : message.MessageState === "received" ? ( - ) : message.message_state === "sent" ? ( + ) : message.MessageState === "sent" ? ( - ) : message.message_state === "sending" ? ( + ) : message.MessageState === "sending" ? ( ) : null}
    @@ -231,11 +231,11 @@ function MessageComponent({ export default React.memo(MessageComponent, (prev, next) => { return ( - prev.message.send_time === next.message.send_time && + prev.message.SendTime === next.message.SendTime && prev.message.content === next.message.content && prev.message.height === next.message.height && - prev.message.sent_by_self === next.message.sent_by_self && - prev.message.message_state === next.message.message_state && + prev.message.SentBySelf === next.message.SentBySelf && + prev.message.MessageState === next.message.MessageState && prev.message.failed === next.message.failed && prev.grouped === next.grouped && prev.user === next.user diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index 1f641ce..f1688eb 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -24,23 +24,23 @@ export const context = createContext(undefined); const queryClient = new QueryClient(); function updateMessageStateBySendTime< - T extends { send_time: number; message_state: RawMessage["message_state"] }, + T extends { SendTime: number; MessageState: RawMessage["MessageState"] }, >( messages: T[], sendTime: number, - messageState: RawMessage["message_state"], + messageState: RawMessage["MessageState"], ): { next: T[]; updated: boolean } { let updated = false; const next = messages.map((item) => { - if (item.send_time !== sendTime || item.message_state === messageState) { + if (item.SendTime !== sendTime || item.MessageState === messageState) { return item; } updated = true; return { ...item, - message_state: messageState, + MessageState: messageState, }; }); @@ -105,8 +105,8 @@ export default function Provider(props: { children: ReactNode }) { const ownData = await get(ownId); const sharedSecret = await getSharedSecret( privateKey, - ownData.public_key, - recipientData.public_key, + ownData.PublicKey, + recipientData.PublicKey, ); if (active) { @@ -135,7 +135,7 @@ export default function Provider(props: { children: ReactNode }) { const messages = await send("messages_get", { amount, offset, - user_id: userIdValue, + UserId: userIdValue, }); if (messages.type.startsWith("error")) { @@ -143,14 +143,14 @@ export default function Provider(props: { children: ReactNode }) { } const rawMessages = messages.data.messages; - const sorted = [...rawMessages].sort((a, b) => a.send_time - b.send_time); + const sorted = [...rawMessages].sort((a, b) => a.SendTime - b.SendTime); if (sorted.length > 0) { - const fetchedSendTimes = new Set(sorted.map((item) => item.send_time)); + const fetchedSendTimes = new Set(sorted.map((item) => item.SendTime)); setLiveMessagesState((prev) => { const filtered = prev.filter( - (liveMessage) => !fetchedSendTimes.has(liveMessage.send_time), + (liveMessage) => !fetchedSendTimes.has(liveMessage.SendTime), ); return filtered.length === prev.length ? prev : filtered; @@ -179,7 +179,7 @@ export default function Provider(props: { children: ReactNode }) { globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`; - if (!message.sent_by_self) { + if (!message.SentBySelf) { moveUserIdToTop(userIdValue); } @@ -219,20 +219,20 @@ export default function Provider(props: { children: ReactNode }) { } const rawData = message.data as { - chat_partner_id: unknown; - send_time: unknown; - message_state: RawMessage["message_state"]; + ChatPartnerId: unknown; + SendTime: unknown; + MessageState: RawMessage["MessageState"]; }; const nextState = { - chat_partner_id: Number(rawData.chat_partner_id), - send_time: Number(rawData.send_time), - message_state: rawData.message_state, + ChatPartnerId: Number(rawData.ChatPartnerId), + SendTime: Number(rawData.SendTime), + MessageState: rawData.MessageState, }; if ( - !Number.isFinite(nextState.chat_partner_id) || - !Number.isFinite(nextState.send_time) + !Number.isFinite(nextState.ChatPartnerId) || + !Number.isFinite(nextState.SendTime) ) { log( 3, @@ -243,7 +243,7 @@ export default function Provider(props: { children: ReactNode }) { return; } - if (nextState.chat_partner_id !== userIdValue) { + if (nextState.ChatPartnerId !== userIdValue) { log( 3, "chat", @@ -251,7 +251,7 @@ export default function Provider(props: { children: ReactNode }) { "Cancel message state update due to user ID mismatch", { expected: userIdValue, - received: nextState.chat_partner_id, + received: nextState.ChatPartnerId, }, ); return; @@ -260,8 +260,8 @@ export default function Provider(props: { children: ReactNode }) { setLiveMessagesState((prev) => { const { next, updated } = updateMessageStateBySendTime( prev, - nextState.send_time, - nextState.message_state, + nextState.SendTime, + nextState.MessageState, ); return updated ? next : prev; }); @@ -283,8 +283,8 @@ export default function Provider(props: { children: ReactNode }) { const pages = current.pages.map((page) => { const nextPage = updateMessageStateBySendTime( page, - nextState.send_time, - nextState.message_state, + nextState.SendTime, + nextState.MessageState, ); if (nextPage.updated) { diff --git a/packages/chat/src/screen.tsx b/packages/chat/src/screen.tsx index ffdcab7..b49ec04 100644 --- a/packages/chat/src/screen.tsx +++ b/packages/chat/src/screen.tsx @@ -48,7 +48,7 @@ function shouldFetchPreviousPage({ } function getMessageRenderKey(message: RawMessage | LiveMessage) { - return "localId" in message ? message.localId : String(message.send_time); + return "localId" in message ? message.localId : String(message.SendTime); } function buildMessageChunks( @@ -184,11 +184,11 @@ export default function Screen() { const dedupedMessages: RawMessage[] = []; for (const message of [...pages].reverse().flat()) { - if (seenSendTimes.has(message.send_time)) { + if (seenSendTimes.has(message.SendTime)) { continue; } - seenSendTimes.add(message.send_time); + seenSendTimes.add(message.SendTime); dedupedMessages.push(message); } @@ -199,11 +199,11 @@ export default function Screen() { const liveWithoutDuplicates = React.useMemo(() => { const historicalSendTimes = new Set( - historicalMessages.map((message) => message.send_time), + historicalMessages.map((message) => message.SendTime), ); return liveMessagesSnapshot.filter( - (message) => !historicalSendTimes.has(message.send_time), + (message) => !historicalSendTimes.has(message.SendTime), ); }, [historicalMessages, liveMessagesSnapshot]); @@ -559,9 +559,9 @@ export default function Screen() { const lastMessage = messages[messageIndex - 1]; const isGrouped = lastMessage && - lastMessage.sent_by_self === message.sent_by_self && - Math.round(lastMessage.send_time / 10000) === - Math.round(message.send_time / 10000); + lastMessage.SentBySelf === message.SentBySelf && + Math.round(lastMessage.SendTime / 10000) === + Math.round(message.SendTime / 10000); return ( part.charAt(0).toUpperCase() + part.slice(1)) - .join(""); -} - -function toSnakeCase(value: string) { - return value - .replace(/([a-z0-9])([A-Z])/g, "$1_$2") - .replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2") - .toLowerCase(); -} - -function mapDataKeys(value: unknown, mapKey: (key: string) => string): unknown { - if (Array.isArray(value)) { - return value.map((item) => mapDataKeys(item, mapKey)); - } - - if (typeof value !== "object" || value === null) { - return value; - } - - return Object.fromEntries( - Object.entries(value).map(([key, entry]) => [ - mapKey(key), - mapDataKeys(entry, mapKey), - ]), - ); -} - // Zod schema validation function validateResponse( type: T, message: { id?: number; type: string; data: unknown }, ): ProtocolMessage { const appType = APP_TYPES[message.type] ?? message.type; - const data = mapDataKeys(message.data, toSnakeCase); if (appType.startsWith("error")) { - return { ...message, type: appType, data } as ProtocolMessage; + return { ...message, type: appType } as ProtocolMessage; } const schema = schemas[type]?.response; @@ -164,7 +132,7 @@ function validateResponse( return message as ProtocolMessage; } - const parsed = schema.safeParse(data); + const parsed = schema.safeParse(message.data); if (!parsed.success) { throw new Error( `Response validation failed for ${type}: ${parsed.error.message}`, @@ -223,7 +191,7 @@ export function Provider(props: { const message = await client.request( WIRE_TYPES[type], - mapDataKeys(data ?? {}, toPascalCase) as Record, + (data ?? {}) as Record, options, ); return validateResponse(type, message); @@ -282,10 +250,10 @@ export function Provider(props: { const interval = setInterval(async () => { try { const originalNow = Date.now(); - const data = await send("ping", { last_ping: originalNow }); + const data = await send("ping", { LastPing: originalNow }); setOwnPing(Date.now() - originalNow); - const remotePing = data.data.ping_iota; + const remotePing = data.data.PingIota; if (typeof remotePing === "number") { setIotaPing(remotePing); } diff --git a/packages/notifications/src/context.tsx b/packages/notifications/src/context.tsx index 96332ce..799f695 100644 --- a/packages/notifications/src/context.tsx +++ b/packages/notifications/src/context.tsx @@ -35,41 +35,41 @@ export default function Provider(props: { children: React.ReactNode }) { useEffect(() => { return subscribePush(async (ttpMessage) => { if (ttpMessage.type === "message_live") { - const { message, sender_id } = ttpMessage.data as { + const { message, SenderId } = ttpMessage.data as { message: z.infer; - sender_id: number; + SenderId: number; }; - const user = await get(sender_id); + const user = await get(SenderId); const decryptedContent = await decryptText( await getSharedSecret( await load("private_key"), - await get(await load("user_id")).then((data) => data.public_key), - user.public_key, + await get(await load("user_id")).then((data) => data.PublicKey), + user.PublicKey, ), message.content, ); // Update message state - if (userId === sender_id) { + if (userId === SenderId) { addLiveMessage({ ...message, content: decryptedContent, - sent_by_self: false, + SentBySelf: false, }); return; } // todo: add notification symbol to conversation cards (incl. message start) - moveUserIdToTop(sender_id); + moveUserIdToTop(SenderId); if (await load("settings.receive_confirmations")) { void send( "message_state", { - message_state: "received", + MessageState: "received", }, { id: ttpMessage.id, @@ -87,14 +87,14 @@ export default function Provider(props: { children: React.ReactNode }) { body: decryptedContent, icon: user.avatar || user.display.slice(0, 2).toUpperCase(), badge: user.avatar || user.display.slice(0, 2).toUpperCase(), - tag: `message-${user.user_id}`, + tag: `message-${user.UserId}`, silent: true, }); notification.onclick = () => { window.focus(); navigate({ - to: `/chat?id=${user.user_id}`, + to: `/chat?id=${user.UserId}`, }); notification.close(); diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index b284c14..d56ec7c 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -14,28 +14,28 @@ const fileFromMessage = z.object({ export const message = z.object({ height: z.number(), - not_encrypted: z.boolean().optional(), - sent_by_self: z.boolean().optional(), - send_time: z.number(), + NotEncrypted: z.boolean().optional(), + SentBySelf: z.boolean().optional(), + SendTime: z.number(), content: z.base64(), files: z.array(fileFromMessage).optional(), tint: z.string().length(7).startsWith("#").optional(), avatar: z.boolean().optional(), display: z.boolean().optional(), - message_state: z + MessageState: z .enum(["read", "received", "sent", "sending", "awaiting"]) // awaiting for 'internal' use .default("received"), }); export const failedUser = { display: "Failed", - iota_id: 0, - omikron_connections: [], - online_status: "user_borked", - public_key: "", - sub_end: 0, - sub_level: 0, - user_id: 0, + IotaId: 0, + OmikronConnections: [], + OnlineStatus: "user_borked", + PublicKey: "", + SubEnd: 0, + SubLevel: 0, + UserId: 0, username: "unknown", } as z.infer; @@ -43,12 +43,12 @@ const authPayload = z.object({ communities: z.array(z.object({})).optional(), contacts: z.array( z.object({ - last_message_at: z.number(), - user_id: z.number(), - last_message: z + LastMessageAt: z.number(), + UserId: z.number(), + LastMessage: z .object({ content: z.base64(), - sender_id: z.number(), + SenderId: z.number(), }) .optional(), messages: z.array(message), @@ -56,9 +56,9 @@ const authPayload = z.object({ ), calls: z.array( z.object({ - call_id: z.string(), - call_secret: z.base64().optional(), - call_members: z.array(z.number()), + CallId: z.string(), + CallSecret: z.base64().optional(), + CallMembers: z.array(z.number()), }), ), }); @@ -92,10 +92,10 @@ const user = z.object({ about: z.string().max(255).optional(), avatar: z.string().optional(), display: z.string().min(1).max(15), - iota_id: z.number(), - omikron_connections: z.array(z.number()), - omikron_id: z.number().optional(), - online_status: z.enum([ + IotaId: z.number(), + OmikronConnections: z.array(z.number()), + OmikronId: z.number().optional(), + OnlineStatus: z.enum([ "user_offline", "user_online", "user_dnd", @@ -106,11 +106,11 @@ const user = z.object({ "iota_online", "iota_borked", ]), - public_key: z.base64(), + PublicKey: z.base64(), status: z.string().max(15).optional(), - sub_end: z.number(), - sub_level: z.number(), - user_id: z.number(), + SubEnd: z.number(), + SubLevel: z.number(), + UserId: z.number(), username: z.string().min(1).max(15), }); export const mtp = { @@ -120,7 +120,7 @@ export const mtp = { }, get_user_data: { request: z.object({ - user_id: z.number().optional(), + UserId: z.number().optional(), username: z.string().optional(), }), response: user, @@ -131,22 +131,22 @@ export const mtp = { }, ping: { request: z.object({ - last_ping: z.number(), + LastPing: z.number(), }), response: z.object({ - ping_iota: z.number(), + PingIota: z.number(), }), }, message_live: { request: z.object({}).optional(), response: z.object({ - sender_id: z.number(), + SenderId: z.number(), message, }), }, messages_get: { request: z.object({ - user_id: z.number(), + UserId: z.number(), amount: z.number(), offset: z.number(), }), @@ -158,35 +158,35 @@ export const mtp = { request: z.object({ height: z.number(), content: z.base64(), - receiver_id: z.number(), - send_time: z.number(), + ReceiverId: z.number(), + SendTime: z.number(), files: z.array(fileFromMessage).optional(), }), response: z.object({}), }, add_conversation: { request: z.object({ - chat_partner_id: z.number().optional(), - chat_partner_name: z.string().min(1).max(15).optional(), + ChatPartnerId: z.number().optional(), + ChatPartnerName: z.string().min(1).max(15).optional(), }), response: z.object({}), }, message_state: { request: z .object({ - chat_partner_id: z.number(), - send_time: z.number(), - message_state: message.shape.message_state, + ChatPartnerId: z.number(), + SendTime: z.number(), + MessageState: message.shape.MessageState, }) .or( z.object({ - message_state: message.shape.message_state, + MessageState: message.shape.MessageState, }), ), response: z.object({ - chat_partner_id: z.number(), - message_state: message.shape.message_state, - send_time: z.number(), + ChatPartnerId: z.number(), + MessageState: message.shape.MessageState, + SendTime: z.number(), }), }, @@ -200,7 +200,7 @@ export const mtp = { }, authenticate_app: { request: z.object({ - app_identifier: z.string(), + AppIdentifier: z.string(), }), response: z.object({ challenge: z.base64(), @@ -208,8 +208,8 @@ export const mtp = { }, create_app: { request: z.object({ - app_public_key: z.base64(), - app_identifier: z.string(), + AppPublicKey: z.base64(), + AppIdentifier: z.string(), }), response: z.object({}), }, @@ -217,30 +217,30 @@ export const mtp = { // Calls call_token: { request: z.object({ - call_id: z.string(), + CallId: z.string(), }), response: z.object({ - call_token: z.string(), + CallToken: z.string(), }), }, call_data: { request: z.object({ - call_id: z.string(), + CallId: z.string(), }), response: z.object({ - user_ids: z.array(z.number()), + UserIds: z.array(z.number()), }), }, call_invite: { request: z.object({ - call_id: z.string(), - call_secret: z.base64(), - receiver_id: z.number(), + CallId: z.string(), + CallSecret: z.base64(), + ReceiverId: z.number(), }), response: z.object({ - call_id: z.string().optional(), - call_secret: z.base64().optional(), - sender_id: z.number().optional(), + CallId: z.string().optional(), + CallSecret: z.base64().optional(), + SenderId: z.number().optional(), }), }, error_no_iota: { @@ -355,7 +355,7 @@ export const storageDefaults: Storage = { // User Status export function getStatusColor( - status: z.infer, + status: z.infer, ) { switch (status) { case "user_online": diff --git a/packages/storage/src/session.tsx b/packages/storage/src/session.tsx index 9a9181b..992a4df 100644 --- a/packages/storage/src/session.tsx +++ b/packages/storage/src/session.tsx @@ -29,7 +29,7 @@ export default function SessionProvider({ children }: { children: ReactNode }) { const calls = [ ...freshCalls, ...localCalls.filter( - (call) => !freshCalls.some((fresh) => fresh.call_id === call.call_id), + (call) => !freshCalls.some((fresh) => fresh.CallId === call.CallId), ), ]; @@ -40,7 +40,7 @@ export default function SessionProvider({ children }: { children: ReactNode }) { ...freshContacts, ...cachedData.filter( (item) => - !freshContacts.some((fresh) => fresh.user_id === item.user_id), + !freshContacts.some((fresh) => fresh.UserId === item.UserId), ), ]); }); @@ -69,7 +69,7 @@ export default function SessionProvider({ children }: { children: ReactNode }) { const moveUserIdToTop = (userId: number) => { setContacts((prevContacts) => { const userIndex = prevContacts.findIndex( - (contact) => contact.user_id === userId, + (contact) => contact.UserId === userId, ); if (userIndex === -1) return prevContacts; const [user] = prevContacts.splice(userIndex, 1); @@ -79,13 +79,13 @@ export default function SessionProvider({ children }: { children: ReactNode }) { const insertContact = (userId: number) => { setContacts((prevContacts) => { - if (prevContacts.some((contact) => contact.user_id === userId)) { + if (prevContacts.some((contact) => contact.UserId === userId)) { return prevContacts; } const newUser = { - user_id: userId, - last_message_at: new Date().getTime(), + UserId: userId, + LastMessageAt: new Date().getTime(), messages: [], } satisfies Contacts[0]; @@ -95,7 +95,7 @@ export default function SessionProvider({ children }: { children: ReactNode }) { const insertCall = (call: Calls[number]) => { setLocalCalls((prevCalls) => { - if (prevCalls.some((prevCall) => prevCall.call_id === call.call_id)) { + if (prevCalls.some((prevCall) => prevCall.CallId === call.CallId)) { return prevCalls; } diff --git a/packages/tauth/src/context.tsx b/packages/tauth/src/context.tsx index 31ca22a..5dea659 100644 --- a/packages/tauth/src/context.tsx +++ b/packages/tauth/src/context.tsx @@ -62,7 +62,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { // Get Shared Secret const sharedSecret = await getSharedSecret( await load("private_key"), - user.public_key, + user.PublicKey, appPublicKey, ).catch((err) => { log(1, "tauth", "red", "Failed to get shared secret", err, { @@ -92,8 +92,8 @@ export default function Wrapper({ children }: { children: ReactNode }) { // Save Session await send("create_app", { - app_public_key: appPublicKey, - app_identifier: identifier, + AppPublicKey: appPublicKey, + AppIdentifier: identifier, }); // Open Redirect URL diff --git a/packages/user/src/context.tsx b/packages/user/src/context.tsx index 41340fb..84e56ec 100644 --- a/packages/user/src/context.tsx +++ b/packages/user/src/context.tsx @@ -47,7 +47,7 @@ export default function UserProvider(props: { children: React.ReactNode }) { } const request = (async () => { - const userData = await send("get_user_data", { user_id: userId }); + const userData = await send("get_user_data", { UserId: userId }); const user = { ...userData.data, avatar: userData.data.avatar From 4a3be94fefcd5303401be5e234b632c406c57a9c Mon Sep 17 00:00:00 2001 From: Alois Date: Fri, 3 Jul 2026 11:41:13 +0200 Subject: [PATCH 39/75] (fix): mobile builds --- apps/tauri/src-tauri/capabilities/default.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apps/tauri/src-tauri/capabilities/default.json b/apps/tauri/src-tauri/capabilities/default.json index 5ce08a7..73d510a 100644 --- a/apps/tauri/src-tauri/capabilities/default.json +++ b/apps/tauri/src-tauri/capabilities/default.json @@ -9,10 +9,6 @@ "core:default", "opener:default", "core:window:default", - "core:window:allow-start-dragging", - "core:window:allow-close", - "core:window:allow-toggle-maximize", - "core:window:allow-minimize", "core:event:default", "deep-link:default", "notification:default", From 25f39ac41d5392039dfe97bfe268dc90dde95366 Mon Sep 17 00:00:00 2001 From: Alois Date: Fri, 3 Jul 2026 12:14:04 +0200 Subject: [PATCH 40/75] (fix): mobile builds --- apps/tauri/src-tauri/Cargo.lock | 26 ++------------------------ apps/tauri/src-tauri/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/apps/tauri/src-tauri/Cargo.lock b/apps/tauri/src-tauri/Cargo.lock index 7b60bb2..c872475 100644 --- a/apps/tauri/src-tauri/Cargo.lock +++ b/apps/tauri/src-tauri/Cargo.lock @@ -3739,7 +3739,7 @@ dependencies = [ "serde_repr", "serialize-to-javascript", "swift-rs", - "tauri-build 2.6.3 (git+https://github.com/tauri-apps/tauri?branch=feat%2Fcef)", + "tauri-build", "tauri-macros", "tauri-runtime", "tauri-runtime-wry", @@ -3754,27 +3754,6 @@ dependencies = [ "windows", ] -[[package]] -name = "tauri-build" -version = "2.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9ce40b16101cb6ea63d3e221567affd1c3a9205f95d7bc574941a10636b632" -dependencies = [ - "anyhow", - "cargo_toml", - "dirs", - "glob", - "heck 0.5.0", - "json-patch", - "schemars 0.8.22", - "semver", - "serde", - "serde_json", - "tauri-utils 2.9.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tauri-winres", - "walkdir", -] - [[package]] name = "tauri-build" version = "2.6.3" @@ -4041,7 +4020,6 @@ dependencies = [ "url", "urlpattern", "uuid", - "walkdir", ] [[package]] @@ -4133,7 +4111,7 @@ dependencies = [ "serde", "serde_json", "tauri", - "tauri-build 2.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tauri-build", "tauri-plugin-app-events", "tauri-plugin-barcode-scanner", "tauri-plugin-deep-link", diff --git a/apps/tauri/src-tauri/Cargo.toml b/apps/tauri/src-tauri/Cargo.toml index 6b85d29..1d3bdf5 100644 --- a/apps/tauri/src-tauri/Cargo.toml +++ b/apps/tauri/src-tauri/Cargo.toml @@ -15,7 +15,7 @@ name = "mobile_lib" crate-type = ["staticlib", "cdylib", "rlib"] [build-dependencies] -tauri-build = { version = "2", features = [] } +tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "feat/cef", features = [] } [dependencies] tauri-plugin-opener = "2" From 8bff0f503fe1a4773c7b32ac2e3ac3d73c49d312 Mon Sep 17 00:00:00 2001 From: Alois Date: Fri, 3 Jul 2026 14:39:26 +0200 Subject: [PATCH 41/75] (fix): desktop uploads in workflow --- scripts/copy-releases.ts | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/scripts/copy-releases.ts b/scripts/copy-releases.ts index 194228a..fcfca46 100644 --- a/scripts/copy-releases.ts +++ b/scripts/copy-releases.ts @@ -9,7 +9,7 @@ import { statSync, } from "node:fs"; import { createHash } from "node:crypto"; -import { join } from "node:path"; +import { basename, join } from "node:path"; import packageJson from "../package.json" with { type: "json" }; const { version } = packageJson; @@ -57,6 +57,18 @@ if (existsSync(apkSrc)) { // Electron desktop artifacts const electronReleaseDir = "apps/electron/release"; +const electronArtifactPattern = /\.(AppImage|deb|rpm|exe|dmg|zip)$/i; + +function readFilesRecursive(dir: string): string[] { + return readdirSync(dir).flatMap((file) => { + const filePath = join(dir, file); + const stat = statSync(filePath); + + if (stat.isDirectory()) return readFilesRecursive(filePath); + if (stat.isFile()) return [filePath]; + return []; + }); +} const copyElectronArtifacts = () => { if (!existsSync(electronReleaseDir)) { @@ -66,12 +78,9 @@ const copyElectronArtifacts = () => { return; } - for (const file of readdirSync(electronReleaseDir)) { - if (file.endsWith(".blockmap") || file.endsWith(".yml")) continue; - if (!file.includes(version) && !file.includes(releaseVersion)) continue; - - const source = join(electronReleaseDir, file); - if (!statSync(source).isFile()) continue; + for (const source of readFilesRecursive(electronReleaseDir)) { + const file = basename(source); + if (!electronArtifactPattern.test(file)) continue; copyFileSync(source, join(releasesDir, file)); } From 69149b73bd4560835a134751cd34f57e34885207 Mon Sep 17 00:00:00 2001 From: Alois Date: Fri, 3 Jul 2026 21:49:13 +0200 Subject: [PATCH 42/75] (feat): remove mtp loading screen (fix): weird dedupe bugs (qol): update todo --- apps/web/src/index.tsx | 14 +++-- apps/web/vite.config.ts | 3 + packages/mtp/src/context.tsx | 101 +++++++++++++----------------- packages/mtp/todo.md | 1 + packages/shared/package.json | 1 + packages/shared/src/asyncQueue.ts | 27 ++++++++ 6 files changed, 86 insertions(+), 61 deletions(-) create mode 100644 packages/mtp/todo.md create mode 100644 packages/shared/src/asyncQueue.ts diff --git a/apps/web/src/index.tsx b/apps/web/src/index.tsx index bbc399e..0a35819 100644 --- a/apps/web/src/index.tsx +++ b/apps/web/src/index.tsx @@ -25,13 +25,13 @@ import CallPopout from "@tensamin/call/popout"; import ChatContext from "@tensamin/chat/context"; import { useInitializeCall } from "@tensamin/call/store"; import { Provider as MTPProvider } from "@tensamin/mtp"; -import UserContext from "@tensamin/user/context"; +import UserProvider from "@tensamin/user/context"; import DeeplinkContext from "@tensamin/tauri/deeplinkHandler"; import NotificationsProvider from "@tensamin/notifications/context"; import TAuthWrapper from "@tensamin/tauth/context"; -import { ThemeProvider, useTheme } from "@tensamin/ui"; +import { ErrorScreen, ThemeProvider, useTheme } from "@tensamin/ui"; import z from "zod"; import { useEffect, useRef, useState, type ReactNode } from "react"; @@ -256,7 +256,7 @@ function AppShell() { return ( - + @@ -268,7 +268,7 @@ function AppShell() { - + ); @@ -281,6 +281,12 @@ function CallInit() { const rootRoute = createRootRoute({ component: RootShell, + errorComponent: ({ error }: { error: Error }) => ( + + ), }); const appRoute = createRoute({ diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index a224653..c2571df 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -114,6 +114,9 @@ export default defineConfig({ "@tensamin/crypto", "@tensamin/storage", "@tensamin/mtp", + "@tensamin/user", + "@tensamin/tauri", + "@tensamin/chat", "@codemirror/commands", "@codemirror/lang-markdown", "@codemirror/state", diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index 6b75c6e..9d4e6f6 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -10,8 +10,11 @@ import { } from "react"; import { isTauri } from "@tauri-apps/api/core"; import { onResume } from "tauri-plugin-app-events-api"; -import { ConnectionState, MTPClient } from "mtp"; -import type { z } from "zod"; +import { ConnectionState, MTPClient, codec } from "mtp"; +import { type z } from "zod"; +import createAsyncQueue, { + createQueuedFunc, +} from "@tensamin/shared/asyncQueue"; import { type Calls, @@ -20,9 +23,8 @@ import { mtp as schemas, type MTP as Schemas, } from "@tensamin/shared/data"; -import { log } from "@tensamin/shared/log"; +import { log, toast } from "@tensamin/shared/log"; import { useStorage } from "@tensamin/storage/context"; -import { ErrorScreen, LoadingScreen as Loading } from "@tensamin/ui"; import { PING_INTERVAL, @@ -91,6 +93,8 @@ type ContextType = { freshContacts: Contacts; freshCommunities: Communities; freshCalls: Calls; + contextReady: boolean; + loadingDescription: string; }; const MTPContext = createContext(undefined); @@ -161,9 +165,6 @@ export function Provider(props: { const [ownPing, setOwnPing] = useState(0); const [iotaPing, setIotaPing] = useState(0); - const [error, setError] = useState(""); - const [errorDescription, setErrorDescription] = useState(""); - const [freshCommunities, setFreshCommunities] = useState([]); const [freshContacts, setFreshContacts] = useState([]); const [freshCalls, setFreshCalls] = useState([]); @@ -234,9 +235,10 @@ export function Provider(props: { return subscribe("error_no_iota", () => { setIdentified(false); setIdentifying(false); - setError("We couldn't reach your Iota"); - setErrorDescription( - "You could try to restart your Iota, check for updates or check your network connection.", + toast( + "error", + "We couldn't reach your Iota", + "Check your network connection and try restarting your Iota", ); }); }, [connected, subscribe]); @@ -303,9 +305,10 @@ export function Provider(props: { if (disposed || reconnectScheduled) return; if (attempts >= RECONNECT_TRIES) { - setError("Connection Failed"); - setErrorDescription( - "Unable to connect to the server after multiple attempts. Please check your internet connection or try again later.", + toast( + "error", + "Connection Failed", + "Unable to connect to the Omikron after multiple attempts. Cehck your network connection.", ); log(0, "mtp", "red", "Reconnection attempts exhausted", reason); return; @@ -321,15 +324,16 @@ export function Provider(props: { }; async function connect() { - if (disposed || props.blockConnection) { - return; - } + if (disposed || props.blockConnection) return; try { setIdentified(false); setIdentifying(false); await MTPClient.init(); + const rawOmikronData = await fetch(mtpUrl ?? "").then((res) => + codec.decode(res.arrayBuffer()), + ); const client = await MTPClient.create({ url: mtpUrl ?? "", descriptor: "client", @@ -383,8 +387,6 @@ export function Provider(props: { scheduleReconnectReset(); setReadyState(client.state); setIdentifying(true); - setError(""); - setErrorDescription(""); await client.auth(); const finalResponse = await authPayload; @@ -427,9 +429,6 @@ export function Provider(props: { clearReconnectResetTimer(); attempts = 0; reconnectScheduled = false; - setError(""); - setErrorDescription(""); - await connect(); } @@ -459,53 +458,39 @@ export function Provider(props: { }; }, [mtpUrl, props.blockConnection]); - // Loading bar - const progress = useMemo(() => { - if (!mtpUrl) return 10; - if (readyState === ConnectionState.Connecting) return 30; - if (!connected) return 45; - if (identifying) return 75; - if (!identified) return 90; - return 100; - }, [connected, identified, identifying, readyState, mtpUrl]); - - const loadingTitle = useMemo(() => { - if (!mtpUrl) return "Looking up configuration"; - if (readyState === ConnectionState.Connecting || !connected) - return "Connecting to Tensamin"; - if (identifying || !identified) return "Identifying secure session"; - return "Loading"; - }, [connected, identified, identifying, readyState, mtpUrl]); - + // Async queue const loadingDescription = useMemo(() => { if (!mtpUrl) return "Loading connection details"; if (readyState === ConnectionState.Connecting || !connected) { return "Establishing transport channel"; } if (identifying || !identified) return "Waiting for authenticated session"; - return undefined; + return "Loading..."; }, [connected, identified, identifying, readyState, mtpUrl]); - - // Return - if (error !== "" && errorDescription !== "") { - return ; - } - - if (!connected || !identified || !mtpUrl) { - return ( - - ); - } + const contextReady = connected && identified && mtpUrl !== null; + const mtpRef = useMemo( + () => + createAsyncQueue<{ + send: typeof send; + subscribe: typeof subscribe; + subscribePush: typeof subscribePush; + }>(), + [], + ); + useEffect(() => { + if (connected && identified && mtpUrl) { + mtpRef.set({ + send, + subscribe, + subscribePush, + }); + } + }, [connected, identified, mtpUrl, send, subscribe, subscribePush, mtpRef]); return ( (contextReady ? send : null)), subscribe, subscribePush, readyState, @@ -515,6 +500,8 @@ export function Provider(props: { freshContacts, freshCommunities, freshCalls, + contextReady, + loadingDescription, }} > {props.children} diff --git a/packages/mtp/todo.md b/packages/mtp/todo.md new file mode 100644 index 0000000..5224278 --- /dev/null +++ b/packages/mtp/todo.md @@ -0,0 +1 @@ +- Get omikron url & public key from omega diff --git a/packages/shared/package.json b/packages/shared/package.json index 26c0d9f..f9f5ff6 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -4,6 +4,7 @@ "version": "0.0.0", "type": "module", "exports": { + "./asyncQueue": "./src/asyncQueue.ts", "./code": "./src/code.ts", "./data": "./src/data.ts", "./desktopMedia": "./src/desktopMedia.tsx", diff --git a/packages/shared/src/asyncQueue.ts b/packages/shared/src/asyncQueue.ts new file mode 100644 index 0000000..60d12f3 --- /dev/null +++ b/packages/shared/src/asyncQueue.ts @@ -0,0 +1,27 @@ +export default function createAsyncQueue() { + let resolve!: (value: T) => void; + + const promise = new Promise((r) => { + resolve = r; + }); + + return { + set: resolve, + get: () => promise, + }; +} + +// eslint-disable-next-line +type AnyFn = (...args: any[]) => any; + +export function createQueuedFunc( + getFn: () => F | null | undefined, +) { + return (async (...args: Parameters): Promise>> => { + while (!getFn()) { + await new Promise((r) => setTimeout(r, 50)); + } + + return await getFn()!(...args); + }) as F; +} From 82a483d7ab59318d8bcc113d4f8d18a84cb32dd6 Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 4 Jul 2026 01:18:54 +0200 Subject: [PATCH 43/75] (feat): migrate bun to pnpm (feat): some mtp stuff (wip): electron app tray --- .forgejo/workflows/deploy-dev.yml | 28 +- .forgejo/workflows/deploy-prod.yml | 28 +- apps/electron/package.json | 30 +- apps/electron/src/main/main.ts | 2 + apps/electron/src/main/tray.ts | 25 + apps/tauri/package.json | 10 +- apps/tauri/src-tauri/tauri.conf.json | 4 +- apps/web/package.json | 6 +- .../web/src/components/screens/login/form.tsx | 15 +- bun.lock | 2259 ----- flake.nix | 15 +- licenses/THIRD_PARTY_NOTICES.md | 26 +- licenses/sbom.cyclonedx.json | 74 +- licenses/third-party-credits.json | 38 +- licenses/vitest@4.1.9/LICENSE.md | 811 ++ licenses/yaml@2.9.0/LICENSE | 13 + package.json | 41 +- packages/call/package.json | 2 +- packages/chat/package.json | 2 +- packages/crypto/package.json | 6 +- packages/crypto/src/bun-test.d.ts | 11 - packages/crypto/src/context.test.ts | 2 +- packages/crypto/src/worker.test.ts | 2 +- packages/markdown/package.json | 2 +- packages/mtp/package.json | 2 +- packages/mtp/src/context.tsx | 17 +- packages/notifications/package.json | 2 +- packages/shared/package.json | 2 +- packages/shared/src/data.ts | 2 +- packages/storage/package.json | 2 +- packages/tauth/package.json | 2 +- packages/user/package.json | 2 +- pnpm-lock.yaml | 8967 +++++++++++++++++ pnpm-workspace.yaml | 10 + scripts/build-packages.ts | 2 +- scripts/copy-licenses.ts | 65 +- scripts/copy-releases.ts | 7 +- scripts/lint-packages.ts | 2 +- scripts/update-packages.ts | 2 +- 39 files changed, 10109 insertions(+), 2429 deletions(-) create mode 100644 apps/electron/src/main/tray.ts delete mode 100644 bun.lock create mode 100644 licenses/vitest@4.1.9/LICENSE.md create mode 100644 licenses/yaml@2.9.0/LICENSE delete mode 100644 packages/crypto/src/bun-test.d.ts create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 4d321a7..c203506 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -19,16 +19,16 @@ jobs: uses: https://data.forgejo.org/actions/checkout@v4 - name: Install dependencies - run: nix develop .#electron --command bun install --frozen-lockfile + run: nix develop .#electron --command pnpm install --frozen-lockfile - name: Copy licenses - run: nix develop .#electron --command bun --bun run copy-licenses + run: nix develop .#electron --command pnpm run copy-licenses - name: Build packages - run: nix develop .#electron --command bun --bun run build:packages + run: nix develop .#electron --command pnpm run build:packages - name: Build web - run: nix develop .#electron --command bun --bun run build:web + run: nix develop .#electron --command pnpm run build:web - name: Deploy run: nix develop .#electron --command rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ @@ -43,13 +43,13 @@ jobs: uses: https://data.forgejo.org/actions/checkout@v4 - name: Install dependencies - run: nix develop .#tauri --command bun install --frozen-lockfile + run: nix develop .#tauri --command pnpm install --frozen-lockfile - name: Copy licenses - run: nix develop .#tauri --command bun --bun run copy-licenses + run: nix develop .#tauri --command pnpm run copy-licenses - name: Build packages - run: nix develop .#tauri --command bun --bun run build:packages + run: nix develop .#tauri --command pnpm run build:packages - name: Setup Android Keystore env: @@ -108,7 +108,7 @@ jobs: fi - name: Build mobile - run: nix develop .#tauri --command bun --bun run build:mobile + run: nix develop .#tauri --command pnpm run build:mobile - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -129,13 +129,13 @@ jobs: uses: https://data.forgejo.org/actions/checkout@v4 - name: Install dependencies - run: nix develop .#electron --command bun install --frozen-lockfile + run: nix develop .#electron --command pnpm install --frozen-lockfile - name: Copy licenses - run: nix develop .#electron --command bun --bun run copy-licenses + run: nix develop .#electron --command pnpm run copy-licenses - name: Build packages - run: nix develop .#electron --command bun --bun run build:packages + run: nix develop .#electron --command pnpm run build:packages - name: Set Electron dev version run: | @@ -155,7 +155,7 @@ jobs: EOF - name: Build Electron desktop - run: nix develop .#electron --command bun --bun run build:desktop + run: nix develop .#electron --command pnpm run build:desktop - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -176,7 +176,7 @@ jobs: fetch-depth: 0 - name: Install dependencies - run: nix develop .#electron --command bun install --frozen-lockfile + run: nix develop .#electron --command pnpm install --frozen-lockfile - name: Download mobile artifact uses: https://data.forgejo.org/actions/download-artifact@v3 @@ -212,7 +212,7 @@ jobs: set -euo pipefail ASSET_BASE_URL="${{ forgejo.api_url }}" ASSET_BASE_URL="${ASSET_BASE_URL%/api/v1}/${{ forgejo.repository }}/releases/download/${{ steps.version.outputs.tag }}" - FORGEJO_RELEASE_ASSET_BASE_URL="$ASSET_BASE_URL" bun --bun run copy-releases + FORGEJO_RELEASE_ASSET_BASE_URL="$ASSET_BASE_URL" pnpm run copy-releases EOF - name: Create pre-release and upload files diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 42ac0e4..7ddc1c5 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -20,16 +20,16 @@ jobs: uses: https://data.forgejo.org/actions/checkout@v4 - name: Install dependencies - run: nix develop .#electron --command bun install --frozen-lockfile + run: nix develop .#electron --command pnpm install --frozen-lockfile - name: Copy licenses - run: nix develop .#electron --command bun --bun run copy-licenses + run: nix develop .#electron --command pnpm run copy-licenses - name: Build packages - run: nix develop .#electron --command bun --bun run build:packages + run: nix develop .#electron --command pnpm run build:packages - name: Build web - run: nix develop .#electron --command bun --bun run build:web + run: nix develop .#electron --command pnpm run build:web - name: Deploy run: nix develop .#electron --command rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ @@ -44,13 +44,13 @@ jobs: uses: https://data.forgejo.org/actions/checkout@v4 - name: Install dependencies - run: nix develop .#tauri --command bun install --frozen-lockfile + run: nix develop .#tauri --command pnpm install --frozen-lockfile - name: Copy licenses - run: nix develop .#tauri --command bun --bun run copy-licenses + run: nix develop .#tauri --command pnpm run copy-licenses - name: Build packages - run: nix develop .#tauri --command bun --bun run build:packages + run: nix develop .#tauri --command pnpm run build:packages - name: Setup Android Keystore env: @@ -109,7 +109,7 @@ jobs: fi - name: Build mobile - run: nix develop .#tauri --command bun --bun run build:mobile + run: nix develop .#tauri --command pnpm run build:mobile - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -130,13 +130,13 @@ jobs: uses: https://data.forgejo.org/actions/checkout@v4 - name: Install dependencies - run: nix develop .#electron --command bun install --frozen-lockfile + run: nix develop .#electron --command pnpm install --frozen-lockfile - name: Copy licenses - run: nix develop .#electron --command bun --bun run copy-licenses + run: nix develop .#electron --command pnpm run copy-licenses - name: Build packages - run: nix develop .#electron --command bun --bun run build:packages + run: nix develop .#electron --command pnpm run build:packages - name: Set Electron prod version run: | @@ -154,7 +154,7 @@ jobs: EOF - name: Build Electron desktop - run: nix develop .#electron --command bun --bun run build:desktop + run: nix develop .#electron --command pnpm run build:desktop - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -173,7 +173,7 @@ jobs: uses: https://data.forgejo.org/actions/checkout@v4 - name: Install dependencies - run: nix develop .#electron --command bun install --frozen-lockfile + run: nix develop .#electron --command pnpm install --frozen-lockfile - name: Download mobile artifact uses: https://data.forgejo.org/actions/download-artifact@v3 @@ -206,7 +206,7 @@ jobs: set -euo pipefail ASSET_BASE_URL="${{ forgejo.api_url }}" ASSET_BASE_URL="${ASSET_BASE_URL%/api/v1}/${{ forgejo.repository }}/releases/download/${{ steps.version.outputs.tag }}" - FORGEJO_RELEASE_ASSET_BASE_URL="$ASSET_BASE_URL" bun --bun run copy-releases + FORGEJO_RELEASE_ASSET_BASE_URL="$ASSET_BASE_URL" pnpm run copy-releases EOF - name: Create release and upload files diff --git a/apps/electron/package.json b/apps/electron/package.json index 7a1780c..16e3e6d 100644 --- a/apps/electron/package.json +++ b/apps/electron/package.json @@ -10,22 +10,22 @@ "scripts": { "clean": "rm -rf dist release", "lint": "eslint src", - "build:web": "cd ../.. && bun run build:web", + "build:web": "cd ../.. && pnpm run build:web", "build": "tsc -p tsconfig.json && esbuild src/preload/preload.ts --bundle --platform=node --format=cjs --external:electron --outfile=dist/preload/preload.cjs", - "dev:raw": "cd ../.. && bun run build:web && cd apps/electron && bun run build && electron . --verbose", - "dev": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run dev:raw; else bun run dev:raw; fi", - "start:raw": "bun run build && electron .", - "start": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run start:raw; else bun run start:raw; fi", - "package:raw": "cd ../.. && bun run build:web && cd apps/electron && bun run build && electron-builder --publish never", - "package": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run package:raw; else bun run package:raw; fi", - "package:linux:raw": "cd ../.. && bun run build:web && cd apps/electron && bun run build && electron-builder --linux --publish never", - "package:linux": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run package:linux:raw; else bun run package:linux:raw; fi", - "package:windows:raw": "cd ../.. && bun run build:web && cd apps/electron && bun run build && electron-builder --win --publish never", - "package:windows": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run package:windows:raw; else bun run package:windows:raw; fi", - "checksum": "bun scripts/generate-release-metadata.ts", - "generate-signing-key": "bun scripts/generate-signing-key.ts", - "validate:raw": "bun run build && bun run package:linux:raw", - "validate": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command bun run validate:raw; else bun run validate:raw; fi" + "dev:raw": "cd ../.. && pnpm run build:web && cd apps/electron && pnpm run build && electron . --verbose", + "dev": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command pnpm run dev:raw; else pnpm run dev:raw; fi", + "start:raw": "pnpm run build && electron .", + "start": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command pnpm run start:raw; else pnpm run start:raw; fi", + "package:raw": "cd ../.. && pnpm run build:web && cd apps/electron && pnpm run build && electron-builder --publish never", + "package": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command pnpm run package:raw; else pnpm run package:raw; fi", + "package:linux:raw": "cd ../.. && pnpm run build:web && cd apps/electron && pnpm run build && electron-builder --linux --publish never", + "package:linux": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command pnpm run package:linux:raw; else pnpm run package:linux:raw; fi", + "package:windows:raw": "cd ../.. && pnpm run build:web && cd apps/electron && pnpm run build && electron-builder --win --publish never", + "package:windows": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command pnpm run package:windows:raw; else pnpm run package:windows:raw; fi", + "checksum": "node scripts/generate-release-metadata.ts", + "generate-signing-key": "node scripts/generate-signing-key.ts", + "validate:raw": "pnpm run build && pnpm run package:linux:raw", + "validate": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#electron --command pnpm run validate:raw; else pnpm run validate:raw; fi" }, "dependencies": {}, "devDependencies": { diff --git a/apps/electron/src/main/main.ts b/apps/electron/src/main/main.ts index ebda1e5..ba3b5ae 100644 --- a/apps/electron/src/main/main.ts +++ b/apps/electron/src/main/main.ts @@ -15,6 +15,7 @@ import { type DesktopScreenShareAudioOutput, type DesktopScreenShareCapabilities, } from "../shared/ipc.js"; +import { initTray } from "./tray.js"; const __dirname = dirname(fileURLToPath(import.meta.url)); const verbose = process.argv.includes("--verbose"); @@ -310,6 +311,7 @@ async function start() { verboseLog("app ready"); registerIpc(); registerDisplayMediaHandler(); + initTray(); await createWindow(); } diff --git a/apps/electron/src/main/tray.ts b/apps/electron/src/main/tray.ts new file mode 100644 index 0000000..9e91017 --- /dev/null +++ b/apps/electron/src/main/tray.ts @@ -0,0 +1,25 @@ +import { Tray, Menu } from "electron"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +let tray: Tray | null = null; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +export function initTray() { + const iconPath = path.join(__dirname, "../../build/icons/32x32.png"); + + tray = new Tray(iconPath); // keep reference alive + + const contextMenu = Menu.buildFromTemplate([ + { label: "Restart", type: "normal" }, + { label: "Quit", type: "normal" }, + ]); + + tray.setContextMenu(contextMenu); + + tray.on("click", (event) => { + console.log(event); + }) +} \ No newline at end of file diff --git a/apps/tauri/package.json b/apps/tauri/package.json index 6ddaaea..d0314d3 100644 --- a/apps/tauri/package.json +++ b/apps/tauri/package.json @@ -21,11 +21,11 @@ "dev:mobile:raw": "tauri android dev --host ${TAURI_DEV_HOST:-127.0.0.1}", "start-adb:mobile:raw": "adb devices", "build:mobile:raw": "tauri android build", - "dev:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command bun dev:mobile:raw; else bun dev:mobile:raw; fi", - "start-adb:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command bun start-adb:mobile:raw; else bun start-adb:mobile:raw; fi", - "build:mobile": "bun run render-version.ts && if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command bun build:mobile:raw; else bun build:mobile:raw; fi && bun run render-version.ts --unrender", - "gen-icons": "tauri icon ./logo.json && bun scripts/sync-electron-icons.ts", - "format": "bunx prettier --write .", + "dev:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command pnpm run dev:mobile:raw; else pnpm run dev:mobile:raw; fi", + "start-adb:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command pnpm run start-adb:mobile:raw; else pnpm run start-adb:mobile:raw; fi", + "build:mobile": "node render-version.ts && if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command pnpm run build:mobile:raw; else pnpm run build:mobile:raw; fi && node render-version.ts --unrender", + "gen-icons": "tauri icon ./logo.json && node scripts/sync-electron-icons.ts", + "format": "pnpm exec prettier --write .", "lint": "eslint src" }, "dependencies": { diff --git a/apps/tauri/src-tauri/tauri.conf.json b/apps/tauri/src-tauri/tauri.conf.json index 17effab..3fcf7bc 100644 --- a/apps/tauri/src-tauri/tauri.conf.json +++ b/apps/tauri/src-tauri/tauri.conf.json @@ -5,9 +5,9 @@ "mainBinaryName": "tensamin", "identifier": "net.tensamin.client", "build": { - "beforeDevCommand": "cd ../web && bun run dev && cd ../tauri", + "beforeDevCommand": "cd ../web && pnpm run dev && cd ../tauri", "devUrl": "http://localhost:3000", - "beforeBuildCommand": "cd ../.. && bun run build:web && cd apps/tauri", + "beforeBuildCommand": "cd ../.. && pnpm run build:web && cd apps/tauri", "frontendDist": "../../web/dist" }, "app": { diff --git a/apps/web/package.json b/apps/web/package.json index 6526978..0c1971b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -4,11 +4,11 @@ "version": "0.0.0", "type": "module", "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", "dev": "vite --port 3000 --host 0.0.0.0", - "test": "bun test --pass-with-no-tests", - "build": "bun run test && tsc -b && vite build", + "test": "vitest run --passWithNoTests", + "build": "pnpm run test && tsc -b && vite build", "preview": "cd dist && nix-shell -p python3 --run 'python3 -m http.server 3000' && cd .." }, "dependencies": { diff --git a/apps/web/src/components/screens/login/form.tsx b/apps/web/src/components/screens/login/form.tsx index 9b1a1db..b1ff1a3 100644 --- a/apps/web/src/components/screens/login/form.tsx +++ b/apps/web/src/components/screens/login/form.tsx @@ -61,14 +61,9 @@ function parseTuFileContent(rawFileContent: string): { ? Number(userIdString.split("@")[0]) : Number(userIdString); - const rawDomain = userIdString.includes("@") + const domain = userIdString.includes("@") ? userIdString.split("@")[1] : null; - const domain = rawDomain - ? rawDomain.includes(":") - ? rawDomain - : rawDomain + ":1984" - : null; if (!userId || !privateKey) { throw new Error("Invalid file"); @@ -76,7 +71,6 @@ function parseTuFileContent(rawFileContent: string): { console.log({ domain, - rawDomain, userId, }); @@ -220,14 +214,9 @@ export default function Form() { const actualUsername = inputUsername.includes("@") ? inputUsername.split("@")[0] : inputUsername; - const rawDomain = inputUsername.includes("@") + const domain = inputUsername.includes("@") ? inputUsername.split("@")[1] : null; - const domain = rawDomain - ? rawDomain.includes(":") - ? rawDomain - : rawDomain + ":1984" - : null; try { const response = await fetch( diff --git a/bun.lock b/bun.lock deleted file mode 100644 index 376d438..0000000 --- a/bun.lock +++ /dev/null @@ -1,2259 +0,0 @@ -{ - "lockfileVersion": 1, - "configVersion": 1, - "workspaces": { - "": { - "name": "tensamin", - "dependencies": { - "@tensamin/ui": "*", - "mtp": "*", - "sonner": "^2.0.7", - }, - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/node": "^25.6.0", - "@types/react": "^19.2.14", - "@types/react-dom": "^19.2.3", - "@typescript-eslint/parser": "^8.59.1", - "eslint": "^10.2.1", - "eslint-plugin-react-hooks": "^7.1.1", - "fallow": "^2.86.0", - "globals": "^17.5.0", - "jsonc-parser": "^3.3.1", - "prettier": "^3.8.3", - "typescript": "^6.0.3", - "typescript-eslint": "^8.59.1", - }, - }, - "apps/electron": { - "name": "@tensamin/electron", - "version": "0.0.3", - "devDependencies": { - "@types/node": "^25.9.1", - "electron": "^39.2.7", - "electron-builder": "^26.0.12", - "esbuild": "^0.25.11", - "typescript": "~6.0.3", - }, - }, - "apps/tauri": { - "name": "@tensamin/tauri", - "version": "0.0.0", - "dependencies": { - "@tauri-apps/api": "^2", - "@tauri-apps/plugin-barcode-scanner": "~2", - "@tauri-apps/plugin-deep-link": "~2", - "@tauri-apps/plugin-log": "~2", - "@tauri-apps/plugin-notification": "~2", - "@tensamin/shared": "workspace:*", - "@tensamin/ui": "*", - "react": "^19.2.0", - "react-dom": "^19.2.0", - }, - "devDependencies": { - "@tauri-apps/cli": "^2", - "@types/node": "^25.9.1", - }, - }, - "apps/web": { - "name": "@tensamin/web", - "version": "0.0.0", - "dependencies": { - "@babel/runtime": "^7.29.2", - "@base-ui/react": "^1.0.0", - "@base-ui/utils": "0.3.1", - "@floating-ui/core": "^1.7.0", - "@floating-ui/dom": "^1.7.0", - "@floating-ui/react-dom": "^2.1.8", - "@floating-ui/utils": "^0.2.11", - "@fontsource-variable/inter": "^5.2.8", - "@fontsource-variable/public-sans": "^5.2.7", - "@radix-ui/primitive": "^1.1.0", - "@radix-ui/react-compose-refs": "^1.1.1", - "@radix-ui/react-context": "^1.1.4", - "@radix-ui/react-dialog": "^1.1.6", - "@radix-ui/react-dismissable-layer": "^1.1.11", - "@radix-ui/react-focus-guards": "^1.1.4", - "@radix-ui/react-focus-scope": "^1.1.11", - "@radix-ui/react-id": "^1.1.0", - "@radix-ui/react-portal": "^1.1.13", - "@radix-ui/react-presence": "^1.1.6", - "@radix-ui/react-primitive": "^2.0.2", - "@radix-ui/react-slot": "^1.1.2", - "@radix-ui/react-use-callback-ref": "^1.1.1", - "@radix-ui/react-use-controllable-state": "^1.2.3", - "@radix-ui/react-use-effect-event": "^0.0.2", - "@radix-ui/react-use-layout-effect": "^1.1.0", - "@reduxjs/toolkit": "^2.0.0", - "@tailwindcss/vite": "^4.2.4", - "@tanstack/devtools-event-client": "^0.3.0", - "@tanstack/history": "1.162.0", - "@tanstack/query-core": "^5.0.0", - "@tanstack/react-router": "^1.169.1", - "@tanstack/react-store": "^0.9.3", - "@tanstack/react-virtual": "^3.13.24", - "@tanstack/router-core": "^1.169.1", - "@tanstack/store": "^0.9.3", - "@tanstack/virtual-core": "^3.13.24", - "@tauri-apps/api": "^2", - "@tensamin/call": "workspace:*", - "@tensamin/chat": "workspace:*", - "@tensamin/crypto": "workspace:*", - "@tensamin/markdown": "workspace:*", - "@tensamin/mtp": "workspace:*", - "@tensamin/notifications": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/storage": "workspace:*", - "@tensamin/tauri": "workspace:*", - "@tensamin/tauth": "workspace:*", - "@tensamin/ui": "*", - "@tensamin/user": "workspace:*", - "aria-hidden": "^1.2.4", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "cmdk": "^1.1.1", - "cookie-es": "^3.0.0", - "d3-array": "^3.1.6", - "d3-color": "^3.1.0", - "d3-ease": "^3.0.1", - "d3-format": "^3.1.0", - "d3-interpolate": "^3.0.1", - "d3-path": "^3.0.1", - "d3-scale": "^4.0.2", - "d3-shape": "^3.1.0", - "d3-time": "^3.0.0", - "d3-time-format": "^4.1.0", - "d3-timer": "^3.0.1", - "date-fns": "^4.4.0", - "decimal.js-light": "^2.5.1", - "detect-node-es": "^1.1.0", - "dijkstrajs": "^1.0.1", - "embla-carousel": "8.6.0", - "embla-carousel-react": "^8.6.0", - "embla-carousel-reactive-utils": "8.6.0", - "es-toolkit": "^1.39.3", - "eventemitter3": "^5.0.1", - "get-nonce": "^1.0.1", - "immer": "^10.1.1", - "input-otp": "^1.4.2", - "internmap": "^2.0.3", - "lucide-react": "^1.14.0", - "next-themes": "^0.4.6", - "pngjs": "^5.0.0", - "qrcode": "^1.5.4", - "react": "^19.2.0", - "react-day-picker": "^10.0.1", - "react-dom": "^19.2.0", - "react-is": "^19.0.0", - "react-redux": "^9.0.0", - "react-remove-scroll": "^2.7.2", - "react-remove-scroll-bar": "^2.3.7", - "react-resizable-panels": "^4.11.2", - "react-style-singleton": "^2.2.3", - "recharts": "3.8.1", - "redux": "^5.0.0", - "redux-thunk": "^3.1.0", - "reselect": "5.1.1", - "scheduler": "^0.27.0", - "seroval": "^1.5.4", - "seroval-plugins": "^1.5.4", - "shadcn": "^4.11.0", - "sonner": "^2.0.7", - "tailwind-merge": "^3.6.0", - "tailwind-scrollbar-hide": "^4.0.0", - "tailwindcss": "^4.2.4", - "tiny-invariant": "^1.3.3", - "tslib": "^2.8.1", - "tw-animate-css": "^1.4.0", - "use-callback-ref": "^1.3.3", - "use-sidecar": "^1.1.3", - "use-sync-external-store": "^1.2.2", - "vaul": "^1.1.2", - "victory-vendor": "^37.0.2", - "yargs": "^15.3.1", - "zod": "^4.3.6", - }, - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/qrcode": "^1.5.6", - "@types/react": "^19.2.2", - "@types/react-dom": "^19.2.2", - "@vitejs/plugin-react": "^6.0.1", - "esbuild": "^0.25.11", - "eslint": "^10.0.3", - "globals": "^17.4.0", - "typescript": "~6.0.3", - "typescript-eslint": "^8.57.0", - "vite": "^8.0.10", - }, - }, - "packages/call": { - "name": "@tensamin/call", - "version": "0.0.0", - "dependencies": { - "@livekit/components-react": "^2.9.20", - "@tanstack/react-router": "^1.169.1", - "@tauri-apps/api": "^2", - "@tensamin/crypto": "workspace:*", - "@tensamin/mtp": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/storage": "workspace:*", - "@tensamin/ui": "*", - "@tensamin/user": "workspace:*", - "deepfilternet3-noise-filter": "^1.2.1", - "livekit-client": "^2.18.8", - "lucide-react": "^1.14.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "recharts": "^3.8.1", - "zod": "^4.3.6", - "zustand": "^5.0.8", - }, - }, - "packages/chat": { - "name": "@tensamin/chat", - "version": "0.0.0", - "dependencies": { - "@tanstack/pacer": "^0.21.1", - "@tanstack/react-query": "^5.0.0", - "@tanstack/react-router": "^1.0.0", - "@tanstack/react-virtual": "^3.0.0", - "@tensamin/crypto": "workspace:*", - "@tensamin/markdown": "workspace:*", - "@tensamin/mtp": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/storage": "workspace:*", - "@tensamin/ui": "*", - "@tensamin/user": "workspace:*", - "lucide-react": "^1.14.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "zod": "^4.3.6", - }, - }, - "packages/crypto": { - "name": "@tensamin/crypto", - "version": "0.0.0", - "dependencies": { - "@noble/curves": "^2.0.1", - "@noble/hashes": "^2.0.1", - "comlink": "^4.4.2", - "react": "^19.2.0", - "react-dom": "^19.2.0", - }, - }, - "packages/markdown": { - "name": "@tensamin/markdown", - "version": "0.0.0", - "dependencies": { - "@codemirror/commands": "^6.10.2", - "@codemirror/lang-markdown": "^6.5.0", - "@codemirror/state": "^6.5.4", - "@codemirror/view": "^6.41.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - }, - }, - "packages/mtp": { - "name": "@tensamin/mtp", - "version": "0.0.0", - "dependencies": { - "@tauri-apps/api": "^2", - "@tensamin/crypto": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/storage": "workspace:*", - "@tensamin/ui": "*", - "mtp": "*", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "tauri-plugin-app-events-api": "^0.2.0", - "zod": "^4.4.2", - }, - "devDependencies": { - "eslint": "^10.0.3", - }, - }, - "packages/notifications": { - "name": "@tensamin/notifications", - "version": "0.0.0", - "dependencies": { - "@tanstack/react-router": "^1.169.1", - "@tauri-apps/api": "^2.11.0", - "@tensamin/chat": "workspace:*", - "@tensamin/crypto": "workspace:*", - "@tensamin/mtp": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/storage": "workspace:*", - "@tensamin/ui": "*", - "@tensamin/user": "workspace:*", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "sonner": "^2.0.7", - "zod": "^4.3.6", - }, - }, - "packages/shared": { - "name": "@tensamin/shared", - "version": "0.0.0", - "dependencies": { - "@tensamin/ui": "*", - "lucide-react": "^1.14.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "zod": "^4.3.6", - }, - }, - "packages/storage": { - "name": "@tensamin/storage", - "version": "0.0.0", - "dependencies": { - "@tensamin/mtp": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/ui": "*", - "react": "^19.2.0", - "react-dom": "^19.2.0", - }, - }, - "packages/tauth": { - "name": "@tensamin/tauth", - "version": "0.0.0", - "dependencies": { - "@tanstack/react-router": "^1.0.0", - "@tauri-apps/api": "^2.10.1", - "@tensamin/crypto": "workspace:*", - "@tensamin/mtp": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/storage": "workspace:*", - "@tensamin/tauri": "workspace:*", - "@tensamin/ui": "*", - "@tensamin/user": "workspace:*", - "lucide-react": "^1.8.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", - }, - }, - "packages/user": { - "name": "@tensamin/user", - "version": "0.0.0", - "dependencies": { - "@tensamin/mtp": "workspace:*", - "@tensamin/shared": "workspace:*", - "@tensamin/storage": "workspace:*", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "zod": "^4.3.6", - }, - }, - }, - "overrides": { - "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", - "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c3fbeb2/mtp-0.1.0.tgz", - }, - "packages": { - "@babel/code-frame": ["@babel/code-frame@7.29.7", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw=="], - - "@babel/compat-data": ["@babel/compat-data@7.29.7", "", {}, "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg=="], - - "@babel/core": ["@babel/core@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.7", "@babel/helper-compilation-targets": "^7.29.7", "@babel/helper-module-transforms": "^7.29.7", "@babel/helpers": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/template": "^7.29.7", "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7", "@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" } }, "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA=="], - - "@babel/generator": ["@babel/generator@7.29.7", "", { "dependencies": { "@babel/parser": "^7.29.7", "@babel/types": "^7.29.7", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ=="], - - "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.29.7", "", { "dependencies": { "@babel/types": "^7.29.7" } }, "sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw=="], - - "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.29.7", "", { "dependencies": { "@babel/compat-data": "^7.29.7", "@babel/helper-validator-option": "^7.29.7", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g=="], - - "@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.29.7", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.29.7", "@babel/helper-member-expression-to-functions": "^7.29.7", "@babel/helper-optimise-call-expression": "^7.29.7", "@babel/helper-replace-supers": "^7.29.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", "@babel/traverse": "^7.29.7", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg=="], - - "@babel/helper-globals": ["@babel/helper-globals@7.29.7", "", {}, "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA=="], - - "@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg=="], - - "@babel/helper-module-imports": ["@babel/helper-module-imports@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g=="], - - "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.29.7", "", { "dependencies": { "@babel/helper-module-imports": "^7.29.7", "@babel/helper-validator-identifier": "^7.29.7", "@babel/traverse": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg=="], - - "@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.29.7", "", { "dependencies": { "@babel/types": "^7.29.7" } }, "sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong=="], - - "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.29.7", "", {}, "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw=="], - - "@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.29.7", "", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.29.7", "@babel/helper-optimise-call-expression": "^7.29.7", "@babel/traverse": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ=="], - - "@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ=="], - - "@babel/helper-string-parser": ["@babel/helper-string-parser@7.29.7", "", {}, "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw=="], - - "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.29.7", "", {}, "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg=="], - - "@babel/helper-validator-option": ["@babel/helper-validator-option@7.29.7", "", {}, "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw=="], - - "@babel/helpers": ["@babel/helpers@7.29.7", "", { "dependencies": { "@babel/template": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg=="], - - "@babel/parser": ["@babel/parser@7.29.7", "", { "dependencies": { "@babel/types": "^7.29.7" }, "bin": "./bin/babel-parser.js" }, "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg=="], - - "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.29.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A=="], - - "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.29.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA=="], - - "@babel/plugin-transform-modules-commonjs": ["@babel/plugin-transform-modules-commonjs@7.29.7", "", { "dependencies": { "@babel/helper-module-transforms": "^7.29.7", "@babel/helper-plugin-utils": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ=="], - - "@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.29.7", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.29.7", "@babel/helper-create-class-features-plugin": "^7.29.7", "@babel/helper-plugin-utils": "^7.29.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", "@babel/plugin-syntax-typescript": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw=="], - - "@babel/preset-typescript": ["@babel/preset-typescript@7.29.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.29.7", "@babel/helper-validator-option": "^7.29.7", "@babel/plugin-syntax-jsx": "^7.29.7", "@babel/plugin-transform-modules-commonjs": "^7.29.7", "@babel/plugin-transform-typescript": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ=="], - - "@babel/runtime": ["@babel/runtime@7.29.7", "", {}, "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw=="], - - "@babel/template": ["@babel/template@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg=="], - - "@babel/traverse": ["@babel/traverse@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.7", "@babel/helper-globals": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/template": "^7.29.7", "@babel/types": "^7.29.7", "debug": "^4.3.1" } }, "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw=="], - - "@babel/types": ["@babel/types@7.29.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.29.7", "@babel/helper-validator-identifier": "^7.29.7" } }, "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA=="], - - "@base-ui/react": ["@base-ui/react@1.6.0", "", { "dependencies": { "@babel/runtime": "^7.29.2", "@base-ui/utils": "0.3.1", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "@date-fns/tz": "^1.2.0", "@types/react": "^17 || ^18 || ^19", "date-fns": "^4.0.0", "react": "^17 || ^18 || ^19", "react-dom": "^17 || ^18 || ^19" }, "optionalPeers": ["@date-fns/tz", "@types/react", "date-fns"] }, "sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw=="], - - "@base-ui/utils": ["@base-ui/utils@0.3.1", "", { "dependencies": { "@babel/runtime": "^7.29.2", "@floating-ui/utils": "^0.2.11", "reselect": "^5.2.0", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "@types/react": "^17 || ^18 || ^19", "react": "^17 || ^18 || ^19", "react-dom": "^17 || ^18 || ^19" }, "optionalPeers": ["@types/react"] }, "sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg=="], - - "@bufbuild/protobuf": ["@bufbuild/protobuf@1.10.1", "", {}, "sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ=="], - - "@codemirror/autocomplete": ["@codemirror/autocomplete@6.20.3", "", { "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.17.0", "@lezer/common": "^1.0.0" } }, "sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g=="], - - "@codemirror/commands": ["@codemirror/commands@6.10.4", "", { "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.7.0", "@codemirror/view": "^6.27.0", "@lezer/common": "^1.1.0" } }, "sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg=="], - - "@codemirror/lang-css": ["@codemirror/lang-css@6.3.1", "", { "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", "@lezer/common": "^1.0.2", "@lezer/css": "^1.1.7" } }, "sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg=="], - - "@codemirror/lang-html": ["@codemirror/lang-html@6.4.11", "", { "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/lang-css": "^6.0.0", "@codemirror/lang-javascript": "^6.0.0", "@codemirror/language": "^6.4.0", "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.17.0", "@lezer/common": "^1.0.0", "@lezer/css": "^1.1.0", "@lezer/html": "^1.3.12" } }, "sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw=="], - - "@codemirror/lang-javascript": ["@codemirror/lang-javascript@6.2.5", "", { "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/language": "^6.6.0", "@codemirror/lint": "^6.0.0", "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.17.0", "@lezer/common": "^1.0.0", "@lezer/javascript": "^1.0.0" } }, "sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A=="], - - "@codemirror/lang-markdown": ["@codemirror/lang-markdown@6.5.0", "", { "dependencies": { "@codemirror/autocomplete": "^6.7.1", "@codemirror/lang-html": "^6.0.0", "@codemirror/language": "^6.3.0", "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", "@lezer/common": "^1.2.1", "@lezer/markdown": "^1.0.0" } }, "sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw=="], - - "@codemirror/language": ["@codemirror/language@6.12.4", "", { "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.23.0", "@lezer/common": "^1.5.0", "@lezer/highlight": "^1.0.0", "@lezer/lr": "^1.0.0", "style-mod": "^4.0.0" } }, "sha512-1q4PaT+o6PbgpkJt4Q8Fv5XJxTy4FUZ4MWETtyiDw3J0Pyr9E2vqcKL+k9wcvjNTIsauxvE7OfmWj3FRPHQ76A=="], - - "@codemirror/lint": ["@codemirror/lint@6.9.7", "", { "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.42.0", "crelt": "^1.0.5" } }, "sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg=="], - - "@codemirror/state": ["@codemirror/state@6.7.0", "", { "dependencies": { "@marijn/find-cluster-break": "^1.0.0" } }, "sha512-Zbl9NyscLMZkfXPQnNAIIAFftidrA1UbcJEIMp24C0Bukc2I5T8wJS0wsXYsnDOqCFJUeJ1BITGNs5CqPDSmSg=="], - - "@codemirror/view": ["@codemirror/view@6.43.4", "", { "dependencies": { "@codemirror/state": "^6.7.0", "crelt": "^1.0.6", "style-mod": "^4.1.0", "w3c-keyname": "^2.2.4" } }, "sha512-YImu23iyKfncJzT7sRy+rEqEhSc8RhOHqDxwy4WzXRKJwYm6iwf/9OJk5ctCAdZ6yi2ZqaGEvmf55fSVqMDrgg=="], - - "@date-fns/tz": ["@date-fns/tz@1.5.0", "", {}, "sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg=="], - - "@dotenvx/dotenvx": ["@dotenvx/dotenvx@1.75.1", "", { "dependencies": { "@dotenvx/primitives": "^0.8.0", "commander": "^11.1.0", "conf": "^10.2.0", "dotenv": "^17.2.1", "enquirer": "^2.4.1", "env-paths": "^2.2.1", "execa": "^5.1.1", "fdir": "^6.2.0", "ignore": "^5.3.0", "object-treeify": "1.1.33", "open": "^8.4.2", "picomatch": "^4.0.4", "systeminformation": "^5.22.11", "undici": "^7.11.0", "which": "^4.0.0", "yocto-spinner": "^1.1.0" }, "bin": { "dotenvx": "src/cli/dotenvx.js" } }, "sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ=="], - - "@dotenvx/primitives": ["@dotenvx/primitives@0.8.0", "", {}, "sha512-VYJy0uhFm9zTJ1TxBaW/pA8bjbOM/OttaNMwZ1RHG4JKyRG7DhSdiqD1ipQoAyoD22olUtxbP78W9xY3Wd11bg=="], - - "@electron/asar": ["@electron/asar@3.4.1", "", { "dependencies": { "commander": "^5.0.0", "glob": "^7.1.6", "minimatch": "^3.0.4" }, "bin": { "asar": "bin/asar.js" } }, "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA=="], - - "@electron/fuses": ["@electron/fuses@1.8.0", "", { "dependencies": { "chalk": "^4.1.1", "fs-extra": "^9.0.1", "minimist": "^1.2.5" }, "bin": { "electron-fuses": "dist/bin.js" } }, "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw=="], - - "@electron/get": ["@electron/get@2.0.3", "", { "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", "fs-extra": "^8.1.0", "got": "^11.8.5", "progress": "^2.0.3", "semver": "^6.2.0", "sumchecker": "^3.0.1" }, "optionalDependencies": { "global-agent": "^3.0.0" } }, "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ=="], - - "@electron/notarize": ["@electron/notarize@2.5.0", "", { "dependencies": { "debug": "^4.1.1", "fs-extra": "^9.0.1", "promise-retry": "^2.0.1" } }, "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A=="], - - "@electron/osx-sign": ["@electron/osx-sign@1.3.3", "", { "dependencies": { "compare-version": "^0.1.2", "debug": "^4.3.4", "fs-extra": "^10.0.0", "isbinaryfile": "^4.0.8", "minimist": "^1.2.6", "plist": "^3.0.5" }, "bin": { "electron-osx-flat": "bin/electron-osx-flat.js", "electron-osx-sign": "bin/electron-osx-sign.js" } }, "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg=="], - - "@electron/rebuild": ["@electron/rebuild@4.1.0", "", { "dependencies": { "@malept/cross-spawn-promise": "^2.0.0", "debug": "^4.1.1", "node-abi": "^4.2.0", "node-api-version": "^0.2.1", "node-gyp": "^12.2.0", "read-binary-file-arch": "^1.0.6" }, "bin": { "electron-rebuild": "lib/cli.js" } }, "sha512-GFky+1JeO8fpSqtZCh+2wFRN/MVbAhm7tXI2M7BA1Os79OR8LEoxRtAbRPyxvmKWhEMF/p10rNJkkgP1klI13g=="], - - "@electron/universal": ["@electron/universal@2.0.3", "", { "dependencies": { "@electron/asar": "^3.3.1", "@malept/cross-spawn-promise": "^2.0.0", "debug": "^4.3.1", "dir-compare": "^4.2.0", "fs-extra": "^11.1.1", "minimatch": "^9.0.3", "plist": "^3.1.0" } }, "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g=="], - - "@electron/windows-sign": ["@electron/windows-sign@1.2.2", "", { "dependencies": { "cross-dirname": "^0.1.0", "debug": "^4.3.4", "fs-extra": "^11.1.1", "minimist": "^1.2.8", "postject": "^1.0.0-alpha.6" }, "bin": { "electron-windows-sign": "bin/electron-windows-sign.js" } }, "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ=="], - - "@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="], - - "@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="], - - "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="], - - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - - "@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - - "@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], - - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], - - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - - "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - - "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ=="], - - "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], - - "@eslint/config-array": ["@eslint/config-array@0.23.5", "", { "dependencies": { "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", "minimatch": "^10.2.4" } }, "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA=="], - - "@eslint/config-helpers": ["@eslint/config-helpers@0.6.0", "", { "dependencies": { "@eslint/core": "^1.2.1" } }, "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA=="], - - "@eslint/core": ["@eslint/core@1.2.1", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ=="], - - "@eslint/js": ["@eslint/js@10.0.1", "", { "peerDependencies": { "eslint": "^10.0.0" }, "optionalPeers": ["eslint"] }, "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA=="], - - "@eslint/object-schema": ["@eslint/object-schema@3.0.5", "", {}, "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw=="], - - "@eslint/plugin-kit": ["@eslint/plugin-kit@0.7.2", "", { "dependencies": { "@eslint/core": "^1.2.1", "levn": "^0.4.1" } }, "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A=="], - - "@fallow-cli/darwin-arm64": ["@fallow-cli/darwin-arm64@2.104.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5kKt3JuoYVz5/9PpHdu8u41vOZ6CzIu+5SqNBR8MktGLVMBSERm85+NN63XqgbZrVwIC/5uiP8eHQ0RYw0qhHg=="], - - "@fallow-cli/darwin-x64": ["@fallow-cli/darwin-x64@2.104.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-BEwwYccutb8RxyAm3uE8vwCJ3JSLYYeREj3fpLPFFCjh9eXBBo3Q1Mu5pxBjjUeehfbR6r/FLJb9JV28bCia9g=="], - - "@fallow-cli/linux-arm64-gnu": ["@fallow-cli/linux-arm64-gnu@2.104.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-IyIkmwxm0AfVKXfHYuSBO6Fzt6fgZsRE0arbtObeDlKSv7zZMzqHZPpbSGZxPEmVODBMScdSxxaFSli9xFHBTA=="], - - "@fallow-cli/linux-arm64-musl": ["@fallow-cli/linux-arm64-musl@2.104.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-YskAeLCUUPnbwqtMC452ksI+miw6hN4K6peTFRJ0j2gSpkTriJfUgkudFB1+JX2/YqV41yDAqe5XeDYhuXxjOA=="], - - "@fallow-cli/linux-x64-gnu": ["@fallow-cli/linux-x64-gnu@2.104.0", "", { "os": "linux", "cpu": "x64" }, "sha512-v3Um0fXwTPg7kGRD1hKeS36A7P/3J7h3TiQ2KAzE8ThKkDViHYjKGEkajtGGSIj/Tv+GVnJBOvJ7i752/6iSBA=="], - - "@fallow-cli/linux-x64-musl": ["@fallow-cli/linux-x64-musl@2.104.0", "", { "os": "linux", "cpu": "x64" }, "sha512-wMVyeSp5uHvzVUgNHk6xuTCisVOAUv8FTC6z1swANdLQlQgd4Trnu8GYwhJhO7cU9RuL85yn1XksCs6+PkRM8A=="], - - "@fallow-cli/win32-arm64-msvc": ["@fallow-cli/win32-arm64-msvc@2.104.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-qDRn7zoRKVAHVz+BqKUnUPa8H4gD/g26Fs/hqH9futbthecgjXmPyRJwycE8HTQBNlVwck5d5w36a+PEPsCYaQ=="], - - "@fallow-cli/win32-x64-msvc": ["@fallow-cli/win32-x64-msvc@2.104.0", "", { "os": "win32", "cpu": "x64" }, "sha512-irER9HuZ9DXunl4H9RNsWQ9AvGmHs/Zp1+Yr2ATmgSNumERPXvgXa2IiGtCvKFqI72639TlhUj8+2WqIXZ54WQ=="], - - "@floating-ui/core": ["@floating-ui/core@1.7.5", "", { "dependencies": { "@floating-ui/utils": "^0.2.11" } }, "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ=="], - - "@floating-ui/dom": ["@floating-ui/dom@1.7.6", "", { "dependencies": { "@floating-ui/core": "^1.7.5", "@floating-ui/utils": "^0.2.11" } }, "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ=="], - - "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.8", "", { "dependencies": { "@floating-ui/dom": "^1.7.6" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A=="], - - "@floating-ui/utils": ["@floating-ui/utils@0.2.11", "", {}, "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg=="], - - "@fontsource-variable/inter": ["@fontsource-variable/inter@5.2.8", "", {}, "sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ=="], - - "@fontsource-variable/public-sans": ["@fontsource-variable/public-sans@5.2.7", "", {}, "sha512-4mvade2J3slKkvwRkS+p8T3szet/0vhWoSnuUJTVU81Uo2pRpSZY/Y8bSLRqpSwzIPxjVmRJ53oq6JKP/l/PSg=="], - - "@hono/node-server": ["@hono/node-server@1.19.14", "", { "peerDependencies": { "hono": "^4" } }, "sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw=="], - - "@humanfs/core": ["@humanfs/core@0.19.2", "", { "dependencies": { "@humanfs/types": "^0.15.0" } }, "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA=="], - - "@humanfs/node": ["@humanfs/node@0.16.8", "", { "dependencies": { "@humanfs/core": "^0.19.2", "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ=="], - - "@humanfs/types": ["@humanfs/types@0.15.0", "", {}, "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q=="], - - "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], - - "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], - - "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], - - "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], - - "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], - - "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], - - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], - - "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], - - "@lezer/common": ["@lezer/common@1.5.2", "", {}, "sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ=="], - - "@lezer/css": ["@lezer/css@1.3.4", "", { "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.0.0", "@lezer/lr": "^1.3.0" } }, "sha512-N+tn9tej2hPvyKgHEApMOQfHczDJCwxrRFS3SPn9QjYN+uwHvEDnCgKRrb3mxDYxRS8sKMM8fhC3+lc04Abz5Q=="], - - "@lezer/highlight": ["@lezer/highlight@1.2.3", "", { "dependencies": { "@lezer/common": "^1.3.0" } }, "sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g=="], - - "@lezer/html": ["@lezer/html@1.3.13", "", { "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.0.0", "@lezer/lr": "^1.0.0" } }, "sha512-oI7n6NJml729m7pjm9lvLvmXbdoMoi2f+1pwSDJkl9d68zGr7a9Btz8NdHTGQZtW2DA25ybeuv/SyDb9D5tseg=="], - - "@lezer/javascript": ["@lezer/javascript@1.5.4", "", { "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.1.3", "@lezer/lr": "^1.3.0" } }, "sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA=="], - - "@lezer/lr": ["@lezer/lr@1.4.10", "", { "dependencies": { "@lezer/common": "^1.0.0" } }, "sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A=="], - - "@lezer/markdown": ["@lezer/markdown@1.6.4", "", { "dependencies": { "@lezer/common": "^1.5.0", "@lezer/highlight": "^1.0.0" } }, "sha512-N0SxazMj4k65DBfaf1azqtMZd6u7MqluP84/NZnB/io8Td9aleFmAhz9hcbvSfsxT5tdYlJ5qgv5aMJGY4zEtA=="], - - "@livekit/components-core": ["@livekit/components-core@0.12.13", "", { "dependencies": { "@floating-ui/dom": "1.7.4", "loglevel": "1.9.1", "rxjs": "7.8.2" }, "peerDependencies": { "livekit-client": "^2.17.2", "tslib": "^2.6.2" } }, "sha512-DQmi84afHoHjZ62wm8y+XPNIDHTwFHAltjd3lmyXj8UZHOY7wcza4vFt1xnghJOD5wLRY58L1dkAgAw59MgWvw=="], - - "@livekit/components-react": ["@livekit/components-react@2.9.21", "", { "dependencies": { "@livekit/components-core": "0.12.13", "clsx": "2.1.1", "events": "^3.3.0", "jose": "^6.0.12", "usehooks-ts": "3.1.1" }, "peerDependencies": { "@livekit/krisp-noise-filter": "^0.2.12 || ^0.3.0", "livekit-client": "^2.18.2", "react": ">=18", "react-dom": ">=18", "tslib": "^2.6.2" }, "optionalPeers": ["@livekit/krisp-noise-filter"] }, "sha512-6hU9VucJJL+gAhilNGe4MBCDCZVk64qyjP9Ck86krvOIdVU76WeWksddg1MYUP10AlUwwrfD7davz41pJTcMJw=="], - - "@livekit/mutex": ["@livekit/mutex@1.1.1", "", {}, "sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw=="], - - "@livekit/protocol": ["@livekit/protocol@1.46.6", "", { "dependencies": { "@bufbuild/protobuf": "^1.10.0" } }, "sha512-upzlHP1vi/kZ/QqALZTFskQ0ifqc2f15RKucHYOsIHJsaXvEYanG75mAb7o+Yomfs4XhQ4BaRsdY+TFHXpaqrg=="], - - "@malept/cross-spawn-promise": ["@malept/cross-spawn-promise@2.0.0", "", { "dependencies": { "cross-spawn": "^7.0.1" } }, "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg=="], - - "@malept/flatpak-bundler": ["@malept/flatpak-bundler@0.4.0", "", { "dependencies": { "debug": "^4.1.1", "fs-extra": "^9.0.0", "lodash": "^4.17.15", "tmp-promise": "^3.0.2" } }, "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q=="], - - "@marijn/find-cluster-break": ["@marijn/find-cluster-break@1.0.3", "", {}, "sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA=="], - - "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.29.0", "", { "dependencies": { "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ=="], - - "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.6", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg=="], - - "@noble/curves": ["@noble/curves@2.2.0", "", { "dependencies": { "@noble/hashes": "2.2.0" } }, "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ=="], - - "@noble/hashes": ["@noble/hashes@2.2.0", "", {}, "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg=="], - - "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], - - "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], - - "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], - - "@oxc-project/types": ["@oxc-project/types@0.138.0", "", {}, "sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA=="], - - "@peculiar/asn1-schema": ["@peculiar/asn1-schema@2.8.0", "", { "dependencies": { "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q=="], - - "@peculiar/json-schema": ["@peculiar/json-schema@1.1.12", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w=="], - - "@peculiar/utils": ["@peculiar/utils@2.0.3", "", { "dependencies": { "tslib": "^2.8.1" } }, "sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ=="], - - "@peculiar/webcrypto": ["@peculiar/webcrypto@1.7.1", "", { "dependencies": { "@peculiar/asn1-schema": "^2.7.0", "@peculiar/json-schema": "^1.1.12", "@peculiar/utils": "^2.0.2", "tslib": "^2.8.1", "webcrypto-core": "^1.9.2" } }, "sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ=="], - - "@radix-ui/primitive": ["@radix-ui/primitive@1.1.4", "", {}, "sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ=="], - - "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.3", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA=="], - - "@radix-ui/react-context": ["@radix-ui/react-context@1.1.4", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg=="], - - "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.18", "", { "dependencies": { "@radix-ui/primitive": "1.1.4", "@radix-ui/react-compose-refs": "1.1.3", "@radix-ui/react-context": "1.1.4", "@radix-ui/react-dismissable-layer": "1.1.14", "@radix-ui/react-focus-guards": "1.1.4", "@radix-ui/react-focus-scope": "1.1.11", "@radix-ui/react-id": "1.1.2", "@radix-ui/react-portal": "1.1.13", "@radix-ui/react-presence": "1.1.6", "@radix-ui/react-primitive": "2.1.7", "@radix-ui/react-slot": "1.3.0", "@radix-ui/react-use-controllable-state": "1.2.3", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.7.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-apa28mldjMgORmE6g/w3sCcA0Y9UAVeeDVoozN4i7kOw12mLl9RBchfzK3Nn6qxOWjrZhK1Lfy7f07kyzxtnBw=="], - - "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.14", "", { "dependencies": { "@radix-ui/primitive": "1.1.4", "@radix-ui/react-compose-refs": "1.1.3", "@radix-ui/react-primitive": "2.1.7", "@radix-ui/react-use-callback-ref": "1.1.2", "@radix-ui/react-use-effect-event": "0.0.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-4lUhWTWAjbDIqFrAPWJ3WqBOpO5YchVZ88X3nh6H9Lu5AFi5nCUeTPj3D8FSDmabmFeRe9ME0BDA4MwKTha5GQ=="], - - "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.4", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q=="], - - "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.11", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.3", "@radix-ui/react-primitive": "2.1.7", "@radix-ui/react-use-callback-ref": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Mn88Vg2whaRocGJNOH+DKFqYm6ySFPQaiwHNxZPyjn99B52KAEJWWY9NP83+nWdk2HM3rdov+STu9AG471Rt9w=="], - - "@radix-ui/react-id": ["@radix-ui/react-id@1.1.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA=="], - - "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.13", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.7", "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA=="], - - "@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.6", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ=="], - - "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.7", "", { "dependencies": { "@radix-ui/react-slot": "1.3.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ=="], - - "@radix-ui/react-slot": ["@radix-ui/react-slot@1.3.0", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA=="], - - "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw=="], - - "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.3", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.3", "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA=="], - - "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="], - - "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA=="], - - "@reduxjs/toolkit": ["@reduxjs/toolkit@2.12.0", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "@standard-schema/utils": "^0.3.0", "immer": "^11.0.0", "redux": "^5.0.1", "redux-thunk": "^3.1.0", "reselect": "^5.1.0" }, "peerDependencies": { "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" }, "optionalPeers": ["react", "react-redux"] }, "sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw=="], - - "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.1.4", "", { "os": "android", "cpu": "arm64" }, "sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw=="], - - "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.1.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ=="], - - "@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.1.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg=="], - - "@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.1.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ=="], - - "@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.1.4", "", { "os": "linux", "cpu": "arm" }, "sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA=="], - - "@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.1.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w=="], - - "@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.1.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng=="], - - "@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.1.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg=="], - - "@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.1.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ=="], - - "@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.1.4", "", { "os": "linux", "cpu": "x64" }, "sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw=="], - - "@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.1.4", "", { "os": "linux", "cpu": "x64" }, "sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ=="], - - "@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.1.4", "", { "os": "none", "cpu": "arm64" }, "sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA=="], - - "@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.1.4", "", { "dependencies": { "@emnapi/core": "1.11.1", "@emnapi/runtime": "1.11.1", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg=="], - - "@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.1.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA=="], - - "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.1.4", "", { "os": "win32", "cpu": "x64" }, "sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ=="], - - "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="], - - "@sec-ant/readable-stream": ["@sec-ant/readable-stream@0.4.1", "", {}, "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg=="], - - "@sindresorhus/is": ["@sindresorhus/is@4.6.0", "", {}, "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="], - - "@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="], - - "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], - - "@standard-schema/utils": ["@standard-schema/utils@0.3.0", "", {}, "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g=="], - - "@szmarczak/http-timer": ["@szmarczak/http-timer@4.0.6", "", { "dependencies": { "defer-to-connect": "^2.0.0" } }, "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w=="], - - "@tailwindcss/node": ["@tailwindcss/node@4.3.2", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "5.21.6", "jiti": "^2.7.0", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.3.2" } }, "sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg=="], - - "@tailwindcss/oxide": ["@tailwindcss/oxide@4.3.2", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.3.2", "@tailwindcss/oxide-darwin-arm64": "4.3.2", "@tailwindcss/oxide-darwin-x64": "4.3.2", "@tailwindcss/oxide-freebsd-x64": "4.3.2", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.2", "@tailwindcss/oxide-linux-arm64-gnu": "4.3.2", "@tailwindcss/oxide-linux-arm64-musl": "4.3.2", "@tailwindcss/oxide-linux-x64-gnu": "4.3.2", "@tailwindcss/oxide-linux-x64-musl": "4.3.2", "@tailwindcss/oxide-wasm32-wasi": "4.3.2", "@tailwindcss/oxide-win32-arm64-msvc": "4.3.2", "@tailwindcss/oxide-win32-x64-msvc": "4.3.2" } }, "sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag=="], - - "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.3.2", "", { "os": "android", "cpu": "arm64" }, "sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA=="], - - "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.3.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w=="], - - "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.3.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ=="], - - "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.3.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA=="], - - "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2", "", { "os": "linux", "cpu": "arm" }, "sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w=="], - - "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw=="], - - "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA=="], - - "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w=="], - - "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw=="], - - "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.3.2", "", { "dependencies": { "@emnapi/core": "^1.11.1", "@emnapi/runtime": "^1.11.1", "@emnapi/wasi-threads": "^1.2.2", "@napi-rs/wasm-runtime": "^1.1.4", "@tybys/wasm-util": "^0.10.2", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw=="], - - "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.3.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ=="], - - "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.3.2", "", { "os": "win32", "cpu": "x64" }, "sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ=="], - - "@tailwindcss/vite": ["@tailwindcss/vite@4.3.2", "", { "dependencies": { "@tailwindcss/node": "4.3.2", "@tailwindcss/oxide": "4.3.2", "tailwindcss": "4.3.2" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA=="], - - "@tanstack/devtools-event-client": ["@tanstack/devtools-event-client@0.3.5", "", {}, "sha512-RL1f5ZlfZMpghrCIdzl6mLOFLTuhqmPNblZgBaeKfdtk5rfbjykurv+VfYydOFXj0vxVIoA2d/zT7xfD7Ph8fw=="], - - "@tanstack/history": ["@tanstack/history@1.162.0", "", {}, "sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA=="], - - "@tanstack/pacer": ["@tanstack/pacer@0.21.1", "", { "dependencies": { "@tanstack/devtools-event-client": "^0.4.3", "@tanstack/store": "^0.11.0" } }, "sha512-hB01dd4rlsYcTCNP7wK186jgAe6K5qimgM1Y5Jtvz+9PUaILvpmeLLjmQNUNSO1l23lIt+CeQR6mO1mjlPvRtQ=="], - - "@tanstack/query-core": ["@tanstack/query-core@5.101.2", "", {}, "sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw=="], - - "@tanstack/react-query": ["@tanstack/react-query@5.101.2", "", { "dependencies": { "@tanstack/query-core": "5.101.2" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg=="], - - "@tanstack/react-router": ["@tanstack/react-router@1.170.17", "", { "dependencies": { "@tanstack/history": "1.162.0", "@tanstack/react-store": "^0.9.3", "@tanstack/router-core": "1.171.14", "isbot": "^5.1.22" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-ppLkjCfSMaeug9rmFRYzOd4TIqWV+yTE7tzIny7alJsSnM7w4lzEZm6eqCehG0SPetpZ0R3K+UnanSmBgOAVcQ=="], - - "@tanstack/react-store": ["@tanstack/react-store@0.9.3", "", { "dependencies": { "@tanstack/store": "0.9.3", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg=="], - - "@tanstack/react-virtual": ["@tanstack/react-virtual@3.14.5", "", { "dependencies": { "@tanstack/virtual-core": "3.17.3" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-4EKRXh7zBLkbKbFmG3AUVkircuHd+7OdT1pocJSepxtfBd3qnrJgJ5rtPkRYyo9fmyVb2+pI2xPy5oYvMLQy6A=="], - - "@tanstack/router-core": ["@tanstack/router-core@1.171.14", "", { "dependencies": { "@tanstack/history": "1.162.0", "cookie-es": "^3.0.0", "seroval": "^1.5.4", "seroval-plugins": "^1.5.4" } }, "sha512-Mo3hwx0qB0cJsVYGDjG0+Ouf7VV74h/vsoDMGztdlyzDanp4gBA2s7IVvm6hFrmQM6GpD9F0Z7SqD7OldfLE7g=="], - - "@tanstack/store": ["@tanstack/store@0.9.3", "", {}, "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw=="], - - "@tanstack/virtual-core": ["@tanstack/virtual-core@3.17.3", "", {}, "sha512-8Np/TFELpI0ySuJoVmjvOrQYXH/8sTX0Biv9szhFhY39xOdAAY+smrMxjxOum/ux3eM8MUJQsEJ0/R0UpvC8dw=="], - - "@tauri-apps/api": ["@tauri-apps/api@2.11.1", "", {}, "sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA=="], - - "@tauri-apps/cli": ["@tauri-apps/cli@2.11.4", "", { "optionalDependencies": { "@tauri-apps/cli-darwin-arm64": "2.11.4", "@tauri-apps/cli-darwin-x64": "2.11.4", "@tauri-apps/cli-linux-arm-gnueabihf": "2.11.4", "@tauri-apps/cli-linux-arm64-gnu": "2.11.4", "@tauri-apps/cli-linux-arm64-musl": "2.11.4", "@tauri-apps/cli-linux-riscv64-gnu": "2.11.4", "@tauri-apps/cli-linux-x64-gnu": "2.11.4", "@tauri-apps/cli-linux-x64-musl": "2.11.4", "@tauri-apps/cli-win32-arm64-msvc": "2.11.4", "@tauri-apps/cli-win32-ia32-msvc": "2.11.4", "@tauri-apps/cli-win32-x64-msvc": "2.11.4" }, "bin": { "tauri": "tauri.js" } }, "sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ=="], - - "@tauri-apps/cli-darwin-arm64": ["@tauri-apps/cli-darwin-arm64@2.11.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ=="], - - "@tauri-apps/cli-darwin-x64": ["@tauri-apps/cli-darwin-x64@2.11.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A=="], - - "@tauri-apps/cli-linux-arm-gnueabihf": ["@tauri-apps/cli-linux-arm-gnueabihf@2.11.4", "", { "os": "linux", "cpu": "arm" }, "sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ=="], - - "@tauri-apps/cli-linux-arm64-gnu": ["@tauri-apps/cli-linux-arm64-gnu@2.11.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA=="], - - "@tauri-apps/cli-linux-arm64-musl": ["@tauri-apps/cli-linux-arm64-musl@2.11.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw=="], - - "@tauri-apps/cli-linux-riscv64-gnu": ["@tauri-apps/cli-linux-riscv64-gnu@2.11.4", "", { "os": "linux", "cpu": "none" }, "sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ=="], - - "@tauri-apps/cli-linux-x64-gnu": ["@tauri-apps/cli-linux-x64-gnu@2.11.4", "", { "os": "linux", "cpu": "x64" }, "sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ=="], - - "@tauri-apps/cli-linux-x64-musl": ["@tauri-apps/cli-linux-x64-musl@2.11.4", "", { "os": "linux", "cpu": "x64" }, "sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A=="], - - "@tauri-apps/cli-win32-arm64-msvc": ["@tauri-apps/cli-win32-arm64-msvc@2.11.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ=="], - - "@tauri-apps/cli-win32-ia32-msvc": ["@tauri-apps/cli-win32-ia32-msvc@2.11.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA=="], - - "@tauri-apps/cli-win32-x64-msvc": ["@tauri-apps/cli-win32-x64-msvc@2.11.4", "", { "os": "win32", "cpu": "x64" }, "sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw=="], - - "@tauri-apps/plugin-barcode-scanner": ["@tauri-apps/plugin-barcode-scanner@2.4.5", "", { "dependencies": { "@tauri-apps/api": "^2.11.0" } }, "sha512-sIPRYEfxww8/y8skZ2LcAp/h5bwvlHkQiq+3w6QEl+2BHs13xnpn7hP+pv4fkBs8DyDfpUbOBIYS5YBwP7x1QQ=="], - - "@tauri-apps/plugin-deep-link": ["@tauri-apps/plugin-deep-link@2.4.9", "", { "dependencies": { "@tauri-apps/api": "^2.11.0" } }, "sha512-u0SKOUHnJ1wqeqXsDFq2+kASCBj9xxbG0g9XZWPy9SOmU4wXtp6b/wiYpm6oH6/5fBTQsLqnLhIvqLBRpgHJlA=="], - - "@tauri-apps/plugin-log": ["@tauri-apps/plugin-log@2.8.0", "", { "dependencies": { "@tauri-apps/api": "^2.8.0" } }, "sha512-a+7rOq3MJwpTOLLKbL8d0qGZ85hgHw5pNOWusA9o3cf7cEgtYHiGY/+O8fj8MvywQIGqFv0da2bYQDlrqLE7rw=="], - - "@tauri-apps/plugin-notification": ["@tauri-apps/plugin-notification@2.3.3", "", { "dependencies": { "@tauri-apps/api": "^2.8.0" } }, "sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg=="], - - "@tensamin/call": ["@tensamin/call@workspace:packages/call"], - - "@tensamin/chat": ["@tensamin/chat@workspace:packages/chat"], - - "@tensamin/crypto": ["@tensamin/crypto@workspace:packages/crypto"], - - "@tensamin/electron": ["@tensamin/electron@workspace:apps/electron"], - - "@tensamin/markdown": ["@tensamin/markdown@workspace:packages/markdown"], - - "@tensamin/mtp": ["@tensamin/mtp@workspace:packages/mtp"], - - "@tensamin/notifications": ["@tensamin/notifications@workspace:packages/notifications"], - - "@tensamin/shared": ["@tensamin/shared@workspace:packages/shared"], - - "@tensamin/storage": ["@tensamin/storage@workspace:packages/storage"], - - "@tensamin/tauri": ["@tensamin/tauri@workspace:apps/tauri"], - - "@tensamin/tauth": ["@tensamin/tauth@workspace:packages/tauth"], - - "@tensamin/ui": ["@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", { "dependencies": { "@base-ui/react": "^1.6.0", "@fontsource-variable/inter": "^5.2.8", "@tauri-apps/api": "^2.11.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.4.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.21.0", "next-themes": "^0.4.6", "react-day-picker": "^10.0.1", "react-resizable-panels": "^4.11.2", "recharts": "3.8.1", "shadcn": "^4.11.0", "sonner": "^2.0.7", "tailwind-merge": "^3.6.0", "tw-animate-css": "^1.4.0", "vaul": "^1.1.2" }, "peerDependencies": { "react": "^19.2.7", "react-dom": "^19.2.7" } }, "sha512-tOvNNwGWnj/LJCXHIUtN+uZG2VoRUGZXuVAoHP18OypgsmlSbx2iQNhkLF1t1qnIboVf5V5mvraVGLXtz4csgQ=="], - - "@tensamin/user": ["@tensamin/user@workspace:packages/user"], - - "@tensamin/web": ["@tensamin/web@workspace:apps/web"], - - "@ts-morph/common": ["@ts-morph/common@0.27.0", "", { "dependencies": { "fast-glob": "^3.3.3", "minimatch": "^10.0.1", "path-browserify": "^1.0.1" } }, "sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ=="], - - "@tybys/wasm-util": ["@tybys/wasm-util@0.10.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg=="], - - "@types/cacheable-request": ["@types/cacheable-request@6.0.3", "", { "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", "@types/node": "*", "@types/responselike": "^1.0.0" } }, "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw=="], - - "@types/d3-array": ["@types/d3-array@3.2.2", "", {}, "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw=="], - - "@types/d3-color": ["@types/d3-color@3.1.3", "", {}, "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A=="], - - "@types/d3-ease": ["@types/d3-ease@3.0.2", "", {}, "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA=="], - - "@types/d3-interpolate": ["@types/d3-interpolate@3.0.4", "", { "dependencies": { "@types/d3-color": "*" } }, "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA=="], - - "@types/d3-path": ["@types/d3-path@3.1.1", "", {}, "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg=="], - - "@types/d3-scale": ["@types/d3-scale@4.0.9", "", { "dependencies": { "@types/d3-time": "*" } }, "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw=="], - - "@types/d3-shape": ["@types/d3-shape@3.1.8", "", { "dependencies": { "@types/d3-path": "*" } }, "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w=="], - - "@types/d3-time": ["@types/d3-time@3.0.4", "", {}, "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g=="], - - "@types/d3-timer": ["@types/d3-timer@3.0.2", "", {}, "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="], - - "@types/debug": ["@types/debug@4.1.13", "", { "dependencies": { "@types/ms": "*" } }, "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw=="], - - "@types/dom-mediacapture-record": ["@types/dom-mediacapture-record@1.0.22", "", {}, "sha512-mUMZLK3NvwRLcAAT9qmcK+9p7tpU2FHdDsntR3YI4+GY88XrgG4XiE7u1Q2LAN2/FZOz/tdMDC3GQCR4T8nFuw=="], - - "@types/esrecurse": ["@types/esrecurse@4.3.1", "", {}, "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw=="], - - "@types/estree": ["@types/estree@1.0.9", "", {}, "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg=="], - - "@types/fs-extra": ["@types/fs-extra@9.0.13", "", { "dependencies": { "@types/node": "*" } }, "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA=="], - - "@types/http-cache-semantics": ["@types/http-cache-semantics@4.2.0", "", {}, "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q=="], - - "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], - - "@types/keyv": ["@types/keyv@3.1.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg=="], - - "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], - - "@types/node": ["@types/node@25.9.4", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g=="], - - "@types/qrcode": ["@types/qrcode@1.5.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw=="], - - "@types/react": ["@types/react@19.2.17", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw=="], - - "@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="], - - "@types/responselike": ["@types/responselike@1.0.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw=="], - - "@types/use-sync-external-store": ["@types/use-sync-external-store@0.0.6", "", {}, "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg=="], - - "@types/validate-npm-package-name": ["@types/validate-npm-package-name@4.0.2", "", {}, "sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw=="], - - "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="], - - "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.62.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.62.1", "@typescript-eslint/type-utils": "8.62.1", "@typescript-eslint/utils": "8.62.1", "@typescript-eslint/visitor-keys": "8.62.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.62.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA=="], - - "@typescript-eslint/parser": ["@typescript-eslint/parser@8.62.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.62.1", "@typescript-eslint/types": "8.62.1", "@typescript-eslint/typescript-estree": "8.62.1", "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA=="], - - "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.62.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.62.1", "@typescript-eslint/types": "^8.62.1", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg=="], - - "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.62.1", "", { "dependencies": { "@typescript-eslint/types": "8.62.1", "@typescript-eslint/visitor-keys": "8.62.1" } }, "sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg=="], - - "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.62.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g=="], - - "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.62.1", "", { "dependencies": { "@typescript-eslint/types": "8.62.1", "@typescript-eslint/typescript-estree": "8.62.1", "@typescript-eslint/utils": "8.62.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg=="], - - "@typescript-eslint/types": ["@typescript-eslint/types@8.62.1", "", {}, "sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q=="], - - "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.62.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.62.1", "@typescript-eslint/tsconfig-utils": "8.62.1", "@typescript-eslint/types": "8.62.1", "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA=="], - - "@typescript-eslint/utils": ["@typescript-eslint/utils@8.62.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.62.1", "@typescript-eslint/types": "8.62.1", "@typescript-eslint/typescript-estree": "8.62.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g=="], - - "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.62.1", "", { "dependencies": { "@typescript-eslint/types": "8.62.1", "eslint-visitor-keys": "^5.0.0" } }, "sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g=="], - - "@vitejs/plugin-react": ["@vitejs/plugin-react@6.0.3", "", { "dependencies": { "@rolldown/pluginutils": "^1.0.1" }, "peerDependencies": { "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", "babel-plugin-react-compiler": "^1.0.0", "vite": "^8.0.0" }, "optionalPeers": ["@rolldown/plugin-babel", "babel-plugin-react-compiler"] }, "sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg=="], - - "@xmldom/xmldom": ["@xmldom/xmldom@0.8.13", "", {}, "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw=="], - - "abbrev": ["abbrev@4.0.0", "", {}, "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA=="], - - "accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="], - - "acorn": ["acorn@8.17.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg=="], - - "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], - - "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], - - "ajv": ["ajv@6.15.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw=="], - - "ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], - - "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], - - "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - - "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "app-builder-lib": ["app-builder-lib@26.15.3", "", { "dependencies": { "@electron/asar": "3.4.1", "@electron/fuses": "^1.8.0", "@electron/get": "^3.0.0", "@electron/notarize": "2.5.0", "@electron/osx-sign": "1.3.3", "@electron/rebuild": "^4.0.4", "@electron/universal": "2.0.3", "@malept/flatpak-bundler": "^0.4.0", "@noble/hashes": "^2.2.0", "@peculiar/webcrypto": "^1.7.1", "@types/fs-extra": "9.0.13", "ajv": "^8.18.0", "asn1js": "^3.0.10", "async-exit-hook": "^2.0.1", "builder-util": "26.15.3", "builder-util-runtime": "9.7.0", "chromium-pickle-js": "^0.2.0", "ci-info": "4.3.1", "debug": "^4.3.4", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", "ejs": "^3.1.8", "electron-publish": "26.15.3", "fs-extra": "^10.1.0", "hosted-git-info": "^4.1.0", "isbinaryfile": "^5.0.0", "jiti": "^2.4.2", "js-yaml": "^4.1.0", "json5": "^2.2.3", "lazy-val": "^1.0.5", "minimatch": "^10.2.5", "pkijs": "^3.4.0", "plist": "3.1.0", "proper-lockfile": "^4.1.2", "resedit": "^1.7.0", "semver": "~7.7.3", "tar": "^7.5.7", "temp-file": "^3.4.0", "tiny-async-pool": "1.3.0", "unzipper": "^0.12.3", "which": "^5.0.0" }, "peerDependencies": { "dmg-builder": "26.15.3", "electron-builder-squirrel-windows": "26.15.3" } }, "sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow=="], - - "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - - "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], - - "asn1js": ["asn1js@3.0.10", "", { "dependencies": { "pvtsutils": "^1.3.6", "pvutils": "^1.1.5", "tslib": "^2.8.1" } }, "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg=="], - - "ast-types": ["ast-types@0.16.1", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg=="], - - "async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="], - - "async-exit-hook": ["async-exit-hook@2.0.1", "", {}, "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw=="], - - "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], - - "at-least-node": ["at-least-node@1.0.0", "", {}, "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="], - - "atomically": ["atomically@1.7.0", "", {}, "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w=="], - - "aws4": ["aws4@1.13.2", "", {}, "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw=="], - - "balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], - - "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - - "baseline-browser-mapping": ["baseline-browser-mapping@2.10.41", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-WwS7MHhqGHHlaVsqRZnhvCEMS0owDX+SxRlve7JkuH7My1Ara3ZriTmCQupPfYjxMZ8I/tgxtJYr2t7taHaH4A=="], - - "bluebird": ["bluebird@3.7.2", "", {}, "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="], - - "body-parser": ["body-parser@2.3.0", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^2.0.0", "debug": "^4.4.3", "http-errors": "^2.0.1", "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", "qs": "^6.15.2", "raw-body": "^3.0.2", "type-is": "^2.1.0" } }, "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw=="], - - "boolean": ["boolean@3.2.0", "", {}, "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw=="], - - "brace-expansion": ["brace-expansion@5.0.7", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA=="], - - "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], - - "browserslist": ["browserslist@4.28.4", "", { "dependencies": { "baseline-browser-mapping": "^2.10.38", "caniuse-lite": "^1.0.30001799", "electron-to-chromium": "^1.5.376", "node-releases": "^2.0.48", "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw=="], - - "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], - - "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], - - "builder-util": ["builder-util@26.15.3", "", { "dependencies": { "@types/debug": "^4.1.6", "builder-util-runtime": "9.7.0", "chalk": "^4.1.2", "cross-spawn": "^7.0.6", "debug": "^4.3.4", "fs-extra": "^10.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "js-yaml": "^4.1.0", "sanitize-filename": "^1.6.3", "source-map-support": "^0.5.19", "stat-mode": "^1.0.0", "temp-file": "^3.4.0", "tiny-async-pool": "1.3.0" } }, "sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw=="], - - "builder-util-runtime": ["builder-util-runtime@9.7.0", "", { "dependencies": { "debug": "^4.3.4", "sax": "^1.2.4" } }, "sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw=="], - - "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], - - "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], - - "bytestreamjs": ["bytestreamjs@2.0.1", "", {}, "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ=="], - - "cacheable-lookup": ["cacheable-lookup@5.0.4", "", {}, "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="], - - "cacheable-request": ["cacheable-request@7.0.4", "", { "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^4.0.0", "lowercase-keys": "^2.0.0", "normalize-url": "^6.0.1", "responselike": "^2.0.0" } }, "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg=="], - - "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], - - "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], - - "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], - - "camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], - - "caniuse-lite": ["caniuse-lite@1.0.30001800", "", {}, "sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA=="], - - "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], - - "chromium-pickle-js": ["chromium-pickle-js@0.2.0", "", {}, "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw=="], - - "ci-info": ["ci-info@4.4.0", "", {}, "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg=="], - - "class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="], - - "cli-cursor": ["cli-cursor@5.0.0", "", { "dependencies": { "restore-cursor": "^5.0.0" } }, "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw=="], - - "cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="], - - "cliui": ["cliui@6.0.0", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="], - - "clone-response": ["clone-response@1.0.3", "", { "dependencies": { "mimic-response": "^1.0.0" } }, "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA=="], - - "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], - - "cmdk": ["cmdk@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "^1.1.1", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-id": "^1.1.0", "@radix-ui/react-primitive": "^2.0.2" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "react-dom": "^18 || ^19 || ^19.0.0-rc" } }, "sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg=="], - - "code-block-writer": ["code-block-writer@13.0.3", "", {}, "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg=="], - - "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], - - "comlink": ["comlink@4.4.2", "", {}, "sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g=="], - - "commander": ["commander@14.0.3", "", {}, "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw=="], - - "compare-version": ["compare-version@0.1.2", "", {}, "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A=="], - - "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], - - "conf": ["conf@10.2.0", "", { "dependencies": { "ajv": "^8.6.3", "ajv-formats": "^2.1.1", "atomically": "^1.7.0", "debounce-fn": "^4.0.0", "dot-prop": "^6.0.1", "env-paths": "^2.2.1", "json-schema-typed": "^7.0.3", "onetime": "^5.1.2", "pkg-up": "^3.1.0", "semver": "^7.3.5" } }, "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg=="], - - "content-disposition": ["content-disposition@1.1.0", "", {}, "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g=="], - - "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], - - "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], - - "cookie-es": ["cookie-es@3.1.1", "", {}, "sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg=="], - - "cookie-signature": ["cookie-signature@1.2.2", "", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="], - - "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="], - - "cors": ["cors@2.8.6", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw=="], - - "cosmiconfig": ["cosmiconfig@9.0.2", "", { "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0" }, "peerDependencies": { "typescript": ">=4.9.5" }, "optionalPeers": ["typescript"] }, "sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg=="], - - "crelt": ["crelt@1.0.7", "", {}, "sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA=="], - - "cross-dirname": ["cross-dirname@0.1.0", "", {}, "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q=="], - - "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], - - "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], - - "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], - - "d3-array": ["d3-array@3.2.4", "", { "dependencies": { "internmap": "1 - 2" } }, "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg=="], - - "d3-color": ["d3-color@3.1.0", "", {}, "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="], - - "d3-ease": ["d3-ease@3.0.1", "", {}, "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="], - - "d3-format": ["d3-format@3.1.2", "", {}, "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg=="], - - "d3-interpolate": ["d3-interpolate@3.0.1", "", { "dependencies": { "d3-color": "1 - 3" } }, "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g=="], - - "d3-path": ["d3-path@3.1.0", "", {}, "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="], - - "d3-scale": ["d3-scale@4.0.2", "", { "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", "d3-interpolate": "1.2.0 - 3", "d3-time": "2.1.1 - 3", "d3-time-format": "2 - 4" } }, "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ=="], - - "d3-shape": ["d3-shape@3.2.0", "", { "dependencies": { "d3-path": "^3.1.0" } }, "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA=="], - - "d3-time": ["d3-time@3.1.0", "", { "dependencies": { "d3-array": "2 - 3" } }, "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q=="], - - "d3-time-format": ["d3-time-format@4.1.0", "", { "dependencies": { "d3-time": "1 - 3" } }, "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg=="], - - "d3-timer": ["d3-timer@3.0.1", "", {}, "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="], - - "date-fns": ["date-fns@4.4.0", "", {}, "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w=="], - - "debounce-fn": ["debounce-fn@4.0.0", "", { "dependencies": { "mimic-fn": "^3.0.0" } }, "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ=="], - - "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], - - "decamelize": ["decamelize@1.2.0", "", {}, "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="], - - "decimal.js-light": ["decimal.js-light@2.5.1", "", {}, "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg=="], - - "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="], - - "dedent": ["dedent@1.7.2", "", { "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, "optionalPeers": ["babel-plugin-macros"] }, "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA=="], - - "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], - - "deepfilternet3-noise-filter": ["deepfilternet3-noise-filter@1.3.0", "", { "peerDependencies": { "livekit-client": "^2.0.0" } }, "sha512-yYFUlPuvPguqcd/R6/OSsr0noGqlqOE50JkCWYHogk+PjLj9qrNgwTt5zKraVkKnw0l4+eXJagkz2SUWtUl4sQ=="], - - "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], - - "default-browser": ["default-browser@5.5.0", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw=="], - - "default-browser-id": ["default-browser-id@5.0.1", "", {}, "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q=="], - - "defer-to-connect": ["defer-to-connect@2.0.1", "", {}, "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="], - - "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="], - - "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], - - "define-properties": ["define-properties@1.2.1", "", { "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } }, "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg=="], - - "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], - - "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], - - "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - - "detect-node": ["detect-node@2.1.0", "", {}, "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="], - - "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], - - "diff": ["diff@8.0.4", "", {}, "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw=="], - - "dijkstrajs": ["dijkstrajs@1.0.3", "", {}, "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="], - - "dir-compare": ["dir-compare@4.2.0", "", { "dependencies": { "minimatch": "^3.0.5", "p-limit": "^3.1.0 " } }, "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ=="], - - "dmg-builder": ["dmg-builder@26.15.3", "", { "dependencies": { "app-builder-lib": "26.15.3", "builder-util": "26.15.3", "fs-extra": "^10.1.0", "js-yaml": "^4.1.0" } }, "sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ=="], - - "dot-prop": ["dot-prop@6.0.1", "", { "dependencies": { "is-obj": "^2.0.0" } }, "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA=="], - - "dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], - - "dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="], - - "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], - - "duplexer2": ["duplexer2@0.1.4", "", { "dependencies": { "readable-stream": "^2.0.2" } }, "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA=="], - - "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], - - "ejs": ["ejs@3.1.10", "", { "dependencies": { "jake": "^10.8.5" }, "bin": { "ejs": "bin/cli.js" } }, "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA=="], - - "electron": ["electron@39.8.10", "", { "dependencies": { "@electron/get": "^2.0.0", "@types/node": "^22.7.7", "extract-zip": "^2.0.1" }, "bin": { "electron": "cli.js" } }, "sha512-zbYtGPYUI7PzqLAzkk21Rk6j67WN0hxn0Mq/njErZo1d0HSf33is4f8ICI5fMLy5vYe0JtCtM5sYunNOaochSQ=="], - - "electron-builder": ["electron-builder@26.15.3", "", { "dependencies": { "app-builder-lib": "26.15.3", "builder-util": "26.15.3", "builder-util-runtime": "9.7.0", "chalk": "^4.1.2", "ci-info": "^4.2.0", "dmg-builder": "26.15.3", "fs-extra": "^10.1.0", "lazy-val": "^1.0.5", "simple-update-notifier": "2.0.0", "yargs": "^17.6.2" }, "bin": { "electron-builder": "./cli.js", "install-app-deps": "./install-app-deps.js" } }, "sha512-a1KM5heqS3gQCZzizXEI8RjJy3QVogULPdeSknt76uLDpBIW/HDGsMg/XgP0riP6PI9COsRvFITKKGDqA8fJxA=="], - - "electron-builder-squirrel-windows": ["electron-builder-squirrel-windows@26.15.3", "", { "dependencies": { "app-builder-lib": "26.15.3", "builder-util": "26.15.3", "electron-winstaller": "5.4.0" } }, "sha512-Jc19XPV9y9+2bAdZPkXuVNGNIEFBq9poHC61l8Kv6FdK7DRG3+Ic0rerC0DXOaeHNz8yW0fg/JnF8GQROOF5MA=="], - - "electron-publish": ["electron-publish@26.15.3", "", { "dependencies": { "@types/fs-extra": "^9.0.11", "aws4": "^1.13.2", "builder-util": "26.15.3", "builder-util-runtime": "9.7.0", "chalk": "^4.1.2", "form-data": "^4.0.5", "fs-extra": "^10.1.0", "lazy-val": "^1.0.5", "mime": "^2.5.2" } }, "sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q=="], - - "electron-to-chromium": ["electron-to-chromium@1.5.384", "", {}, "sha512-g6KAKY1vkYsADvSPWvdJsuYT0ixdcu6lUtD9P/wJKGBEDlZVXh2AX42j1mPqqaQPDluWjara9ziQ7xqAeXCt5A=="], - - "electron-winstaller": ["electron-winstaller@5.4.0", "", { "dependencies": { "@electron/asar": "^3.2.1", "debug": "^4.1.1", "fs-extra": "^7.0.1", "lodash": "^4.17.21", "temp": "^0.9.0" }, "optionalDependencies": { "@electron/windows-sign": "^1.1.2" } }, "sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg=="], - - "embla-carousel": ["embla-carousel@8.6.0", "", {}, "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA=="], - - "embla-carousel-react": ["embla-carousel-react@8.6.0", "", { "dependencies": { "embla-carousel": "8.6.0", "embla-carousel-reactive-utils": "8.6.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA=="], - - "embla-carousel-reactive-utils": ["embla-carousel-reactive-utils@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A=="], - - "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - - "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], - - "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], - - "enhanced-resolve": ["enhanced-resolve@5.21.6", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.3" } }, "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ=="], - - "enquirer": ["enquirer@2.4.1", "", { "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" } }, "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ=="], - - "env-paths": ["env-paths@2.2.1", "", {}, "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="], - - "err-code": ["err-code@2.0.3", "", {}, "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="], - - "error-ex": ["error-ex@1.3.4", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ=="], - - "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], - - "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - - "es-object-atoms": ["es-object-atoms@1.1.2", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw=="], - - "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], - - "es-toolkit": ["es-toolkit@1.49.0", "", {}, "sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g=="], - - "es6-error": ["es6-error@4.1.1", "", {}, "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="], - - "esbuild": ["esbuild@0.25.12", "", { "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" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], - - "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], - - "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], - - "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - - "eslint": ["eslint@10.6.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.6.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "minimatch": "^10.2.4", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg=="], - - "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@7.1.1", "", { "dependencies": { "@babel/core": "^7.24.4", "@babel/parser": "^7.24.4", "hermes-parser": "^0.25.1", "zod": "^3.25.0 || ^4.0.0", "zod-validation-error": "^3.5.0 || ^4.0.0" }, "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" } }, "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g=="], - - "eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "^4.3.1", "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="], - - "eslint-visitor-keys": ["eslint-visitor-keys@5.0.1", "", {}, "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA=="], - - "espree": ["espree@11.2.0", "", { "dependencies": { "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^5.0.1" } }, "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw=="], - - "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], - - "esquery": ["esquery@1.7.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g=="], - - "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], - - "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - - "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], - - "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], - - "eventemitter3": ["eventemitter3@5.0.4", "", {}, "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw=="], - - "events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="], - - "eventsource": ["eventsource@3.0.7", "", { "dependencies": { "eventsource-parser": "^3.0.1" } }, "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA=="], - - "eventsource-parser": ["eventsource-parser@3.1.0", "", {}, "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg=="], - - "execa": ["execa@9.6.1", "", { "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", "yoctocolors": "^2.1.1" } }, "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA=="], - - "exponential-backoff": ["exponential-backoff@3.1.3", "", {}, "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA=="], - - "express": ["express@5.2.1", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.1", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw=="], - - "express-rate-limit": ["express-rate-limit@8.5.2", "", { "dependencies": { "ip-address": "^10.2.0" }, "peerDependencies": { "express": ">= 4.11" } }, "sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A=="], - - "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], - - "fallow": ["fallow@2.104.0", "", { "dependencies": { "detect-libc": "2.1.2" }, "optionalDependencies": { "@fallow-cli/darwin-arm64": "2.104.0", "@fallow-cli/darwin-x64": "2.104.0", "@fallow-cli/linux-arm64-gnu": "2.104.0", "@fallow-cli/linux-arm64-musl": "2.104.0", "@fallow-cli/linux-x64-gnu": "2.104.0", "@fallow-cli/linux-x64-musl": "2.104.0", "@fallow-cli/win32-arm64-msvc": "2.104.0", "@fallow-cli/win32-x64-msvc": "2.104.0" }, "bin": { "fallow": "bin/fallow", "fallow-lsp": "bin/fallow-lsp", "fallow-mcp": "bin/fallow-mcp" } }, "sha512-UX6Q10Feyb7epe5tTI0sHCHPReOhuKOtxdVpkbqr1lLSZirv2PJiLTTrJr7gKeLHbztE9CHR1y7YARSe0rNYag=="], - - "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], - - "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], - - "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], - - "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], - - "fast-uri": ["fast-uri@3.1.3", "", {}, "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg=="], - - "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="], - - "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="], - - "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], - - "figures": ["figures@6.1.0", "", { "dependencies": { "is-unicode-supported": "^2.0.0" } }, "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg=="], - - "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], - - "filelist": ["filelist@1.0.6", "", { "dependencies": { "minimatch": "^5.0.1" } }, "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA=="], - - "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], - - "finalhandler": ["finalhandler@2.1.1", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA=="], - - "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], - - "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], - - "flatted": ["flatted@3.4.2", "", {}, "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA=="], - - "form-data": ["form-data@4.0.6", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.4", "mime-types": "^2.1.35" } }, "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ=="], - - "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], - - "fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="], - - "fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ=="], - - "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], - - "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], - - "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], - - "fuzzysort": ["fuzzysort@3.1.0", "", {}, "sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ=="], - - "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], - - "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], - - "get-east-asian-width": ["get-east-asian-width@1.6.0", "", {}, "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA=="], - - "get-intrinsic": ["get-intrinsic@1.3.0", "", { "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" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], - - "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], - - "get-own-enumerable-keys": ["get-own-enumerable-keys@1.0.0", "", {}, "sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA=="], - - "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], - - "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="], - - "glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], - - "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], - - "global-agent": ["global-agent@3.0.0", "", { "dependencies": { "boolean": "^3.0.1", "es6-error": "^4.1.1", "matcher": "^3.0.0", "roarr": "^2.15.3", "semver": "^7.3.2", "serialize-error": "^7.0.1" } }, "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q=="], - - "globals": ["globals@17.7.0", "", {}, "sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg=="], - - "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="], - - "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], - - "got": ["got@11.8.6", "", { "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", "@types/responselike": "^1.0.0", "cacheable-lookup": "^5.0.3", "cacheable-request": "^7.0.2", "decompress-response": "^6.0.0", "http2-wrapper": "^1.0.0-beta.5.2", "lowercase-keys": "^2.0.0", "p-cancelable": "^2.0.0", "responselike": "^2.0.0" } }, "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g=="], - - "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - - "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], - - "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="], - - "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], - - "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], - - "hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="], - - "hermes-estree": ["hermes-estree@0.25.1", "", {}, "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw=="], - - "hermes-parser": ["hermes-parser@0.25.1", "", { "dependencies": { "hermes-estree": "0.25.1" } }, "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA=="], - - "hono": ["hono@4.12.27", "", {}, "sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q=="], - - "hosted-git-info": ["hosted-git-info@4.1.0", "", { "dependencies": { "lru-cache": "^6.0.0" } }, "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA=="], - - "http-cache-semantics": ["http-cache-semantics@4.2.0", "", {}, "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ=="], - - "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], - - "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], - - "http2-wrapper": ["http2-wrapper@1.0.3", "", { "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" } }, "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg=="], - - "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], - - "human-signals": ["human-signals@8.0.1", "", {}, "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ=="], - - "iconv-lite": ["iconv-lite@0.7.2", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="], - - "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], - - "immer": ["immer@10.2.0", "", {}, "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw=="], - - "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], - - "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], - - "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], - - "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], - - "input-otp": ["input-otp@1.4.2", "", { "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA=="], - - "internmap": ["internmap@2.0.3", "", {}, "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="], - - "ip-address": ["ip-address@10.2.0", "", {}, "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA=="], - - "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], - - "is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], - - "is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], - - "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], - - "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - - "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], - - "is-in-ssh": ["is-in-ssh@1.0.0", "", {}, "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw=="], - - "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], - - "is-interactive": ["is-interactive@2.0.0", "", {}, "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ=="], - - "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], - - "is-obj": ["is-obj@3.0.0", "", {}, "sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ=="], - - "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], - - "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="], - - "is-regexp": ["is-regexp@3.1.0", "", {}, "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA=="], - - "is-stream": ["is-stream@4.0.1", "", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="], - - "is-unicode-supported": ["is-unicode-supported@2.1.0", "", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="], - - "is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], - - "isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="], - - "isbinaryfile": ["isbinaryfile@5.0.7", "", {}, "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ=="], - - "isbot": ["isbot@5.1.44", "", {}, "sha512-PGEHtwMnKbZpeSEXW2Utx+/JWed7dp6DiH0WWg33vGSDA7RUvpUeJSVlLrVkQ1RCpvDOUc/eH9ql7VsdbBZ8pA=="], - - "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], - - "jake": ["jake@10.9.4", "", { "dependencies": { "async": "^3.2.6", "filelist": "^1.0.4", "picocolors": "^1.1.1" }, "bin": { "jake": "bin/cli.js" } }, "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA=="], - - "jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="], - - "jose": ["jose@6.2.3", "", {}, "sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw=="], - - "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - - "js-yaml": ["js-yaml@4.3.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q=="], - - "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], - - "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], - - "json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="], - - "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], - - "json-schema-typed": ["json-schema-typed@8.0.2", "", {}, "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA=="], - - "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], - - "json-stringify-safe": ["json-stringify-safe@5.0.1", "", {}, "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="], - - "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], - - "jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], - - "jsonfile": ["jsonfile@6.2.1", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q=="], - - "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], - - "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="], - - "lazy-val": ["lazy-val@1.0.5", "", {}, "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q=="], - - "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], - - "lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="], - - "lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="], - - "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="], - - "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.32.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w=="], - - "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.32.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig=="], - - "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.32.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw=="], - - "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ=="], - - "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg=="], - - "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA=="], - - "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg=="], - - "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.32.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw=="], - - "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.32.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q=="], - - "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], - - "livekit-client": ["livekit-client@2.20.0", "", { "dependencies": { "@livekit/mutex": "1.1.1", "@livekit/protocol": "1.46.6", "events": "^3.3.0", "jose": "^6.1.0", "loglevel": "^1.9.2", "sdp-transform": "^2.15.0", "tslib": "2.8.1", "typed-emitter": "^2.1.0", "webrtc-adapter": "9.0.5" }, "peerDependencies": { "@types/dom-mediacapture-record": "^1" } }, "sha512-RIJcpvBmOmwz3jTj3rmdY6Dzr55HrhcaJjMgY+HSmoEM+yIRyA40m7r8UKv0hnZWM3z/AYhP1q8C8ciz5UWFKQ=="], - - "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], - - "lodash": ["lodash@4.18.1", "", {}, "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q=="], - - "lodash.debounce": ["lodash.debounce@4.0.8", "", {}, "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="], - - "log-symbols": ["log-symbols@6.0.0", "", { "dependencies": { "chalk": "^5.3.0", "is-unicode-supported": "^1.3.0" } }, "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw=="], - - "loglevel": ["loglevel@1.9.2", "", {}, "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg=="], - - "lowercase-keys": ["lowercase-keys@2.0.0", "", {}, "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="], - - "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - - "lucide-react": ["lucide-react@1.23.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-38BpJcD0JhFosxHApP/BYsBetLpQFRoTRzEzstM/XCc3jsAG7wqaY1lgVwxiUe3xqYE+lNxo2PkCmYwXWrwwIw=="], - - "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], - - "matcher": ["matcher@3.0.0", "", { "dependencies": { "escape-string-regexp": "^4.0.0" } }, "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng=="], - - "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], - - "media-typer": ["media-typer@1.1.0", "", {}, "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="], - - "merge-descriptors": ["merge-descriptors@2.0.0", "", {}, "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g=="], - - "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], - - "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], - - "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], - - "mime": ["mime@2.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="], - - "mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="], - - "mime-types": ["mime-types@3.0.2", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A=="], - - "mimic-fn": ["mimic-fn@3.1.0", "", {}, "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ=="], - - "mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="], - - "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], - - "minimatch": ["minimatch@10.2.5", "", { "dependencies": { "brace-expansion": "^5.0.5" } }, "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg=="], - - "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], - - "minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], - - "minizlib": ["minizlib@3.1.0", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw=="], - - "mkdirp": ["mkdirp@0.5.6", "", { "dependencies": { "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="], - - "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - - "mtp": ["mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c3fbeb2/mtp-0.1.0.tgz", {}, "sha512-j/RGQY9/3NXzZptXbY44Kv7YnGr38CQQOehRAzPPFvnEVj+kxCwzVLgSImT765+vfgl2L+bkAE9aI2PWwOBTow=="], - - "nanoid": ["nanoid@3.3.15", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA=="], - - "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], - - "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], - - "next-themes": ["next-themes@0.4.6", "", { "peerDependencies": { "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA=="], - - "node-abi": ["node-abi@4.32.0", "", { "dependencies": { "semver": "^7.6.3" } }, "sha512-2cvOMwK7aQ8eQhHTG9DBK/akKfNaJDwtbxgUaA1u3BHGpd6cbUvWCbA0u3aKan+s7Nl60tMGx4tn11+VS1fiUA=="], - - "node-api-version": ["node-api-version@0.2.1", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q=="], - - "node-gyp": ["node-gyp@12.4.0", "", { "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", "nopt": "^9.0.0", "proc-log": "^6.0.0", "semver": "^7.3.5", "tar": "^7.5.4", "tinyglobby": "^0.2.12", "undici": "^6.25.0", "which": "^6.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" } }, "sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw=="], - - "node-int64": ["node-int64@0.4.0", "", {}, "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="], - - "node-releases": ["node-releases@2.0.50", "", {}, "sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg=="], - - "nopt": ["nopt@9.0.0", "", { "dependencies": { "abbrev": "^4.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw=="], - - "normalize-url": ["normalize-url@6.1.0", "", {}, "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="], - - "npm-run-path": ["npm-run-path@6.0.0", "", { "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" } }, "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA=="], - - "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], - - "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], - - "object-keys": ["object-keys@1.1.1", "", {}, "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="], - - "object-treeify": ["object-treeify@1.1.33", "", {}, "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A=="], - - "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], - - "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], - - "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], - - "open": ["open@11.0.0", "", { "dependencies": { "default-browser": "^5.4.0", "define-lazy-prop": "^3.0.0", "is-in-ssh": "^1.0.0", "is-inside-container": "^1.0.0", "powershell-utils": "^0.1.0", "wsl-utils": "^0.3.0" } }, "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw=="], - - "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], - - "ora": ["ora@8.2.0", "", { "dependencies": { "chalk": "^5.3.0", "cli-cursor": "^5.0.0", "cli-spinners": "^2.9.2", "is-interactive": "^2.0.0", "is-unicode-supported": "^2.0.0", "log-symbols": "^6.0.0", "stdin-discarder": "^0.2.2", "string-width": "^7.2.0", "strip-ansi": "^7.1.0" } }, "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw=="], - - "p-cancelable": ["p-cancelable@2.1.1", "", {}, "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="], - - "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], - - "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], - - "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], - - "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], - - "parse-json": ["parse-json@5.2.0", "", { "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], - - "parse-ms": ["parse-ms@4.0.0", "", {}, "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw=="], - - "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], - - "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], - - "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], - - "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="], - - "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], - - "path-to-regexp": ["path-to-regexp@8.4.2", "", {}, "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA=="], - - "pe-library": ["pe-library@0.4.1", "", {}, "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw=="], - - "pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="], - - "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - - "picomatch": ["picomatch@4.0.5", "", {}, "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A=="], - - "pkce-challenge": ["pkce-challenge@5.0.1", "", {}, "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ=="], - - "pkg-up": ["pkg-up@3.1.0", "", { "dependencies": { "find-up": "^3.0.0" } }, "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA=="], - - "pkijs": ["pkijs@3.4.0", "", { "dependencies": { "@noble/hashes": "1.4.0", "asn1js": "^3.0.6", "bytestreamjs": "^2.0.1", "pvtsutils": "^1.3.6", "pvutils": "^1.1.3", "tslib": "^2.8.1" } }, "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw=="], - - "plist": ["plist@3.1.0", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" } }, "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ=="], - - "pngjs": ["pngjs@5.0.0", "", {}, "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="], - - "postcss": ["postcss@8.5.16", "", { "dependencies": { "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg=="], - - "postcss-selector-parser": ["postcss-selector-parser@7.1.4", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg=="], - - "postject": ["postject@1.0.0-alpha.6", "", { "dependencies": { "commander": "^9.4.0" }, "bin": { "postject": "dist/cli.js" } }, "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A=="], - - "powershell-utils": ["powershell-utils@0.1.0", "", {}, "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A=="], - - "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], - - "prettier": ["prettier@3.9.4", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg=="], - - "pretty-ms": ["pretty-ms@9.3.0", "", { "dependencies": { "parse-ms": "^4.0.0" } }, "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ=="], - - "proc-log": ["proc-log@6.1.0", "", {}, "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ=="], - - "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="], - - "progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="], - - "promise-retry": ["promise-retry@2.0.1", "", { "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" } }, "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g=="], - - "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="], - - "proper-lockfile": ["proper-lockfile@4.1.2", "", { "dependencies": { "graceful-fs": "^4.2.4", "retry": "^0.12.0", "signal-exit": "^3.0.2" } }, "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA=="], - - "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], - - "pump": ["pump@3.0.4", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA=="], - - "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], - - "pvtsutils": ["pvtsutils@1.3.6", "", { "dependencies": { "tslib": "^2.8.1" } }, "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg=="], - - "pvutils": ["pvutils@1.1.5", "", {}, "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA=="], - - "qrcode": ["qrcode@1.5.4", "", { "dependencies": { "dijkstrajs": "^1.0.1", "pngjs": "^5.0.0", "yargs": "^15.3.1" }, "bin": { "qrcode": "bin/qrcode" } }, "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg=="], - - "qs": ["qs@6.15.3", "", { "dependencies": { "es-define-property": "^1.0.1", "side-channel": "^1.1.1" } }, "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A=="], - - "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], - - "quick-lru": ["quick-lru@5.1.1", "", {}, "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="], - - "range-parser": ["range-parser@1.3.0", "", {}, "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw=="], - - "raw-body": ["raw-body@3.0.2", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" } }, "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA=="], - - "react": ["react@19.2.7", "", {}, "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ=="], - - "react-day-picker": ["react-day-picker@10.0.1", "", { "dependencies": { "@date-fns/tz": "^1.4.1", "date-fns": "^4.1.0" }, "peerDependencies": { "@types/react": ">=16.8.0", "react": ">=16.8.0" }, "optionalPeers": ["@types/react"] }, "sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w=="], - - "react-dom": ["react-dom@19.2.7", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.7" } }, "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ=="], - - "react-is": ["react-is@19.2.7", "", {}, "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A=="], - - "react-redux": ["react-redux@9.3.0", "", { "dependencies": { "@types/use-sync-external-store": "^0.0.6", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "@types/react": "^18.2.25 || ^19", "react": "^18.0 || ^19", "redux": "^5.0.0" }, "optionalPeers": ["@types/react", "redux"] }, "sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g=="], - - "react-remove-scroll": ["react-remove-scroll@2.7.2", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q=="], - - "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], - - "react-resizable-panels": ["react-resizable-panels@4.12.0", "", { "peerDependencies": { "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, "sha512-t/Gp57qSCxGQ52ckhz+8lM7dnuymeU95TEzl2U203qEbGkSLHrtm7US2/ANzq/zOlja3CwPTAfCDuh1unv9mfw=="], - - "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], - - "read-binary-file-arch": ["read-binary-file-arch@1.0.6", "", { "dependencies": { "debug": "^4.3.4" }, "bin": { "read-binary-file-arch": "cli.js" } }, "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg=="], - - "readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], - - "recast": ["recast@0.23.12", "", { "dependencies": { "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", "tiny-invariant": "^1.3.3", "tslib": "^2.0.1" } }, "sha512-dEWRjcINDu/F4l2dYx57ugBtD7HV9KXESyxhzw/MqWLeglJrsjJKqACPyUPg+6AF8mIgm+Zi0dZ3ACoIg+QtpA=="], - - "recharts": ["recharts@3.9.1", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^11.1.8", "react-redux": "8.x.x || 9.x.x", "reselect": "5.2.0", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-WMcwlXcB7l+BbxiEdyClkG+1sxrMHNZpzT577LEvU4+rXPd8oTAy1wXk72hnk2KOOmxuLvw3z5DtXT7HEAydtg=="], - - "redux": ["redux@5.0.1", "", {}, "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w=="], - - "redux-thunk": ["redux-thunk@3.1.0", "", { "peerDependencies": { "redux": "^5.0.0" } }, "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw=="], - - "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], - - "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], - - "require-main-filename": ["require-main-filename@2.0.0", "", {}, "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="], - - "resedit": ["resedit@1.7.2", "", { "dependencies": { "pe-library": "^0.4.1" } }, "sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA=="], - - "reselect": ["reselect@5.1.1", "", {}, "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w=="], - - "resolve-alpn": ["resolve-alpn@1.2.1", "", {}, "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="], - - "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], - - "responselike": ["responselike@2.0.1", "", { "dependencies": { "lowercase-keys": "^2.0.0" } }, "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw=="], - - "restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="], - - "retry": ["retry@0.12.0", "", {}, "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="], - - "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], - - "rimraf": ["rimraf@2.6.3", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "./bin.js" } }, "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA=="], - - "roarr": ["roarr@2.15.4", "", { "dependencies": { "boolean": "^3.0.1", "detect-node": "^2.0.4", "globalthis": "^1.0.1", "json-stringify-safe": "^5.0.1", "semver-compare": "^1.0.0", "sprintf-js": "^1.1.2" } }, "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A=="], - - "rolldown": ["rolldown@1.1.4", "", { "dependencies": { "@oxc-project/types": "=0.138.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.1.4", "@rolldown/binding-darwin-arm64": "1.1.4", "@rolldown/binding-darwin-x64": "1.1.4", "@rolldown/binding-freebsd-x64": "1.1.4", "@rolldown/binding-linux-arm-gnueabihf": "1.1.4", "@rolldown/binding-linux-arm64-gnu": "1.1.4", "@rolldown/binding-linux-arm64-musl": "1.1.4", "@rolldown/binding-linux-ppc64-gnu": "1.1.4", "@rolldown/binding-linux-s390x-gnu": "1.1.4", "@rolldown/binding-linux-x64-gnu": "1.1.4", "@rolldown/binding-linux-x64-musl": "1.1.4", "@rolldown/binding-openharmony-arm64": "1.1.4", "@rolldown/binding-wasm32-wasi": "1.1.4", "@rolldown/binding-win32-arm64-msvc": "1.1.4", "@rolldown/binding-win32-x64-msvc": "1.1.4" }, "bin": { "rolldown": "./bin/cli.mjs" } }, "sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA=="], - - "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], - - "run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="], - - "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], - - "rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="], - - "safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], - - "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - - "sanitize-filename": ["sanitize-filename@1.6.4", "", { "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, "sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg=="], - - "sax": ["sax@1.6.0", "", {}, "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA=="], - - "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], - - "sdp": ["sdp@3.2.2", "", {}, "sha512-xZocWwfyp4hkbN4hLWxMjmv2Q8aNa9MhmOZ7L9aCZPT+dZsgRr6wZRrSYE3HTdyk/2pZKPSgqI7ns7Een1xMSA=="], - - "sdp-transform": ["sdp-transform@2.15.0", "", { "bin": { "sdp-verify": "checker.js" } }, "sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw=="], - - "semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - - "semver-compare": ["semver-compare@1.0.0", "", {}, "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow=="], - - "send": ["send@1.2.1", "", { "dependencies": { "debug": "^4.4.3", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.1", "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.2" } }, "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ=="], - - "serialize-error": ["serialize-error@7.0.1", "", { "dependencies": { "type-fest": "^0.13.1" } }, "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw=="], - - "seroval": ["seroval@1.5.4", "", {}, "sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw=="], - - "seroval-plugins": ["seroval-plugins@1.5.4", "", { "peerDependencies": { "seroval": "^1.0" } }, "sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw=="], - - "serve-static": ["serve-static@2.2.1", "", { "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "parseurl": "^1.3.3", "send": "^1.2.0" } }, "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw=="], - - "set-blocking": ["set-blocking@2.0.0", "", {}, "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="], - - "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], - - "shadcn": ["shadcn@4.12.0", "", { "dependencies": { "@babel/core": "^7.28.0", "@babel/parser": "^7.28.0", "@babel/plugin-transform-typescript": "^7.28.0", "@babel/preset-typescript": "^7.27.1", "@dotenvx/dotenvx": "^1.48.4", "@modelcontextprotocol/sdk": "^1.26.0", "@types/validate-npm-package-name": "^4.0.2", "browserslist": "^4.26.2", "commander": "^14.0.0", "cosmiconfig": "^9.0.0", "dedent": "^1.6.0", "deepmerge": "^4.3.1", "diff": "^8.0.2", "execa": "^9.6.0", "fast-glob": "^3.3.3", "fs-extra": "^11.3.1", "fuzzysort": "^3.1.0", "kleur": "^4.1.5", "open": "^11.0.0", "ora": "^8.2.0", "postcss": "^8.5.6", "postcss-selector-parser": "^7.1.0", "prompts": "^2.4.2", "recast": "^0.23.11", "stringify-object": "^5.0.0", "tailwind-merge": "^3.0.1", "ts-morph": "^26.0.0", "tsconfig-paths": "^4.2.0", "undici": "^7.27.2", "validate-npm-package-name": "^7.0.1", "zod": "^3.24.1", "zod-to-json-schema": "^3.24.6" }, "bin": { "shadcn": "dist/index.js" } }, "sha512-o781ieQziCnXH2FKsEqxp1fnbHdbgAPO9inTSPeZ59hQfsZXuMGp3ul8oFSV5KQS4nbUK9b+DrDE6C7OvfKKQQ=="], - - "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], - - "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], - - "side-channel": ["side-channel@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4", "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ=="], - - "side-channel-list": ["side-channel-list@1.0.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" } }, "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w=="], - - "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], - - "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "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" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], - - "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], - - "simple-update-notifier": ["simple-update-notifier@2.0.0", "", { "dependencies": { "semver": "^7.5.3" } }, "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w=="], - - "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="], - - "sonner": ["sonner@2.0.7", "", { "peerDependencies": { "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w=="], - - "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], - - "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], - - "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], - - "sprintf-js": ["sprintf-js@1.1.3", "", {}, "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="], - - "stat-mode": ["stat-mode@1.0.0", "", {}, "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg=="], - - "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], - - "stdin-discarder": ["stdin-discarder@0.2.2", "", {}, "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ=="], - - "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], - - "stringify-object": ["stringify-object@5.0.0", "", { "dependencies": { "get-own-enumerable-keys": "^1.0.0", "is-obj": "^3.0.0", "is-regexp": "^3.1.0" } }, "sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg=="], - - "strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], - - "strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="], - - "strip-final-newline": ["strip-final-newline@4.0.0", "", {}, "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw=="], - - "style-mod": ["style-mod@4.1.3", "", {}, "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ=="], - - "sumchecker": ["sumchecker@3.0.1", "", { "dependencies": { "debug": "^4.1.0" } }, "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg=="], - - "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "systeminformation": ["systeminformation@5.31.11", "", { "os": "!aix", "bin": { "systeminformation": "lib/cli.js" } }, "sha512-I6O7iaUj23AXRgCPDDnvi3xHvdOLp4+1YMbF+X194lJwY1NeWojgHJPhslVKcmTtrLTguRk3QJK+xEdTiI3P0w=="], - - "tailwind-merge": ["tailwind-merge@3.6.0", "", {}, "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w=="], - - "tailwind-scrollbar-hide": ["tailwind-scrollbar-hide@4.0.0", "", { "peerDependencies": { "tailwindcss": ">=3.0.0 || >= 4.0.0 || >= 4.0.0-beta.8 || >= 4.0.0-alpha.20" } }, "sha512-gobtvVcThB2Dxhy0EeYSS1RKQJ5baDFkamkhwBvzvevwX6L4XQfpZ3me9s25Ss1ecFVT5jPYJ50n+7xTBJG9WQ=="], - - "tailwindcss": ["tailwindcss@4.3.2", "", {}, "sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA=="], - - "tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="], - - "tar": ["tar@7.5.19", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw=="], - - "tauri-plugin-app-events-api": ["tauri-plugin-app-events-api@0.2.0", "", { "dependencies": { "@tauri-apps/api": "^2.0.3" } }, "sha512-CnlAeucWhT+Rgx6CCsqUpq2D3pqgx0fhjSPKomH7O2t1rGVu5kGLMkYvaCX6gqVTUYpIWX5BLV7LGY2DRri0QA=="], - - "temp": ["temp@0.9.4", "", { "dependencies": { "mkdirp": "^0.5.1", "rimraf": "~2.6.2" } }, "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA=="], - - "temp-file": ["temp-file@3.4.0", "", { "dependencies": { "async-exit-hook": "^2.0.1", "fs-extra": "^10.0.0" } }, "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg=="], - - "tiny-async-pool": ["tiny-async-pool@1.3.0", "", { "dependencies": { "semver": "^5.5.0" } }, "sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA=="], - - "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], - - "tinyglobby": ["tinyglobby@0.2.17", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" } }, "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g=="], - - "tmp": ["tmp@0.2.7", "", {}, "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw=="], - - "tmp-promise": ["tmp-promise@3.0.3", "", { "dependencies": { "tmp": "^0.2.0" } }, "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ=="], - - "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], - - "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], - - "truncate-utf8-bytes": ["truncate-utf8-bytes@1.0.2", "", { "dependencies": { "utf8-byte-length": "^1.0.1" } }, "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ=="], - - "ts-api-utils": ["ts-api-utils@2.5.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA=="], - - "ts-morph": ["ts-morph@26.0.0", "", { "dependencies": { "@ts-morph/common": "~0.27.0", "code-block-writer": "^13.0.3" } }, "sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug=="], - - "tsconfig-paths": ["tsconfig-paths@4.2.0", "", { "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } }, "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg=="], - - "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "tw-animate-css": ["tw-animate-css@1.4.0", "", {}, "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ=="], - - "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], - - "type-fest": ["type-fest@0.13.1", "", {}, "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="], - - "type-is": ["type-is@2.1.0", "", { "dependencies": { "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA=="], - - "typed-emitter": ["typed-emitter@2.1.0", "", { "optionalDependencies": { "rxjs": "*" } }, "sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA=="], - - "typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="], - - "typescript-eslint": ["typescript-eslint@8.62.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.62.1", "@typescript-eslint/parser": "8.62.1", "@typescript-eslint/typescript-estree": "8.62.1", "@typescript-eslint/utils": "8.62.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw=="], - - "undici": ["undici@7.28.0", "", {}, "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA=="], - - "undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="], - - "unicorn-magic": ["unicorn-magic@0.3.0", "", {}, "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA=="], - - "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], - - "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], - - "unzipper": ["unzipper@0.12.5", "", { "dependencies": { "bluebird": "~3.7.2", "duplexer2": "~0.1.4", "fs-extra": "11.3.1", "graceful-fs": "^4.2.2", "node-int64": "^0.4.0" } }, "sha512-tXYOi9R57Uj/2Z25SOs5RRSzq886MBQj2gY8dPL+xl/kv6s6SvByoKfAtvfVeEuhntWDgjd2o9p2lb4TVPAz0A=="], - - "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], - - "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], - - "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], - - "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], - - "use-sync-external-store": ["use-sync-external-store@1.6.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w=="], - - "usehooks-ts": ["usehooks-ts@3.1.1", "", { "dependencies": { "lodash.debounce": "^4.0.8" }, "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA=="], - - "utf8-byte-length": ["utf8-byte-length@1.0.5", "", {}, "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA=="], - - "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], - - "validate-npm-package-name": ["validate-npm-package-name@7.0.2", "", {}, "sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A=="], - - "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], - - "vaul": ["vaul@1.1.2", "", { "dependencies": { "@radix-ui/react-dialog": "^1.1.1" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA=="], - - "victory-vendor": ["victory-vendor@37.3.6", "", { "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", "@types/d3-interpolate": "^3.0.1", "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^3.1.0", "@types/d3-time": "^3.0.0", "@types/d3-timer": "^3.0.0", "d3-array": "^3.1.6", "d3-ease": "^3.0.1", "d3-interpolate": "^3.0.1", "d3-scale": "^4.0.2", "d3-shape": "^3.1.0", "d3-time": "^3.0.0", "d3-timer": "^3.0.1" } }, "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ=="], - - "vite": ["vite@8.1.3", "", { "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.16", "rolldown": "~1.1.3", "tinyglobby": "^0.2.17" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.3.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA=="], - - "w3c-keyname": ["w3c-keyname@2.2.8", "", {}, "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="], - - "webcrypto-core": ["webcrypto-core@1.9.2", "", { "dependencies": { "@peculiar/asn1-schema": "^2.7.0", "@peculiar/json-schema": "^1.1.12", "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q=="], - - "webrtc-adapter": ["webrtc-adapter@9.0.5", "", { "dependencies": { "sdp": "^3.2.0" } }, "sha512-U9vjByy/sK2OMXu5mmfuZFKTMIUQe34c0JXRO+oDrxJTsntdYT2iIFwYMOV7HhMTuktcZLGf2W1N/OcSf9ssWg=="], - - "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], - - "which-module": ["which-module@2.0.1", "", {}, "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="], - - "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], - - "wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], - - "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], - - "wsl-utils": ["wsl-utils@0.3.1", "", { "dependencies": { "is-wsl": "^3.1.0", "powershell-utils": "^0.1.0" } }, "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg=="], - - "xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], - - "y18n": ["y18n@4.0.3", "", {}, "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="], - - "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], - - "yargs": ["yargs@15.4.1", "", { "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" } }, "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A=="], - - "yargs-parser": ["yargs-parser@18.1.3", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ=="], - - "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="], - - "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], - - "yocto-spinner": ["yocto-spinner@1.2.0", "", { "dependencies": { "yoctocolors": "^2.1.1" } }, "sha512-Yw0hUB6UA3o4YUgKy3oSe9a4cxoaZ9sBfYDw+JSxo6Id0KoJGoxzPA24qqUXYKBWABs/zDSGTz9kww7t3F0XGw=="], - - "yoctocolors": ["yoctocolors@2.1.2", "", {}, "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug=="], - - "zod": ["zod@4.4.3", "", {}, "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ=="], - - "zod-to-json-schema": ["zod-to-json-schema@3.25.2", "", { "peerDependencies": { "zod": "^3.25.28 || ^4" } }, "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA=="], - - "zod-validation-error": ["zod-validation-error@4.0.2", "", { "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" } }, "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ=="], - - "zustand": ["zustand@5.0.14", "", { "peerDependencies": { "@types/react": ">=18.0.0", "immer": ">=9.0.6", "react": ">=18.0.0", "use-sync-external-store": ">=1.2.0" }, "optionalPeers": ["@types/react", "immer", "react", "use-sync-external-store"] }, "sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g=="], - - "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@base-ui/utils/reselect": ["reselect@5.2.0", "", {}, "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw=="], - - "@dotenvx/dotenvx/commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], - - "@dotenvx/dotenvx/dotenv": ["dotenv@17.4.2", "", {}, "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw=="], - - "@dotenvx/dotenvx/execa": ["execa@5.1.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="], - - "@dotenvx/dotenvx/open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="], - - "@dotenvx/dotenvx/which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], - - "@electron/asar/commander": ["commander@5.1.0", "", {}, "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg=="], - - "@electron/asar/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], - - "@electron/fuses/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="], - - "@electron/get/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], - - "@electron/get/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@electron/notarize/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="], - - "@electron/osx-sign/isbinaryfile": ["isbinaryfile@4.0.10", "", {}, "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw=="], - - "@electron/universal/fs-extra": ["fs-extra@11.3.6", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA=="], - - "@electron/universal/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], - - "@electron/windows-sign/fs-extra": ["fs-extra@11.3.6", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA=="], - - "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - - "@livekit/components-core/@floating-ui/dom": ["@floating-ui/dom@1.7.4", "", { "dependencies": { "@floating-ui/core": "^1.7.3", "@floating-ui/utils": "^0.2.10" } }, "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA=="], - - "@livekit/components-core/loglevel": ["loglevel@1.9.1", "", {}, "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg=="], - - "@malept/flatpak-bundler/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="], - - "@modelcontextprotocol/sdk/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], - - "@radix-ui/react-dismissable-layer/@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.3", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA=="], - - "@radix-ui/react-use-controllable-state/@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.3", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA=="], - - "@radix-ui/react-use-effect-event/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], - - "@reduxjs/toolkit/immer": ["immer@11.1.9", "", {}, "sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA=="], - - "@reduxjs/toolkit/reselect": ["reselect@5.2.0", "", {}, "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw=="], - - "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" }, "bundled": true }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="], - - "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="], - - "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="], - - "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.6", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" }, "bundled": true }, "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg=="], - - "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.3", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg=="], - - "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "@tanstack/pacer/@tanstack/devtools-event-client": ["@tanstack/devtools-event-client@0.4.4", "", { "bin": { "intent": "./bin/intent.js" } }, "sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw=="], - - "@tanstack/pacer/@tanstack/store": ["@tanstack/store@0.11.0", "", {}, "sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw=="], - - "@tensamin/ui/recharts": ["recharts@3.8.1", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg=="], - - "@tensamin/web/recharts": ["recharts@3.8.1", "", { "dependencies": { "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", "immer": "^10.1.1", "react-redux": "8.x.x || 9.x.x", "reselect": "5.1.1", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg=="], - - "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], - - "ajv-formats/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], - - "app-builder-lib/@electron/get": ["@electron/get@3.1.0", "", { "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", "fs-extra": "^8.1.0", "got": "^11.8.5", "progress": "^2.0.3", "semver": "^6.2.0", "sumchecker": "^3.0.1" }, "optionalDependencies": { "global-agent": "^3.0.0" } }, "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ=="], - - "app-builder-lib/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], - - "app-builder-lib/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], - - "app-builder-lib/which": ["which@5.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ=="], - - "body-parser/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="], - - "cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "clone-response/mimic-response": ["mimic-response@1.0.1", "", {}, "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="], - - "conf/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], - - "conf/ajv-formats": ["ajv-formats@2.1.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA=="], - - "conf/json-schema-typed": ["json-schema-typed@7.0.3", "", {}, "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A=="], - - "dir-compare/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], - - "dot-prop/is-obj": ["is-obj@2.0.0", "", {}, "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="], - - "electron/@types/node": ["@types/node@22.20.0", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g=="], - - "electron-builder/yargs": ["yargs@17.7.3", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g=="], - - "electron-winstaller/fs-extra": ["fs-extra@7.0.1", "", { "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw=="], - - "enquirer/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "execa/get-stream": ["get-stream@9.0.1", "", { "dependencies": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" } }, "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA=="], - - "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "filelist/minimatch": ["minimatch@5.1.9", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw=="], - - "form-data/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - - "glob/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], - - "hosted-git-info/lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="], - - "is-inside-container/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], - - "log-symbols/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], - - "log-symbols/is-unicode-supported": ["is-unicode-supported@1.3.0", "", {}, "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ=="], - - "lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], - - "micromatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], - - "node-gyp/undici": ["undici@6.27.0", "", {}, "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg=="], - - "node-gyp/which": ["which@6.0.1", "", { "dependencies": { "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" } }, "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg=="], - - "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], - - "onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], - - "ora/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], - - "ora/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - - "pkg-up/find-up": ["find-up@3.0.0", "", { "dependencies": { "locate-path": "^3.0.0" } }, "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="], - - "pkijs/@noble/hashes": ["@noble/hashes@1.4.0", "", {}, "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg=="], - - "postject/commander": ["commander@9.5.0", "", {}, "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ=="], - - "prompts/kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], - - "proper-lockfile/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - - "recharts/immer": ["immer@11.1.9", "", {}, "sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA=="], - - "recharts/reselect": ["reselect@5.2.0", "", {}, "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw=="], - - "restore-cursor/onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="], - - "shadcn/fs-extra": ["fs-extra@11.3.6", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA=="], - - "shadcn/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - - "string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "tiny-async-pool/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], - - "type-is/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="], - - "unzipper/fs-extra": ["fs-extra@11.3.1", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g=="], - - "wrap-ansi/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "wsl-utils/is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="], - - "yargs/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], - - "@dotenvx/dotenvx/execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], - - "@dotenvx/dotenvx/execa/human-signals": ["human-signals@2.1.0", "", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="], - - "@dotenvx/dotenvx/execa/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], - - "@dotenvx/dotenvx/execa/npm-run-path": ["npm-run-path@4.0.1", "", { "dependencies": { "path-key": "^3.0.0" } }, "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="], - - "@dotenvx/dotenvx/execa/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - - "@dotenvx/dotenvx/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - - "@dotenvx/dotenvx/open/define-lazy-prop": ["define-lazy-prop@2.0.0", "", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="], - - "@dotenvx/dotenvx/which/isexe": ["isexe@3.1.5", "", {}, "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w=="], - - "@electron/asar/minimatch/brace-expansion": ["brace-expansion@1.1.15", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg=="], - - "@electron/get/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], - - "@electron/get/fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], - - "@electron/universal/minimatch/brace-expansion": ["brace-expansion@2.1.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA=="], - - "@modelcontextprotocol/sdk/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - - "ajv-formats/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - - "app-builder-lib/@electron/get/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], - - "app-builder-lib/@electron/get/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "app-builder-lib/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - - "app-builder-lib/which/isexe": ["isexe@3.1.5", "", {}, "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w=="], - - "cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "conf/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - - "dir-compare/minimatch/brace-expansion": ["brace-expansion@1.1.15", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg=="], - - "electron-builder/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], - - "electron-builder/yargs/y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], - - "electron-builder/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - - "electron-winstaller/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], - - "electron-winstaller/fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], - - "electron/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], - - "enquirer/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "filelist/minimatch/brace-expansion": ["brace-expansion@2.1.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA=="], - - "form-data/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - - "glob/minimatch/brace-expansion": ["brace-expansion@1.1.15", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg=="], - - "hosted-git-info/lru-cache/yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], - - "node-gyp/which/isexe": ["isexe@4.0.0", "", {}, "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw=="], - - "ora/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], - - "pkg-up/find-up/locate-path": ["locate-path@3.0.0", "", { "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="], - - "string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "yargs/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], - - "@electron/asar/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - - "@electron/universal/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - - "app-builder-lib/@electron/get/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], - - "app-builder-lib/@electron/get/fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], - - "dir-compare/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - - "electron-builder/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "electron-builder/yargs/cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "filelist/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - - "glob/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - - "pkg-up/find-up/locate-path/p-locate": ["p-locate@3.0.0", "", { "dependencies": { "p-limit": "^2.0.0" } }, "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="], - - "pkg-up/find-up/locate-path/path-exists": ["path-exists@3.0.0", "", {}, "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="], - - "yargs/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], - - "electron-builder/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "pkg-up/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - - "yargs/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - } -} diff --git a/flake.nix b/flake.nix index 55990bb..79a6c21 100644 --- a/flake.nix +++ b/flake.nix @@ -216,7 +216,7 @@ nodejs_22 corepack_22 coreutils - bun + pnpm pkgs.electron pkg-config python3 @@ -244,11 +244,11 @@ export npm_config_build_from_source=true export USE_SYSTEM_FPM=true - alias electron-install='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && bun install' - alias electron-build-web='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && bun run build:web' - alias electron-dev='bun run dev' - alias electron-package='bun run package:linux' - alias electron-validate='bun run validate' + alias electron-install='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && pnpm install' + alias electron-build-web='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && pnpm run build:web' + alias electron-dev='pnpm run dev' + alias electron-package='pnpm run package:linux' + alias electron-validate='pnpm run validate' ''; }; @@ -257,8 +257,9 @@ [ jdk17 gradle - bun + pnpm nodejs + corepack_22 coreutils pkg-config git diff --git a/licenses/THIRD_PARTY_NOTICES.md b/licenses/THIRD_PARTY_NOTICES.md index 33aad1a..f73299f 100644 --- a/licenses/THIRD_PARTY_NOTICES.md +++ b/licenses/THIRD_PARTY_NOTICES.md @@ -1,6 +1,6 @@ # Third-Party Notices -Generated from bun.lock and installed packages in workspace node_modules folders. +Generated from pnpm-lock.yaml and installed packages in workspace node_modules folders. ## @babel/runtime@7.29.7 @@ -445,7 +445,7 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Homepage: https://github.com/tauri-apps/tauri#readme - Repository: git+https://github.com/tauri-apps/tauri.git - Description: Tauri API definitions -- Included files: LICENSE_MIT, LICENSE_APACHE-2.0 +- Included files: LICENSE_APACHE-2.0, LICENSE_MIT - Folder: `licenses/@tauri-apps_api@2.11.1` - Source package dir: `apps/tauri/node_modules/@tauri-apps/api` @@ -455,7 +455,7 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Homepage: https://github.com/tauri-apps/tauri#readme - Repository: git+https://github.com/tauri-apps/tauri.git - Description: Command line interface for building Tauri apps -- Included files: LICENSE_MIT, LICENSE_APACHE-2.0 +- Included files: LICENSE_APACHE-2.0, LICENSE_MIT - Folder: `licenses/@tauri-apps_cli@2.11.4` - Source package dir: `apps/tauri/node_modules/@tauri-apps/cli` @@ -1326,6 +1326,26 @@ Generated from bun.lock and installed packages in workspace node_modules folders - Folder: `licenses/vite@8.1.3` - Source package dir: `apps/web/node_modules/vite` +## vitest@4.1.9 + +- License: MIT +- Homepage: https://vitest.dev +- Repository: git+https://github.com/vitest-dev/vitest.git +- Description: Next generation testing framework powered by Vite +- Included files: LICENSE.md +- Folder: `licenses/vitest@4.1.9` +- Source package dir: `node_modules/vitest` + +## yaml@2.9.0 + +- License: ISC +- Homepage: https://eemeli.org/yaml/ +- Repository: github:eemeli/yaml +- Description: JavaScript parser and stringifier for YAML +- Included files: LICENSE +- Folder: `licenses/yaml@2.9.0` +- Source package dir: `node_modules/yaml` + ## yargs@15.4.1 - License: MIT diff --git a/licenses/sbom.cyclonedx.json b/licenses/sbom.cyclonedx.json index 8a52ab9..832ae16 100644 --- a/licenses/sbom.cyclonedx.json +++ b/licenses/sbom.cyclonedx.json @@ -3,11 +3,11 @@ "specVersion": "1.5", "version": 1, "metadata": { - "timestamp": "2026-07-02T17:59:19.433Z", + "timestamp": "2026-07-03T19:50:00.640Z", "tools": [ { "vendor": "OpenAI", - "name": "custom bun license generator" + "name": "custom pnpm license generator" } ], "component": { @@ -4675,6 +4675,76 @@ } ] }, + { + "type": "library", + "bomRef": "pkg:npm/vitest@4.1.9", + "name": "vitest", + "version": "4.1.9", + "purl": "pkg:npm/vitest@4.1.9", + "description": "Next generation testing framework powered by Vite", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://vitest.dev" + }, + { + "type": "vcs", + "url": "git+https://github.com/vitest-dev/vitest.git" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/vitest@4.1.9" + }, + { + "name": "local:sourcePackageDir", + "value": "node_modules/vitest" + } + ] + }, + { + "type": "library", + "bomRef": "pkg:npm/yaml@2.9.0", + "name": "yaml", + "version": "2.9.0", + "purl": "pkg:npm/yaml@2.9.0", + "description": "JavaScript parser and stringifier for YAML", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ], + "externalReferences": [ + { + "type": "website", + "url": "https://eemeli.org/yaml/" + }, + { + "type": "vcs", + "url": "github:eemeli/yaml" + } + ], + "properties": [ + { + "name": "local:licenseFolder", + "value": "licenses/yaml@2.9.0" + }, + { + "name": "local:sourcePackageDir", + "value": "node_modules/yaml" + } + ] + }, { "type": "library", "bomRef": "pkg:npm/yargs@15.4.1", diff --git a/licenses/third-party-credits.json b/licenses/third-party-credits.json index 6ad9b41..e4e3f81 100644 --- a/licenses/third-party-credits.json +++ b/licenses/third-party-credits.json @@ -1,6 +1,6 @@ { - "generatedAt": "2026-07-02T17:59:19.431Z", - "packageCount": 141, + "generatedAt": "2026-07-03T19:50:00.637Z", + "packageCount": 143, "packages": [ { "name": "@babel/runtime", @@ -608,8 +608,8 @@ "repository": "git+https://github.com/tauri-apps/tauri.git", "description": "Tauri API definitions", "files": [ - "LICENSE_MIT", - "LICENSE_APACHE-2.0" + "LICENSE_APACHE-2.0", + "LICENSE_MIT" ], "licenseFolder": "licenses/@tauri-apps_api@2.11.1", "sourcePackageDir": "apps/tauri/node_modules/@tauri-apps/api" @@ -622,8 +622,8 @@ "repository": "git+https://github.com/tauri-apps/tauri.git", "description": "Command line interface for building Tauri apps", "files": [ - "LICENSE_MIT", - "LICENSE_APACHE-2.0" + "LICENSE_APACHE-2.0", + "LICENSE_MIT" ], "licenseFolder": "licenses/@tauri-apps_cli@2.11.4", "sourcePackageDir": "apps/tauri/node_modules/@tauri-apps/cli" @@ -1781,6 +1781,32 @@ "licenseFolder": "licenses/vite@8.1.3", "sourcePackageDir": "apps/web/node_modules/vite" }, + { + "name": "vitest", + "version": "4.1.9", + "license": "MIT", + "homepage": "https://vitest.dev", + "repository": "git+https://github.com/vitest-dev/vitest.git", + "description": "Next generation testing framework powered by Vite", + "files": [ + "LICENSE.md" + ], + "licenseFolder": "licenses/vitest@4.1.9", + "sourcePackageDir": "node_modules/vitest" + }, + { + "name": "yaml", + "version": "2.9.0", + "license": "ISC", + "homepage": "https://eemeli.org/yaml/", + "repository": "github:eemeli/yaml", + "description": "JavaScript parser and stringifier for YAML", + "files": [ + "LICENSE" + ], + "licenseFolder": "licenses/yaml@2.9.0", + "sourcePackageDir": "node_modules/yaml" + }, { "name": "yargs", "version": "15.4.1", diff --git a/licenses/vitest@4.1.9/LICENSE.md b/licenses/vitest@4.1.9/LICENSE.md new file mode 100644 index 0000000..d2883c9 --- /dev/null +++ b/licenses/vitest@4.1.9/LICENSE.md @@ -0,0 +1,811 @@ +# Vitest core license +Vitest is released under the MIT license: + +MIT License + +Copyright (c) 2021-Present VoidZero Inc. and Vitest contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +# Licenses of bundled dependencies +The published Vitest artifact additionally contains code with the following licenses: +BSD-3-Clause, ISC, MIT + +# Bundled dependencies: +## @antfu/install-pkg +License: MIT +By: Anthony Fu +Repository: git+https://github.com/antfu/install-pkg.git + +> MIT License +> +> Copyright (c) 2021 Anthony Fu +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## @bomb.sh/tab +License: MIT +By: Bombshell Authors +Repository: git+https://github.com/bombshell-dev/tab.git + +--------------------------------------- + +## @jridgewell/resolve-uri +License: MIT +By: Justin Ridgewell +Repository: https://github.com/jridgewell/resolve-uri + +> Copyright 2019 Justin Ridgewell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## @jridgewell/sourcemap-codec +License: MIT +By: Justin Ridgewell +Repository: git+https://github.com/jridgewell/sourcemaps.git + +> Copyright 2024 Justin Ridgewell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## @jridgewell/trace-mapping +License: MIT +By: Justin Ridgewell +Repository: git+https://github.com/jridgewell/sourcemaps.git + +> Copyright 2024 Justin Ridgewell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## @sinonjs/commons +License: BSD-3-Clause +Repository: git+https://github.com/sinonjs/commons.git + +> BSD 3-Clause License +> +> Copyright (c) 2018, Sinon.JS +> All rights reserved. +> +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions are met: +> +> * Redistributions of source code must retain the above copyright notice, this +> list of conditions and the following disclaimer. +> +> * Redistributions in binary form must reproduce the above copyright notice, +> this list of conditions and the following disclaimer in the documentation +> and/or other materials provided with the distribution. +> +> * Neither the name of the copyright holder nor the names of its +> contributors may be used to endorse or promote products derived from +> this software without specific prior written permission. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--------------------------------------- + +## @sinonjs/fake-timers +License: BSD-3-Clause +By: Christian Johansen +Repository: git+https://github.com/sinonjs/fake-timers.git + +> Copyright (c) 2010-2014, Christian Johansen, christian@cjohansen.no. All rights reserved. +> +> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +> +> 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +> +> 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +> +> 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--------------------------------------- + +## acorn +License: MIT +By: Marijn Haverbeke, Ingvar Stepanyan, Adrian Heine +Repository: https://github.com/acornjs/acorn.git + +> MIT License +> +> Copyright (C) 2012-2022 by various contributors (see AUTHORS) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +--------------------------------------- + +## acorn-walk +License: MIT +By: Marijn Haverbeke, Ingvar Stepanyan, Adrian Heine +Repository: https://github.com/acornjs/acorn.git + +> MIT License +> +> Copyright (C) 2012-2020 by various contributors (see AUTHORS) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +--------------------------------------- + +## birpc +License: MIT +By: Anthony Fu +Repository: git+https://github.com/antfu-collective/birpc.git + +> MIT License +> +> Copyright (c) 2021 Anthony Fu +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## cac +License: MIT +By: egoist +Repository: egoist/cac + +> The MIT License (MIT) +> +> Copyright (c) EGOIST <0x142857@gmail.com> (https://github.com/egoist) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +--------------------------------------- + +## empathic +License: MIT +By: Luke Edwards +Repository: lukeed/empathic + +> MIT License +> +> Copyright (c) Luke Edwards (lukeed.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--------------------------------------- + +## flatted +License: ISC +By: Andrea Giammarchi +Repository: git+https://github.com/WebReflection/flatted.git + +> ISC License +> +> Copyright (c) 2018-2020, Andrea Giammarchi, @WebReflection +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +> AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +> OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +> PERFORMANCE OF THIS SOFTWARE. + +--------------------------------------- + +## js-tokens +License: MIT +By: Simon Lydell +Repository: lydell/js-tokens + +> The MIT License (MIT) +> +> Copyright (c) 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +--------------------------------------- + +## kleur +License: MIT +By: Luke Edwards +Repository: lukeed/kleur + +> The MIT License (MIT) +> +> Copyright (c) Luke Edwards (lukeed.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +--------------------------------------- + +## local-pkg +License: MIT +By: Anthony Fu +Repository: git+https://github.com/antfu-collective/local-pkg.git + +> MIT License +> +> Copyright (c) 2021 Anthony Fu +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## mime +License: MIT +By: Robert Kieffer +Repository: https://github.com/broofa/mime + +> MIT License +> +> Copyright (c) 2023 Robert Kieffer +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## mlly +License: MIT +Repository: unjs/mlly + +> MIT License +> +> Copyright (c) Pooya Parsa +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## package-manager-detector +License: MIT +By: Anthony Fu +Repository: git+https://github.com/antfu-collective/package-manager-detector.git + +> MIT License +> +> Copyright (c) 2020-PRESENT Anthony Fu +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## prompts +License: MIT +By: Terkel Gjervig +Repository: terkelg/prompts + +> MIT License +> +> Copyright (c) 2018 Terkel Gjervig Nielsen +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## quansync +License: MIT +By: Anthony Fu, 三咲智子 Kevin Deng +Repository: git+https://github.com/quansync-dev/quansync.git + +> MIT License +> +> Copyright (c) 2025-PRESENT Anthony Fu and Kevin Deng +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## sisteransi +License: MIT +By: Terkel Gjervig +Repository: https://github.com/terkelg/sisteransi + +> MIT License +> +> Copyright (c) 2018 Terkel Gjervig Nielsen +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## strip-literal +License: MIT +By: Anthony Fu +Repository: git+https://github.com/antfu/strip-literal.git + +> MIT License +> +> Copyright (c) 2022 Anthony Fu +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## tinyhighlight +License: MIT +Repository: git+https://github.com/tinylibs/tinyhighlight.git + +> # Tinyhighlight core license +> +> MIT License +> +> Copyright (c) 2023 Tinylibs +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. +> +> # Additionaly Tinyhighlight modifies code with the following licenses: +> +> MIT +> +> ## @babel/highlight +> +> MIT License +> +> Copyright (c) 2014-present Sebastian McKenzie and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +> +> ## @babel/helper-validator-identifier +> +> MIT License +> +> Copyright (c) 2014-present Sebastian McKenzie and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--------------------------------------- + +## type-detect +License: MIT +By: Jake Luer, Keith Cirkel, David Losert, Aleksey Shvayka, Lucas Fernandes da Costa, Grant Snodgrass, Jeremy Tice, Edward Betts, dvlsg, Amila Welihinda, Jake Champion, Miroslav Bajtoš +Repository: git+ssh://git@github.com/chaijs/type-detect.git + +> Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +--------------------------------------- + +## ufo +License: MIT +Repository: unjs/ufo + +> MIT License +> +> Copyright (c) Pooya Parsa +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +--------------------------------------- + +## ws +License: MIT +By: Einar Otto Stangvik +Repository: git+https://github.com/websockets/ws.git + +> Copyright (c) 2011 Einar Otto Stangvik +> Copyright (c) 2013 Arnout Kazemier and contributors +> Copyright (c) 2016 Luigi Pinca and contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/licenses/yaml@2.9.0/LICENSE b/licenses/yaml@2.9.0/LICENSE new file mode 100644 index 0000000..e060aaa --- /dev/null +++ b/licenses/yaml@2.9.0/LICENSE @@ -0,0 +1,13 @@ +Copyright Eemeli Aro + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. diff --git a/package.json b/package.json index 4b90957..dc4edca 100644 --- a/package.json +++ b/package.json @@ -2,29 +2,30 @@ "name": "tensamin", "version": "0.0.10", "private": true, + "packageManager": "pnpm@11.8.0", "workspaces": [ "packages/*", "apps/*" ], "type": "module", "scripts": { - "format": "bunx prettier --write .", - "lint": "bun scripts/lint-packages.ts", - "check": "fallow && bun run lint", - "copy-licenses": "bun scripts/copy-licenses.ts", - "copy-releases": "bun scripts/copy-releases.ts", - "pre-build": "bun run lint && bun run build:packages", - "build:apps": "bun run copy-licenses && bun run pre-build && bun run build:mobile && bun run build:desktop && bun --bun run copy-releases", - "build:packages": "bun scripts/build-packages.ts", - "update:packages": "bun scripts/update-packages.ts", - "dev:web": "cd apps/web && bun dev", - "build:web": "cd apps/web && bun run build", - "preview:web": "cd apps/web && bun run preview", - "dev:mobile": "cd apps/tauri && bun dev:mobile", - "build:mobile": "cd apps/tauri && bun run build:mobile", - "start-adb:mobile": "cd apps/tauri && bun run start-adb:mobile", - "dev:desktop": "cd apps/electron && bun run dev", - "build:desktop": "cd apps/electron && bun run package", + "format": "pnpm exec prettier --write .", + "lint": "node scripts/lint-packages.ts", + "check": "fallow && pnpm run lint", + "copy-licenses": "node scripts/copy-licenses.ts", + "copy-releases": "node scripts/copy-releases.ts", + "pre-build": "pnpm run lint && pnpm run build:packages", + "build:apps": "pnpm run copy-licenses && pnpm run pre-build && pnpm run build:mobile && pnpm run build:desktop && pnpm run copy-releases", + "build:packages": "node scripts/build-packages.ts", + "update:packages": "node scripts/update-packages.ts", + "dev:web": "cd apps/web && pnpm dev", + "build:web": "cd apps/web && pnpm run build", + "preview:web": "cd apps/web && pnpm run preview", + "dev:mobile": "cd apps/tauri && pnpm dev:mobile", + "build:mobile": "cd apps/tauri && pnpm run build:mobile", + "start-adb:mobile": "cd apps/tauri && pnpm run start-adb:mobile", + "dev:desktop": "cd apps/electron && pnpm run dev", + "build:desktop": "cd apps/electron && pnpm run package", "delete:mobile": "cd apps/tauri && nix develop ../..#tauri --command adb uninstall net.tensamin.client" }, "devDependencies": { @@ -40,11 +41,13 @@ "jsonc-parser": "^3.3.1", "prettier": "^3.8.3", "typescript": "^6.0.3", - "typescript-eslint": "^8.59.1" + "typescript-eslint": "^8.59.1", + "vitest": "^4.0.8", + "yaml": "^2.8.2" }, "overrides": { "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", - "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-c3fbeb2/mtp-0.1.0.tgz" + "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz" }, "dependencies": { "@tensamin/ui": "*", diff --git a/packages/call/package.json b/packages/call/package.json index 74ee941..2af3898 100644 --- a/packages/call/package.json +++ b/packages/call/package.json @@ -11,7 +11,7 @@ "./popout": "./src/components/popout.tsx" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", "build": "tsc -p tsconfig.json --noEmit" }, diff --git a/packages/chat/package.json b/packages/chat/package.json index b04384e..b656238 100644 --- a/packages/chat/package.json +++ b/packages/chat/package.json @@ -10,7 +10,7 @@ "./behaviour-community": "./src/behaviour/community.ts" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", "build": "tsc -p tsconfig.json --noEmit" }, diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 2129227..cc14db5 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -8,10 +8,10 @@ "./worker": "./src/worker.ts" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", - "test": "bun test", - "build": "bun run test && tsc -p tsconfig.json --noEmit" + "test": "vitest run", + "build": "pnpm run test && tsc -p tsconfig.json --noEmit" }, "dependencies": { "@noble/curves": "^2.0.1", diff --git a/packages/crypto/src/bun-test.d.ts b/packages/crypto/src/bun-test.d.ts deleted file mode 100644 index 4ac4faa..0000000 --- a/packages/crypto/src/bun-test.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -declare module "bun:test" { - export const describe: (...args: unknown[]) => unknown; - export const test: (...args: unknown[]) => unknown; - export const it: (...args: unknown[]) => unknown; - export const expect: (value: unknown) => { - toBe: (expected: unknown) => void; - toEqual: (expected: unknown) => void; - toContain: (expected: unknown) => void; - toThrow: (expected?: unknown) => void; - }; -} diff --git a/packages/crypto/src/context.test.ts b/packages/crypto/src/context.test.ts index 9494caa..5dc9b69 100644 --- a/packages/crypto/src/context.test.ts +++ b/packages/crypto/src/context.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from "bun:test"; +import { describe, expect, test } from "vitest"; import { createCryptoActions } from "./context"; /** diff --git a/packages/crypto/src/worker.test.ts b/packages/crypto/src/worker.test.ts index 4157039..eae3ee1 100644 --- a/packages/crypto/src/worker.test.ts +++ b/packages/crypto/src/worker.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from "bun:test"; +import { describe, expect, test } from "vitest"; import { x448 } from "@noble/curves/ed448.js"; import { decrypt, diff --git a/packages/markdown/package.json b/packages/markdown/package.json index b82d265..df0c32f 100644 --- a/packages/markdown/package.json +++ b/packages/markdown/package.json @@ -8,7 +8,7 @@ "./input": "./src/input.tsx" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", "build": "tsc -p tsconfig.json --noEmit" }, diff --git a/packages/mtp/package.json b/packages/mtp/package.json index 3b7db74..4d6aa3f 100644 --- a/packages/mtp/package.json +++ b/packages/mtp/package.json @@ -7,7 +7,7 @@ ".": "./src/index.ts" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src --ext .ts,.tsx", "build": "tsc -p tsconfig.json --noEmit" }, diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index 9d4e6f6..ed2e57d 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -331,9 +331,16 @@ export function Provider(props: { setIdentifying(false); await MTPClient.init(); - const rawOmikronData = await fetch(mtpUrl ?? "").then((res) => - codec.decode(res.arrayBuffer()), + + log(2, "mtp", "purple", "Fetching Omikron data."); + const omikronData = await fetch( + `${mtpUrl}api/get/omikron/${await load("user_id")}`, + ).then(async (res) => + codec.decode(new Uint8Array(await res.arrayBuffer())), ); + + console.log(omikronData); + const client = await MTPClient.create({ url: mtpUrl ?? "", descriptor: "client", @@ -391,9 +398,7 @@ export function Provider(props: { await client.auth(); const finalResponse = await authPayload; - if (disposed || clientRef.current !== client) { - return; - } + if (disposed || clientRef.current !== client) return; setFreshContacts(finalResponse.data.contacts); setFreshCommunities(finalResponse.data.communities ?? []); @@ -456,7 +461,7 @@ export function Provider(props: { setIdentified(false); setIdentifying(false); }; - }, [mtpUrl, props.blockConnection]); + }, [mtpUrl, props.blockConnection, load]); // Async queue const loadingDescription = useMemo(() => { diff --git a/packages/notifications/package.json b/packages/notifications/package.json index 4e09a14..8f87973 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -7,7 +7,7 @@ "./context": "./src/context.tsx" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", "build": "tsc -p tsconfig.json --noEmit" }, diff --git a/packages/shared/package.json b/packages/shared/package.json index f9f5ff6..0b34da5 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -14,7 +14,7 @@ "./features/conversation/schema": "./src/features/conversation/schema.ts" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", "build": "tsc -p tsconfig.json --noEmit" }, diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index d56ec7c..d5deefc 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -314,7 +314,7 @@ export const storageDefaults: Storage = { }, cached_contacts: [], cached_communities: [], - mtp_url: "https://tensamin.net:959", + mtp_url: "https://omega.tensamin.net", call_mute_range_start: -55, call_mute_range_end: -45, theme_color: "", diff --git a/packages/storage/package.json b/packages/storage/package.json index 8bc2765..00da001 100644 --- a/packages/storage/package.json +++ b/packages/storage/package.json @@ -9,7 +9,7 @@ "./indexed-db": "./src/indexed-db.ts" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", "build": "tsc -p tsconfig.json --noEmit" }, diff --git a/packages/tauth/package.json b/packages/tauth/package.json index ba6e5d3..55a7f1b 100644 --- a/packages/tauth/package.json +++ b/packages/tauth/package.json @@ -7,7 +7,7 @@ "./context": "./src/context.tsx" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", "build": "tsc -p tsconfig.json --noEmit" }, diff --git a/packages/user/package.json b/packages/user/package.json index bb49cec..f72e50d 100644 --- a/packages/user/package.json +++ b/packages/user/package.json @@ -9,7 +9,7 @@ "./values": "./src/values.ts" }, "scripts": { - "format": "bunx prettier --write .", + "format": "pnpm exec prettier --write .", "lint": "eslint src", "build": "tsc -p tsconfig.json --noEmit" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..e801715 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,8967 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +overrides: + '@tensamin/ui': https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz + +importers: + + .: + dependencies: + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + mtp: + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz + sonner: + specifier: ^2.0.7 + version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + devDependencies: + '@eslint/js': + specifier: ^10.0.1 + version: 10.0.1(eslint@10.6.0(jiti@2.7.0)) + '@types/node': + specifier: ^25.6.0 + version: 25.9.4 + '@types/react': + specifier: ^19.2.14 + version: 19.2.17 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.17) + '@typescript-eslint/parser': + specifier: ^8.59.1 + version: 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + eslint: + specifier: ^10.2.1 + version: 10.6.0(jiti@2.7.0) + eslint-plugin-react-hooks: + specifier: ^7.1.1 + version: 7.1.1(eslint@10.6.0(jiti@2.7.0)) + fallow: + specifier: ^2.86.0 + version: 2.104.0 + globals: + specifier: ^17.5.0 + version: 17.7.0 + jsonc-parser: + specifier: ^3.3.1 + version: 3.3.1 + prettier: + specifier: ^3.8.3 + version: 3.9.4 + typescript: + specifier: ^6.0.3 + version: 6.0.3 + typescript-eslint: + specifier: ^8.59.1 + version: 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + vitest: + specifier: ^4.0.8 + version: 4.1.9(@types/node@25.9.4)(vite@8.1.3(@types/node@25.9.4)(jiti@2.7.0)(yaml@2.9.0)) + yaml: + specifier: ^2.8.2 + version: 2.9.0 + + apps/electron: + devDependencies: + '@types/node': + specifier: ^25.9.1 + version: 25.9.4 + electron: + specifier: ^39.2.7 + version: 39.8.10 + electron-builder: + specifier: ^26.0.12 + version: 26.15.3(electron-builder-squirrel-windows@26.15.3) + esbuild: + specifier: ^0.25.11 + version: 0.25.12 + typescript: + specifier: ~6.0.3 + version: 6.0.3 + + apps/tauri: + dependencies: + '@tauri-apps/api': + specifier: ^2 + version: 2.11.1 + '@tauri-apps/plugin-barcode-scanner': + specifier: ~2 + version: 2.4.5 + '@tauri-apps/plugin-deep-link': + specifier: ~2 + version: 2.4.9 + '@tauri-apps/plugin-log': + specifier: ~2 + version: 2.8.0 + '@tauri-apps/plugin-notification': + specifier: ~2 + version: 2.3.3 + '@tensamin/shared': + specifier: workspace:* + version: link:../../packages/shared + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + devDependencies: + '@tauri-apps/cli': + specifier: ^2 + version: 2.11.4 + '@types/node': + specifier: ^25.9.1 + version: 25.9.4 + + apps/web: + dependencies: + '@babel/runtime': + specifier: ^7.29.2 + version: 7.29.7 + '@base-ui/react': + specifier: ^1.0.0 + version: 1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@base-ui/utils': + specifier: 0.3.1 + version: 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@floating-ui/core': + specifier: ^1.7.0 + version: 1.7.5 + '@floating-ui/dom': + specifier: ^1.7.0 + version: 1.7.6 + '@floating-ui/react-dom': + specifier: ^2.1.8 + version: 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@floating-ui/utils': + specifier: ^0.2.11 + version: 0.2.11 + '@fontsource-variable/inter': + specifier: ^5.2.8 + version: 5.2.8 + '@fontsource-variable/public-sans': + specifier: ^5.2.7 + version: 5.2.7 + '@radix-ui/primitive': + specifier: ^1.1.0 + version: 1.1.4 + '@radix-ui/react-compose-refs': + specifier: ^1.1.1 + version: 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': + specifier: ^1.1.4 + version: 1.1.4(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dialog': + specifier: ^1.1.6 + version: 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-dismissable-layer': + specifier: ^1.1.11 + version: 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': + specifier: ^1.1.4 + version: 1.1.4(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': + specifier: ^1.1.11 + version: 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': + specifier: ^1.1.0 + version: 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-portal': + specifier: ^1.1.13 + version: 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': + specifier: ^1.1.6 + version: 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': + specifier: ^2.0.2 + version: 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': + specifier: ^1.1.2 + version: 1.3.0(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-callback-ref': + specifier: ^1.1.1 + version: 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': + specifier: ^1.2.3 + version: 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-effect-event': + specifier: ^0.0.2 + version: 0.0.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': + specifier: ^1.1.0 + version: 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@reduxjs/toolkit': + specifier: ^2.0.0 + version: 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7) + '@tailwindcss/vite': + specifier: ^4.2.4 + version: 4.3.2(vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) + '@tanstack/devtools-event-client': + specifier: ^0.3.0 + version: 0.3.5 + '@tanstack/history': + specifier: 1.162.0 + version: 1.162.0 + '@tanstack/query-core': + specifier: ^5.0.0 + version: 5.101.2 + '@tanstack/react-router': + specifier: ^1.169.1 + version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/react-store': + specifier: ^0.9.3 + version: 0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/react-virtual': + specifier: ^3.13.24 + version: 3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/router-core': + specifier: ^1.169.1 + version: 1.171.14 + '@tanstack/store': + specifier: ^0.9.3 + version: 0.9.3 + '@tanstack/virtual-core': + specifier: ^3.13.24 + version: 3.17.3 + '@tauri-apps/api': + specifier: ^2 + version: 2.11.1 + '@tensamin/call': + specifier: workspace:* + version: link:../../packages/call + '@tensamin/chat': + specifier: workspace:* + version: link:../../packages/chat + '@tensamin/crypto': + specifier: workspace:* + version: link:../../packages/crypto + '@tensamin/markdown': + specifier: workspace:* + version: link:../../packages/markdown + '@tensamin/mtp': + specifier: workspace:* + version: link:../../packages/mtp + '@tensamin/notifications': + specifier: workspace:* + version: link:../../packages/notifications + '@tensamin/shared': + specifier: workspace:* + version: link:../../packages/shared + '@tensamin/storage': + specifier: workspace:* + version: link:../../packages/storage + '@tensamin/tauri': + specifier: workspace:* + version: link:../tauri + '@tensamin/tauth': + specifier: workspace:* + version: link:../../packages/tauth + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + '@tensamin/user': + specifier: workspace:* + version: link:../../packages/user + aria-hidden: + specifier: ^1.2.4 + version: 1.2.6 + class-variance-authority: + specifier: ^0.7.1 + version: 0.7.1 + clsx: + specifier: ^2.1.1 + version: 2.1.1 + cmdk: + specifier: ^1.1.1 + version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + cookie-es: + specifier: ^3.0.0 + version: 3.1.1 + d3-array: + specifier: ^3.1.6 + version: 3.2.4 + d3-color: + specifier: ^3.1.0 + version: 3.1.0 + d3-ease: + specifier: ^3.0.1 + version: 3.0.1 + d3-format: + specifier: ^3.1.0 + version: 3.1.2 + d3-interpolate: + specifier: ^3.0.1 + version: 3.0.1 + d3-path: + specifier: ^3.0.1 + version: 3.1.0 + d3-scale: + specifier: ^4.0.2 + version: 4.0.2 + d3-shape: + specifier: ^3.1.0 + version: 3.2.0 + d3-time: + specifier: ^3.0.0 + version: 3.1.0 + d3-time-format: + specifier: ^4.1.0 + version: 4.1.0 + d3-timer: + specifier: ^3.0.1 + version: 3.0.1 + date-fns: + specifier: ^4.4.0 + version: 4.4.0 + decimal.js-light: + specifier: ^2.5.1 + version: 2.5.1 + detect-node-es: + specifier: ^1.1.0 + version: 1.1.0 + dijkstrajs: + specifier: ^1.0.1 + version: 1.0.3 + embla-carousel: + specifier: 8.6.0 + version: 8.6.0 + embla-carousel-react: + specifier: ^8.6.0 + version: 8.6.0(react@19.2.7) + embla-carousel-reactive-utils: + specifier: 8.6.0 + version: 8.6.0(embla-carousel@8.6.0) + es-toolkit: + specifier: ^1.39.3 + version: 1.49.0 + eventemitter3: + specifier: ^5.0.1 + version: 5.0.4 + get-nonce: + specifier: ^1.0.1 + version: 1.0.1 + immer: + specifier: ^10.1.1 + version: 10.2.0 + input-otp: + specifier: ^1.4.2 + version: 1.4.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + internmap: + specifier: ^2.0.3 + version: 2.0.3 + lucide-react: + specifier: ^1.14.0 + version: 1.23.0(react@19.2.7) + next-themes: + specifier: ^0.4.6 + version: 0.4.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + pngjs: + specifier: ^5.0.0 + version: 5.0.0 + qrcode: + specifier: ^1.5.4 + version: 1.5.4 + react: + specifier: ^19.2.0 + version: 19.2.7 + react-day-picker: + specifier: ^10.0.1 + version: 10.0.1(@types/react@19.2.17)(react@19.2.7) + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + react-is: + specifier: ^19.0.0 + version: 19.2.7 + react-redux: + specifier: ^9.0.0 + version: 9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1) + react-remove-scroll: + specifier: ^2.7.2 + version: 2.7.2(@types/react@19.2.17)(react@19.2.7) + react-remove-scroll-bar: + specifier: ^2.3.7 + version: 2.3.8(@types/react@19.2.17)(react@19.2.7) + react-resizable-panels: + specifier: ^4.11.2 + version: 4.12.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react-style-singleton: + specifier: ^2.2.3 + version: 2.2.3(@types/react@19.2.17)(react@19.2.7) + recharts: + specifier: 3.8.1 + version: 3.8.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1) + redux: + specifier: ^5.0.0 + version: 5.0.1 + redux-thunk: + specifier: ^3.1.0 + version: 3.1.0(redux@5.0.1) + reselect: + specifier: 5.1.1 + version: 5.1.1 + scheduler: + specifier: ^0.27.0 + version: 0.27.0 + seroval: + specifier: ^1.5.4 + version: 1.5.4 + seroval-plugins: + specifier: ^1.5.4 + version: 1.5.4(seroval@1.5.4) + shadcn: + specifier: ^4.11.0 + version: 4.12.0(typescript@6.0.3) + sonner: + specifier: ^2.0.7 + version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + tailwind-merge: + specifier: ^3.6.0 + version: 3.6.0 + tailwind-scrollbar-hide: + specifier: ^4.0.0 + version: 4.0.0(tailwindcss@4.3.2) + tailwindcss: + specifier: ^4.2.4 + version: 4.3.2 + tiny-invariant: + specifier: ^1.3.3 + version: 1.3.3 + tslib: + specifier: ^2.8.1 + version: 2.8.1 + tw-animate-css: + specifier: ^1.4.0 + version: 1.4.0 + use-callback-ref: + specifier: ^1.3.3 + version: 1.3.3(@types/react@19.2.17)(react@19.2.7) + use-sidecar: + specifier: ^1.1.3 + version: 1.1.3(@types/react@19.2.17)(react@19.2.7) + use-sync-external-store: + specifier: ^1.2.2 + version: 1.6.0(react@19.2.7) + vaul: + specifier: ^1.1.2 + version: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + victory-vendor: + specifier: ^37.0.2 + version: 37.3.6 + yargs: + specifier: ^15.3.1 + version: 15.4.1 + zod: + specifier: ^4.3.6 + version: 4.4.3 + devDependencies: + '@eslint/js': + specifier: ^10.0.1 + version: 10.0.1(eslint@10.6.0(jiti@2.7.0)) + '@types/qrcode': + specifier: ^1.5.6 + version: 1.5.6 + '@types/react': + specifier: ^19.2.2 + version: 19.2.17 + '@types/react-dom': + specifier: ^19.2.2 + version: 19.2.3(@types/react@19.2.17) + '@vitejs/plugin-react': + specifier: ^6.0.1 + version: 6.0.3(vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) + esbuild: + specifier: ^0.25.11 + version: 0.25.12 + eslint: + specifier: ^10.0.3 + version: 10.6.0(jiti@2.7.0) + globals: + specifier: ^17.4.0 + version: 17.7.0 + typescript: + specifier: ~6.0.3 + version: 6.0.3 + typescript-eslint: + specifier: ^8.57.0 + version: 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + vite: + specifier: ^8.0.10 + version: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + + packages/call: + dependencies: + '@livekit/components-react': + specifier: ^2.9.20 + version: 2.9.21(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(tslib@2.8.1) + '@tanstack/react-router': + specifier: ^1.169.1 + version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tauri-apps/api': + specifier: ^2 + version: 2.11.1 + '@tensamin/crypto': + specifier: workspace:* + version: link:../crypto + '@tensamin/mtp': + specifier: workspace:* + version: link:../mtp + '@tensamin/shared': + specifier: workspace:* + version: link:../shared + '@tensamin/storage': + specifier: workspace:* + version: link:../storage + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + '@tensamin/user': + specifier: workspace:* + version: link:../user + deepfilternet3-noise-filter: + specifier: ^1.2.1 + version: 1.3.0(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22)) + livekit-client: + specifier: ^2.18.8 + version: 2.20.0(@types/dom-mediacapture-record@1.0.22) + lucide-react: + specifier: ^1.14.0 + version: 1.23.0(react@19.2.7) + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + recharts: + specifier: ^3.8.1 + version: 3.8.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1) + zod: + specifier: ^4.3.6 + version: 4.4.3 + zustand: + specifier: ^5.0.8 + version: 5.0.14(@types/react@19.2.17)(immer@11.1.9)(react@19.2.7)(use-sync-external-store@1.6.0(react@19.2.7)) + + packages/chat: + dependencies: + '@tanstack/pacer': + specifier: ^0.21.1 + version: 0.21.1 + '@tanstack/react-query': + specifier: ^5.0.0 + version: 5.101.2(react@19.2.7) + '@tanstack/react-router': + specifier: ^1.0.0 + version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/react-virtual': + specifier: ^3.0.0 + version: 3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tensamin/crypto': + specifier: workspace:* + version: link:../crypto + '@tensamin/markdown': + specifier: workspace:* + version: link:../markdown + '@tensamin/mtp': + specifier: workspace:* + version: link:../mtp + '@tensamin/shared': + specifier: workspace:* + version: link:../shared + '@tensamin/storage': + specifier: workspace:* + version: link:../storage + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + '@tensamin/user': + specifier: workspace:* + version: link:../user + lucide-react: + specifier: ^1.14.0 + version: 1.23.0(react@19.2.7) + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + zod: + specifier: ^4.3.6 + version: 4.4.3 + + packages/crypto: + dependencies: + '@noble/curves': + specifier: ^2.0.1 + version: 2.2.0 + '@noble/hashes': + specifier: ^2.0.1 + version: 2.2.0 + comlink: + specifier: ^4.4.2 + version: 4.4.2 + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + + packages/markdown: + dependencies: + '@codemirror/commands': + specifier: ^6.10.2 + version: 6.10.4 + '@codemirror/lang-markdown': + specifier: ^6.5.0 + version: 6.5.0 + '@codemirror/state': + specifier: ^6.5.4 + version: 6.7.0 + '@codemirror/view': + specifier: ^6.41.1 + version: 6.43.4 + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + + packages/mtp: + dependencies: + '@tauri-apps/api': + specifier: ^2 + version: 2.11.1 + '@tensamin/crypto': + specifier: workspace:* + version: link:../crypto + '@tensamin/shared': + specifier: workspace:* + version: link:../shared + '@tensamin/storage': + specifier: workspace:* + version: link:../storage + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + mtp: + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + tauri-plugin-app-events-api: + specifier: ^0.2.0 + version: 0.2.0 + zod: + specifier: ^4.4.2 + version: 4.4.3 + devDependencies: + eslint: + specifier: ^10.0.3 + version: 10.6.0(jiti@2.7.0) + + packages/notifications: + dependencies: + '@tanstack/react-router': + specifier: ^1.169.1 + version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tauri-apps/api': + specifier: ^2.11.0 + version: 2.11.1 + '@tensamin/chat': + specifier: workspace:* + version: link:../chat + '@tensamin/crypto': + specifier: workspace:* + version: link:../crypto + '@tensamin/mtp': + specifier: workspace:* + version: link:../mtp + '@tensamin/shared': + specifier: workspace:* + version: link:../shared + '@tensamin/storage': + specifier: workspace:* + version: link:../storage + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + '@tensamin/user': + specifier: workspace:* + version: link:../user + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + sonner: + specifier: ^2.0.7 + version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + zod: + specifier: ^4.3.6 + version: 4.4.3 + + packages/shared: + dependencies: + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + lucide-react: + specifier: ^1.14.0 + version: 1.23.0(react@19.2.7) + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + zod: + specifier: ^4.3.6 + version: 4.4.3 + + packages/storage: + dependencies: + '@tensamin/mtp': + specifier: workspace:* + version: link:../mtp + '@tensamin/shared': + specifier: workspace:* + version: link:../shared + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + + packages/tauth: + dependencies: + '@tanstack/react-router': + specifier: ^1.0.0 + version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tauri-apps/api': + specifier: ^2.10.1 + version: 2.11.1 + '@tensamin/crypto': + specifier: workspace:* + version: link:../crypto + '@tensamin/mtp': + specifier: workspace:* + version: link:../mtp + '@tensamin/shared': + specifier: workspace:* + version: link:../shared + '@tensamin/storage': + specifier: workspace:* + version: link:../storage + '@tensamin/tauri': + specifier: workspace:* + version: link:../../apps/tauri + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + '@tensamin/user': + specifier: workspace:* + version: link:../user + lucide-react: + specifier: ^1.8.0 + version: 1.23.0(react@19.2.7) + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + + packages/user: + dependencies: + '@tensamin/mtp': + specifier: workspace:* + version: link:../mtp + '@tensamin/shared': + specifier: workspace:* + version: link:../shared + '@tensamin/storage': + specifier: workspace:* + version: link:../storage + react: + specifier: ^19.2.0 + version: 19.2.7 + react-dom: + specifier: ^19.2.0 + version: 19.2.7(react@19.2.7) + zod: + specifier: ^4.3.6 + version: 4.4.3 + +packages: + + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.29.7': + resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.29.7': + resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} + + '@base-ui/react@1.6.0': + resolution: {integrity: sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@date-fns/tz': ^1.2.0 + '@types/react': ^17 || ^18 || ^19 + date-fns: ^4.0.0 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@date-fns/tz': + optional: true + '@types/react': + optional: true + date-fns: + optional: true + + '@base-ui/utils@0.3.1': + resolution: {integrity: sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg==} + peerDependencies: + '@types/react': ^17 || ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@types/react': + optional: true + + '@bufbuild/protobuf@1.10.1': + resolution: {integrity: sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==} + + '@codemirror/autocomplete@6.20.3': + resolution: {integrity: sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g==} + + '@codemirror/commands@6.10.4': + resolution: {integrity: sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg==} + + '@codemirror/lang-css@6.3.1': + resolution: {integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==} + + '@codemirror/lang-html@6.4.11': + resolution: {integrity: sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==} + + '@codemirror/lang-javascript@6.2.5': + resolution: {integrity: sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==} + + '@codemirror/lang-markdown@6.5.0': + resolution: {integrity: sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw==} + + '@codemirror/language@6.12.4': + resolution: {integrity: sha512-1q4PaT+o6PbgpkJt4Q8Fv5XJxTy4FUZ4MWETtyiDw3J0Pyr9E2vqcKL+k9wcvjNTIsauxvE7OfmWj3FRPHQ76A==} + + '@codemirror/lint@6.9.7': + resolution: {integrity: sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg==} + + '@codemirror/state@6.7.0': + resolution: {integrity: sha512-Zbl9NyscLMZkfXPQnNAIIAFftidrA1UbcJEIMp24C0Bukc2I5T8wJS0wsXYsnDOqCFJUeJ1BITGNs5CqPDSmSg==} + + '@codemirror/view@6.43.4': + resolution: {integrity: sha512-YImu23iyKfncJzT7sRy+rEqEhSc8RhOHqDxwy4WzXRKJwYm6iwf/9OJk5ctCAdZ6yi2ZqaGEvmf55fSVqMDrgg==} + + '@date-fns/tz@1.5.0': + resolution: {integrity: sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==} + + '@dotenvx/dotenvx@1.75.1': + resolution: {integrity: sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ==} + hasBin: true + + '@dotenvx/primitives@0.8.0': + resolution: {integrity: sha512-VYJy0uhFm9zTJ1TxBaW/pA8bjbOM/OttaNMwZ1RHG4JKyRG7DhSdiqD1ipQoAyoD22olUtxbP78W9xY3Wd11bg==} + + '@electron/asar@3.4.1': + resolution: {integrity: sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==} + engines: {node: '>=10.12.0'} + hasBin: true + + '@electron/fuses@1.8.0': + resolution: {integrity: sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==} + hasBin: true + + '@electron/get@2.0.3': + resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} + engines: {node: '>=12'} + + '@electron/get@3.1.0': + resolution: {integrity: sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==} + engines: {node: '>=14'} + + '@electron/notarize@2.5.0': + resolution: {integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==} + engines: {node: '>= 10.0.0'} + + '@electron/osx-sign@1.3.3': + resolution: {integrity: sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==} + engines: {node: '>=12.0.0'} + hasBin: true + + '@electron/rebuild@4.1.0': + resolution: {integrity: sha512-GFky+1JeO8fpSqtZCh+2wFRN/MVbAhm7tXI2M7BA1Os79OR8LEoxRtAbRPyxvmKWhEMF/p10rNJkkgP1klI13g==} + engines: {node: '>=22.12.0'} + hasBin: true + + '@electron/universal@2.0.3': + resolution: {integrity: sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==} + engines: {node: '>=16.4'} + + '@electron/windows-sign@1.2.2': + resolution: {integrity: sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==} + engines: {node: '>=14.14'} + hasBin: true + + '@emnapi/core@1.11.1': + resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + + '@emnapi/runtime@1.11.1': + resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + + '@emnapi/wasi-threads@1.2.2': + resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/config-helpers@0.6.0': + resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true + + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/plugin-kit@0.7.2': + resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@fallow-cli/darwin-arm64@2.104.0': + resolution: {integrity: sha512-5kKt3JuoYVz5/9PpHdu8u41vOZ6CzIu+5SqNBR8MktGLVMBSERm85+NN63XqgbZrVwIC/5uiP8eHQ0RYw0qhHg==} + cpu: [arm64] + os: [darwin] + + '@fallow-cli/darwin-x64@2.104.0': + resolution: {integrity: sha512-BEwwYccutb8RxyAm3uE8vwCJ3JSLYYeREj3fpLPFFCjh9eXBBo3Q1Mu5pxBjjUeehfbR6r/FLJb9JV28bCia9g==} + cpu: [x64] + os: [darwin] + + '@fallow-cli/linux-arm64-gnu@2.104.0': + resolution: {integrity: sha512-IyIkmwxm0AfVKXfHYuSBO6Fzt6fgZsRE0arbtObeDlKSv7zZMzqHZPpbSGZxPEmVODBMScdSxxaFSli9xFHBTA==} + cpu: [arm64] + os: [linux] + + '@fallow-cli/linux-arm64-musl@2.104.0': + resolution: {integrity: sha512-YskAeLCUUPnbwqtMC452ksI+miw6hN4K6peTFRJ0j2gSpkTriJfUgkudFB1+JX2/YqV41yDAqe5XeDYhuXxjOA==} + cpu: [arm64] + os: [linux] + + '@fallow-cli/linux-x64-gnu@2.104.0': + resolution: {integrity: sha512-v3Um0fXwTPg7kGRD1hKeS36A7P/3J7h3TiQ2KAzE8ThKkDViHYjKGEkajtGGSIj/Tv+GVnJBOvJ7i752/6iSBA==} + cpu: [x64] + os: [linux] + + '@fallow-cli/linux-x64-musl@2.104.0': + resolution: {integrity: sha512-wMVyeSp5uHvzVUgNHk6xuTCisVOAUv8FTC6z1swANdLQlQgd4Trnu8GYwhJhO7cU9RuL85yn1XksCs6+PkRM8A==} + cpu: [x64] + os: [linux] + + '@fallow-cli/win32-arm64-msvc@2.104.0': + resolution: {integrity: sha512-qDRn7zoRKVAHVz+BqKUnUPa8H4gD/g26Fs/hqH9futbthecgjXmPyRJwycE8HTQBNlVwck5d5w36a+PEPsCYaQ==} + cpu: [arm64] + os: [win32] + + '@fallow-cli/win32-x64-msvc@2.104.0': + resolution: {integrity: sha512-irER9HuZ9DXunl4H9RNsWQ9AvGmHs/Zp1+Yr2ATmgSNumERPXvgXa2IiGtCvKFqI72639TlhUj8+2WqIXZ54WQ==} + cpu: [x64] + os: [win32] + + '@floating-ui/core@1.7.5': + resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} + + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} + + '@floating-ui/dom@1.7.6': + resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} + + '@floating-ui/react-dom@2.1.8': + resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/utils@0.2.11': + resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} + + '@fontsource-variable/inter@5.2.8': + resolution: {integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==} + + '@fontsource-variable/public-sans@5.2.7': + resolution: {integrity: sha512-4mvade2J3slKkvwRkS+p8T3szet/0vhWoSnuUJTVU81Uo2pRpSZY/Y8bSLRqpSwzIPxjVmRJ53oq6JKP/l/PSg==} + + '@hono/node-server@1.19.14': + resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} + engines: {node: '>=18.14.1'} + peerDependencies: + hono: ^4 + + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@lezer/common@1.5.2': + resolution: {integrity: sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==} + + '@lezer/css@1.3.4': + resolution: {integrity: sha512-N+tn9tej2hPvyKgHEApMOQfHczDJCwxrRFS3SPn9QjYN+uwHvEDnCgKRrb3mxDYxRS8sKMM8fhC3+lc04Abz5Q==} + + '@lezer/highlight@1.2.3': + resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==} + + '@lezer/html@1.3.13': + resolution: {integrity: sha512-oI7n6NJml729m7pjm9lvLvmXbdoMoi2f+1pwSDJkl9d68zGr7a9Btz8NdHTGQZtW2DA25ybeuv/SyDb9D5tseg==} + + '@lezer/javascript@1.5.4': + resolution: {integrity: sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==} + + '@lezer/lr@1.4.10': + resolution: {integrity: sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==} + + '@lezer/markdown@1.6.4': + resolution: {integrity: sha512-N0SxazMj4k65DBfaf1azqtMZd6u7MqluP84/NZnB/io8Td9aleFmAhz9hcbvSfsxT5tdYlJ5qgv5aMJGY4zEtA==} + + '@livekit/components-core@0.12.13': + resolution: {integrity: sha512-DQmi84afHoHjZ62wm8y+XPNIDHTwFHAltjd3lmyXj8UZHOY7wcza4vFt1xnghJOD5wLRY58L1dkAgAw59MgWvw==} + engines: {node: '>=18'} + peerDependencies: + livekit-client: ^2.17.2 + tslib: ^2.6.2 + + '@livekit/components-react@2.9.21': + resolution: {integrity: sha512-6hU9VucJJL+gAhilNGe4MBCDCZVk64qyjP9Ck86krvOIdVU76WeWksddg1MYUP10AlUwwrfD7davz41pJTcMJw==} + engines: {node: '>=18'} + peerDependencies: + '@livekit/krisp-noise-filter': ^0.2.12 || ^0.3.0 + livekit-client: ^2.18.2 + react: '>=18' + react-dom: '>=18' + tslib: ^2.6.2 + peerDependenciesMeta: + '@livekit/krisp-noise-filter': + optional: true + + '@livekit/mutex@1.1.1': + resolution: {integrity: sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw==} + + '@livekit/protocol@1.46.6': + resolution: {integrity: sha512-upzlHP1vi/kZ/QqALZTFskQ0ifqc2f15RKucHYOsIHJsaXvEYanG75mAb7o+Yomfs4XhQ4BaRsdY+TFHXpaqrg==} + + '@malept/cross-spawn-promise@2.0.0': + resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} + engines: {node: '>= 12.13.0'} + + '@malept/flatpak-bundler@0.4.0': + resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} + engines: {node: '>= 10.0.0'} + + '@marijn/find-cluster-break@1.0.3': + resolution: {integrity: sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==} + + '@modelcontextprotocol/sdk@1.29.0': + resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==} + engines: {node: '>=18'} + peerDependencies: + '@cfworker/json-schema': ^4.1.1 + zod: ^3.25 || ^4.0 + peerDependenciesMeta: + '@cfworker/json-schema': + optional: true + + '@napi-rs/wasm-runtime@1.1.6': + resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + + '@noble/curves@2.2.0': + resolution: {integrity: sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==} + engines: {node: '>= 20.19.0'} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/hashes@2.2.0': + resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==} + engines: {node: '>= 20.19.0'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@oxc-project/types@0.138.0': + resolution: {integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==} + + '@peculiar/asn1-schema@2.8.0': + resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==} + + '@peculiar/json-schema@1.1.12': + resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} + engines: {node: '>=8.0.0'} + + '@peculiar/utils@2.0.3': + resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} + + '@peculiar/webcrypto@1.7.1': + resolution: {integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==} + engines: {node: '>=14.18.0'} + + '@radix-ui/primitive@1.1.4': + resolution: {integrity: sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==} + + '@radix-ui/react-compose-refs@1.1.3': + resolution: {integrity: sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-context@1.1.4': + resolution: {integrity: sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dialog@1.1.18': + resolution: {integrity: sha512-apa28mldjMgORmE6g/w3sCcA0Y9UAVeeDVoozN4i7kOw12mLl9RBchfzK3Nn6qxOWjrZhK1Lfy7f07kyzxtnBw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-dismissable-layer@1.1.14': + resolution: {integrity: sha512-4lUhWTWAjbDIqFrAPWJ3WqBOpO5YchVZ88X3nh6H9Lu5AFi5nCUeTPj3D8FSDmabmFeRe9ME0BDA4MwKTha5GQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-focus-guards@1.1.4': + resolution: {integrity: sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-focus-scope@1.1.11': + resolution: {integrity: sha512-Mn88Vg2whaRocGJNOH+DKFqYm6ySFPQaiwHNxZPyjn99B52KAEJWWY9NP83+nWdk2HM3rdov+STu9AG471Rt9w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-id@1.1.2': + resolution: {integrity: sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-portal@1.1.13': + resolution: {integrity: sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-presence@1.1.6': + resolution: {integrity: sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-primitive@2.1.7': + resolution: {integrity: sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-slot@1.3.0': + resolution: {integrity: sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.2': + resolution: {integrity: sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.2.3': + resolution: {integrity: sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-effect-event@0.0.2': + resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-effect-event@0.0.3': + resolution: {integrity: sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.1': + resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.2': + resolution: {integrity: sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@reduxjs/toolkit@2.12.0': + resolution: {integrity: sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 || ^19 + react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + + '@rolldown/binding-android-arm64@1.1.4': + resolution: {integrity: sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.1.4': + resolution: {integrity: sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.1.4': + resolution: {integrity: sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.1.4': + resolution: {integrity: sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.1.4': + resolution: {integrity: sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.1.4': + resolution: {integrity: sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-arm64-musl@1.1.4': + resolution: {integrity: sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-ppc64-gnu@1.1.4': + resolution: {integrity: sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.1.4': + resolution: {integrity: sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.1.4': + resolution: {integrity: sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-musl@1.1.4': + resolution: {integrity: sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rolldown/binding-openharmony-arm64@1.1.4': + resolution: {integrity: sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.1.4': + resolution: {integrity: sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.1.4': + resolution: {integrity: sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.1.4': + resolution: {integrity: sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@standard-schema/utils@0.3.0': + resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} + + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + + '@tailwindcss/node@4.3.2': + resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==} + + '@tailwindcss/oxide-android-arm64@4.3.2': + resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.3.2': + resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.3.2': + resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.3.2': + resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': + resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': + resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-arm64-musl@4.3.2': + resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-linux-x64-gnu@4.3.2': + resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-x64-musl@4.3.2': + resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-wasm32-wasi@4.3.2': + resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': + resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.3.2': + resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.3.2': + resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==} + engines: {node: '>= 20'} + + '@tailwindcss/vite@4.3.2': + resolution: {integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 || ^8 + + '@tanstack/devtools-event-client@0.3.5': + resolution: {integrity: sha512-RL1f5ZlfZMpghrCIdzl6mLOFLTuhqmPNblZgBaeKfdtk5rfbjykurv+VfYydOFXj0vxVIoA2d/zT7xfD7Ph8fw==} + engines: {node: '>=18'} + + '@tanstack/devtools-event-client@0.4.4': + resolution: {integrity: sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw==} + engines: {node: '>=18'} + hasBin: true + + '@tanstack/history@1.162.0': + resolution: {integrity: sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA==} + engines: {node: '>=20.19'} + + '@tanstack/pacer@0.21.1': + resolution: {integrity: sha512-hB01dd4rlsYcTCNP7wK186jgAe6K5qimgM1Y5Jtvz+9PUaILvpmeLLjmQNUNSO1l23lIt+CeQR6mO1mjlPvRtQ==} + engines: {node: '>=18'} + + '@tanstack/query-core@5.101.2': + resolution: {integrity: sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw==} + + '@tanstack/react-query@5.101.2': + resolution: {integrity: sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg==} + peerDependencies: + react: ^18 || ^19 + + '@tanstack/react-router@1.170.17': + resolution: {integrity: sha512-ppLkjCfSMaeug9rmFRYzOd4TIqWV+yTE7tzIny7alJsSnM7w4lzEZm6eqCehG0SPetpZ0R3K+UnanSmBgOAVcQ==} + engines: {node: '>=20.19'} + peerDependencies: + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' + + '@tanstack/react-store@0.9.3': + resolution: {integrity: sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tanstack/react-virtual@3.14.5': + resolution: {integrity: sha512-4EKRXh7zBLkbKbFmG3AUVkircuHd+7OdT1pocJSepxtfBd3qnrJgJ5rtPkRYyo9fmyVb2+pI2xPy5oYvMLQy6A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tanstack/router-core@1.171.14': + resolution: {integrity: sha512-Mo3hwx0qB0cJsVYGDjG0+Ouf7VV74h/vsoDMGztdlyzDanp4gBA2s7IVvm6hFrmQM6GpD9F0Z7SqD7OldfLE7g==} + engines: {node: '>=20.19'} + + '@tanstack/store@0.11.0': + resolution: {integrity: sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw==} + + '@tanstack/store@0.9.3': + resolution: {integrity: sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==} + + '@tanstack/virtual-core@3.17.3': + resolution: {integrity: sha512-8Np/TFELpI0ySuJoVmjvOrQYXH/8sTX0Biv9szhFhY39xOdAAY+smrMxjxOum/ux3eM8MUJQsEJ0/R0UpvC8dw==} + + '@tauri-apps/api@2.11.1': + resolution: {integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==} + + '@tauri-apps/cli-darwin-arm64@2.11.4': + resolution: {integrity: sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tauri-apps/cli-darwin-x64@2.11.4': + resolution: {integrity: sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': + resolution: {integrity: sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tauri-apps/cli-linux-arm64-gnu@2.11.4': + resolution: {integrity: sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tauri-apps/cli-linux-arm64-musl@2.11.4': + resolution: {integrity: sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': + resolution: {integrity: sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@tauri-apps/cli-linux-x64-gnu@2.11.4': + resolution: {integrity: sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tauri-apps/cli-linux-x64-musl@2.11.4': + resolution: {integrity: sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tauri-apps/cli-win32-arm64-msvc@2.11.4': + resolution: {integrity: sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tauri-apps/cli-win32-ia32-msvc@2.11.4': + resolution: {integrity: sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@tauri-apps/cli-win32-x64-msvc@2.11.4': + resolution: {integrity: sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tauri-apps/cli@2.11.4': + resolution: {integrity: sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==} + engines: {node: '>= 10'} + hasBin: true + + '@tauri-apps/plugin-barcode-scanner@2.4.5': + resolution: {integrity: sha512-sIPRYEfxww8/y8skZ2LcAp/h5bwvlHkQiq+3w6QEl+2BHs13xnpn7hP+pv4fkBs8DyDfpUbOBIYS5YBwP7x1QQ==} + + '@tauri-apps/plugin-deep-link@2.4.9': + resolution: {integrity: sha512-u0SKOUHnJ1wqeqXsDFq2+kASCBj9xxbG0g9XZWPy9SOmU4wXtp6b/wiYpm6oH6/5fBTQsLqnLhIvqLBRpgHJlA==} + + '@tauri-apps/plugin-log@2.8.0': + resolution: {integrity: sha512-a+7rOq3MJwpTOLLKbL8d0qGZ85hgHw5pNOWusA9o3cf7cEgtYHiGY/+O8fj8MvywQIGqFv0da2bYQDlrqLE7rw==} + + '@tauri-apps/plugin-notification@2.3.3': + resolution: {integrity: sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==} + + '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz': + resolution: {tarball: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz} + version: 0.0.39 + peerDependencies: + react: ^19.2.7 + react-dom: ^19.2.7 + + '@ts-morph/common@0.27.0': + resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} + + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} + + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/dom-mediacapture-record@1.0.22': + resolution: {integrity: sha512-mUMZLK3NvwRLcAAT9qmcK+9p7tpU2FHdDsntR3YI4+GY88XrgG4XiE7u1Q2LAN2/FZOz/tdMDC3GQCR4T8nFuw==} + + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/fs-extra@9.0.13': + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + + '@types/http-cache-semantics@4.2.0': + resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@22.20.0': + resolution: {integrity: sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==} + + '@types/node@25.9.4': + resolution: {integrity: sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g==} + + '@types/qrcode@1.5.6': + resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==} + + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react@19.2.17': + resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + + '@types/use-sync-external-store@0.0.6': + resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} + + '@types/validate-npm-package-name@4.0.2': + resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@typescript-eslint/eslint-plugin@8.62.1': + resolution: {integrity: sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.62.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/parser@8.62.1': + resolution: {integrity: sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/project-service@8.62.1': + resolution: {integrity: sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/scope-manager@8.62.1': + resolution: {integrity: sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.62.1': + resolution: {integrity: sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/type-utils@8.62.1': + resolution: {integrity: sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/types@8.62.1': + resolution: {integrity: sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.62.1': + resolution: {integrity: sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/utils@8.62.1': + resolution: {integrity: sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/visitor-keys@8.62.1': + resolution: {integrity: sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitejs/plugin-react@6.0.3': + resolution: {integrity: sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 + babel-plugin-react-compiler: ^1.0.0 + vite: ^8.0.0 + peerDependenciesMeta: + '@rolldown/plugin-babel': + optional: true + babel-plugin-react-compiler: + optional: true + + '@vitest/expect@4.1.9': + resolution: {integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==} + + '@vitest/mocker@4.1.9': + resolution: {integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@4.1.9': + resolution: {integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==} + + '@vitest/runner@4.1.9': + resolution: {integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==} + + '@vitest/snapshot@4.1.9': + resolution: {integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==} + + '@vitest/spy@4.1.9': + resolution: {integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==} + + '@vitest/utils@4.1.9': + resolution: {integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==} + + '@xmldom/xmldom@0.8.13': + resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==} + engines: {node: '>=10.0.0'} + + abbrev@4.0.0: + resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} + engines: {node: ^20.17.0 || >=22.9.0} + + accepts@2.0.0: + resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.17.0: + resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + app-builder-lib@26.15.3: + resolution: {integrity: sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow==} + engines: {node: '>=14.0.0'} + peerDependencies: + dmg-builder: 26.15.3 + electron-builder-squirrel-windows: 26.15.3 + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} + + asn1js@3.0.10: + resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} + engines: {node: '>=12.0.0'} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} + + async-exit-hook@2.0.1: + resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} + engines: {node: '>=0.12.0'} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + atomically@1.7.0: + resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} + engines: {node: '>=10.12.0'} + + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.10.41: + resolution: {integrity: sha512-WwS7MHhqGHHlaVsqRZnhvCEMS0owDX+SxRlve7JkuH7My1Ara3ZriTmCQupPfYjxMZ8I/tgxtJYr2t7taHaH4A==} + engines: {node: '>=6.0.0'} + hasBin: true + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + body-parser@2.3.0: + resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} + engines: {node: '>=18'} + + boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + + brace-expansion@1.1.15: + resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} + + brace-expansion@2.1.1: + resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} + + brace-expansion@5.0.7: + resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==} + engines: {node: 18 || 20 || >=22} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.4: + resolution: {integrity: sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + builder-util-runtime@9.7.0: + resolution: {integrity: sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw==} + engines: {node: '>=12.0.0'} + + builder-util@26.15.3: + resolution: {integrity: sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw==} + engines: {node: '>=14.0.0'} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + bytestreamjs@2.0.1: + resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} + engines: {node: '>=6.0.0'} + + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + caniuse-lite@1.0.30001800: + resolution: {integrity: sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==} + + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + + chromium-pickle-js@0.2.0: + resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} + + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} + engines: {node: '>=8'} + + ci-info@4.4.0: + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} + engines: {node: '>=8'} + + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + cmdk@1.1.1: + resolution: {integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc + + code-block-writer@13.0.3: + resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comlink@4.4.2: + resolution: {integrity: sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==} + + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + + compare-version@0.1.2: + resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} + engines: {node: '>=0.10.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + conf@10.2.0: + resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} + engines: {node: '>=12'} + + content-disposition@1.1.0: + resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} + engines: {node: '>=18'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-es@3.1.1: + resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} + + cookie-signature@1.2.2: + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} + engines: {node: '>=6.6.0'} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cors@2.8.6: + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} + engines: {node: '>= 0.10'} + + cosmiconfig@9.0.2: + resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + crelt@1.0.7: + resolution: {integrity: sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==} + + cross-dirname@0.1.0: + resolution: {integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-format@3.1.2: + resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + date-fns@4.4.0: + resolution: {integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==} + + debounce-fn@4.0.0: + resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} + engines: {node: '>=10'} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decimal.js-light@2.5.1: + resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + dedent@1.7.2: + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepfilternet3-noise-filter@1.3.0: + resolution: {integrity: sha512-yYFUlPuvPguqcd/R6/OSsr0noGqlqOE50JkCWYHogk+PjLj9qrNgwTt5zKraVkKnw0l4+eXJagkz2SUWtUl4sQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + livekit-client: ^2.0.0 + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} + + default-browser@5.5.0: + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + engines: {node: '>=18'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + diff@8.0.4: + resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} + engines: {node: '>=0.3.1'} + + dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + + dir-compare@4.2.0: + resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} + + dmg-builder@26.15.3: + resolution: {integrity: sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ==} + + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} + + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} + engines: {node: '>=12'} + + dotenv@17.4.2: + resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexer2@0.1.4: + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + + electron-builder-squirrel-windows@26.15.3: + resolution: {integrity: sha512-Jc19XPV9y9+2bAdZPkXuVNGNIEFBq9poHC61l8Kv6FdK7DRG3+Ic0rerC0DXOaeHNz8yW0fg/JnF8GQROOF5MA==} + + electron-builder@26.15.3: + resolution: {integrity: sha512-a1KM5heqS3gQCZzizXEI8RjJy3QVogULPdeSknt76uLDpBIW/HDGsMg/XgP0riP6PI9COsRvFITKKGDqA8fJxA==} + engines: {node: '>=14.0.0'} + hasBin: true + + electron-publish@26.15.3: + resolution: {integrity: sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q==} + + electron-to-chromium@1.5.385: + resolution: {integrity: sha512-78sa/M08MNAYHQfjoWMvOlKQqZ0ElhSm/L5HNUc96VZ3b+KvDVnngFm8sYQy0XrhTRgAhggHr5abA7yTvRdo4Q==} + + electron-winstaller@5.4.0: + resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} + engines: {node: '>=8.0.0'} + + electron@39.8.10: + resolution: {integrity: sha512-zbYtGPYUI7PzqLAzkk21Rk6j67WN0hxn0Mq/njErZo1d0HSf33is4f8ICI5fMLy5vYe0JtCtM5sYunNOaochSQ==} + engines: {node: '>= 12.20.55'} + hasBin: true + + embla-carousel-react@8.6.0: + resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} + peerDependencies: + react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + + embla-carousel-reactive-utils@8.6.0: + resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel@8.6.0: + resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} + + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + enhanced-resolve@5.21.6: + resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==} + engines: {node: '>=10.13.0'} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@2.3.0: + resolution: {integrity: sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-toolkit@1.49.0: + resolution: {integrity: sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g==} + + es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-plugin-react-hooks@7.1.1: + resolution: {integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 + + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@10.6.0: + resolution: {integrity: sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@11.2.0: + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + eventsource-parser@3.1.0: + resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==} + engines: {node: '>=18.0.0'} + + eventsource@3.0.7: + resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} + engines: {node: '>=18.0.0'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@9.6.1: + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} + engines: {node: ^18.19.0 || >=20.5.0} + + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} + engines: {node: '>=12.0.0'} + + exponential-backoff@3.1.3: + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} + + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} + engines: {node: '>= 16'} + peerDependencies: + express: '>= 4.11' + + express@5.2.1: + resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} + engines: {node: '>= 18'} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + fallow@2.104.0: + resolution: {integrity: sha512-UX6Q10Feyb7epe5tTI0sHCHPReOhuKOtxdVpkbqr1lLSZirv2PJiLTTrJr7gKeLHbztE9CHR1y7YARSe0rNYag==} + engines: {node: '>=16'} + hasBin: true + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-uri@3.1.3: + resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + filelist@1.0.6: + resolution: {integrity: sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@2.1.1: + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.4.2: + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + + form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} + engines: {node: '>= 6'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@11.3.1: + resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} + engines: {node: '>=14.14'} + + fs-extra@11.3.6: + resolution: {integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==} + engines: {node: '>=14.14'} + + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + fuzzysort@3.1.0: + resolution: {integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.6.0: + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} + engines: {node: '>=18'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + + get-own-enumerable-keys@1.0.0: + resolution: {integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==} + engines: {node: '>=14.16'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + 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 + + global-agent@3.0.0: + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} + + globals@17.7.0: + resolution: {integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} + + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + + hono@4.12.27: + resolution: {integrity: sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==} + engines: {node: '>=16.9.0'} + + hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} + + iconv-lite@0.7.2: + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} + engines: {node: '>=0.10.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + immer@10.2.0: + resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==} + + immer@11.1.9: + resolution: {integrity: sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + input-otp@1.4.2: + resolution: {integrity: sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + ip-address@10.2.0: + resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} + engines: {node: '>= 12'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-in-ssh@1.0.0: + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} + engines: {node: '>=20'} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-obj@3.0.0: + resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} + engines: {node: '>=12'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + + is-regexp@3.1.0: + resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} + engines: {node: '>=12'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isbinaryfile@4.0.10: + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} + + isbinaryfile@5.0.7: + resolution: {integrity: sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==} + engines: {node: '>= 18.0.0'} + + isbot@5.1.44: + resolution: {integrity: sha512-PGEHtwMnKbZpeSEXW2Utx+/JWed7dp6DiH0WWg33vGSDA7RUvpUeJSVlLrVkQ1RCpvDOUc/eH9ql7VsdbBZ8pA==} + engines: {node: '>=18'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isexe@3.1.5: + resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} + engines: {node: '>=18'} + + isexe@4.0.0: + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} + + jake@10.9.4: + resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==} + engines: {node: '>=10'} + hasBin: true + + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + + jose@6.2.3: + resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.3.0: + resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-schema-typed@7.0.3: + resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} + + json-schema-typed@8.0.2: + resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + lazy-val@1.0.5: + resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + livekit-client@2.20.0: + resolution: {integrity: sha512-RIJcpvBmOmwz3jTj3rmdY6Dzr55HrhcaJjMgY+HSmoEM+yIRyA40m7r8UKv0hnZWM3z/AYhP1q8C8ciz5UWFKQ==} + peerDependencies: + '@types/dom-mediacapture-record': ^1 + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + + loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + + loglevel@1.9.2: + resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} + engines: {node: '>= 0.6.0'} + + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lucide-react@1.23.0: + resolution: {integrity: sha512-38BpJcD0JhFosxHApP/BYsBetLpQFRoTRzEzstM/XCc3jsAG7wqaY1lgVwxiUe3xqYE+lNxo2PkCmYwXWrwwIw==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + matcher@3.0.0: + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + media-typer@1.1.0: + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} + engines: {node: '>= 0.8'} + + merge-descriptors@2.0.0: + resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} + engines: {node: '>=18'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimatch@5.1.9: + resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} + engines: {node: '>=10'} + + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz: + resolution: {tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz} + version: 0.1.0 + + nanoid@3.3.15: + resolution: {integrity: sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@1.0.0: + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} + + next-themes@0.4.6: + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} + peerDependencies: + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + + node-abi@4.33.0: + resolution: {integrity: sha512-vLBWCKb+7LWsX+TbfzWOkw0W81m377tyx3hOweBTjO43CXZnRGS1/JPWs20fr0PgZyDXk6ROYrylsEycK8raDA==} + engines: {node: '>=22.12.0'} + + node-api-version@0.2.1: + resolution: {integrity: sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==} + + node-gyp@12.4.0: + resolution: {integrity: sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.50: + resolution: {integrity: sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==} + engines: {node: '>=18'} + + nopt@9.0.0: + resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object-treeify@1.1.33: + resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} + engines: {node: '>= 10'} + + obug@2.1.3: + resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} + engines: {node: '>=12.20.0'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + open@11.0.0: + resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} + engines: {node: '>=20'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ora@8.2.0: + resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} + engines: {node: '>=18'} + + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-to-regexp@8.4.2: + resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + pe-library@0.4.1: + resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} + engines: {node: '>=12', npm: '>=6'} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + + pkce-challenge@5.0.1: + resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} + engines: {node: '>=16.20.0'} + + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + + pkijs@3.4.0: + resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} + engines: {node: '>=16.0.0'} + + plist@3.1.0: + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} + + pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + + postcss-selector-parser@7.1.4: + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} + engines: {node: '>=4'} + + postcss@8.5.16: + resolution: {integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==} + engines: {node: ^10 || ^12 || >=14} + + postject@1.0.0-alpha.6: + resolution: {integrity: sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==} + engines: {node: '>=14.0.0'} + hasBin: true + + powershell-utils@0.1.0: + resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} + engines: {node: '>=20'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier@3.9.4: + resolution: {integrity: sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==} + engines: {node: '>=14'} + hasBin: true + + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} + + proc-log@6.1.0: + resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proper-lockfile@4.1.2: + resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pvtsutils@1.3.6: + resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} + + pvutils@1.1.5: + resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} + engines: {node: '>=16.0.0'} + + qrcode@1.5.4: + resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} + engines: {node: '>=10.13.0'} + hasBin: true + + qs@6.15.3: + resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + range-parser@1.3.0: + resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} + engines: {node: '>= 0.6'} + + raw-body@3.0.2: + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} + + react-day-picker@10.0.1: + resolution: {integrity: sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': '>=16.8.0' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + react-dom@19.2.7: + resolution: {integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==} + peerDependencies: + react: ^19.2.7 + + react-is@19.2.7: + resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==} + + react-redux@9.3.0: + resolution: {integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==} + peerDependencies: + '@types/react': ^18.2.25 || ^19 + react: ^18.0 || ^19 + redux: ^5.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + redux: + optional: true + + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.7.2: + resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react-resizable-panels@4.12.0: + resolution: {integrity: sha512-t/Gp57qSCxGQ52ckhz+8lM7dnuymeU95TEzl2U203qEbGkSLHrtm7US2/ANzq/zOlja3CwPTAfCDuh1unv9mfw==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react@19.2.7: + resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} + engines: {node: '>=0.10.0'} + + read-binary-file-arch@1.0.6: + resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} + hasBin: true + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + recast@0.23.12: + resolution: {integrity: sha512-dEWRjcINDu/F4l2dYx57ugBtD7HV9KXESyxhzw/MqWLeglJrsjJKqACPyUPg+6AF8mIgm+Zi0dZ3ACoIg+QtpA==} + engines: {node: '>= 4'} + + recharts@3.8.1: + resolution: {integrity: sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==} + engines: {node: '>=18'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-is: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + redux-thunk@3.1.0: + resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} + peerDependencies: + redux: ^5.0.0 + + redux@5.0.1: + resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + resedit@1.7.2: + resolution: {integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==} + engines: {node: '>=12', npm: '>=6'} + + reselect@5.1.1: + resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} + + reselect@5.2.0: + resolution: {integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + roarr@2.15.4: + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} + + rolldown@1.1.4: + resolution: {integrity: sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + router@2.2.0: + resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} + engines: {node: '>= 18'} + + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sanitize-filename@1.6.4: + resolution: {integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==} + + sax@1.6.0: + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + sdp-transform@2.15.0: + resolution: {integrity: sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==} + hasBin: true + + sdp@3.2.2: + resolution: {integrity: sha512-xZocWwfyp4hkbN4hLWxMjmv2Q8aNa9MhmOZ7L9aCZPT+dZsgRr6wZRrSYE3HTdyk/2pZKPSgqI7ns7Een1xMSA==} + + semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + + send@1.2.1: + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} + engines: {node: '>= 18'} + + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + + seroval-plugins@1.5.4: + resolution: {integrity: sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw==} + engines: {node: '>=10'} + peerDependencies: + seroval: ^1.0 + + seroval@1.5.4: + resolution: {integrity: sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw==} + engines: {node: '>=10'} + + serve-static@2.2.1: + resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} + engines: {node: '>= 18'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shadcn@4.12.0: + resolution: {integrity: sha512-o781ieQziCnXH2FKsEqxp1fnbHdbgAPO9inTSPeZ59hQfsZXuMGp3ul8oFSV5KQS4nbUK9b+DrDE6C7OvfKKQQ==} + engines: {node: '>=20.18.1'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-update-notifier@2.0.0: + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sonner@2.0.7: + resolution: {integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + stat-mode@1.0.0: + resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} + engines: {node: '>= 6'} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + std-env@4.1.0: + resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + stringify-object@5.0.0: + resolution: {integrity: sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==} + engines: {node: '>=14.16'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + + style-mod@4.1.3: + resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==} + + sumchecker@3.0.1: + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + systeminformation@5.31.11: + resolution: {integrity: sha512-I6O7iaUj23AXRgCPDDnvi3xHvdOLp4+1YMbF+X194lJwY1NeWojgHJPhslVKcmTtrLTguRk3QJK+xEdTiI3P0w==} + engines: {node: '>=8.0.0'} + os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] + hasBin: true + + tailwind-merge@3.6.0: + resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==} + + tailwind-scrollbar-hide@4.0.0: + resolution: {integrity: sha512-gobtvVcThB2Dxhy0EeYSS1RKQJ5baDFkamkhwBvzvevwX6L4XQfpZ3me9s25Ss1ecFVT5jPYJ50n+7xTBJG9WQ==} + peerDependencies: + tailwindcss: '>=3.0.0 || >= 4.0.0 || >= 4.0.0-beta.8 || >= 4.0.0-alpha.20' + + tailwindcss@4.3.2: + resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + + tar@7.5.19: + resolution: {integrity: sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw==} + engines: {node: '>=18'} + + tauri-plugin-app-events-api@0.2.0: + resolution: {integrity: sha512-CnlAeucWhT+Rgx6CCsqUpq2D3pqgx0fhjSPKomH7O2t1rGVu5kGLMkYvaCX6gqVTUYpIWX5BLV7LGY2DRri0QA==} + + temp-file@3.4.0: + resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} + + temp@0.9.4: + resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} + engines: {node: '>=6.0.0'} + + tiny-async-pool@1.3.0: + resolution: {integrity: sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@1.2.4: + resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} + engines: {node: '>=18'} + + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + engines: {node: '>=14.0.0'} + + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + + tmp@0.2.7: + resolution: {integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==} + engines: {node: '>=14.14'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + truncate-utf8-bytes@1.0.2: + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} + + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-morph@26.0.0: + resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tw-animate-css@1.4.0: + resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} + + typed-emitter@2.1.0: + resolution: {integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==} + + typescript-eslint@8.62.1: + resolution: {integrity: sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + undici-types@7.24.6: + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + + undici@6.27.0: + resolution: {integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==} + engines: {node: '>=18.17'} + + undici@7.28.0: + resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==} + engines: {node: '>=20.18.1'} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + unzipper@0.12.5: + resolution: {integrity: sha512-tXYOi9R57Uj/2Z25SOs5RRSzq886MBQj2gY8dPL+xl/kv6s6SvByoKfAtvfVeEuhntWDgjd2o9p2lb4TVPAz0A==} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + usehooks-ts@3.1.1: + resolution: {integrity: sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==} + engines: {node: '>=16.15.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc + + utf8-byte-length@1.0.5: + resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + validate-npm-package-name@7.0.2: + resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==} + engines: {node: ^20.17.0 || >=22.9.0} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vaul@1.1.2: + resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + + victory-vendor@37.3.6: + resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==} + + vite@8.1.3: + resolution: {integrity: sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.3.0 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@4.1.9: + resolution: {integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.9 + '@vitest/browser-preview': 4.1.9 + '@vitest/browser-webdriverio': 4.1.9 + '@vitest/coverage-istanbul': 4.1.9 + '@vitest/coverage-v8': 4.1.9 + '@vitest/ui': 4.1.9 + happy-dom: '*' + jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + + webcrypto-core@1.9.2: + resolution: {integrity: sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==} + + webrtc-adapter@9.0.5: + resolution: {integrity: sha512-U9vjByy/sK2OMXu5mmfuZFKTMIUQe34c0JXRO+oDrxJTsntdYT2iIFwYMOV7HhMTuktcZLGf2W1N/OcSf9ssWg==} + engines: {node: '>=6.0.0', npm: '>=3.10.0'} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + + which@5.0.0: + resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + + which@6.0.1: + resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + wsl-utils@0.3.1: + resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} + engines: {node: '>=20'} + + xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@17.7.3: + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} + engines: {node: '>=12'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-spinner@1.2.0: + resolution: {integrity: sha512-Yw0hUB6UA3o4YUgKy3oSe9a4cxoaZ9sBfYDw+JSxo6Id0KoJGoxzPA24qqUXYKBWABs/zDSGTz9kww7t3F0XGw==} + engines: {node: '>=18.19'} + + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} + + zod-to-json-schema@3.25.2: + resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} + peerDependencies: + zod: ^3.25.28 || ^4 + + zod-validation-error@4.0.2: + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + + zustand@5.0.14: + resolution: {integrity: sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + +snapshots: + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.7': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.4 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/traverse': 7.29.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-member-expression-to-functions@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/parser@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/runtime@7.29.7': {} + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/traverse@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.7': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@base-ui/react@1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@babel/runtime': 7.29.7 + '@base-ui/utils': 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@floating-ui/utils': 0.2.11 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + use-sync-external-store: 1.6.0(react@19.2.7) + optionalDependencies: + '@date-fns/tz': 1.5.0 + '@types/react': 19.2.17 + date-fns: 4.4.0 + + '@base-ui/utils@0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@babel/runtime': 7.29.7 + '@floating-ui/utils': 0.2.11 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + reselect: 5.2.0 + use-sync-external-store: 1.6.0(react@19.2.7) + optionalDependencies: + '@types/react': 19.2.17 + + '@bufbuild/protobuf@1.10.1': {} + + '@codemirror/autocomplete@6.20.3': + dependencies: + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + + '@codemirror/commands@6.10.4': + dependencies: + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + + '@codemirror/lang-css@6.3.1': + dependencies: + '@codemirror/autocomplete': 6.20.3 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@lezer/common': 1.5.2 + '@lezer/css': 1.3.4 + + '@codemirror/lang-html@6.4.11': + dependencies: + '@codemirror/autocomplete': 6.20.3 + '@codemirror/lang-css': 6.3.1 + '@codemirror/lang-javascript': 6.2.5 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + '@lezer/css': 1.3.4 + '@lezer/html': 1.3.13 + + '@codemirror/lang-javascript@6.2.5': + dependencies: + '@codemirror/autocomplete': 6.20.3 + '@codemirror/language': 6.12.4 + '@codemirror/lint': 6.9.7 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + '@lezer/javascript': 1.5.4 + + '@codemirror/lang-markdown@6.5.0': + dependencies: + '@codemirror/autocomplete': 6.20.3 + '@codemirror/lang-html': 6.4.11 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + '@lezer/markdown': 1.6.4 + + '@codemirror/language@6.12.4': + dependencies: + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 + style-mod: 4.1.3 + + '@codemirror/lint@6.9.7': + dependencies: + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + crelt: 1.0.7 + + '@codemirror/state@6.7.0': + dependencies: + '@marijn/find-cluster-break': 1.0.3 + + '@codemirror/view@6.43.4': + dependencies: + '@codemirror/state': 6.7.0 + crelt: 1.0.7 + style-mod: 4.1.3 + w3c-keyname: 2.2.8 + + '@date-fns/tz@1.5.0': {} + + '@dotenvx/dotenvx@1.75.1': + dependencies: + '@dotenvx/primitives': 0.8.0 + commander: 11.1.0 + conf: 10.2.0 + dotenv: 17.4.2 + enquirer: 2.4.1 + env-paths: 2.2.1 + execa: 5.1.1 + fdir: 6.5.0(picomatch@4.0.5) + ignore: 5.3.2 + object-treeify: 1.1.33 + open: 8.4.2 + picomatch: 4.0.5 + systeminformation: 5.31.11 + undici: 7.28.0 + which: 4.0.0 + yocto-spinner: 1.2.0 + + '@dotenvx/primitives@0.8.0': {} + + '@electron/asar@3.4.1': + dependencies: + commander: 5.1.0 + glob: 7.2.3 + minimatch: 3.1.5 + + '@electron/fuses@1.8.0': + dependencies: + chalk: 4.1.2 + fs-extra: 9.1.0 + minimist: 1.2.8 + + '@electron/get@2.0.3': + dependencies: + debug: 4.4.3 + env-paths: 2.2.1 + fs-extra: 8.1.0 + got: 11.8.6 + progress: 2.0.3 + semver: 6.3.1 + sumchecker: 3.0.1 + optionalDependencies: + global-agent: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@electron/get@3.1.0': + dependencies: + debug: 4.4.3 + env-paths: 2.2.1 + fs-extra: 8.1.0 + got: 11.8.6 + progress: 2.0.3 + semver: 6.3.1 + sumchecker: 3.0.1 + optionalDependencies: + global-agent: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@electron/notarize@2.5.0': + dependencies: + debug: 4.4.3 + fs-extra: 9.1.0 + promise-retry: 2.0.1 + transitivePeerDependencies: + - supports-color + + '@electron/osx-sign@1.3.3': + dependencies: + compare-version: 0.1.2 + debug: 4.4.3 + fs-extra: 10.1.0 + isbinaryfile: 4.0.10 + minimist: 1.2.8 + plist: 3.1.0 + transitivePeerDependencies: + - supports-color + + '@electron/rebuild@4.1.0': + dependencies: + '@malept/cross-spawn-promise': 2.0.0 + debug: 4.4.3 + node-abi: 4.33.0 + node-api-version: 0.2.1 + node-gyp: 12.4.0 + read-binary-file-arch: 1.0.6 + transitivePeerDependencies: + - supports-color + + '@electron/universal@2.0.3': + dependencies: + '@electron/asar': 3.4.1 + '@malept/cross-spawn-promise': 2.0.0 + debug: 4.4.3 + dir-compare: 4.2.0 + fs-extra: 11.3.6 + minimatch: 9.0.9 + plist: 3.1.0 + transitivePeerDependencies: + - supports-color + + '@electron/windows-sign@1.2.2': + dependencies: + cross-dirname: 0.1.0 + debug: 4.4.3 + fs-extra: 11.3.6 + minimist: 1.2.8 + postject: 1.0.0-alpha.6 + transitivePeerDependencies: + - supports-color + optional: true + + '@emnapi/core@1.11.1': + dependencies: + '@emnapi/wasi-threads': 1.2.2 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.11.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.2': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.25.12': + optional: true + + '@esbuild/android-arm64@0.25.12': + optional: true + + '@esbuild/android-arm@0.25.12': + optional: true + + '@esbuild/android-x64@0.25.12': + optional: true + + '@esbuild/darwin-arm64@0.25.12': + optional: true + + '@esbuild/darwin-x64@0.25.12': + optional: true + + '@esbuild/freebsd-arm64@0.25.12': + optional: true + + '@esbuild/freebsd-x64@0.25.12': + optional: true + + '@esbuild/linux-arm64@0.25.12': + optional: true + + '@esbuild/linux-arm@0.25.12': + optional: true + + '@esbuild/linux-ia32@0.25.12': + optional: true + + '@esbuild/linux-loong64@0.25.12': + optional: true + + '@esbuild/linux-mips64el@0.25.12': + optional: true + + '@esbuild/linux-ppc64@0.25.12': + optional: true + + '@esbuild/linux-riscv64@0.25.12': + optional: true + + '@esbuild/linux-s390x@0.25.12': + optional: true + + '@esbuild/linux-x64@0.25.12': + optional: true + + '@esbuild/netbsd-arm64@0.25.12': + optional: true + + '@esbuild/netbsd-x64@0.25.12': + optional: true + + '@esbuild/openbsd-arm64@0.25.12': + optional: true + + '@esbuild/openbsd-x64@0.25.12': + optional: true + + '@esbuild/openharmony-arm64@0.25.12': + optional: true + + '@esbuild/sunos-x64@0.25.12': + optional: true + + '@esbuild/win32-arm64@0.25.12': + optional: true + + '@esbuild/win32-ia32@0.25.12': + optional: true + + '@esbuild/win32-x64@0.25.12': + optional: true + + '@eslint-community/eslint-utils@4.9.1(eslint@10.6.0(jiti@2.7.0))': + dependencies: + eslint: 10.6.0(jiti@2.7.0) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.23.5': + dependencies: + '@eslint/object-schema': 3.0.5 + debug: 4.4.3 + minimatch: 10.2.5 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.6.0': + dependencies: + '@eslint/core': 1.2.1 + + '@eslint/core@1.2.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/js@10.0.1(eslint@10.6.0(jiti@2.7.0))': + optionalDependencies: + eslint: 10.6.0(jiti@2.7.0) + + '@eslint/object-schema@3.0.5': {} + + '@eslint/plugin-kit@0.7.2': + dependencies: + '@eslint/core': 1.2.1 + levn: 0.4.1 + + '@fallow-cli/darwin-arm64@2.104.0': + optional: true + + '@fallow-cli/darwin-x64@2.104.0': + optional: true + + '@fallow-cli/linux-arm64-gnu@2.104.0': + optional: true + + '@fallow-cli/linux-arm64-musl@2.104.0': + optional: true + + '@fallow-cli/linux-x64-gnu@2.104.0': + optional: true + + '@fallow-cli/linux-x64-musl@2.104.0': + optional: true + + '@fallow-cli/win32-arm64-msvc@2.104.0': + optional: true + + '@fallow-cli/win32-x64-msvc@2.104.0': + optional: true + + '@floating-ui/core@1.7.5': + dependencies: + '@floating-ui/utils': 0.2.11 + + '@floating-ui/dom@1.7.4': + dependencies: + '@floating-ui/core': 1.7.5 + '@floating-ui/utils': 0.2.11 + + '@floating-ui/dom@1.7.6': + dependencies: + '@floating-ui/core': 1.7.5 + '@floating-ui/utils': 0.2.11 + + '@floating-ui/react-dom@2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@floating-ui/dom': 1.7.6 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + '@floating-ui/utils@0.2.11': {} + + '@fontsource-variable/inter@5.2.8': {} + + '@fontsource-variable/public-sans@5.2.7': {} + + '@hono/node-server@1.19.14(hono@4.12.27)': + dependencies: + hono: 4.12.27 + + '@humanfs/core@0.19.2': + dependencies: + '@humanfs/types': 0.15.0 + + '@humanfs/node@0.16.8': + dependencies: + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 + + '@humanfs/types@0.15.0': {} + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.3 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@lezer/common@1.5.2': {} + + '@lezer/css@1.3.4': + dependencies: + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 + + '@lezer/highlight@1.2.3': + dependencies: + '@lezer/common': 1.5.2 + + '@lezer/html@1.3.13': + dependencies: + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 + + '@lezer/javascript@1.5.4': + dependencies: + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 + + '@lezer/lr@1.4.10': + dependencies: + '@lezer/common': 1.5.2 + + '@lezer/markdown@1.6.4': + dependencies: + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + + '@livekit/components-core@0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1)': + dependencies: + '@floating-ui/dom': 1.7.4 + livekit-client: 2.20.0(@types/dom-mediacapture-record@1.0.22) + loglevel: 1.9.1 + rxjs: 7.8.2 + tslib: 2.8.1 + + '@livekit/components-react@2.9.21(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(tslib@2.8.1)': + dependencies: + '@livekit/components-core': 0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1) + clsx: 2.1.1 + events: 3.3.0 + jose: 6.2.3 + livekit-client: 2.20.0(@types/dom-mediacapture-record@1.0.22) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + tslib: 2.8.1 + usehooks-ts: 3.1.1(react@19.2.7) + + '@livekit/mutex@1.1.1': {} + + '@livekit/protocol@1.46.6': + dependencies: + '@bufbuild/protobuf': 1.10.1 + + '@malept/cross-spawn-promise@2.0.0': + dependencies: + cross-spawn: 7.0.6 + + '@malept/flatpak-bundler@0.4.0': + dependencies: + debug: 4.4.3 + fs-extra: 9.1.0 + lodash: 4.18.1 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - supports-color + + '@marijn/find-cluster-break@1.0.3': {} + + '@modelcontextprotocol/sdk@1.29.0(zod@3.25.76)': + dependencies: + '@hono/node-server': 1.19.14(hono@4.12.27) + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) + content-type: 1.0.5 + cors: 2.8.6 + cross-spawn: 7.0.6 + eventsource: 3.0.7 + eventsource-parser: 3.1.0 + express: 5.2.1 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.27 + jose: 6.2.3 + json-schema-typed: 8.0.2 + pkce-challenge: 5.0.1 + raw-body: 3.0.2 + zod: 3.25.76 + zod-to-json-schema: 3.25.2(zod@3.25.76) + transitivePeerDependencies: + - supports-color + + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + dependencies: + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@tybys/wasm-util': 0.10.3 + optional: true + + '@noble/curves@2.2.0': + dependencies: + '@noble/hashes': 2.2.0 + + '@noble/hashes@1.4.0': {} + + '@noble/hashes@2.2.0': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@oxc-project/types@0.138.0': {} + + '@peculiar/asn1-schema@2.8.0': + dependencies: + '@peculiar/utils': 2.0.3 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/json-schema@1.1.12': + dependencies: + tslib: 2.8.1 + + '@peculiar/utils@2.0.3': + dependencies: + tslib: 2.8.1 + + '@peculiar/webcrypto@1.7.1': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/json-schema': 1.1.12 + '@peculiar/utils': 2.0.3 + tslib: 2.8.1 + webcrypto-core: 1.9.2 + + '@radix-ui/primitive@1.1.4': {} + + '@radix-ui/react-compose-refs@1.1.3(@types/react@19.2.17)(react@19.2.7)': + dependencies: + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-context@1.1.4(@types/react@19.2.17)(react@19.2.7)': + dependencies: + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-dialog@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@radix-ui/primitive': 1.1.4 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7) + aria-hidden: 1.2.6 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) + optionalDependencies: + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-dismissable-layer@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@radix-ui/primitive': 1.1.4 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + optionalDependencies: + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-focus-guards@1.1.4(@types/react@19.2.17)(react@19.2.7)': + dependencies: + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-focus-scope@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + optionalDependencies: + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-id@1.1.2(@types/react@19.2.17)(react@19.2.7)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-portal@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + optionalDependencies: + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-presence@1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + optionalDependencies: + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-primitive@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + optionalDependencies: + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-slot@1.3.0(@types/react@19.2.17)(react@19.2.7)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-use-callback-ref@1.1.2(@types/react@19.2.17)(react@19.2.7)': + dependencies: + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-use-controllable-state@1.2.3(@types/react@19.2.17)(react@19.2.7)': + dependencies: + '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.17)(react@19.2.7)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-use-effect-event@0.0.3(@types/react@19.2.17)(react@19.2.7)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.17)(react@19.2.7)': + dependencies: + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@radix-ui/react-use-layout-effect@1.1.2(@types/react@19.2.17)(react@19.2.7)': + dependencies: + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + '@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)': + dependencies: + '@standard-schema/spec': 1.1.0 + '@standard-schema/utils': 0.3.0 + immer: 11.1.9 + redux: 5.0.1 + redux-thunk: 3.1.0(redux@5.0.1) + reselect: 5.1.1 + optionalDependencies: + react: 19.2.7 + react-redux: 9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1) + + '@rolldown/binding-android-arm64@1.1.4': + optional: true + + '@rolldown/binding-darwin-arm64@1.1.4': + optional: true + + '@rolldown/binding-darwin-x64@1.1.4': + optional: true + + '@rolldown/binding-freebsd-x64@1.1.4': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.1.4': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.1.4': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.1.4': + optional: true + + '@rolldown/binding-linux-ppc64-gnu@1.1.4': + optional: true + + '@rolldown/binding-linux-s390x-gnu@1.1.4': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.1.4': + optional: true + + '@rolldown/binding-linux-x64-musl@1.1.4': + optional: true + + '@rolldown/binding-openharmony-arm64@1.1.4': + optional: true + + '@rolldown/binding-wasm32-wasi@1.1.4': + dependencies: + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.1.4': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.1.4': + optional: true + + '@rolldown/pluginutils@1.0.1': {} + + '@sec-ant/readable-stream@0.4.1': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/merge-streams@4.0.0': {} + + '@standard-schema/spec@1.1.0': {} + + '@standard-schema/utils@0.3.0': {} + + '@szmarczak/http-timer@4.0.6': + dependencies: + defer-to-connect: 2.0.1 + + '@tailwindcss/node@4.3.2': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.21.6 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.3.2 + + '@tailwindcss/oxide-android-arm64@4.3.2': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.3.2': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.3.2': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.3.2': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.3.2': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.3.2': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.3.2': + optional: true + + '@tailwindcss/oxide@4.3.2': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.2 + '@tailwindcss/oxide-darwin-arm64': 4.3.2 + '@tailwindcss/oxide-darwin-x64': 4.3.2 + '@tailwindcss/oxide-freebsd-x64': 4.3.2 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.2 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.2 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.2 + '@tailwindcss/oxide-linux-x64-musl': 4.3.2 + '@tailwindcss/oxide-wasm32-wasi': 4.3.2 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.2 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.2 + + '@tailwindcss/vite@4.3.2(vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': + dependencies: + '@tailwindcss/node': 4.3.2 + '@tailwindcss/oxide': 4.3.2 + tailwindcss: 4.3.2 + vite: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + + '@tanstack/devtools-event-client@0.3.5': {} + + '@tanstack/devtools-event-client@0.4.4': {} + + '@tanstack/history@1.162.0': {} + + '@tanstack/pacer@0.21.1': + dependencies: + '@tanstack/devtools-event-client': 0.4.4 + '@tanstack/store': 0.11.0 + + '@tanstack/query-core@5.101.2': {} + + '@tanstack/react-query@5.101.2(react@19.2.7)': + dependencies: + '@tanstack/query-core': 5.101.2 + react: 19.2.7 + + '@tanstack/react-router@1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@tanstack/history': 1.162.0 + '@tanstack/react-store': 0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/router-core': 1.171.14 + isbot: 5.1.44 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + '@tanstack/react-store@0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@tanstack/store': 0.9.3 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + use-sync-external-store: 1.6.0(react@19.2.7) + + '@tanstack/react-virtual@3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@tanstack/virtual-core': 3.17.3 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + '@tanstack/router-core@1.171.14': + dependencies: + '@tanstack/history': 1.162.0 + cookie-es: 3.1.1 + seroval: 1.5.4 + seroval-plugins: 1.5.4(seroval@1.5.4) + + '@tanstack/store@0.11.0': {} + + '@tanstack/store@0.9.3': {} + + '@tanstack/virtual-core@3.17.3': {} + + '@tauri-apps/api@2.11.1': {} + + '@tauri-apps/cli-darwin-arm64@2.11.4': + optional: true + + '@tauri-apps/cli-darwin-x64@2.11.4': + optional: true + + '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': + optional: true + + '@tauri-apps/cli-linux-arm64-gnu@2.11.4': + optional: true + + '@tauri-apps/cli-linux-arm64-musl@2.11.4': + optional: true + + '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': + optional: true + + '@tauri-apps/cli-linux-x64-gnu@2.11.4': + optional: true + + '@tauri-apps/cli-linux-x64-musl@2.11.4': + optional: true + + '@tauri-apps/cli-win32-arm64-msvc@2.11.4': + optional: true + + '@tauri-apps/cli-win32-ia32-msvc@2.11.4': + optional: true + + '@tauri-apps/cli-win32-x64-msvc@2.11.4': + optional: true + + '@tauri-apps/cli@2.11.4': + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 2.11.4 + '@tauri-apps/cli-darwin-x64': 2.11.4 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.11.4 + '@tauri-apps/cli-linux-arm64-gnu': 2.11.4 + '@tauri-apps/cli-linux-arm64-musl': 2.11.4 + '@tauri-apps/cli-linux-riscv64-gnu': 2.11.4 + '@tauri-apps/cli-linux-x64-gnu': 2.11.4 + '@tauri-apps/cli-linux-x64-musl': 2.11.4 + '@tauri-apps/cli-win32-arm64-msvc': 2.11.4 + '@tauri-apps/cli-win32-ia32-msvc': 2.11.4 + '@tauri-apps/cli-win32-x64-msvc': 2.11.4 + + '@tauri-apps/plugin-barcode-scanner@2.4.5': + dependencies: + '@tauri-apps/api': 2.11.1 + + '@tauri-apps/plugin-deep-link@2.4.9': + dependencies: + '@tauri-apps/api': 2.11.1 + + '@tauri-apps/plugin-log@2.8.0': + dependencies: + '@tauri-apps/api': 2.11.1 + + '@tauri-apps/plugin-notification@2.3.3': + dependencies: + '@tauri-apps/api': 2.11.1 + + '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3)': + dependencies: + '@base-ui/react': 1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@fontsource-variable/inter': 5.2.8 + '@tauri-apps/api': 2.11.1 + class-variance-authority: 0.7.1 + clsx: 2.1.1 + cmdk: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + date-fns: 4.4.0 + embla-carousel-react: 8.6.0(react@19.2.7) + input-otp: 1.4.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + lucide-react: 1.23.0(react@19.2.7) + next-themes: 0.4.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-day-picker: 10.0.1(@types/react@19.2.17)(react@19.2.7) + react-dom: 19.2.7(react@19.2.7) + react-resizable-panels: 4.12.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + recharts: 3.8.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1) + shadcn: 4.12.0(typescript@6.0.3) + sonner: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + tailwind-merge: 3.6.0 + tw-animate-css: 1.4.0 + vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + transitivePeerDependencies: + - '@cfworker/json-schema' + - '@date-fns/tz' + - '@types/react' + - '@types/react-dom' + - babel-plugin-macros + - react-is + - redux + - supports-color + - typescript + + '@ts-morph/common@0.27.0': + dependencies: + fast-glob: 3.3.3 + minimatch: 10.2.5 + path-browserify: 1.0.1 + + '@tybys/wasm-util@0.10.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/cacheable-request@6.0.3': + dependencies: + '@types/http-cache-semantics': 4.2.0 + '@types/keyv': 3.1.4 + '@types/node': 25.9.4 + '@types/responselike': 1.0.3 + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/d3-array@3.2.2': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@3.1.1': {} + + '@types/d3-scale@4.0.9': + dependencies: + '@types/d3-time': 3.0.4 + + '@types/d3-shape@3.1.8': + dependencies: + '@types/d3-path': 3.1.1 + + '@types/d3-time@3.0.4': {} + + '@types/d3-timer@3.0.2': {} + + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 + + '@types/deep-eql@4.0.2': {} + + '@types/dom-mediacapture-record@1.0.22': {} + + '@types/esrecurse@4.3.1': {} + + '@types/estree@1.0.9': {} + + '@types/fs-extra@9.0.13': + dependencies: + '@types/node': 25.9.4 + + '@types/http-cache-semantics@4.2.0': {} + + '@types/json-schema@7.0.15': {} + + '@types/keyv@3.1.4': + dependencies: + '@types/node': 25.9.4 + + '@types/ms@2.1.0': {} + + '@types/node@22.20.0': + dependencies: + undici-types: 6.21.0 + + '@types/node@25.9.4': + dependencies: + undici-types: 7.24.6 + + '@types/qrcode@1.5.6': + dependencies: + '@types/node': 25.9.4 + + '@types/react-dom@19.2.3(@types/react@19.2.17)': + dependencies: + '@types/react': 19.2.17 + + '@types/react@19.2.17': + dependencies: + csstype: 3.2.3 + + '@types/responselike@1.0.3': + dependencies: + '@types/node': 25.9.4 + + '@types/use-sync-external-store@0.0.6': {} + + '@types/validate-npm-package-name@4.0.2': {} + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 25.9.4 + optional: true + + '@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.62.1 + '@typescript-eslint/type-utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.62.1 + eslint: 10.6.0(jiti@2.7.0) + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.62.1 + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.62.1 + debug: 4.4.3 + eslint: 10.6.0(jiti@2.7.0) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.62.1(typescript@6.0.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3) + '@typescript-eslint/types': 8.62.1 + debug: 4.4.3 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.62.1': + dependencies: + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/visitor-keys': 8.62.1 + + '@typescript-eslint/tsconfig-utils@8.62.1(typescript@6.0.3)': + dependencies: + typescript: 6.0.3 + + '@typescript-eslint/type-utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + dependencies: + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + debug: 4.4.3 + eslint: 10.6.0(jiti@2.7.0) + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.62.1': {} + + '@typescript-eslint/typescript-estree@8.62.1(typescript@6.0.3)': + dependencies: + '@typescript-eslint/project-service': 8.62.1(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3) + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/visitor-keys': 8.62.1 + debug: 4.4.3 + minimatch: 10.2.5 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.62.1 + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) + eslint: 10.6.0(jiti@2.7.0) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.62.1': + dependencies: + '@typescript-eslint/types': 8.62.1 + eslint-visitor-keys: 5.0.1 + + '@vitejs/plugin-react@6.0.3(vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': + dependencies: + '@rolldown/pluginutils': 1.0.1 + vite: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + + '@vitest/expect@4.1.9': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 + chai: 6.2.2 + tinyrainbow: 3.1.0 + + '@vitest/mocker@4.1.9(vite@8.1.3(@types/node@25.9.4)(jiti@2.7.0)(yaml@2.9.0))': + dependencies: + '@vitest/spy': 4.1.9 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + + '@vitest/pretty-format@4.1.9': + dependencies: + tinyrainbow: 3.1.0 + + '@vitest/runner@4.1.9': + dependencies: + '@vitest/utils': 4.1.9 + pathe: 2.0.3 + + '@vitest/snapshot@4.1.9': + dependencies: + '@vitest/pretty-format': 4.1.9 + '@vitest/utils': 4.1.9 + magic-string: 0.30.21 + pathe: 2.0.3 + + '@vitest/spy@4.1.9': {} + + '@vitest/utils@4.1.9': + dependencies: + '@vitest/pretty-format': 4.1.9 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 + + '@xmldom/xmldom@0.8.13': {} + + abbrev@4.0.0: {} + + accepts@2.0.0: + dependencies: + mime-types: 3.0.2 + negotiator: 1.0.0 + + acorn-jsx@5.3.2(acorn@8.17.0): + dependencies: + acorn: 8.17.0 + + acorn@8.17.0: {} + + agent-base@7.1.4: {} + + ajv-formats@2.1.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + + ajv-formats@3.0.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + + ajv@6.15.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-colors@4.1.3: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + app-builder-lib@26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3): + dependencies: + '@electron/asar': 3.4.1 + '@electron/fuses': 1.8.0 + '@electron/get': 3.1.0 + '@electron/notarize': 2.5.0 + '@electron/osx-sign': 1.3.3 + '@electron/rebuild': 4.1.0 + '@electron/universal': 2.0.3 + '@malept/flatpak-bundler': 0.4.0 + '@noble/hashes': 2.2.0 + '@peculiar/webcrypto': 1.7.1 + '@types/fs-extra': 9.0.13 + ajv: 8.20.0 + asn1js: 3.0.10 + async-exit-hook: 2.0.1 + builder-util: 26.15.3 + builder-util-runtime: 9.7.0 + chromium-pickle-js: 0.2.0 + ci-info: 4.3.1 + debug: 4.4.3 + dmg-builder: 26.15.3(electron-builder-squirrel-windows@26.15.3) + dotenv: 16.6.1 + dotenv-expand: 11.0.7 + ejs: 3.1.10 + electron-builder-squirrel-windows: 26.15.3(dmg-builder@26.15.3) + electron-publish: 26.15.3 + fs-extra: 10.1.0 + hosted-git-info: 4.1.0 + isbinaryfile: 5.0.7 + jiti: 2.7.0 + js-yaml: 4.3.0 + json5: 2.2.3 + lazy-val: 1.0.5 + minimatch: 10.2.5 + pkijs: 3.4.0 + plist: 3.1.0 + proper-lockfile: 4.1.2 + resedit: 1.7.2 + semver: 7.7.4 + tar: 7.5.19 + temp-file: 3.4.0 + tiny-async-pool: 1.3.0 + unzipper: 0.12.5 + which: 5.0.0 + transitivePeerDependencies: + - supports-color + + argparse@2.0.1: {} + + aria-hidden@1.2.6: + dependencies: + tslib: 2.8.1 + + asn1js@3.0.10: + dependencies: + pvtsutils: 1.3.6 + pvutils: 1.1.5 + tslib: 2.8.1 + + assertion-error@2.0.1: {} + + ast-types@0.16.1: + dependencies: + tslib: 2.8.1 + + async-exit-hook@2.0.1: {} + + async@3.2.6: {} + + asynckit@0.4.0: {} + + at-least-node@1.0.0: {} + + atomically@1.7.0: {} + + aws4@1.13.2: {} + + balanced-match@1.0.2: {} + + balanced-match@4.0.4: {} + + base64-js@1.5.1: {} + + baseline-browser-mapping@2.10.41: {} + + bluebird@3.7.2: {} + + body-parser@2.3.0: + dependencies: + bytes: 3.1.2 + content-type: 2.0.0 + debug: 4.4.3 + http-errors: 2.0.1 + iconv-lite: 0.7.2 + on-finished: 2.4.1 + qs: 6.15.3 + raw-body: 3.0.2 + type-is: 2.1.0 + transitivePeerDependencies: + - supports-color + + boolean@3.2.0: + optional: true + + brace-expansion@1.1.15: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.1.1: + dependencies: + balanced-match: 1.0.2 + + brace-expansion@5.0.7: + dependencies: + balanced-match: 4.0.4 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.4: + dependencies: + baseline-browser-mapping: 2.10.41 + caniuse-lite: 1.0.30001800 + electron-to-chromium: 1.5.385 + node-releases: 2.0.50 + update-browserslist-db: 1.2.3(browserslist@4.28.4) + + buffer-crc32@0.2.13: {} + + buffer-from@1.1.2: {} + + builder-util-runtime@9.7.0: + dependencies: + debug: 4.4.3 + sax: 1.6.0 + transitivePeerDependencies: + - supports-color + + builder-util@26.15.3: + dependencies: + '@types/debug': 4.1.13 + builder-util-runtime: 9.7.0 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + fs-extra: 10.1.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + js-yaml: 4.3.0 + sanitize-filename: 1.6.4 + source-map-support: 0.5.21 + stat-mode: 1.0.0 + temp-file: 3.4.0 + tiny-async-pool: 1.3.0 + transitivePeerDependencies: + - supports-color + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.1.0 + + bytes@3.1.2: {} + + bytestreamjs@2.0.1: {} + + cacheable-lookup@5.0.4: {} + + cacheable-request@7.0.4: + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + caniuse-lite@1.0.30001800: {} + + chai@6.2.2: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.6.2: {} + + chownr@3.0.0: {} + + chromium-pickle-js@0.2.0: {} + + ci-info@4.3.1: {} + + ci-info@4.4.0: {} + + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-spinners@2.9.2: {} + + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-response@1.0.3: + dependencies: + mimic-response: 1.0.1 + + clsx@2.1.1: {} + + cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + + code-block-writer@13.0.3: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comlink@4.4.2: {} + + commander@11.1.0: {} + + commander@14.0.3: {} + + commander@5.1.0: {} + + commander@9.5.0: + optional: true + + compare-version@0.1.2: {} + + concat-map@0.0.1: {} + + conf@10.2.0: + dependencies: + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + atomically: 1.7.0 + debounce-fn: 4.0.0 + dot-prop: 6.0.1 + env-paths: 2.2.1 + json-schema-typed: 7.0.3 + onetime: 5.1.2 + pkg-up: 3.1.0 + semver: 7.8.5 + + content-disposition@1.1.0: {} + + content-type@1.0.5: {} + + content-type@2.0.0: {} + + convert-source-map@2.0.0: {} + + cookie-es@3.1.1: {} + + cookie-signature@1.2.2: {} + + cookie@0.7.2: {} + + core-util-is@1.0.3: {} + + cors@2.8.6: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cosmiconfig@9.0.2(typescript@6.0.3): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.3.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 6.0.3 + + crelt@1.0.7: {} + + cross-dirname@0.1.0: + optional: true + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssesc@3.0.0: {} + + csstype@3.2.3: {} + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-color@3.1.0: {} + + d3-ease@3.0.1: {} + + d3-format@3.1.2: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@3.1.0: {} + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.2 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + date-fns@4.4.0: {} + + debounce-fn@4.0.0: + dependencies: + mimic-fn: 3.1.0 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decamelize@1.2.0: {} + + decimal.js-light@2.5.1: {} + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + dedent@1.7.2: {} + + deep-is@0.1.4: {} + + deepfilternet3-noise-filter@1.3.0(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22)): + dependencies: + livekit-client: 2.20.0(@types/dom-mediacapture-record@1.0.22) + + deepmerge@4.3.1: {} + + default-browser-id@5.0.1: {} + + default-browser@5.5.0: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.1 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + optional: true + + define-lazy-prop@2.0.0: {} + + define-lazy-prop@3.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + optional: true + + delayed-stream@1.0.0: {} + + depd@2.0.0: {} + + detect-libc@2.1.2: {} + + detect-node-es@1.1.0: {} + + detect-node@2.1.0: + optional: true + + diff@8.0.4: {} + + dijkstrajs@1.0.3: {} + + dir-compare@4.2.0: + dependencies: + minimatch: 3.1.5 + p-limit: 3.1.0 + + dmg-builder@26.15.3(electron-builder-squirrel-windows@26.15.3): + dependencies: + app-builder-lib: 26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3) + builder-util: 26.15.3 + fs-extra: 10.1.0 + js-yaml: 4.3.0 + transitivePeerDependencies: + - electron-builder-squirrel-windows + - supports-color + + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 + + dotenv-expand@11.0.7: + dependencies: + dotenv: 16.6.1 + + dotenv@16.6.1: {} + + dotenv@17.4.2: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexer2@0.1.4: + dependencies: + readable-stream: 2.3.8 + + ee-first@1.1.1: {} + + ejs@3.1.10: + dependencies: + jake: 10.9.4 + + electron-builder-squirrel-windows@26.15.3(dmg-builder@26.15.3): + dependencies: + app-builder-lib: 26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3) + builder-util: 26.15.3 + electron-winstaller: 5.4.0 + transitivePeerDependencies: + - dmg-builder + - supports-color + + electron-builder@26.15.3(electron-builder-squirrel-windows@26.15.3): + dependencies: + app-builder-lib: 26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3) + builder-util: 26.15.3 + builder-util-runtime: 9.7.0 + chalk: 4.1.2 + ci-info: 4.4.0 + dmg-builder: 26.15.3(electron-builder-squirrel-windows@26.15.3) + fs-extra: 10.1.0 + lazy-val: 1.0.5 + simple-update-notifier: 2.0.0 + yargs: 17.7.3 + transitivePeerDependencies: + - electron-builder-squirrel-windows + - supports-color + + electron-publish@26.15.3: + dependencies: + '@types/fs-extra': 9.0.13 + aws4: 1.13.2 + builder-util: 26.15.3 + builder-util-runtime: 9.7.0 + chalk: 4.1.2 + form-data: 4.0.6 + fs-extra: 10.1.0 + lazy-val: 1.0.5 + mime: 2.6.0 + transitivePeerDependencies: + - supports-color + + electron-to-chromium@1.5.385: {} + + electron-winstaller@5.4.0: + dependencies: + '@electron/asar': 3.4.1 + debug: 4.4.3 + fs-extra: 7.0.1 + lodash: 4.18.1 + temp: 0.9.4 + optionalDependencies: + '@electron/windows-sign': 1.2.2 + transitivePeerDependencies: + - supports-color + + electron@39.8.10: + dependencies: + '@electron/get': 2.0.3 + '@types/node': 22.20.0 + extract-zip: 2.0.1 + transitivePeerDependencies: + - supports-color + + embla-carousel-react@8.6.0(react@19.2.7): + dependencies: + embla-carousel: 8.6.0 + embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) + react: 19.2.7 + + embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel@8.6.0: {} + + emoji-regex@10.6.0: {} + + emoji-regex@8.0.0: {} + + encodeurl@2.0.0: {} + + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + + enhanced-resolve@5.21.6: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + enquirer@2.4.1: + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + + env-paths@2.2.1: {} + + err-code@2.0.3: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@2.3.0: {} + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 + + es-toolkit@1.49.0: {} + + es6-error@4.1.1: + optional: true + + esbuild@0.25.12: + 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 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@4.0.0: {} + + eslint-plugin-react-hooks@7.1.1(eslint@10.6.0(jiti@2.7.0)): + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + eslint: 10.6.0(jiti@2.7.0) + hermes-parser: 0.25.1 + zod: 4.4.3 + zod-validation-error: 4.0.2(zod@4.4.3) + transitivePeerDependencies: + - supports-color + + eslint-scope@9.1.2: + dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.9 + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@5.0.1: {} + + eslint@10.6.0(jiti@2.7.0): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@2.7.0)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.6.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.9 + ajv: 6.15.0 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + minimatch: 10.2.5 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.7.0 + transitivePeerDependencies: + - supports-color + + espree@11.2.0: + dependencies: + acorn: 8.17.0 + acorn-jsx: 5.3.2(acorn@8.17.0) + eslint-visitor-keys: 5.0.1 + + esprima@4.0.1: {} + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.9 + + esutils@2.0.3: {} + + etag@1.8.1: {} + + eventemitter3@5.0.4: {} + + events@3.3.0: {} + + eventsource-parser@3.1.0: {} + + eventsource@3.0.7: + dependencies: + eventsource-parser: 3.1.0 + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@9.6.1: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.2 + + expect-type@1.4.0: {} + + exponential-backoff@3.1.3: {} + + express-rate-limit@8.5.2(express@5.2.1): + dependencies: + express: 5.2.1 + ip-address: 10.2.0 + + express@5.2.1: + dependencies: + accepts: 2.0.0 + body-parser: 2.3.0 + content-disposition: 1.1.0 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.2.2 + debug: 4.4.3 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 2.1.1 + fresh: 2.0.0 + http-errors: 2.0.1 + merge-descriptors: 2.0.0 + mime-types: 3.0.2 + on-finished: 2.4.1 + once: 1.4.0 + parseurl: 1.3.3 + proxy-addr: 2.0.7 + qs: 6.15.3 + range-parser: 1.3.0 + router: 2.2.0 + send: 1.2.1 + serve-static: 2.2.1 + statuses: 2.0.2 + type-is: 2.1.0 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extract-zip@2.0.1: + dependencies: + debug: 4.4.3 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + + fallow@2.104.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + '@fallow-cli/darwin-arm64': 2.104.0 + '@fallow-cli/darwin-x64': 2.104.0 + '@fallow-cli/linux-arm64-gnu': 2.104.0 + '@fallow-cli/linux-arm64-musl': 2.104.0 + '@fallow-cli/linux-x64-gnu': 2.104.0 + '@fallow-cli/linux-x64-musl': 2.104.0 + '@fallow-cli/win32-arm64-msvc': 2.104.0 + '@fallow-cli/win32-x64-msvc': 2.104.0 + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-uri@3.1.3: {} + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + + fdir@6.5.0(picomatch@4.0.5): + optionalDependencies: + picomatch: 4.0.5 + + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + filelist@1.0.6: + dependencies: + minimatch: 5.1.9 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@2.1.1: + dependencies: + debug: 4.4.3 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.4.2 + keyv: 4.5.4 + + flatted@3.4.2: {} + + form-data@4.0.6: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.4 + mime-types: 2.1.35 + + forwarded@0.2.0: {} + + fresh@2.0.0: {} + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs-extra@11.3.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs-extra@11.3.6: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + fuzzysort@3.1.0: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.6.0: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 + + get-nonce@1.0.1: {} + + get-own-enumerable-keys@1.0.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + get-stream@5.2.0: + dependencies: + pump: 3.0.4 + + get-stream@6.0.1: {} + + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global-agent@3.0.0: + dependencies: + boolean: 3.2.0 + es6-error: 4.1.1 + matcher: 3.0.0 + roarr: 2.15.4 + semver: 7.8.5 + serialize-error: 7.0.1 + optional: true + + globals@17.7.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + optional: true + + gopd@1.2.0: {} + + got@11.8.6: + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + + graceful-fs@4.2.11: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + optional: true + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.4: + dependencies: + function-bind: 1.1.2 + + hermes-estree@0.25.1: {} + + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 + + hono@4.12.27: {} + + hosted-git-info@4.1.0: + dependencies: + lru-cache: 6.0.0 + + http-cache-semantics@4.2.0: {} + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + http2-wrapper@1.0.3: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + human-signals@8.0.1: {} + + iconv-lite@0.7.2: + dependencies: + safer-buffer: 2.1.2 + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + immer@10.2.0: {} + + immer@11.1.9: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + input-otp@1.4.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + internmap@2.0.3: {} + + ip-address@10.2.0: {} + + ipaddr.js@1.9.1: {} + + is-arrayish@0.2.1: {} + + is-docker@2.2.1: {} + + is-docker@3.0.0: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-in-ssh@1.0.0: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-interactive@2.0.0: {} + + is-number@7.0.0: {} + + is-obj@2.0.0: {} + + is-obj@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-promise@4.0.0: {} + + is-regexp@3.1.0: {} + + is-stream@2.0.1: {} + + is-stream@4.0.1: {} + + is-unicode-supported@1.3.0: {} + + is-unicode-supported@2.1.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-wsl@3.1.1: + dependencies: + is-inside-container: 1.0.0 + + isarray@1.0.0: {} + + isbinaryfile@4.0.10: {} + + isbinaryfile@5.0.7: {} + + isbot@5.1.44: {} + + isexe@2.0.0: {} + + isexe@3.1.5: {} + + isexe@4.0.0: {} + + jake@10.9.4: + dependencies: + async: 3.2.6 + filelist: 1.0.6 + picocolors: 1.1.1 + + jiti@2.7.0: {} + + jose@6.2.3: {} + + js-tokens@4.0.0: {} + + js-yaml@4.3.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-schema-typed@7.0.3: {} + + json-schema-typed@8.0.2: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json-stringify-safe@5.0.1: + optional: true + + json5@2.2.3: {} + + jsonc-parser@3.3.1: {} + + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + + jsonfile@6.2.1: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kleur@3.0.3: {} + + kleur@4.1.5: {} + + lazy-val@1.0.5: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + + lines-and-columns@1.2.4: {} + + livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22): + dependencies: + '@livekit/mutex': 1.1.1 + '@livekit/protocol': 1.46.6 + '@types/dom-mediacapture-record': 1.0.22 + events: 3.3.0 + jose: 6.2.3 + loglevel: 1.9.2 + sdp-transform: 2.15.0 + tslib: 2.8.1 + typed-emitter: 2.1.0 + webrtc-adapter: 9.0.5 + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.debounce@4.0.8: {} + + lodash@4.18.1: {} + + log-symbols@6.0.0: + dependencies: + chalk: 5.6.2 + is-unicode-supported: 1.3.0 + + loglevel@1.9.1: {} + + loglevel@1.9.2: {} + + lowercase-keys@2.0.0: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + lucide-react@1.23.0(react@19.2.7): + dependencies: + react: 19.2.7 + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + matcher@3.0.0: + dependencies: + escape-string-regexp: 4.0.0 + optional: true + + math-intrinsics@1.1.0: {} + + media-typer@1.1.0: {} + + merge-descriptors@2.0.0: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime-types@3.0.2: + dependencies: + mime-db: 1.54.0 + + mime@2.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-fn@3.1.0: {} + + mimic-function@5.0.1: {} + + mimic-response@1.0.1: {} + + mimic-response@3.1.0: {} + + minimatch@10.2.5: + dependencies: + brace-expansion: 5.0.7 + + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.15 + + minimatch@5.1.9: + dependencies: + brace-expansion: 2.1.1 + + minimatch@9.0.9: + dependencies: + brace-expansion: 2.1.1 + + minimist@1.2.8: {} + + minipass@7.1.3: {} + + minizlib@3.1.0: + dependencies: + minipass: 7.1.3 + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + ms@2.1.3: {} + + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz: {} + + nanoid@3.3.15: {} + + natural-compare@1.4.0: {} + + negotiator@1.0.0: {} + + next-themes@0.4.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + node-abi@4.33.0: + dependencies: + semver: 7.7.4 + + node-api-version@0.2.1: + dependencies: + semver: 7.7.4 + + node-gyp@12.4.0: + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.3 + graceful-fs: 4.2.11 + nopt: 9.0.0 + proc-log: 6.1.0 + semver: 7.7.4 + tar: 7.5.19 + tinyglobby: 0.2.17 + undici: 6.27.0 + which: 6.0.1 + + node-int64@0.4.0: {} + + node-releases@2.0.50: {} + + nopt@9.0.0: + dependencies: + abbrev: 4.0.0 + + normalize-url@6.1.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: + optional: true + + object-treeify@1.1.33: {} + + obug@2.1.3: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + open@11.0.0: + dependencies: + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-in-ssh: 1.0.0 + is-inside-container: 1.0.0 + powershell-utils: 0.1.0 + wsl-utils: 0.3.1 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + ora@8.2.0: + dependencies: + chalk: 5.6.2 + cli-cursor: 5.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.1.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.2.0 + strip-ansi: 7.2.0 + + p-cancelable@2.1.1: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-try@2.2.0: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.29.7 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-ms@4.0.0: {} + + parseurl@1.3.3: {} + + path-browserify@1.0.1: {} + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-to-regexp@8.4.2: {} + + pathe@2.0.3: {} + + pe-library@0.4.1: {} + + pend@1.2.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.2: {} + + picomatch@4.0.5: {} + + pkce-challenge@5.0.1: {} + + pkg-up@3.1.0: + dependencies: + find-up: 3.0.0 + + pkijs@3.4.0: + dependencies: + '@noble/hashes': 1.4.0 + asn1js: 3.0.10 + bytestreamjs: 2.0.1 + pvtsutils: 1.3.6 + pvutils: 1.1.5 + tslib: 2.8.1 + + plist@3.1.0: + dependencies: + '@xmldom/xmldom': 0.8.13 + base64-js: 1.5.1 + xmlbuilder: 15.1.1 + + pngjs@5.0.0: {} + + postcss-selector-parser@7.1.4: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss@8.5.16: + dependencies: + nanoid: 3.3.15 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postject@1.0.0-alpha.6: + dependencies: + commander: 9.5.0 + optional: true + + powershell-utils@0.1.0: {} + + prelude-ls@1.2.1: {} + + prettier@3.9.4: {} + + pretty-ms@9.3.0: + dependencies: + parse-ms: 4.0.0 + + proc-log@6.1.0: {} + + process-nextick-args@2.0.1: {} + + progress@2.0.3: {} + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + proper-lockfile@4.1.2: + dependencies: + graceful-fs: 4.2.11 + retry: 0.12.0 + signal-exit: 3.0.7 + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + pump@3.0.4: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + + punycode@2.3.1: {} + + pvtsutils@1.3.6: + dependencies: + tslib: 2.8.1 + + pvutils@1.1.5: {} + + qrcode@1.5.4: + dependencies: + dijkstrajs: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + + qs@6.15.3: + dependencies: + es-define-property: 1.0.1 + side-channel: 1.1.1 + + queue-microtask@1.2.3: {} + + quick-lru@5.1.1: {} + + range-parser@1.3.0: {} + + raw-body@3.0.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.7.2 + unpipe: 1.0.0 + + react-day-picker@10.0.1(@types/react@19.2.17)(react@19.2.7): + dependencies: + '@date-fns/tz': 1.5.0 + date-fns: 4.4.0 + react: 19.2.7 + optionalDependencies: + '@types/react': 19.2.17 + + react-dom@19.2.7(react@19.2.7): + dependencies: + react: 19.2.7 + scheduler: 0.27.0 + + react-is@19.2.7: {} + + react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1): + dependencies: + '@types/use-sync-external-store': 0.0.6 + react: 19.2.7 + use-sync-external-store: 1.6.0(react@19.2.7) + optionalDependencies: + '@types/react': 19.2.17 + redux: 5.0.1 + + react-remove-scroll-bar@2.3.8(@types/react@19.2.17)(react@19.2.7): + dependencies: + react: 19.2.7 + react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.7) + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.2.17 + + react-remove-scroll@2.7.2(@types/react@19.2.17)(react@19.2.7): + dependencies: + react: 19.2.7 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.17)(react@19.2.7) + react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.7) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.2.17)(react@19.2.7) + use-sidecar: 1.1.3(@types/react@19.2.17)(react@19.2.7) + optionalDependencies: + '@types/react': 19.2.17 + + react-resizable-panels@4.12.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + react-style-singleton@2.2.3(@types/react@19.2.17)(react@19.2.7): + dependencies: + get-nonce: 1.0.1 + react: 19.2.7 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.2.17 + + react@19.2.7: {} + + read-binary-file-arch@1.0.6: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + recast@0.23.12: + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.8.1 + + recharts@3.8.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1): + dependencies: + '@reduxjs/toolkit': 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7) + clsx: 2.1.1 + decimal.js-light: 2.5.1 + es-toolkit: 1.49.0 + eventemitter3: 5.0.4 + immer: 10.2.0 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + react-is: 19.2.7 + react-redux: 9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1) + reselect: 5.1.1 + tiny-invariant: 1.3.3 + use-sync-external-store: 1.6.0(react@19.2.7) + victory-vendor: 37.3.6 + transitivePeerDependencies: + - '@types/react' + - redux + + redux-thunk@3.1.0(redux@5.0.1): + dependencies: + redux: 5.0.1 + + redux@5.0.1: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + require-main-filename@2.0.0: {} + + resedit@1.7.2: + dependencies: + pe-library: 0.4.1 + + reselect@5.1.1: {} + + reselect@5.2.0: {} + + resolve-alpn@1.2.1: {} + + resolve-from@4.0.0: {} + + responselike@2.0.1: + dependencies: + lowercase-keys: 2.0.0 + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + retry@0.12.0: {} + + reusify@1.1.0: {} + + rimraf@2.6.3: + dependencies: + glob: 7.2.3 + + roarr@2.15.4: + dependencies: + boolean: 3.2.0 + detect-node: 2.1.0 + globalthis: 1.0.4 + json-stringify-safe: 5.0.1 + semver-compare: 1.0.0 + sprintf-js: 1.1.3 + optional: true + + rolldown@1.1.4: + dependencies: + '@oxc-project/types': 0.138.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.1.4 + '@rolldown/binding-darwin-arm64': 1.1.4 + '@rolldown/binding-darwin-x64': 1.1.4 + '@rolldown/binding-freebsd-x64': 1.1.4 + '@rolldown/binding-linux-arm-gnueabihf': 1.1.4 + '@rolldown/binding-linux-arm64-gnu': 1.1.4 + '@rolldown/binding-linux-arm64-musl': 1.1.4 + '@rolldown/binding-linux-ppc64-gnu': 1.1.4 + '@rolldown/binding-linux-s390x-gnu': 1.1.4 + '@rolldown/binding-linux-x64-gnu': 1.1.4 + '@rolldown/binding-linux-x64-musl': 1.1.4 + '@rolldown/binding-openharmony-arm64': 1.1.4 + '@rolldown/binding-wasm32-wasi': 1.1.4 + '@rolldown/binding-win32-arm64-msvc': 1.1.4 + '@rolldown/binding-win32-x64-msvc': 1.1.4 + + router@2.2.0: + dependencies: + debug: 4.4.3 + depd: 2.0.0 + is-promise: 4.0.0 + parseurl: 1.3.3 + path-to-regexp: 8.4.2 + transitivePeerDependencies: + - supports-color + + run-applescript@7.1.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + safe-buffer@5.1.2: {} + + safer-buffer@2.1.2: {} + + sanitize-filename@1.6.4: + dependencies: + truncate-utf8-bytes: 1.0.2 + + sax@1.6.0: {} + + scheduler@0.27.0: {} + + sdp-transform@2.15.0: {} + + sdp@3.2.2: {} + + semver-compare@1.0.0: + optional: true + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.7.4: {} + + semver@7.8.5: {} + + send@1.2.1: + dependencies: + debug: 4.4.3 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 2.0.0 + http-errors: 2.0.1 + mime-types: 3.0.2 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.3.0 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + serialize-error@7.0.1: + dependencies: + type-fest: 0.13.1 + optional: true + + seroval-plugins@1.5.4(seroval@1.5.4): + dependencies: + seroval: 1.5.4 + + seroval@1.5.4: {} + + serve-static@2.2.1: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 1.2.1 + transitivePeerDependencies: + - supports-color + + set-blocking@2.0.0: {} + + setprototypeof@1.2.0: {} + + shadcn@4.12.0(typescript@6.0.3): + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@dotenvx/dotenvx': 1.75.1 + '@modelcontextprotocol/sdk': 1.29.0(zod@3.25.76) + '@types/validate-npm-package-name': 4.0.2 + browserslist: 4.28.4 + commander: 14.0.3 + cosmiconfig: 9.0.2(typescript@6.0.3) + dedent: 1.7.2 + deepmerge: 4.3.1 + diff: 8.0.4 + execa: 9.6.1 + fast-glob: 3.3.3 + fs-extra: 11.3.6 + fuzzysort: 3.1.0 + kleur: 4.1.5 + open: 11.0.0 + ora: 8.2.0 + postcss: 8.5.16 + postcss-selector-parser: 7.1.4 + prompts: 2.4.2 + recast: 0.23.12 + stringify-object: 5.0.0 + tailwind-merge: 3.6.0 + ts-morph: 26.0.0 + tsconfig-paths: 4.2.0 + undici: 7.28.0 + validate-npm-package-name: 7.0.2 + zod: 3.25.76 + zod-to-json-schema: 3.25.2(zod@3.25.76) + transitivePeerDependencies: + - '@cfworker/json-schema' + - babel-plugin-macros + - supports-color + - typescript + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel-list@1.0.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.1 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + siginfo@2.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + simple-update-notifier@2.0.0: + dependencies: + semver: 7.8.5 + + sisteransi@1.0.5: {} + + sonner@2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + sprintf-js@1.1.3: + optional: true + + stackback@0.0.2: {} + + stat-mode@1.0.0: {} + + statuses@2.0.2: {} + + std-env@4.1.0: {} + + stdin-discarder@0.2.2: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.6.0 + get-east-asian-width: 1.6.0 + strip-ansi: 7.2.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + stringify-object@5.0.0: + dependencies: + get-own-enumerable-keys: 1.0.0 + is-obj: 3.0.0 + is-regexp: 3.1.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.2.2 + + strip-bom@3.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-final-newline@4.0.0: {} + + style-mod@4.1.3: {} + + sumchecker@3.0.1: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + systeminformation@5.31.11: {} + + tailwind-merge@3.6.0: {} + + tailwind-scrollbar-hide@4.0.0(tailwindcss@4.3.2): + dependencies: + tailwindcss: 4.3.2 + + tailwindcss@4.3.2: {} + + tapable@2.3.3: {} + + tar@7.5.19: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.3 + minizlib: 3.1.0 + yallist: 5.0.0 + + tauri-plugin-app-events-api@0.2.0: + dependencies: + '@tauri-apps/api': 2.11.1 + + temp-file@3.4.0: + dependencies: + async-exit-hook: 2.0.1 + fs-extra: 10.1.0 + + temp@0.9.4: + dependencies: + mkdirp: 0.5.6 + rimraf: 2.6.3 + + tiny-async-pool@1.3.0: + dependencies: + semver: 5.7.2 + + tiny-invariant@1.3.3: {} + + tinybench@2.9.0: {} + + tinyexec@1.2.4: {} + + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 + + tinyrainbow@3.1.0: {} + + tmp-promise@3.0.3: + dependencies: + tmp: 0.2.7 + + tmp@0.2.7: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + truncate-utf8-bytes@1.0.2: + dependencies: + utf8-byte-length: 1.0.5 + + ts-api-utils@2.5.0(typescript@6.0.3): + dependencies: + typescript: 6.0.3 + + ts-morph@26.0.0: + dependencies: + '@ts-morph/common': 0.27.0 + code-block-writer: 13.0.3 + + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + tw-animate-css@1.4.0: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.13.1: + optional: true + + type-is@2.1.0: + dependencies: + content-type: 2.0.0 + media-typer: 1.1.0 + mime-types: 3.0.2 + + typed-emitter@2.1.0: + optionalDependencies: + rxjs: 7.8.2 + + typescript-eslint@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + eslint: 10.6.0(jiti@2.7.0) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + typescript@6.0.3: {} + + undici-types@6.21.0: {} + + undici-types@7.24.6: {} + + undici@6.27.0: {} + + undici@7.28.0: {} + + unicorn-magic@0.3.0: {} + + universalify@0.1.2: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + unzipper@0.12.5: + dependencies: + bluebird: 3.7.2 + duplexer2: 0.1.4 + fs-extra: 11.3.1 + graceful-fs: 4.2.11 + node-int64: 0.4.0 + + update-browserslist-db@1.2.3(browserslist@4.28.4): + dependencies: + browserslist: 4.28.4 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + use-callback-ref@1.3.3(@types/react@19.2.17)(react@19.2.7): + dependencies: + react: 19.2.7 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.2.17 + + use-sidecar@1.1.3(@types/react@19.2.17)(react@19.2.7): + dependencies: + detect-node-es: 1.1.0 + react: 19.2.7 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.2.17 + + use-sync-external-store@1.6.0(react@19.2.7): + dependencies: + react: 19.2.7 + + usehooks-ts@3.1.1(react@19.2.7): + dependencies: + lodash.debounce: 4.0.8 + react: 19.2.7 + + utf8-byte-length@1.0.5: {} + + util-deprecate@1.0.2: {} + + validate-npm-package-name@7.0.2: {} + + vary@1.1.2: {} + + vaul@1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + + victory-vendor@37.3.6: + dependencies: + '@types/d3-array': 3.2.2 + '@types/d3-ease': 3.0.2 + '@types/d3-interpolate': 3.0.4 + '@types/d3-scale': 4.0.9 + '@types/d3-shape': 3.1.8 + '@types/d3-time': 3.0.4 + '@types/d3-timer': 3.0.2 + d3-array: 3.2.4 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-scale: 4.0.2 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-timer: 3.0.1 + + vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0): + dependencies: + lightningcss: 1.32.0 + picomatch: 4.0.5 + postcss: 8.5.16 + rolldown: 1.1.4 + tinyglobby: 0.2.17 + optionalDependencies: + '@types/node': 25.9.4 + esbuild: 0.25.12 + fsevents: 2.3.3 + jiti: 2.7.0 + yaml: 2.9.0 + + vitest@4.1.9(@types/node@25.9.4)(vite@8.1.3(@types/node@25.9.4)(jiti@2.7.0)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.9 + '@vitest/mocker': 4.1.9(vite@8.1.3(@types/node@25.9.4)(jiti@2.7.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.9 + '@vitest/runner': 4.1.9 + '@vitest/snapshot': 4.1.9 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 + es-module-lexer: 2.3.0 + expect-type: 1.4.0 + magic-string: 0.30.21 + obug: 2.1.3 + pathe: 2.0.3 + picomatch: 4.0.5 + std-env: 4.1.0 + tinybench: 2.9.0 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.0 + vite: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 25.9.4 + transitivePeerDependencies: + - msw + + w3c-keyname@2.2.8: {} + + webcrypto-core@1.9.2: + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/json-schema': 1.1.12 + '@peculiar/utils': 2.0.3 + asn1js: 3.0.10 + tslib: 2.8.1 + + webrtc-adapter@9.0.5: + dependencies: + sdp: 3.2.2 + + which-module@2.0.1: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + which@4.0.0: + dependencies: + isexe: 3.1.5 + + which@5.0.0: + dependencies: + isexe: 3.1.5 + + which@6.0.1: + dependencies: + isexe: 4.0.0 + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + word-wrap@1.2.5: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrappy@1.0.2: {} + + wsl-utils@0.3.1: + dependencies: + is-wsl: 3.1.1 + powershell-utils: 0.1.0 + + xmlbuilder@15.1.1: {} + + y18n@4.0.3: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yallist@5.0.0: {} + + yaml@2.9.0: {} + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs-parser@21.1.1: {} + + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + + yargs@17.7.3: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + + yocto-queue@0.1.0: {} + + yocto-spinner@1.2.0: + dependencies: + yoctocolors: 2.1.2 + + yoctocolors@2.1.2: {} + + zod-to-json-schema@3.25.2(zod@3.25.76): + dependencies: + zod: 3.25.76 + + zod-validation-error@4.0.2(zod@4.4.3): + dependencies: + zod: 4.4.3 + + zod@3.25.76: {} + + zod@4.4.3: {} + + zustand@5.0.14(@types/react@19.2.17)(immer@11.1.9)(react@19.2.7)(use-sync-external-store@1.6.0(react@19.2.7)): + optionalDependencies: + '@types/react': 19.2.17 + immer: 11.1.9 + react: 19.2.7 + use-sync-external-store: 1.6.0(react@19.2.7) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..3c697b7 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,10 @@ +packages: + - "packages/*" + - "apps/*" +allowBuilds: + electron: true + electron-winstaller: true + esbuild: true +overrides: + "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz" + mtp: "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz" diff --git a/scripts/build-packages.ts b/scripts/build-packages.ts index 0f4991a..6561947 100644 --- a/scripts/build-packages.ts +++ b/scripts/build-packages.ts @@ -34,7 +34,7 @@ for (const fullPath of packageDirs) { const entry = fullPath.replace(packagesDir + "/", ""); console.log(`Building ${entry}...`); try { - execSync("bun run build", { cwd: fullPath, stdio: "inherit" }); + execSync("pnpm run build", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} built successfully.`); } catch { console.error(`Failed to build ${entry}.`); diff --git a/scripts/copy-licenses.ts b/scripts/copy-licenses.ts index 5361e82..6ab5374 100644 --- a/scripts/copy-licenses.ts +++ b/scripts/copy-licenses.ts @@ -1,10 +1,10 @@ import { promises as fs } from "node:fs"; import path from "node:path"; -import { parse } from "jsonc-parser"; +import { parse } from "yaml"; -type BunLock = { +type PnpmLock = { lockfileVersion?: number; - workspaces?: Record; + importers?: Record; packages?: Record; }; @@ -36,7 +36,7 @@ type ResolvedPackage = { }; const ROOT = process.cwd(); -const LOCKFILE_PATH = path.join(ROOT, "bun.lock"); +const LOCKFILE_PATH = path.join(ROOT, "pnpm-lock.yaml"); const OUTPUT_DIR = path.join(ROOT, "licenses"); const COMPLIANCE_FILE_PATTERNS = [ @@ -48,15 +48,15 @@ const COMPLIANCE_FILE_PATTERNS = [ async function main(): Promise { await ensureExists( LOCKFILE_PATH, - "Could not find bun.lock in the project root.", + "Could not find pnpm-lock.yaml in the project root.", ); - const lock = await readBunLock(); + const lock = await readPnpmLock(); const nodeModulesRoots = await getNodeModulesRoots(lock); if (nodeModulesRoots.length === 0) { throw new Error( - "Could not find any node_modules directories in the repo root or workspace folders. Run `bun install` first.", + "Could not find any node_modules directories in the repo root or workspace folders. Run `pnpm install` first.", ); } @@ -95,25 +95,25 @@ async function main(): Promise { ); } -async function readBunLock(): Promise { +async function readPnpmLock(): Promise { const raw = await fs.readFile(LOCKFILE_PATH, "utf8"); const parsed = parse(raw); if (!parsed || typeof parsed !== "object") { - throw new Error("Failed to parse bun.lock"); + throw new Error("Failed to parse pnpm-lock.yaml"); } - return parsed as BunLock; + return parsed as PnpmLock; } -async function getNodeModulesRoots(lock: BunLock): Promise { +async function getNodeModulesRoots(lock: PnpmLock): Promise { const candidates = new Set(); candidates.add(path.join(ROOT, "node_modules")); - for (const workspacePath of Object.keys(lock.workspaces ?? {})) { + for (const workspacePath of Object.keys(lock.importers ?? {})) { const workspaceDir = - workspacePath === "" ? ROOT : path.join(ROOT, workspacePath); + workspacePath === "." ? ROOT : path.join(ROOT, workspacePath); candidates.add(path.join(workspaceDir, "node_modules")); } @@ -130,25 +130,15 @@ async function getNodeModulesRoots(lock: BunLock): Promise { return existing; } -function extractResolvedThirdPartyPackages(lock: BunLock): ResolvedPackage[] { +function extractResolvedThirdPartyPackages(lock: PnpmLock): ResolvedPackage[] { const results = new Map(); const packages = lock.packages ?? {}; - for (const rawValue of Object.values(packages)) { - if (!Array.isArray(rawValue) || rawValue.length === 0) continue; + for (const rawKey of Object.keys(packages)) { + const resolved = parsePnpmPackageKey(rawKey); + if (!resolved) continue; - const first = rawValue[0]; - if (typeof first !== "string") continue; - - // Examples: - // react@19.2.0 - // @types/react@19.2.2 - // @tensamin/ui@workspace:packages/ui - const atIndex = first.lastIndexOf("@"); - if (atIndex <= 0) continue; - - const name = first.slice(0, atIndex); - const version = first.slice(atIndex + 1); + const { name, version } = resolved; if (!name || !version) continue; if (version.startsWith("workspace:")) continue; @@ -162,6 +152,21 @@ function extractResolvedThirdPartyPackages(lock: BunLock): ResolvedPackage[] { return [...results.values()]; } +function parsePnpmPackageKey(rawKey: string): ResolvedPackage | null { + const withoutPeerSuffix = rawKey.replace(/\(.+\)$/, ""); + const normalized = withoutPeerSuffix.startsWith("/") + ? withoutPeerSuffix.slice(1) + : withoutPeerSuffix; + const atIndex = normalized.lastIndexOf("@"); + + if (atIndex <= 0) return null; + + return { + name: normalized.slice(0, atIndex), + version: normalized.slice(atIndex + 1), + }; +} + async function processInstalledPackage( packageName: string, versionFromLock: string, @@ -354,7 +359,7 @@ async function writeThirdPartyNotices(records: PackageRecord[]): Promise { lines.push("# Third-Party Notices"); lines.push(""); lines.push( - "Generated from bun.lock and installed packages in workspace node_modules folders.", + "Generated from pnpm-lock.yaml and installed packages in workspace node_modules folders.", ); lines.push(""); @@ -442,7 +447,7 @@ async function writeCycloneDxSbom(records: PackageRecord[]): Promise { tools: [ { vendor: "OpenAI", - name: "custom bun license generator", + name: "custom pnpm license generator", }, ], component: { diff --git a/scripts/copy-releases.ts b/scripts/copy-releases.ts index fcfca46..5dfe0e9 100644 --- a/scripts/copy-releases.ts +++ b/scripts/copy-releases.ts @@ -2,6 +2,7 @@ import { copyFileSync, createReadStream, existsSync, + writeFileSync, mkdirSync, readdirSync, renameSync, @@ -113,13 +114,15 @@ const artifacts = await Promise.all( }), ); -await Bun.write( +writeFileSync( join(releasesDir, "electron-release-metadata.json"), `${JSON.stringify({ version: releaseVersion, tag: releaseTag, publishedAt: new Date().toISOString(), artifacts: artifacts.filter((artifact) => artifact.platform !== "android") }, null, 2)}\n`, + "utf8", ); -await Bun.write( +writeFileSync( join(releasesDir, "SHA256SUMS"), `${artifacts.map((artifact) => `${artifact.sha256} ${artifact.name}`).join("\n")}\n`, + "utf8", ); console.log("Releases copied successfully."); diff --git a/scripts/lint-packages.ts b/scripts/lint-packages.ts index b9abdf2..9791c81 100644 --- a/scripts/lint-packages.ts +++ b/scripts/lint-packages.ts @@ -36,7 +36,7 @@ for (const targetDir of targetDirs) { const entry = relative(rootDir, fullPath); console.log(`Linting ${entry}...`); try { - execSync("bun run lint", { cwd: fullPath, stdio: "inherit" }); + execSync("pnpm run lint", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} linted successfully.`); } catch { console.error(`Failed to lint ${entry}.`); diff --git a/scripts/update-packages.ts b/scripts/update-packages.ts index 403943a..d6f59e1 100644 --- a/scripts/update-packages.ts +++ b/scripts/update-packages.ts @@ -34,7 +34,7 @@ for (const fullPath of packageDirs) { const entry = fullPath.replace(packagesDir + "/", ""); console.log(`Updating ${entry}...`); try { - execSync("bun update --interactive", { cwd: fullPath, stdio: "inherit" }); + execSync("pnpm update --interactive", { cwd: fullPath, stdio: "inherit" }); console.log(`${entry} updated successfully.`); } catch { console.error(`Failed to update ${entry}.`); From 1621defe34a0afdf38bd5467d0a6711e08bda920 Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 4 Jul 2026 01:28:27 +0200 Subject: [PATCH 44/75] (fix): build stuff --- apps/web/vite.config.ts | 5 +++++ pnpm-lock.yaml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index c2571df..4ea6a18 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -111,6 +111,11 @@ export default defineConfig({ "react-dom", "react-redux", "use-sync-external-store", + "@tanstack/history", + "@tanstack/react-router", + "@tanstack/react-store", + "@tanstack/router-core", + "@tanstack/store", "@tensamin/crypto", "@tensamin/storage", "@tensamin/mtp", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e801715..39d3e6a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2042,7 +2042,7 @@ packages: resolution: {integrity: sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==} '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz': - resolution: {tarball: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz} + resolution: {integrity: sha512-tOvNNwGWnj/LJCXHIUtN+uZG2VoRUGZXuVAoHP18OypgsmlSbx2iQNhkLF1t1qnIboVf5V5mvraVGLXtz4csgQ==, tarball: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz} version: 0.0.39 peerDependencies: react: ^19.2.7 From 1b24e7cda137905be558900728af251ed6d87187 Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 4 Jul 2026 01:35:13 +0200 Subject: [PATCH 45/75] (fix): integrity stuff --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 39d3e6a..9bced19 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3747,7 +3747,7 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz: - resolution: {tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz} + resolution: {integrity: sha512-/MNGev6VRL60hg8I0+TYD0E9QqgbQPT5LCJOzEIuqKzdAMS76LbLpVzq4sA5KCrCkgHVWTUeroafXHVxFCEgUA==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz} version: 0.1.0 nanoid@3.3.15: From fc6d8950d48a073cf0471e36528933f81cdce599 Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 4 Jul 2026 01:50:13 +0200 Subject: [PATCH 46/75] (fix): builds --- .forgejo/workflows/deploy-dev.yml | 10 +++++++++- .forgejo/workflows/deploy-prod.yml | 10 +++++++++- apps/tauri/package.json | 6 +++--- apps/tauri/render-version.ts | 3 +++ flake.nix | 1 + 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index c203506..2928071 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -155,7 +155,15 @@ jobs: EOF - name: Build Electron desktop - run: nix develop .#electron --command pnpm run build:desktop + run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail + SEVEN_ZIP_DIR="$(mktemp -d)" + mkdir -p "$SEVEN_ZIP_DIR/bin" + ln -s "$(command -v 7za)" "$SEVEN_ZIP_DIR/bin/7za" + cd apps/electron + pnpm run package:raw -- -c.toolsets.sevenZip.url="file://$SEVEN_ZIP_DIR" + EOF - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 7ddc1c5..5142dd3 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -154,7 +154,15 @@ jobs: EOF - name: Build Electron desktop - run: nix develop .#electron --command pnpm run build:desktop + run: | + nix develop .#electron --command bash <<'EOF' + set -euo pipefail + SEVEN_ZIP_DIR="$(mktemp -d)" + mkdir -p "$SEVEN_ZIP_DIR/bin" + ln -s "$(command -v 7za)" "$SEVEN_ZIP_DIR/bin/7za" + cd apps/electron + pnpm run package:raw -- -c.toolsets.sevenZip.url="file://$SEVEN_ZIP_DIR" + EOF - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 diff --git a/apps/tauri/package.json b/apps/tauri/package.json index d0314d3..7cfe0dc 100644 --- a/apps/tauri/package.json +++ b/apps/tauri/package.json @@ -21,9 +21,9 @@ "dev:mobile:raw": "tauri android dev --host ${TAURI_DEV_HOST:-127.0.0.1}", "start-adb:mobile:raw": "adb devices", "build:mobile:raw": "tauri android build", - "dev:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command pnpm run dev:mobile:raw; else pnpm run dev:mobile:raw; fi", - "start-adb:mobile": "if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command pnpm run start-adb:mobile:raw; else pnpm run start-adb:mobile:raw; fi", - "build:mobile": "node render-version.ts && if command -v nix >/dev/null 2>&1; then nix develop ../..#tauri --command pnpm run build:mobile:raw; else pnpm run build:mobile:raw; fi && node render-version.ts --unrender", + "dev:mobile": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#tauri --command pnpm run dev:mobile:raw; else pnpm run dev:mobile:raw; fi", + "start-adb:mobile": "if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#tauri --command pnpm run start-adb:mobile:raw; else pnpm run start-adb:mobile:raw; fi", + "build:mobile": "node render-version.ts && trap 'node render-version.ts --unrender' EXIT && if command -v nix >/dev/null 2>&1 && [ -z \"$IN_NIX_SHELL\" ]; then nix develop ../..#tauri --command pnpm run build:mobile:raw; else pnpm run build:mobile:raw; fi", "gen-icons": "tauri icon ./logo.json && node scripts/sync-electron-icons.ts", "format": "pnpm exec prettier --write .", "lint": "eslint src" diff --git a/apps/tauri/render-version.ts b/apps/tauri/render-version.ts index 0bd3fca..7635bed 100644 --- a/apps/tauri/render-version.ts +++ b/apps/tauri/render-version.ts @@ -1,9 +1,12 @@ import fs from "fs"; import path from "path"; +import { fileURLToPath } from "url"; // Config const PLACEHOLDER_VERSION = "0.0.0"; +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + const rootPackageJsonPath = path.resolve(__dirname, "../../package.json"); const cargoTomlPath = path.resolve(__dirname, "./src-tauri/Cargo.toml"); const tauriConfigPath = path.resolve(__dirname, "./src-tauri/tauri.conf.json"); diff --git a/flake.nix b/flake.nix index 79a6c21..1a05922 100644 --- a/flake.nix +++ b/flake.nix @@ -233,6 +233,7 @@ fakeroot rsync xz + p7zip ] ++ electronRuntimeLibs ++ commonDeps; From 4e69b8ef776541de4aa7fe03750952bff3a544ab Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 4 Jul 2026 20:26:51 +0200 Subject: [PATCH 47/75] (feat): small error screen improvement (feat): use correct type maps (fix): remove sudo from nix flake (wip): migrate ttp to mtp --- apps/web/src/index.tsx | 2 +- flake.nix | 1 - package.json | 6 +- packages/mtp/package.json | 1 + packages/mtp/src/context.tsx | 207 +++++++++++++++++------- pnpm-lock.yaml | 127 ++++++++------- pnpm-workspace.yaml | 4 +- type-maps.yaml | 300 +++++++++++++++++++++++++++-------- 8 files changed, 462 insertions(+), 186 deletions(-) diff --git a/apps/web/src/index.tsx b/apps/web/src/index.tsx index 0a35819..02ec8c2 100644 --- a/apps/web/src/index.tsx +++ b/apps/web/src/index.tsx @@ -284,7 +284,7 @@ const rootRoute = createRootRoute({ errorComponent: ({ error }: { error: Error }) => ( ), }); diff --git a/flake.nix b/flake.nix index 1a05922..d6ad8d1 100644 --- a/flake.nix +++ b/flake.nix @@ -228,7 +228,6 @@ dpkg rpm fpm - sudo curl fakeroot rsync diff --git a/package.json b/package.json index dc4edca..3765f87 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ }, "devDependencies": { "@eslint/js": "^10.0.1", - "@types/node": "^25.6.0", + "@types/node": "^26.1.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@typescript-eslint/parser": "^8.59.1", @@ -45,10 +45,6 @@ "vitest": "^4.0.8", "yaml": "^2.8.2" }, - "overrides": { - "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz", - "mtp": "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz" - }, "dependencies": { "@tensamin/ui": "*", "mtp": "*", diff --git a/packages/mtp/package.json b/packages/mtp/package.json index 4d6aa3f..3cf7c86 100644 --- a/packages/mtp/package.json +++ b/packages/mtp/package.json @@ -17,6 +17,7 @@ "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", "@tensamin/ui": "*", + "lucide-react": "^1.14.0", "mtp": "*", "react": "^19.2.0", "react-dom": "^19.2.0", diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index ed2e57d..37eb314 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -10,11 +10,14 @@ import { } from "react"; import { isTauri } from "@tauri-apps/api/core"; import { onResume } from "tauri-plugin-app-events-api"; -import { ConnectionState, MTPClient, codec } from "mtp"; +import { MTPClient } from "mtp"; import { type z } from "zod"; +import { ConnectionState } from "./values"; import createAsyncQueue, { createQueuedFunc, } from "@tensamin/shared/asyncQueue"; +import { toast as sonnerToast } from "@tensamin/ui"; +import { Loader2 } from "lucide-react"; import { type Calls, @@ -23,7 +26,7 @@ import { mtp as schemas, type MTP as Schemas, } from "@tensamin/shared/data"; -import { log, toast } from "@tensamin/shared/log"; +import { log } from "@tensamin/shared/log"; import { useStorage } from "@tensamin/storage/context"; import { @@ -33,6 +36,17 @@ import { RETRY_INTERVAL, } from "./values"; +function base64ToUint8Array(b64: string) { + const bin = atob(b64); + const out = new Uint8Array(bin.length); + + for (let i = 0; i < bin.length; i++) { + out[i] = bin.charCodeAt(i); + } + + return out; +} + const PUSH_TYPES = [ "message_live", "message_state", @@ -235,11 +249,13 @@ export function Provider(props: { return subscribe("error_no_iota", () => { setIdentified(false); setIdentifying(false); - toast( - "error", - "We couldn't reach your Iota", - "Check your network connection and try restarting your Iota", - ); + sonnerToast.error("We couldn't reach your Iota", { + description: + "Check your network connection and try restarting your Iota", + icon: null, + duration: Infinity, + closeButton: true, + }); }); }, [connected, subscribe]); @@ -293,39 +309,37 @@ export function Provider(props: { reconnectResetTimer = null; }; - const scheduleReconnectReset = () => { - clearReconnectResetTimer(); - reconnectResetTimer = setTimeout(() => { - attempts = 0; - reconnectResetTimer = null; - }, RECONNECT_RESET * 1_000); - }; + let resolveConnection: (() => void) | null = null; - const scheduleReconnect = (reason?: unknown) => { - if (disposed || reconnectScheduled) return; - - if (attempts >= RECONNECT_TRIES) { - toast( - "error", - "Connection Failed", - "Unable to connect to the Omikron after multiple attempts. Cehck your network connection.", - ); - log(0, "mtp", "red", "Reconnection attempts exhausted", reason); - return; - } - - attempts += 1; - reconnectScheduled = true; - reconnectTimer = setTimeout(() => { - reconnectScheduled = false; - reconnectTimer = null; - void connect(); - }, RETRY_INTERVAL); - }; + if (!props.blockConnection) { + sonnerToast.promise( + new Promise((resolve) => { + resolveConnection = resolve; + }), + { + id: "mtp-connection-toast", + loading: "Connecting to server...", + icon: ( +
    + +
    + ), + duration: Infinity, + }, + ); + } async function connect() { if (disposed || props.blockConnection) return; + const cleanup = () => { + clientRef.current?.disconnect(); + clientRef.current = null; + clearReconnectResetTimer(); + setReadyState(ConnectionState.Disconnected); + setIdentified(false); + setIdentifying(false); + }; try { setIdentified(false); setIdentifying(false); @@ -333,16 +347,60 @@ export function Provider(props: { await MTPClient.init(); log(2, "mtp", "purple", "Fetching Omikron data."); - const omikronData = await fetch( + const data = await fetch( `${mtpUrl}api/get/omikron/${await load("user_id")}`, - ).then(async (res) => - codec.decode(new Uint8Array(await res.arrayBuffer())), ); - console.log(omikronData); + if (data.status === 404) { + sonnerToast.error("We couldn't reach your Iota", { + description: + "Check your network connection and try restarting your Iota", + icon: null, + duration: Infinity, + closeButton: true, + }); + resolveConnection?.(); + cleanup(); + return; + } + + const omikronData = (await data.json()) as { + id: number; + ip_address: string; + port: number; + public_key: string; + status: string; + }; + //codec.decode(new Uint8Array(await res.arrayBuffer())), + + if ( + !omikronData.ip_address || + !omikronData.port || + !omikronData.public_key + ) + throw new Error("Invalid Omikron data"); + + const url = `https://${omikronData.ip_address}:${omikronData.port}`; + + log(2, "mtp", "green", "Connecting to: " + url); const client = await MTPClient.create({ - url: mtpUrl ?? "", + url, + storage: { + getItem: (key) => { + console.log(key); + return key; + }, + removeItem: (key) => { + console.log(key); + }, + setItem: console.log, + }, + credentials: { + clientId: await load("user_id"), + keyring: base64ToUint8Array(await load("private_key")), + }, + hostPublicKey: omikronData.public_key, descriptor: "client", pings: true, logger: (event) => { @@ -352,13 +410,15 @@ export function Provider(props: { ); } - log( - 2, - "mtp", - event.type === "state" ? "cyan" : "blue", - event.type === "state" ? event.data : event.type, - event, - ); + if (event.type !== "Pong") { + log( + 2, + "mtp", + event.type === "state" ? "cyan" : "blue", + event.type === "state" ? event.data : event.type, + event, + ); + } }, }); @@ -391,7 +451,14 @@ export function Provider(props: { ); clearReconnectTimer(); - scheduleReconnectReset(); + + // Schedule reconnect reset + clearReconnectResetTimer(); + reconnectResetTimer = setTimeout(() => { + attempts = 0; + reconnectResetTimer = null; + }, RECONNECT_RESET * 1_000); + setReadyState(client.state); setIdentifying(true); @@ -405,15 +472,10 @@ export function Provider(props: { setFreshCalls(finalResponse.data.calls); setIdentifying(false); setIdentified(true); + resolveConnection?.(); } catch (connectError) { if (disposed) return; - - clientRef.current?.disconnect(); - clientRef.current = null; - clearReconnectResetTimer(); - setReadyState(ConnectionState.Disconnected); - setIdentified(false); - setIdentifying(false); + cleanup(); log( 0, "mtp", @@ -421,7 +483,39 @@ export function Provider(props: { "Connection/authentication attempt failed", getProtocolErrorDetails(connectError) ?? connectError, ); - scheduleReconnect(connectError); + + // Schedule reconnect + if (disposed || reconnectScheduled) return; + if (attempts >= RECONNECT_TRIES) { + log(0, "mtp", "red", "Reconnection attempts exhausted", connectError); + sonnerToast.error("Connection failed", { + id: "mtp-connection-toast", + description: + connectError instanceof Error + ? connectError.message + : String(connectError ?? "Unknown error"), + icon: null, + duration: Infinity, + closeButton: true, + promise: null, + } as unknown as Parameters[1]); + return; + } + + attempts += 1; + + // Show loading toast + sonnerToast.loading( + `Reconnecting to server... (attempt ${attempts} of ${RECONNECT_TRIES})`, + { id: "mtp-connection-toast" }, + ); + + reconnectScheduled = true; + reconnectTimer = setTimeout(() => { + reconnectScheduled = false; + reconnectTimer = null; + void connect(); + }, RETRY_INTERVAL); } } @@ -460,6 +554,7 @@ export function Provider(props: { setReadyState(ConnectionState.Disconnected); setIdentified(false); setIdentifying(false); + sonnerToast.dismiss("mtp-connection-toast"); }; }, [mtpUrl, props.blockConnection, load]); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9bced19..0f9796e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,19 +5,19 @@ settings: excludeLinksFromLockfile: false overrides: - '@tensamin/ui': https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz + '@tensamin/ui': https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz importers: .: dependencies: '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) mtp: - specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz - version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz sonner: specifier: ^2.0.7 version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) @@ -26,8 +26,8 @@ importers: specifier: ^10.0.1 version: 10.0.1(eslint@10.6.0(jiti@2.7.0)) '@types/node': - specifier: ^25.6.0 - version: 25.9.4 + specifier: ^26.1.0 + version: 26.1.0 '@types/react': specifier: ^19.2.14 version: 19.2.17 @@ -63,7 +63,7 @@ importers: version: 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) vitest: specifier: ^4.0.8 - version: 4.1.9(@types/node@25.9.4)(vite@8.1.3(@types/node@25.9.4)(jiti@2.7.0)(yaml@2.9.0)) + version: 4.1.9(@types/node@26.1.0)(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0)) yaml: specifier: ^2.8.2 version: 2.9.0 @@ -107,8 +107,8 @@ importers: specifier: workspace:* version: link:../../packages/shared '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) react: specifier: ^19.2.0 version: 19.2.7 @@ -205,7 +205,7 @@ importers: version: 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7) '@tailwindcss/vite': specifier: ^4.2.4 - version: 4.3.2(vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) + version: 4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) '@tanstack/devtools-event-client': specifier: ^0.3.0 version: 0.3.5 @@ -267,8 +267,8 @@ importers: specifier: workspace:* version: link:../../packages/tauth '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) '@tensamin/user': specifier: workspace:* version: link:../../packages/user @@ -479,7 +479,7 @@ importers: version: 19.2.3(@types/react@19.2.17) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.3(vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.0.3(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) esbuild: specifier: ^0.25.11 version: 0.25.12 @@ -497,7 +497,7 @@ importers: version: 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) vite: specifier: ^8.0.10 - version: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + version: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) packages/call: dependencies: @@ -523,8 +523,8 @@ importers: specifier: workspace:* version: link:../storage '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) '@tensamin/user': specifier: workspace:* version: link:../user @@ -583,8 +583,8 @@ importers: specifier: workspace:* version: link:../storage '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) '@tensamin/user': specifier: workspace:* version: link:../user @@ -655,11 +655,14 @@ importers: specifier: workspace:* version: link:../storage '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + lucide-react: + specifier: ^1.14.0 + version: 1.23.0(react@19.2.7) mtp: - specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz - version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz react: specifier: ^19.2.0 version: 19.2.7 @@ -701,8 +704,8 @@ importers: specifier: workspace:* version: link:../storage '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) '@tensamin/user': specifier: workspace:* version: link:../user @@ -722,8 +725,8 @@ importers: packages/shared: dependencies: '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) lucide-react: specifier: ^1.14.0 version: 1.23.0(react@19.2.7) @@ -746,8 +749,8 @@ importers: specifier: workspace:* version: link:../shared '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) react: specifier: ^19.2.0 version: 19.2.7 @@ -779,8 +782,8 @@ importers: specifier: workspace:* version: link:../../apps/tauri '@tensamin/ui': - specifier: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz - version: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) '@tensamin/user': specifier: workspace:* version: link:../user @@ -2041,9 +2044,9 @@ packages: '@tauri-apps/plugin-notification@2.3.3': resolution: {integrity: sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==} - '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz': - resolution: {integrity: sha512-tOvNNwGWnj/LJCXHIUtN+uZG2VoRUGZXuVAoHP18OypgsmlSbx2iQNhkLF1t1qnIboVf5V5mvraVGLXtz4csgQ==, tarball: https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz} - version: 0.0.39 + '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz': + resolution: {integrity: sha512-xyzw3/XAYKczV1cYQ2QuzhFzFYbU9U2U/gi/TMU/U7MC0vp1xHCVssTcB1kot8yk9YEIEcDBK2X49Ftzj6bJeQ==, tarball: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz} + version: 0.0.40 peerDependencies: react: ^19.2.7 react-dom: ^19.2.7 @@ -2123,6 +2126,9 @@ packages: '@types/node@25.9.4': resolution: {integrity: sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g==} + '@types/node@26.1.0': + resolution: {integrity: sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==} + '@types/qrcode@1.5.6': resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==} @@ -3746,8 +3752,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz: - resolution: {integrity: sha512-/MNGev6VRL60hg8I0+TYD0E9QqgbQPT5LCJOzEIuqKzdAMS76LbLpVzq4sA5KCrCkgHVWTUeroafXHVxFCEgUA==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz: + resolution: {integrity: sha512-ixykS56llG6Azoxn4ff2v83LlrkCsd/s5wXmEUsxGtM63v8cYvX/HXh1AmWfJeaL0QZiGw1QyyOC0vplXZjwVg==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz} version: 0.1.0 nanoid@3.3.15: @@ -4556,6 +4562,9 @@ packages: undici-types@7.24.6: resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + undici@6.27.0: resolution: {integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==} engines: {node: '>=18.17'} @@ -5946,12 +5955,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.3.2 '@tailwindcss/oxide-win32-x64-msvc': 4.3.2 - '@tailwindcss/vite@4.3.2(vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': + '@tailwindcss/vite@4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': dependencies: '@tailwindcss/node': 4.3.2 '@tailwindcss/oxide': 4.3.2 tailwindcss: 4.3.2 - vite: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) '@tanstack/devtools-event-client@0.3.5': {} @@ -6071,7 +6080,7 @@ snapshots: dependencies: '@tauri-apps/api': 2.11.1 - '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3)': + '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3)': dependencies: '@base-ui/react': 1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@fontsource-variable/inter': 5.2.8 @@ -6166,7 +6175,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 25.9.4 + '@types/node': 26.1.0 '@types/http-cache-semantics@4.2.0': {} @@ -6186,9 +6195,13 @@ snapshots: dependencies: undici-types: 7.24.6 + '@types/node@26.1.0': + dependencies: + undici-types: 8.3.0 + '@types/qrcode@1.5.6': dependencies: - '@types/node': 25.9.4 + '@types/node': 26.1.0 '@types/react-dom@19.2.3(@types/react@19.2.17)': dependencies: @@ -6302,10 +6315,10 @@ snapshots: '@typescript-eslint/types': 8.62.1 eslint-visitor-keys: 5.0.1 - '@vitejs/plugin-react@6.0.3(vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': + '@vitejs/plugin-react@6.0.3(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) '@vitest/expect@4.1.9': dependencies: @@ -6316,13 +6329,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.9(vite@8.1.3(@types/node@25.9.4)(jiti@2.7.0)(yaml@2.9.0))': + '@vitest/mocker@4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) '@vitest/pretty-format@4.1.9': dependencies: @@ -7866,7 +7879,7 @@ snapshots: ms@2.1.3: {} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz: {} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz: {} nanoid@3.3.15: {} @@ -7881,11 +7894,11 @@ snapshots: node-abi@4.33.0: dependencies: - semver: 7.7.4 + semver: 7.8.5 node-api-version@0.2.1: dependencies: - semver: 7.7.4 + semver: 7.8.5 node-gyp@12.4.0: dependencies: @@ -7894,7 +7907,7 @@ snapshots: graceful-fs: 4.2.11 nopt: 9.0.0 proc-log: 6.1.0 - semver: 7.7.4 + semver: 7.8.5 tar: 7.5.19 tinyglobby: 0.2.17 undici: 6.27.0 @@ -8702,6 +8715,8 @@ snapshots: undici-types@7.24.6: {} + undici-types@8.3.0: {} + undici@6.27.0: {} undici@7.28.0: {} @@ -8790,7 +8805,7 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - vite@8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0): + vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.5 @@ -8798,16 +8813,16 @@ snapshots: rolldown: 1.1.4 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 26.1.0 esbuild: 0.25.12 fsevents: 2.3.3 jiti: 2.7.0 yaml: 2.9.0 - vitest@4.1.9(@types/node@25.9.4)(vite@8.1.3(@types/node@25.9.4)(jiti@2.7.0)(yaml@2.9.0)): + vitest@4.1.9(@types/node@26.1.0)(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.9 - '@vitest/mocker': 4.1.9(vite@8.1.3(@types/node@25.9.4)(jiti@2.7.0)(yaml@2.9.0)) + '@vitest/mocker': 4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.9 '@vitest/runner': 4.1.9 '@vitest/snapshot': 4.1.9 @@ -8824,10 +8839,10 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.1.3(@types/node@25.9.4)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) + vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 26.1.0 transitivePeerDependencies: - msw diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3c697b7..e9940f7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -6,5 +6,5 @@ allowBuilds: electron-winstaller: true esbuild: true overrides: - "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/latest/tensamin-ui.tgz" - mtp: "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-8dc8b54/mtp-0.1.0.tgz" + "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz" + mtp: "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz" diff --git a/type-maps.yaml b/type-maps.yaml index b542504..501a034 100644 --- a/type-maps.yaml +++ b/type-maps.yaml @@ -1,69 +1,239 @@ -protocol_version: "0.0" +protocol_version: "1.0" + +# Note that markers 0 to 31 are reserved for default use, manually working with them is not recommended + +# Fixed CommunicationType markers are: +# Error: 0 +# ErrorParsing: 1 +# ErrorBadVersion: 2 +# Disconnect: 3 +# Redirect: 4 +# Shutdown: 5 +# BadRequest: 6 +# Unauthorized: 7 +# Forbidden: 8 +# NotFound: 9 +# TooManyRequests: 10 +# InternalServerError: 11 +# BadGateway: 12 +# ServiceUnavailable: 13 +# GatewayTimeout: 14 +# Identification: 15 +# IdentificationResponse: 16 +# Register: 17 +# RegisterResponse: 18 +# Ping: 19 +# Pong: 20 + +# Fixed Data Type markers are: +# Error: 0 +# ErrorParsing: 1 +# ErrorMessage: 2 +# Version: 3 +# Description: 4 +# Timestamp: 5 +# Id: 6 +# ClientNonce: 7 +# ServerNonce: 8 +# PublicKeys: 9 +# Signature: 10 +# Connected: 11 type_maps: - "0.0": + "1.0": CommunicationTypes: - TempCoolType: 32 - GetUserData: 34 - ChangeUserData: 35 - MessageLive: 36 - MessagesGet: 37 - MessageSend: 38 - AddConversation: 39 - MessageState: 40 - LoadTxtRecord: 41 - AuthenticateApp: 42 - CreateApp: 43 - CallToken: 44 - CallData: 45 - CallInvite: 46 - AppPing: 47 - ErrorNoIota: 48 + ErrorProtocol: 33 + ErrorAnonymous: 34 + ErrorInternal: 35 + ErrorInvalidData: 36 + ErrorInvalidUserId: 37 + ErrorInvalidOmikronId: 38 + ErrorNotFound: 39 + ErrorNotAuthenticated: 40 + ErrorNoIota: 41 + ErrorInvalidChallenge: 42 + ErrorInvalidSecret: 43 + ErrorInvalidPrivateKey: 44 + ErrorInvalidPublicKey: 45 + ErrorNoUserId: 46 + ErrorNoCallId: 47 + ErrorInvalidCallId: 48 + Success: 49 + ShortenLink: 50 + SettingsSave: 51 + SettingsLoad: 52 + SettingsList: 53 + GlobalSettingsSave: 54 + GlobalSettingsLoad: 55 + Message: 56 + MessageState: 57 + MessageSend: 58 + MessageLive: 59 + MessageOtherIota: 60 + MessageChunk: 61 + MessagesGet: 62 + PushNotification: 63 + ReadNotification: 64 + GetNotifications: 65 + TauriIdentification: 66 + ChangeConfirm: 67 + ConfirmReceive: 68 + ConfirmRead: 69 + GetChats: 70 + GetStates: 71 + AddCommunity: 72 + RemoveCommunity: 73 + GetCommunities: 74 + RegisterIota: 81 + RegisterIotaSuccess: 82 + AddConversation: 85 + SendChat: 86 + ClientChanged: 87 + ClientConnected: 88 + ClientDisconnected: 89 + ClientClosed: 90 + PublicKey: 91 + PrivateKey: 92 + WebrtcSdp: 93 + WebrtcIce: 94 + StartStream: 95 + EndStream: 96 + WatchStream: 97 + CallToken: 98 + CallInvite: 99 + CallDisconnectUser: 100 + CallTimeoutUser: 101 + CallSetAnonymousJoining: 102 + CallData: 103 + EndCall: 104 + Function: 105 + Update: 106 + CreateUser: 107 + RhoUpdate: 108 + UserConnected: 109 + UserDisconnected: 110 + IotaConnected: 111 + IotaDisconnected: 112 + SyncClientIotaStatus: 113 + GetUserData: 114 + GetIotaData: 115 + IotaUserData: 116 + ChangeUserData: 117 + ChangeIotaData: 118 + GetRegister: 119 + CompleteRegisterUser: 120 + CompleteRegisterIota: 121 + DeleteUser: 122 + DeleteIota: 123 + StartRegister: 124 + CompleteRegister: 125 + GetApp: 126 + CreateApp: 127 + DeleteApp: 128 + SaveAppData: 129 + LoadAppData: 130 + AppIdentification: 131 + AppChallenge: 132 + AppChallengeResponse: 133 + AppIdentificationResponse: 134 + LoadTxtRecord: 135 DataTypes: - About: 32 - AppIdentifier: 33 - AppPublicKey: 34 - Avatar: 35 - CallId: 36 - CallMembers: 37 - CallSecret: 38 - CallToken: 39 - Calls: 40 - Challenge: 41 - ChatPartnerId: 42 - ChatPartnerName: 43 - Communities: 44 - CommunityId: 45 - Contacts: 46 - Content: 47 - Display: 48 - Files: 49 - Height: 50 - IotaId: 51 - LastMessage: 52 - LastMessageAt: 53 - LastPing: 54 - Message: 55 - MessageState: 56 - Messages: 57 - Name: 58 - Offset: 59 - OmikronConnections: 60 - OmikronId: 61 - OnlineStatus: 62 - Path: 63 - PingIota: 64 - PublicKey: 65 - ReceiverId: 66 - SendTime: 67 - SenderId: 68 - SessionId: 69 - Status: 70 - SubEnd: 71 - SubLevel: 72 - Tint: 73 - Type: 74 - UserId: 75 - UserIds: 76 - Username: 77 - AppVersion: 78 + ErrorType: 32 + ErrorProtocol: 33 + AcceptedIds: 34 + Uuid: 35 + RegisterId: 36 + Link: 37 + Settings: 38 + SettingsName: 39 + ChatPartnerId: 40 + ChatPartnerName: 41 + IotaId: 42 + UserId: 43 + UserIds: 44 + IotaIds: 45 + UserState: 46 + UserStates: 47 + UserPings: 48 + CallState: 49 + ScreenShare: 50 + PrivateKeyHash: 51 + Accepted: 52 + AcceptedProfiles: 53 + DeniedProfiles: 54 + Content: 55 + Messages: 56 + Notifications: 57 + SendTime: 58 + GetTime: 59 + GetVariant: 60 + SharedSecretOwn: 61 + SharedSecretOther: 62 + SharedSecretSign: 63 + SharedSecret: 64 + CallId: 65 + CallToken: 66 + CallSecret: 67 + Untill: 68 + Enabled: 69 + StartDate: 70 + EndDate: 71 + ReceiverId: 72 + SenderId: 73 + Signed: 75 + Message: 76 + MessageState: 77 + LastPing: 78 + PingIota: 79 + PingClients: 80 + Matches: 81 + Omikron: 82 + Offset: 83 + Amount: 84 + Position: 85 + Name: 86 + Path: 87 + Codec: 88 + Function: 89 + Payload: 90 + Result: 91 + Interactables: 92 + WantToWatch: 93 + Watcher: 94 + CreatedAt: 95 + Username: 96 + Display: 97 + Avatar: 98 + About: 99 + Status: 100 + PublicKey: 101 + SubLevel: 102 + SubEnd: 103 + CommunityAddress: 104 + CommunityTitle: 106 + Communities: 107 + RhoConnections: 108 + User: 109 + OnlineStatus: 110 + OmikronId: 111 + OmikronConnections: 112 + ResetToken: 113 + NewToken: 114 + CallInvited: 115 + CallMembers: 116 + Calls: 117 + Timeout: 118 + HasAdmin: 119 + LastMessageAt: 120 + Height: 121 + SentBySelf: 122 + SessionId: 123 + Contacts: 124 + LastMessage: 125 + AppIdentifier: 127 + AppPrivateKey: 128 + AppPublicKey: 129 + AppSession: 130 + AppData: 131 + TauriToken: 132 + Challenge: 133 From 930663d495613877928e34539641406fa5f1eeae Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 5 Jul 2026 01:43:06 +0200 Subject: [PATCH 48/75] (feat): migrate ttp to mtp (wip): crypto migration --- apps/electron/src/main/tray.ts | 4 +- apps/web/src/components/modals/basic.tsx | 10 +- apps/web/src/components/modals/profile.tsx | 12 +- apps/web/src/components/navbar.tsx | 4 +- .../web/src/components/screens/login/form.tsx | 22 +- apps/web/src/components/sidebar.tsx | 15 +- apps/web/src/routes/app/home.tsx | 6 +- apps/web/src/routes/settings/profile.tsx | 26 +- apps/web/src/routes/settings/security.tsx | 177 +++++-------- .../call/src/components/buttons/invite.tsx | 2 +- packages/call/src/components/invitePopup.tsx | 6 +- packages/call/src/components/modals/base.tsx | 12 +- packages/call/src/components/top.tsx | 6 +- packages/call/src/store.tsx | 12 +- packages/call/src/views/preview.tsx | 2 +- packages/chat/src/behaviour/conversation.ts | 12 +- packages/chat/src/components/input.tsx | 8 +- packages/chat/src/components/message.tsx | 25 +- packages/chat/src/context.tsx | 56 ++-- packages/chat/src/screen.tsx | 232 +++++++++-------- packages/chat/src/values.ts | 2 +- packages/crypto/src/context.tsx | 204 ++------------- packages/mtp/src/context.tsx | 245 +++++++++--------- packages/notifications/src/context.tsx | 26 +- packages/shared/src/data.ts | 120 ++++----- packages/storage/src/session.tsx | 2 +- packages/tauth/src/context.tsx | 32 ++- packages/user/src/context.tsx | 8 +- pnpm-lock.yaml | 16 +- pnpm-workspace.yaml | 2 +- 30 files changed, 558 insertions(+), 748 deletions(-) diff --git a/apps/electron/src/main/tray.ts b/apps/electron/src/main/tray.ts index 9e91017..774f7bf 100644 --- a/apps/electron/src/main/tray.ts +++ b/apps/electron/src/main/tray.ts @@ -21,5 +21,5 @@ export function initTray() { tray.on("click", (event) => { console.log(event); - }) -} \ No newline at end of file + }); +} diff --git a/apps/web/src/components/modals/basic.tsx b/apps/web/src/components/modals/basic.tsx index eb9a27b..01794cb 100644 --- a/apps/web/src/components/modals/basic.tsx +++ b/apps/web/src/components/modals/basic.tsx @@ -19,13 +19,13 @@ export function Basic({ extra?: React.ReactNode; }) { return ( - +
    - + - {user.display.slice(0, 2).toUpperCase()} + {user.Display.slice(0, 2).toUpperCase()} @@ -49,7 +49,7 @@ export function Basic({
    -

    {user.display}

    +

    {user.Display}

    {extra}
    @@ -58,5 +58,5 @@ export function Basic({ } export function Loading() { - return ; + return ; } diff --git a/apps/web/src/components/modals/profile.tsx b/apps/web/src/components/modals/profile.tsx index e34a9ac..9e01949 100644 --- a/apps/web/src/components/modals/profile.tsx +++ b/apps/web/src/components/modals/profile.tsx @@ -30,7 +30,7 @@ export default function Profile({ user }: { user: User }) { void (async () => { try { const ownId = await load("user_id"); - const privateKey = await load("private_key"); + const privateKey = await load("mtp_keyring"); const ownData = await get(ownId); const secret = await getSharedSecret( privateKey, @@ -61,17 +61,17 @@ export default function Profile({ user }: { user: User }) {
    - + - {user.display.slice(0, 2).toUpperCase()} + {user.Display.slice(0, 2).toUpperCase()}
    -

    {user.display}

    -

    {user.username}

    +

    {user.Display}

    +

    {user.Username}

    - + } diff --git a/apps/web/src/components/screens/login/form.tsx b/apps/web/src/components/screens/login/form.tsx index b1ff1a3..a963c60 100644 --- a/apps/web/src/components/screens/login/form.tsx +++ b/apps/web/src/components/screens/login/form.tsx @@ -24,7 +24,7 @@ const fetchedUser = z.object({ const formSchema = z.object({ username: z.string().min(1).max(255), - private_key: z.string().min(1).max(92), + mtp_keyring: z.string().min(1).max(92), }); /** @@ -61,9 +61,7 @@ function parseTuFileContent(rawFileContent: string): { ? Number(userIdString.split("@")[0]) : Number(userIdString); - const domain = userIdString.includes("@") - ? userIdString.split("@")[1] - : null; + const domain = userIdString.includes("@") ? userIdString.split("@")[1] : null; if (!userId || !privateKey) { throw new Error("Invalid file"); @@ -97,9 +95,9 @@ export default function Form() { await save("session_id", Date.now()); await save("user_id", parsed.userId); - await save("private_key", parsed.privateKey); + await save("mtp_keyring", parsed.privateKey); if (parsed.domain) { - await save("mtp_url", `https://${parsed.domain}/`); + await save("omega_url", `https://${parsed.domain}/`); } location.href = "/"; @@ -240,9 +238,9 @@ export default function Form() { await save("session_id", Date.now()); await save("user_id", user.user_id); - await save("private_key", inputParse.data.private_key); + await save("mtp_keyring", inputParse.data.mtp_keyring); if (domain) { - await save("mtp_url", `https://${domain}/`); + await save("omega_url", `https://${domain}/`); } location.href = "/"; @@ -273,10 +271,10 @@ export default function Form() { await save("session_id", Date.now()); await save("user_id", userId); - await save("private_key", privateKey); + await save("mtp_keyring", privateKey); if (domain) { - await save("mtp_url", `https://${domain}/`); + await save("omega_url", `https://${domain}/`); } location.href = "/"; @@ -335,8 +333,8 @@ export default function Form() {
    - - + +
    } /> - - - Are you sure? - - Exposing this QR code is the same as sharing your .tu - file. Since changing your private key is quite tedious, - only do this when you're confident the key won't be - compromised. - - - - Cancel - setQrCodeVisible(true)}> - Show QR Code - - } - /> - - - -
    - - )} +
    +

    + It's best not to touch these! They can be exploited to gain access to + your account! +

    +
    + +
    + setDraftMtpUrl(e.target.value)} + /> + +
    +
    +
    + +
    + setDraftForcedOmikronUrl(e.target.value)} + /> + setDraftForcedOmikronPublicKey(e.target.value)} + /> + +
    ); diff --git a/packages/call/src/components/buttons/invite.tsx b/packages/call/src/components/buttons/invite.tsx index d7ccf82..d049a5a 100644 --- a/packages/call/src/components/buttons/invite.tsx +++ b/packages/call/src/components/buttons/invite.tsx @@ -78,7 +78,7 @@ export default function InviteButton({ }); }} > - {user.display} + {user.Display} )} /> diff --git a/packages/call/src/components/invitePopup.tsx b/packages/call/src/components/invitePopup.tsx index 579d87d..15d9b1a 100644 --- a/packages/call/src/components/invitePopup.tsx +++ b/packages/call/src/components/invitePopup.tsx @@ -28,12 +28,12 @@ export default function InvitePopup({ - + - {user.display.slice(0, 2).toUpperCase()} + {user.Display.slice(0, 2).toUpperCase()} -

    {user.display}

    +

    {user.Display}

    ); @@ -209,14 +209,14 @@ export default function Base({ }, [participant, get]); useEffect(() => { - if (type !== "user" || !user?.avatar) { + if (type !== "user" || !user?.Avatar) { setAvatarBackgroundColor(undefined); return; } let active = true; - void getAverageImageColor(user.avatar).then((color) => { + void getAverageImageColor(user.Avatar).then((color) => { if (active) { setAvatarBackgroundColor(color); } @@ -225,7 +225,7 @@ export default function Base({ return () => { active = false; }; - }, [type, user?.avatar]); + }, [type, user?.Avatar]); // Avatar calc const currentCard = useRef(null); @@ -342,13 +342,13 @@ export default function Base({ height: "32cqh", }} > - + - {user.display.slice(0, 2).toUpperCase()} + {user.Display.slice(0, 2).toUpperCase()} )} diff --git a/packages/call/src/components/top.tsx b/packages/call/src/components/top.tsx index ce5b7cf..f573dc4 100644 --- a/packages/call/src/components/top.tsx +++ b/packages/call/src/components/top.tsx @@ -75,9 +75,9 @@ export default function TopBar() { - + - {user.display.slice(0, 2).toUpperCase()} + {user.Display.slice(0, 2).toUpperCase()} } @@ -86,7 +86,7 @@ export default function TopBar() { side="bottom" portalProps={{ container: portalContainer }} > - {user.display} + {user.Display}
    diff --git a/packages/call/src/store.tsx b/packages/call/src/store.tsx index 2412b99..e14aea6 100644 --- a/packages/call/src/store.tsx +++ b/packages/call/src/store.tsx @@ -52,7 +52,7 @@ type IncomingCallInvite = { senderId: number; }; type CurrentCallData = - (z.infer & { exists: boolean }) | null; + (z.infer & { exists: boolean }) | null; type NavigateFn = (options: { to: string; @@ -626,7 +626,7 @@ export async function sendCallInvite(userId: number) { } const ownUserId = (await runtime.load("user_id")) as number; - const privateKey = await runtime.load("private_key"); + const privateKey = await runtime.load("mtp_keyring"); const ownPublicKey = await runtime .getUser(ownUserId) .then((data) => data.PublicKey); @@ -897,7 +897,7 @@ export async function joinCall( if (callSecret) { try { const sharedSecret = await runtime.getSharedSecret( - await runtime.load("private_key"), + await runtime.load("mtp_keyring"), await runtime .getUser((await runtime.load("user_id")) as number) .then((res) => res.PublicKey), @@ -1178,7 +1178,7 @@ export function useInitializeCall() { // listen to call invites useEffect(() => { subscribePush(async (message) => { - if (message.type !== "call_invite") return; + if (message.type !== "CallInvite") return; const { CallId, CallSecret, SenderId } = message.data as { CallId: string; @@ -1500,10 +1500,10 @@ export function useInitializeCall() { return; } - send("call_data", { CallId: callId }) + send("CallData", { CallId: callId }) .then((data) => { setCurrentCallData({ - ...(data.data as z.infer), + ...(data.data as z.infer), exists: true, }); }) diff --git a/packages/call/src/views/preview.tsx b/packages/call/src/views/preview.tsx index d489dba..401332d 100644 --- a/packages/call/src/views/preview.tsx +++ b/packages/call/src/views/preview.tsx @@ -45,7 +45,7 @@ export default function Preview() { {data.map((user) => { return (

    - User: {user.display} + User: {user.Display}

    ); })} diff --git a/packages/chat/src/behaviour/conversation.ts b/packages/chat/src/behaviour/conversation.ts index 4081b72..1cf6bc8 100644 --- a/packages/chat/src/behaviour/conversation.ts +++ b/packages/chat/src/behaviour/conversation.ts @@ -11,13 +11,13 @@ import type { RawMessages } from "../values"; */ export async function getMessages( send: BoundSendFn, - amount: number, - offset: number, + Amount: number, + Offset: number, UserId: number, ): Promise { - const messages = await send("messages_get", { - amount: amount, - offset: offset, + const messages = await send("MessagesGet", { + Amount, + Offset, UserId, }); @@ -25,5 +25,5 @@ export async function getMessages( throw new Error(messages.type); } - return messages.data.messages; + return messages.data.Messages; } diff --git a/packages/chat/src/components/input.tsx b/packages/chat/src/components/input.tsx index 49600f3..df83c18 100644 --- a/packages/chat/src/components/input.tsx +++ b/packages/chat/src/components/input.tsx @@ -72,10 +72,9 @@ export default function InputComponent({ log(3, "chat", "purple", "Message send init, adding live message ..."); const reference = addLiveMessage({ - height: 0, NotEncrypted: true, SendTime: time, - content: currentValue, + Content: currentValue, SentBySelf: true, MessageState: "awaiting", }); @@ -94,9 +93,8 @@ export default function InputComponent({ log(3, "chat", "purple", "Content encrypted, sending message..."); - send("message_send", { - height: 0, - content: encryptedContext, + send("MessageSend", { + Content: encryptedContext, ReceiverId: userId, SendTime: time, }).catch((e) => { diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index 621a815..4312b94 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -64,14 +64,14 @@ function MessageComponent({ const [isValidURL, setIsValidURL] = useState(false); useEffect(() => { try { - if (message.content.split(" ").length > 1) throw new Error(); + if (message.Content.split(" ").length > 1) throw new Error(); - new URL(message.content); + new URL(message.Content); setIsValidURL(true); } catch { setIsValidURL(false); } - }, [message.content]); + }, [message.Content]); // Message states const { load } = useStorage(); @@ -82,13 +82,13 @@ function MessageComponent({ if (readConfirmations) { if (!user?.UserId) return; - await send("message_state", { + await send("MessageState", { ChatPartnerId: user?.UserId, SendTime: message.SendTime, MessageState: "read", }); } else { - await send("message_state", { + await send("MessageState", { ChatPartnerId: user?.UserId, SendTime: message.SendTime, MessageState: "received", @@ -131,7 +131,7 @@ function MessageComponent({ className={`${grouped ? "" : "pt-3"} w-full flex justify-start transition-opacity duration-150 ${opacityClass}`} >
    ) : ( - + - {user.display.slice(0, 2).toUpperCase()} + {user.Display.slice(0, 2).toUpperCase()} )} @@ -190,7 +190,7 @@ function MessageComponent({ {!grouped && (
    -

    {user.display}

    +

    {user.Display}

    {new Date(message.SendTime).toLocaleString([], { hour: "2-digit", @@ -214,9 +214,9 @@ function MessageComponent({

    )} {isValidURL ? ( - + ) : ( - + )}
    @@ -232,8 +232,7 @@ function MessageComponent({ export default React.memo(MessageComponent, (prev, next) => { return ( prev.message.SendTime === next.message.SendTime && - prev.message.content === next.message.content && - prev.message.height === next.message.height && + prev.message.Content === next.message.Content && prev.message.SentBySelf === next.message.SentBySelf && prev.message.MessageState === next.message.MessageState && prev.message.failed === next.message.failed && diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index f1688eb..b9d580d 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -50,18 +50,16 @@ function updateMessageStateBySendTime< }; } -/** - * Executes Provider. - * @param props Parameter props. - * @returns unknown. - */ -export default function Provider(props: { children: ReactNode }) { +export default function Provider({ children }: { children: ReactNode }) { const { getSharedSecret, decryptText } = useCrypto(); const { get } = useUser(); const { load } = useStorage(); const { send, subscribePush } = useMTP(); const { moveUserIdToTop } = useSession(); + const [error, setError] = useState(""); + const [errorDescription, setErrorDescription] = useState(""); + const [liveMessagesState, setLiveMessagesState] = useState([]); const [currentSharedSecretState, setCurrentSharedSecretState] = useState<{ userId: number; @@ -101,21 +99,40 @@ export default function Provider(props: { children: ReactNode }) { try { const recipientData = await get(userIdValue); const ownId = await load("user_id"); - const privateKey = await load("private_key"); + const privateKey = await load("mtp_keyring"); const ownData = await get(ownId); + + log(3, "chat", "purple", "Getting shared secret...", { + recipientData, + ownData, + }); + const sharedSecret = await getSharedSecret( privateKey, ownData.PublicKey, recipientData.PublicKey, ); + log(2, "chat", "purple", "Got shared secret", { + sharedSecret, + }); + if (active) { setCurrentSharedSecretState({ userId: userIdValue, value: sharedSecret, }); } - } catch { + } catch (err) { + log( + 1, + "chat", + "red", + "An unknown error occured while getting a shared secret", + err, + ); + setError(err instanceof Error ? err.name : "Unknown Error"); + setErrorDescription(err instanceof Error ? err.message : String(err)); if (active) { setCurrentSharedSecretState({ userId: userIdValue, @@ -132,9 +149,9 @@ export default function Provider(props: { children: ReactNode }) { const getMessages = useCallback( async (amount: number, offset: number) => { - const messages = await send("messages_get", { - amount, - offset, + const messages = await send("MessagesGet", { + Amount: amount, + Offset: offset, UserId: userIdValue, }); @@ -142,7 +159,7 @@ export default function Provider(props: { children: ReactNode }) { throw new Error(messages.type); } - const rawMessages = messages.data.messages; + const rawMessages = messages.data.Messages; const sorted = [...rawMessages].sort((a, b) => a.SendTime - b.SendTime); if (sorted.length > 0) { @@ -162,7 +179,7 @@ export default function Provider(props: { children: ReactNode }) { try { return { ...message, - content: await decryptText(currentSharedSecret, message.content), + content: await decryptText(currentSharedSecret, message.Content), }; } catch { return message; @@ -214,7 +231,7 @@ export default function Provider(props: { children: ReactNode }) { // Get live updates for message states useEffect(() => { return subscribePush((message) => { - if (message.type !== "message_state") { + if (message.type !== "MessageState") { return; } @@ -318,9 +335,11 @@ export default function Provider(props: { children: ReactNode }) { sharedSecret: currentSharedSecret, userId: userIdValue, inputBoxRef, + error, + errorDescription, }} > - {props.children} + {children} ); @@ -336,13 +355,10 @@ type contextType = { sharedSecret: string; userId: number; inputBoxRef: React.RefObject; + error: string; + errorDescription: string; }; -/** - * Executes useChat. - * @param none This function has no parameters. - * @returns contextType. - */ export function useChat(): contextType { const ctx = useContext(context); if (!ctx) { diff --git a/packages/chat/src/screen.tsx b/packages/chat/src/screen.tsx index b49ec04..b5cf724 100644 --- a/packages/chat/src/screen.tsx +++ b/packages/chat/src/screen.tsx @@ -22,12 +22,6 @@ type MessageChunk = { startIndex: number; }; -function getEstimatedMessageHeight(message: { height?: number }) { - return typeof message.height === "number" && Number.isFinite(message.height) - ? Math.max(1, Math.ceil(message.height)) - : FALLBACK_MESSAGE_HEIGHT; -} - function shouldFetchPreviousPage({ entry, hasNextPage, @@ -80,8 +74,15 @@ function buildMessageChunks( * @returns Chat screen JSX. */ export default function Screen() { - const { getMessages, liveMessages, clearLiveMessages, userId, sharedSecret } = - useChat(); + const { + getMessages, + liveMessages, + clearLiveMessages, + userId, + sharedSecret, + error, + errorDescription, + } = useChat(); const { get: getUser } = useUser(); const { load } = useStorage(); @@ -251,16 +252,7 @@ export default function Screen() { return FALLBACK_MESSAGE_HEIGHT; } - const chunk = messageChunks[index]; - - if (!chunk) { - return FALLBACK_MESSAGE_HEIGHT; - } - - return chunk.messages.reduce( - (total, message) => total + getEstimatedMessageHeight(message), - 0, - ); + return FALLBACK_MESSAGE_HEIGHT; }, [messageChunks, shouldShowConversationStart], ); @@ -479,112 +471,122 @@ export default function Screen() { if (!hasValidChatUser) { return ( -
    - Invalid user +
    +

    Invalid User

    ); } return (
    -
    -
    + {error !== "" && errorDescription !== "" ? ( +
    +

    {error}

    +

    {errorDescription}

    +
    + ) : ( + <>
    - {virtualizer.getVirtualItems().map((virtualRow) => { - if ( - shouldShowConversationStart && - virtualRow.index === messageChunks.length - ) { - return ( -
    -
    -
    - Conversation start + ref={scrollRef} + id="chat_container" + className="min-h-0 flex-1 overflow-y-auto" + style={{ + overflowAnchor: "none", + paddingTop: "22px", + transform: "scaleY(-1)", + }} + onScroll={handleContainerScroll} + > +
    +
    + {virtualizer.getVirtualItems().map((virtualRow) => { + if ( + shouldShowConversationStart && + virtualRow.index === messageChunks.length + ) { + return ( +
    +
    +
    + Conversation start +
    +
    +
    + ); + } + + const chunkIndex = virtualRow.index; + const chunk = messageChunks[chunkIndex]; + if (!chunk) { + return null; + } + + return ( +
    +
    + {chunk.messages.map((message, chunkMessageIndex) => { + const messageIndex = + chunk.startIndex + chunkMessageIndex; + const lastMessage = messages[messageIndex - 1]; + const isGrouped = + lastMessage && + lastMessage.SentBySelf === message.SentBySelf && + Math.round(lastMessage.SendTime / 10000) === + Math.round(message.SendTime / 10000); + + return ( + + ); + })}
    -
    - ); - } - - const chunkIndex = virtualRow.index; - const chunk = messageChunks[chunkIndex]; - if (!chunk) { - return null; - } - - return ( -
    -
    - {chunk.messages.map((message, chunkMessageIndex) => { - const messageIndex = chunk.startIndex + chunkMessageIndex; - const lastMessage = messages[messageIndex - 1]; - const isGrouped = - lastMessage && - lastMessage.SentBySelf === message.SentBySelf && - Math.round(lastMessage.SendTime / 10000) === - Math.round(message.SendTime / 10000); - - return ( - - ); - })} -
    -
    - ); - })} -
    -
    -
    - -
    + ); + })} +
    +
    +
    + +
    + + )}
    ); } diff --git a/packages/chat/src/values.ts b/packages/chat/src/values.ts index 675c0f8..0d7af81 100644 --- a/packages/chat/src/values.ts +++ b/packages/chat/src/values.ts @@ -1,7 +1,7 @@ import { z } from "zod"; import { mtp } from "@tensamin/shared/data"; -export type RawMessages = z.infer["messages"]; +export type RawMessages = z.infer["Messages"]; export type RawMessage = RawMessages[number]; diff --git a/packages/crypto/src/context.tsx b/packages/crypto/src/context.tsx index 6275de6..c871348 100644 --- a/packages/crypto/src/context.tsx +++ b/packages/crypto/src/context.tsx @@ -1,5 +1,5 @@ -import * as React from "react"; -import * as Comlink from "comlink"; +import { createContext, useContext } from "react"; +import { crypto } from "mtp"; type CryptoContextType = { decrypt: ( @@ -19,198 +19,26 @@ type CryptoContextType = { ) => Promise; }; -type ApiRef = { - encrypt: ( - secret: string, - input: Uint8Array, - ) => Promise>; - decrypt: ( - secret: string, - input: Uint8Array, - ) => Promise>; - decryptText: (secret: string, ciphertext: string) => Promise; - encryptText: (secret: string, plaintext: string) => Promise; - getSharedSecret: ( - ownPrivateKey: string, - ownPublicKey: string, - otherPublicKey: string, - ) => Promise; -}; +export const context = createContext(undefined); -export function bytesToBase64(bytes: Uint8Array): string { - let binary = ""; - for (const b of bytes) binary += String.fromCharCode(b); - return btoa(binary); -} - -export function base64ToBytes(base64: string): Uint8Array { - const binary = atob(base64); - const bytes = new Uint8Array(binary.length); - for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i); - return bytes; -} - -export const context = React.createContext( - undefined, -); - -/** - * Provides cryptographic actions backed by a worker without coupling to UI state. - * @param props Component props with children. - * @returns Crypto context provider JSX. - */ export default function Provider(props: { children: React.ReactNode }) { - const apiRef = React.useRef(null); - - const value = React.useMemo( - () => ({ - encrypt: async (secret, plaintext) => { - const api = apiRef.current; - if (!api) throw new Error("API not initialized"); - return await api.encrypt(secret, plaintext); - }, - decrypt: async (secret, ciphertext) => { - const api = apiRef.current; - if (!api) throw new Error("API not initialized"); - return await api.decrypt(secret, ciphertext); - }, - encryptText: async (secret, plaintext) => { - const api = apiRef.current; - if (!api) throw new Error("API not initialized"); - return await api.encryptText(secret, plaintext); - }, - decryptText: async (secret, ciphertext) => { - const api = apiRef.current; - if (!api) throw new Error("API not initialized"); - return await api.decryptText(secret, ciphertext); - }, - getSharedSecret: async (ownPrivateKey, ownPublicKey, otherPublicKey) => { - const api = apiRef.current; - if (!api) throw new Error("API not initialized"); - return await api.getSharedSecret( - ownPrivateKey, - ownPublicKey, - otherPublicKey, - ); - }, - }), - [], + return ( + + {props.children} + ); - - React.useEffect(() => { - const worker = new Worker(new URL("./worker.ts", import.meta.url), { - type: "module", - }); - - apiRef.current = Comlink.wrap(worker); - - return () => { - apiRef.current = null; - worker.terminate(); - }; - }, []); - - return {props.children}; } -/** - * Creates crypto action functions that safely delegate to the worker API. - * @param getApiRef Function that returns the worker API reference. - * @returns Typed crypto action functions. - */ -export function createCryptoActions( - getApiRef: () => ApiRef | null, -): CryptoContextType { - /** - * Encrypts bytes by delegating to the crypto worker API. - * @param secret Hex-encoded shared secret. - * @param input Plaintext bytes to encrypt. - * @returns Ciphertext bytes. - */ - const encrypt = async ( - secret: string, - input: Uint8Array, - ): Promise> => { - const api = getApiRef(); - if (!api) throw new Error("API not initialized"); - return await api.encrypt(secret, input); - }; - - /** - * Decrypts bytes by delegating to the crypto worker API. - * @param secret Hex-encoded shared secret. - * @param input Ciphertext bytes to decrypt. - * @returns Plaintext bytes. - */ - const decrypt = async ( - secret: string, - input: Uint8Array, - ): Promise> => { - const api = getApiRef(); - if (!api) throw new Error("API not initialized"); - return await api.decrypt(secret, input); - }; - - /** - * Encrypts plaintext text by delegating to the crypto worker API. - * @param secret Hex-encoded shared secret. - * @param plaintext Plaintext to encrypt. - * @returns Base64 ciphertext. - */ - const encryptText = async ( - secret: string, - plaintext: string, - ): Promise => { - const api = getApiRef(); - if (!api) throw new Error("API not initialized"); - return await api.encryptText(secret, plaintext); - }; - - /** - * Decrypts base64 ciphertext text by delegating to the crypto worker API. - * @param secret Hex-encoded shared secret. - * @param ciphertext Base64 ciphertext to decrypt. - * @returns Decrypted plaintext. - */ - const decryptText = async ( - secret: string, - ciphertext: string, - ): Promise => { - const api = getApiRef(); - if (!api) throw new Error("API not initialized"); - return await api.decryptText(secret, ciphertext); - }; - - /** - * Derives a shared secret from local and peer key material via the worker API. - * @param ownPrivateKey Local private key. - * @param ownPublicKey Local public key. - * @param otherPublicKey Peer public key. - * @returns Hex-encoded shared secret. - */ - const getSharedSecret = async ( - ownPrivateKey: string, - ownPublicKey: string, - otherPublicKey: string, - ): Promise => { - const api = getApiRef(); - if (!api) throw new Error("API not initialized"); - return await api.getSharedSecret( - ownPrivateKey, - ownPublicKey, - otherPublicKey, - ); - }; - - return { encrypt, decrypt, encryptText, decryptText, getSharedSecret }; -} - -/** - * Returns the crypto actions from the nearest provider. - * Throws when used outside of the crypto provider tree. - */ export function useCrypto(): CryptoContextType { - const ctx = React.useContext(context); + const ctx = useContext(context); if (!ctx) { throw new Error("useCrypto must be used within a CryptoProvider"); } diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index 37eb314..ddd1b15 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -12,10 +12,8 @@ import { isTauri } from "@tauri-apps/api/core"; import { onResume } from "tauri-plugin-app-events-api"; import { MTPClient } from "mtp"; import { type z } from "zod"; -import { ConnectionState } from "./values"; -import createAsyncQueue, { - createQueuedFunc, -} from "@tensamin/shared/asyncQueue"; +import { ConnectionState } from "mtp"; +import createAsyncQueue from "@tensamin/shared/asyncQueue"; import { toast as sonnerToast } from "@tensamin/ui"; import { Loader2 } from "lucide-react"; @@ -47,36 +45,6 @@ function base64ToUint8Array(b64: string) { return out; } -const PUSH_TYPES = [ - "message_live", - "message_state", - "call_invite", - "error_no_iota", -] as const; - -const WIRE_TYPES = { - temp_cool_type: "TempCoolType", - get_user_data: "GetUserData", - change_user_data: "ChangeUserData", - ping: "AppPing", - message_live: "MessageLive", - messages_get: "MessagesGet", - message_send: "MessageSend", - add_conversation: "AddConversation", - message_state: "MessageState", - load_txt_record: "LoadTxtRecord", - authenticate_app: "AuthenticateApp", - create_app: "CreateApp", - call_token: "CallToken", - call_data: "CallData", - call_invite: "CallInvite", - error_no_iota: "ErrorNoIota", -} as const satisfies Record; - -const APP_TYPES = Object.fromEntries( - Object.entries(WIRE_TYPES).map(([appType, wireType]) => [wireType, appType]), -) as Record; - export type ProtocolMessage< T extends keyof Schemas & string = keyof Schemas & string, > = { @@ -139,10 +107,8 @@ function validateResponse( type: T, message: { id?: number; type: string; data: unknown }, ): ProtocolMessage { - const appType = APP_TYPES[message.type] ?? message.type; - - if (appType.startsWith("error")) { - return { ...message, type: appType } as ProtocolMessage; + if (message.type.startsWith("Error")) { + return message as ProtocolMessage; } const schema = schemas[type]?.response; @@ -159,7 +125,7 @@ function validateResponse( return { id: message.id, - type: appType, + type: message.type, data: parsed.data, } as ProtocolMessage; } @@ -192,7 +158,7 @@ export function Provider(props: { // MTP url const [mtpUrl, setMtpUrl] = useState(null); useEffect(() => { - load("mtp_url").then(setMtpUrl); + load("omega_url").then(setMtpUrl); }, [load]); // Validation override functions @@ -205,7 +171,7 @@ export function Provider(props: { } const message = await client.request( - WIRE_TYPES[type], + type, (data ?? {}) as Record, options, ); @@ -220,7 +186,7 @@ export function Provider(props: { return () => {}; } - return client.subscribe(WIRE_TYPES[type], (message) => { + return client.subscribe(type, (message) => { handler(validateResponse(type, message)); }); }, []); @@ -231,8 +197,13 @@ export function Provider(props: { return () => {}; } - const unsubscribers = PUSH_TYPES.map((type) => - client.subscribe(WIRE_TYPES[type], (message) => { + const unsubscribers = [ + "MessageLive", + "MessageState", + "CallInvite", + "ErrorNoIota", + ].map((type) => + client.subscribe(type, (message) => { handler(validateResponse(type as keyof Schemas & string, message)); }), ); @@ -242,23 +213,6 @@ export function Provider(props: { }; }, []); - // No Iota check - useEffect(() => { - if (!connected) return; - - return subscribe("error_no_iota", () => { - setIdentified(false); - setIdentifying(false); - sonnerToast.error("We couldn't reach your Iota", { - description: - "Check your network connection and try restarting your Iota", - icon: null, - duration: Infinity, - closeButton: true, - }); - }); - }, [connected, subscribe]); - // Custom Pings useEffect(() => { if (!connected || !identified) { @@ -268,7 +222,7 @@ export function Provider(props: { const interval = setInterval(async () => { try { const originalNow = Date.now(); - const data = await send("ping", { LastPing: originalNow }); + const data = await send("Ping", { LastPing: originalNow }); setOwnPing(Date.now() - originalNow); const remotePing = data.data.PingIota; @@ -286,6 +240,7 @@ export function Provider(props: { }, [connected, identified, send]); // Reconnect stuff + const resolveConnectionRef = useRef(() => {}); useEffect(() => { if (!mtpUrl) return; @@ -309,12 +264,10 @@ export function Provider(props: { reconnectResetTimer = null; }; - let resolveConnection: (() => void) | null = null; - if (!props.blockConnection) { sonnerToast.promise( new Promise((resolve) => { - resolveConnection = resolve; + resolveConnectionRef.current = resolve; }), { id: "mtp-connection-toast", @@ -346,61 +299,64 @@ export function Provider(props: { await MTPClient.init(); - log(2, "mtp", "purple", "Fetching Omikron data."); - const data = await fetch( - `${mtpUrl}api/get/omikron/${await load("user_id")}`, - ); + const forcedOmikronUrl = await load("forced_omikron_url"); + const forcedOmikronPublicKey = await load("forced_omikron_public_key"); - if (data.status === 404) { - sonnerToast.error("We couldn't reach your Iota", { - description: - "Check your network connection and try restarting your Iota", - icon: null, - duration: Infinity, - closeButton: true, - }); - resolveConnection?.(); - cleanup(); - return; + let url = null; + let omikronPublicKey = null; + if (forcedOmikronUrl && forcedOmikronPublicKey) { + url = forcedOmikronUrl; + omikronPublicKey = forcedOmikronPublicKey; + } else { + log(2, "mtp", "purple", "Fetching Omikron data."); + const data = await fetch( + `${mtpUrl}api/get/omikron/${await load("user_id")}`, + ); + + if (data.status === 404) { + sonnerToast.error("We couldn't reach your Iota", { + description: + "Check your network connection and try restarting your Iota", + icon: null, + duration: Infinity, + closeButton: true, + }); + resolveConnectionRef.current?.(); + cleanup(); + return; + } + const omikronData = (await data.json()) as { + id: number; + ip_address: string; + port: number; + public_key: string; + status: string; + }; + + if ( + !omikronData.ip_address || + !omikronData.port || + !omikronData.public_key + ) + throw new Error("Invalid Omikron data"); + + url = `https://${omikronData.ip_address}:${omikronData.port}`; + omikronPublicKey = omikronData.public_key; } - - const omikronData = (await data.json()) as { - id: number; - ip_address: string; - port: number; - public_key: string; - status: string; - }; //codec.decode(new Uint8Array(await res.arrayBuffer())), - if ( - !omikronData.ip_address || - !omikronData.port || - !omikronData.public_key - ) - throw new Error("Invalid Omikron data"); - - const url = `https://${omikronData.ip_address}:${omikronData.port}`; + if (!url || !omikronPublicKey) + throw new Error("Missing Omikron URL or Public Key"); log(2, "mtp", "green", "Connecting to: " + url); const client = await MTPClient.create({ url, - storage: { - getItem: (key) => { - console.log(key); - return key; - }, - removeItem: (key) => { - console.log(key); - }, - setItem: console.log, - }, credentials: { clientId: await load("user_id"), - keyring: base64ToUint8Array(await load("private_key")), + keyring: base64ToUint8Array(await load("mtp_keyring")), }, - hostPublicKey: omikronData.public_key, + hostPublicKey: omikronPublicKey, descriptor: "client", pings: true, logger: (event) => { @@ -410,12 +366,24 @@ export function Provider(props: { ); } - if (event.type !== "Pong") { + if (event.type !== "Pong" && event.type !== "Ping") { log( 2, "mtp", - event.type === "state" ? "cyan" : "blue", - event.type === "state" ? event.data : event.type, + event.type === "state" + ? "purple" + : event.direction === "recv" + ? "cyan" + : event.direction === "send" + ? "gray" + : "blue", + event.type === "state" + ? event.data + : event.direction === "recv" + ? "< " + event.type + : event.direction === "send" + ? "> " + event.type + : event.type, event, ); } @@ -436,19 +404,22 @@ export function Provider(props: { return; } - const authPayload = new Promise>( - (resolve, reject) => { - const unsubscribe = client.subscribe("TempCoolType", (message) => { + const authPayload = new Promise< + ProtocolMessage<"IdentificationResponse"> + >((resolve, reject) => { + const unsubscribe = client.subscribe( + "IdentificationResponse", + (message) => { try { unsubscribe(); - resolve(validateResponse("temp_cool_type", message)); + resolve(validateResponse("IdentificationResponse", message)); } catch (authPayloadError) { unsubscribe(); reject(authPayloadError); } - }); - }, - ); + }, + ); + }); clearReconnectTimer(); @@ -467,12 +438,12 @@ export function Provider(props: { if (disposed || clientRef.current !== client) return; - setFreshContacts(finalResponse.data.contacts); - setFreshCommunities(finalResponse.data.communities ?? []); - setFreshCalls(finalResponse.data.calls); + setFreshContacts(finalResponse.data.Contacts); + setFreshCommunities(finalResponse.data.Communities); + setFreshCalls(finalResponse.data.Calls); setIdentifying(false); setIdentified(true); - resolveConnection?.(); + resolveConnectionRef.current?.(); } catch (connectError) { if (disposed) return; cleanup(); @@ -492,7 +463,7 @@ export function Provider(props: { id: "mtp-connection-toast", description: connectError instanceof Error - ? connectError.message + ? connectError.message.split(":")[0] : String(connectError ?? "Unknown error"), icon: null, duration: Infinity, @@ -558,6 +529,24 @@ export function Provider(props: { }; }, [mtpUrl, props.blockConnection, load]); + // No Iota check + useEffect(() => { + if (!connected) return; + + return subscribe("ErrorNoIota", () => { + setIdentified(false); + setIdentifying(false); + sonnerToast.error("We couldn't reach your Iota", { + description: + "Check your network connection and try restarting your Iota", + icon: null, + duration: Infinity, + closeButton: true, + }); + resolveConnectionRef.current?.(); + }); + }, [connected, subscribe]); + // Async queue const loadingDescription = useMemo(() => { if (!mtpUrl) return "Loading connection details"; @@ -587,10 +576,18 @@ export function Provider(props: { } }, [connected, identified, mtpUrl, send, subscribe, subscribePush, mtpRef]); + const sendQueued: BoundSendFn = useMemo( + () => async (type, data, options) => { + const mtp = await mtpRef.get(); + return mtp.send(type, data, options); + }, + [mtpRef], + ); + return ( (contextReady ? send : null)), + send: sendQueued, subscribe, subscribePush, readyState, diff --git a/packages/notifications/src/context.tsx b/packages/notifications/src/context.tsx index 799f695..1879852 100644 --- a/packages/notifications/src/context.tsx +++ b/packages/notifications/src/context.tsx @@ -6,7 +6,7 @@ import { useMTP } from "@tensamin/mtp"; import { createContext, useEffect, useContext } from "react"; import z from "zod"; import { toast as sonnerToast } from "sonner"; -import { message as messageSchema } from "@tensamin/shared/data"; +import { Message as MessageSchema } from "@tensamin/shared/data"; import { Avatar, AvatarFallback, AvatarImage } from "@tensamin/ui"; import { isTauri } from "@tauri-apps/api/core"; import { useSession } from "@tensamin/storage/session"; @@ -34,9 +34,9 @@ export default function Provider(props: { children: React.ReactNode }) { useEffect(() => { return subscribePush(async (ttpMessage) => { - if (ttpMessage.type === "message_live") { + if (ttpMessage.type === "MessageLive") { const { message, SenderId } = ttpMessage.data as { - message: z.infer; + message: z.infer; SenderId: number; }; @@ -44,18 +44,18 @@ export default function Provider(props: { children: React.ReactNode }) { const decryptedContent = await decryptText( await getSharedSecret( - await load("private_key"), + await load("mtp_keyring"), await get(await load("user_id")).then((data) => data.PublicKey), user.PublicKey, ), - message.content, + message.Content, ); // Update message state if (userId === SenderId) { addLiveMessage({ ...message, - content: decryptedContent, + Content: decryptedContent, SentBySelf: false, }); return; @@ -67,7 +67,7 @@ export default function Provider(props: { children: React.ReactNode }) { if (await load("settings.receive_confirmations")) { void send( - "message_state", + "MessageState", { MessageState: "received", }, @@ -83,10 +83,10 @@ export default function Provider(props: { children: React.ReactNode }) { const hasPermissions = await requestNotificationPermission(); if (hasPermissions) { - const notification = new Notification(user.display, { + const notification = new Notification(user.Display, { body: decryptedContent, - icon: user.avatar || user.display.slice(0, 2).toUpperCase(), - badge: user.avatar || user.display.slice(0, 2).toUpperCase(), + icon: user.Avatar || user.Display.slice(0, 2).toUpperCase(), + badge: user.Avatar || user.Display.slice(0, 2).toUpperCase(), tag: `message-${user.UserId}`, silent: true, }); @@ -100,16 +100,16 @@ export default function Provider(props: { children: React.ReactNode }) { notification.close(); }; } else { - sonnerToast(user.display, { + sonnerToast(user.Display, { classNames: { content: "pl-4", }, description: decryptedContent, icon: ( - + - {user.display.slice(0, 2).toUpperCase()} + {user.Display.slice(0, 2).toUpperCase()} ), diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index d5deefc..82070d4 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -12,23 +12,22 @@ const fileFromMessage = z.object({ type: z.enum(["image", "image_top_right", "file"]), }); -export const message = z.object({ - height: z.number(), +export const Message = z.object({ NotEncrypted: z.boolean().optional(), SentBySelf: z.boolean().optional(), SendTime: z.number(), - content: z.base64(), - files: z.array(fileFromMessage).optional(), - tint: z.string().length(7).startsWith("#").optional(), - avatar: z.boolean().optional(), - display: z.boolean().optional(), + Content: z.base64(), + Files: z.array(fileFromMessage).optional(), + Tint: z.string().length(7).startsWith("#").optional(), + Avatar: z.boolean().optional(), + Display: z.boolean().optional(), MessageState: z .enum(["read", "received", "sent", "sending", "awaiting"]) // awaiting for 'internal' use .default("received"), }); export const failedUser = { - display: "Failed", + Display: "Failed", IotaId: 0, OmikronConnections: [], OnlineStatus: "user_borked", @@ -36,12 +35,12 @@ export const failedUser = { SubEnd: 0, SubLevel: 0, UserId: 0, - username: "unknown", -} as z.infer; + Username: "unknown", +} as z.infer; const authPayload = z.object({ - communities: z.array(z.object({})).optional(), - contacts: z.array( + Communities: z.array(z.object({})).default([]), + Contacts: z.array( z.object({ LastMessageAt: z.number(), UserId: z.number(), @@ -51,21 +50,21 @@ const authPayload = z.object({ SenderId: z.number(), }) .optional(), - messages: z.array(message), + Messages: z.array(Message), }), - ), - calls: z.array( + ).default([]), + Calls: z.array( z.object({ CallId: z.string(), CallSecret: z.base64().optional(), CallMembers: z.array(z.number()), }), - ), + ).default([]), }); -export type Contacts = z.infer; -export type Communities = z.infer; -export type Calls = z.infer; +export type Contacts = z.infer; +export type Communities = z.infer; +export type Calls = z.infer; type Base16Palette = Record< | "base00" @@ -89,9 +88,9 @@ type Base16Palette = Record< // MTP const user = z.object({ - about: z.string().max(255).optional(), - avatar: z.string().optional(), - display: z.string().min(1).max(15), + About: z.string().max(255).optional(), + Avatar: z.string().optional(), + Display: z.string().min(1).max(15), IotaId: z.number(), OmikronConnections: z.array(z.number()), OmikronId: z.number().optional(), @@ -107,29 +106,29 @@ const user = z.object({ "iota_borked", ]), PublicKey: z.base64(), - status: z.string().max(15).optional(), + Status: z.string().max(15).optional(), SubEnd: z.number(), SubLevel: z.number(), UserId: z.number(), - username: z.string().min(1).max(15), + Username: z.string().min(1).max(15), }); export const mtp = { - temp_cool_type: { + IdentificationResponse: { request: z.object({}).optional(), response: authPayload, }, - get_user_data: { + GetUserData: { request: z.object({ UserId: z.number().optional(), - username: z.string().optional(), + Username: z.string().optional(), }), response: user, }, - change_user_data: { + ChangeUserData: { request: user.partial(), response: z.object({}), }, - ping: { + Ping: { request: z.object({ LastPing: z.number(), }), @@ -137,76 +136,75 @@ export const mtp = { PingIota: z.number(), }), }, - message_live: { + MessageLive: { request: z.object({}).optional(), response: z.object({ SenderId: z.number(), - message, + Message, }), }, - messages_get: { + MessagesGet: { request: z.object({ UserId: z.number(), - amount: z.number(), - offset: z.number(), + Amount: z.number(), + Offset: z.number(), }), response: z.object({ - messages: z.array(message), + Messages: z.array(Message), }), }, - message_send: { + MessageSend: { request: z.object({ - height: z.number(), - content: z.base64(), + Content: z.base64(), ReceiverId: z.number(), SendTime: z.number(), - files: z.array(fileFromMessage).optional(), + Files: z.array(fileFromMessage).optional(), }), response: z.object({}), }, - add_conversation: { + AddConversation: { request: z.object({ ChatPartnerId: z.number().optional(), ChatPartnerName: z.string().min(1).max(15).optional(), }), response: z.object({}), }, - message_state: { + MessageState: { request: z .object({ ChatPartnerId: z.number(), SendTime: z.number(), - MessageState: message.shape.MessageState, + MessageState: Message.shape.MessageState, }) .or( z.object({ - MessageState: message.shape.MessageState, + MessageState: Message.shape.MessageState, }), ), response: z.object({ ChatPartnerId: z.number(), - MessageState: message.shape.MessageState, + MessageState: Message.shape.MessageState, SendTime: z.number(), }), }, - load_txt_record: { + LoadTxtRecord: { request: z.object({ - path: z.string(), + Path: z.string(), }), response: z.object({ - content: z.string(), + Content: z.string(), }), }, - authenticate_app: { + AuthenticateApp: { request: z.object({ AppIdentifier: z.string(), }), response: z.object({ - challenge: z.base64(), + Challenge: z.base64(), }), }, - create_app: { + CreateApp: { request: z.object({ AppPublicKey: z.base64(), AppIdentifier: z.string(), @@ -215,7 +213,7 @@ export const mtp = { }, // Calls - call_token: { + CallToken: { request: z.object({ CallId: z.string(), }), @@ -223,7 +221,7 @@ export const mtp = { CallToken: z.string(), }), }, - call_data: { + CallData: { request: z.object({ CallId: z.string(), }), @@ -231,7 +229,7 @@ export const mtp = { UserIds: z.array(z.number()), }), }, - call_invite: { + CallInvite: { request: z.object({ CallId: z.string(), CallSecret: z.base64(), @@ -243,7 +241,7 @@ export const mtp = { SenderId: z.number().optional(), }), }, - error_no_iota: { + ErrorNoIota: { request: z.object({}).optional(), response: z.object({}), }, @@ -255,7 +253,7 @@ export type MTP = typeof mtp; export interface Storage extends SettingsStorageDefaults { session_id: number; user_id: number; - private_key: string; + mtp_keyring: string; ppandtos_done: boolean; accepted_terms_of_service: boolean; accepted_privacy_policy: boolean; @@ -265,7 +263,9 @@ export interface Storage extends SettingsStorageDefaults { legal_docs: z.infer; cached_contacts: Contacts; cached_communities: Communities; - mtp_url: string; + omega_url: string; + forced_omikron_url: string | undefined; + forced_omikron_public_key: string | undefined; call_mute_range_start: number; call_mute_range_end: number; theme_color: string; @@ -287,7 +287,7 @@ export interface Storage extends SettingsStorageDefaults { export const storageDefaults: Storage = { session_id: 0, user_id: 0, - private_key: "", + mtp_keyring: "", ppandtos_done: false, accepted_terms_of_service: false, accepted_privacy_policy: false, @@ -314,7 +314,9 @@ export const storageDefaults: Storage = { }, cached_contacts: [], cached_communities: [], - mtp_url: "https://omega.tensamin.net", + omega_url: "https://omega.tensamin.net", + forced_omikron_url: undefined, + forced_omikron_public_key: undefined, call_mute_range_start: -55, call_mute_range_end: -45, theme_color: "", @@ -355,7 +357,7 @@ export const storageDefaults: Storage = { // User Status export function getStatusColor( - status: z.infer, + status: z.infer, ) { switch (status) { case "user_online": diff --git a/packages/storage/src/session.tsx b/packages/storage/src/session.tsx index 992a4df..f237192 100644 --- a/packages/storage/src/session.tsx +++ b/packages/storage/src/session.tsx @@ -86,7 +86,7 @@ export default function SessionProvider({ children }: { children: ReactNode }) { const newUser = { UserId: userId, LastMessageAt: new Date().getTime(), - messages: [], + Messages: [], } satisfies Contacts[0]; return [newUser, ...prevContacts]; diff --git a/packages/tauth/src/context.tsx b/packages/tauth/src/context.tsx index 5dea659..e2ca153 100644 --- a/packages/tauth/src/context.tsx +++ b/packages/tauth/src/context.tsx @@ -33,6 +33,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { const [redirect, setRedirect] = useState(null); const [challenge, setChallenge] = useState(null); const [appPublicKey, setAppPublicKey] = useState(null); + const [sessionId, setSessionId] = useState(null); const [allowChildern, setAllowChildern] = useState(false); const { deeplinks } = useDeeplinks(); @@ -44,9 +45,9 @@ export default function Wrapper({ children }: { children: ReactNode }) { // Get Data const user = await get(await load("user_id")); const { - data: { content: appPublicKeyHash }, - } = await send("load_txt_record", { - path: "tauth." + identifier, + data: { Content: appPublicKeyHash }, + } = await send("LoadTxtRecord", { + Path: "tauth." + identifier, }); const verifiedAppPublicKeyHash = await sha256Hex(appPublicKey); @@ -61,7 +62,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { // Get Shared Secret const sharedSecret = await getSharedSecret( - await load("private_key"), + await load("mtp_keyring"), user.PublicKey, appPublicKey, ).catch((err) => { @@ -86,12 +87,13 @@ export default function Wrapper({ children }: { children: ReactNode }) { finalUrl.searchParams.set("userId", String(await load("user_id"))); finalUrl.searchParams.set("challenge", solvedChallenge); finalUrl.searchParams.set("originalChallenge", challenge); - - const session = new Date().getTime(); - finalUrl.searchParams.set("sessionId", String(session)); + finalUrl.searchParams.set( + "sessionId", + String(sessionId || new Date().getTime()), + ); // Save Session - await send("create_app", { + await send("CreateApp", { AppPublicKey: appPublicKey, AppIdentifier: identifier, }); @@ -105,12 +107,13 @@ export default function Wrapper({ children }: { children: ReactNode }) { setRedirect(null); setChallenge(null); setAppPublicKey(null); + setSessionId(null); toast("success", "App authorized successfully"); return; } else { navigate({ - to: finalUrl.toString(), + href: finalUrl.toString(), }); return; } @@ -124,6 +127,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { setRedirect(null); setChallenge(null); setAppPublicKey(null); + setSessionId(null); } }; @@ -156,6 +160,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { const redirect = params.get("redirect"); const challenge = params.get("challenge"); const appPublicKey = params.get("public_key"); + const urlSessionId = params.get("sessionId"); if (!identifier || !redirect) { setAllowChildern(true); return; @@ -165,6 +170,10 @@ export default function Wrapper({ children }: { children: ReactNode }) { if (!challenge) { const newUrl = new URL(redirect); newUrl.searchParams.set("userId", String(userId)); + newUrl.searchParams.set( + "sessionId", + String(urlSessionId || new Date().getTime()), + ); window.location.href = newUrl.toString(); return; } @@ -181,6 +190,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { setRedirect(redirect); setChallenge(hexToBase64(challenge || "")); setAppPublicKey(appPublicKey); + setSessionId(urlSessionId); setDialogOpen(true); }); }, [searchStr, load]); @@ -192,12 +202,14 @@ export default function Wrapper({ children }: { children: ReactNode }) { const identifier = url.searchParams.get("identifier"); const redirect = url.searchParams.get("redirect"); const appPublicKey = url.searchParams.get("public_key"); + const urlSessionId = url.searchParams.get("sessionId"); if (identifier && redirect && appPublicKey) { setIdentifier(identifier); setRedirect(redirect); setChallenge(hexToBase64(url.searchParams.get("challenge") || "")); setAppPublicKey(appPublicKey); + setSessionId(urlSessionId); setDialogOpen(true); } } @@ -215,6 +227,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { setRedirect(null); setChallenge(null); setAppPublicKey(null); + setSessionId(null); } }} > @@ -251,6 +264,7 @@ export default function Wrapper({ children }: { children: ReactNode }) { setRedirect(null); setChallenge(null); setAppPublicKey(null); + setSessionId(null); }} > Deny diff --git a/packages/user/src/context.tsx b/packages/user/src/context.tsx index 84e56ec..001d5ae 100644 --- a/packages/user/src/context.tsx +++ b/packages/user/src/context.tsx @@ -4,7 +4,7 @@ import { useMTP } from "@tensamin/mtp"; import { mtp as schemas } from "@tensamin/shared/data"; import type z from "zod"; -export type User = z.infer; +export type User = z.infer; interface contextValue { get(userId: number): Promise; @@ -47,11 +47,11 @@ export default function UserProvider(props: { children: React.ReactNode }) { } const request = (async () => { - const userData = await send("get_user_data", { UserId: userId }); + const userData = await send("GetUserData", { UserId: userId }); const user = { ...userData.data, - avatar: userData.data.avatar - ? `data:image/webp;base64,${atob(userData.data.avatar)}` + avatar: userData.data.Avatar + ? `data:image/webp;base64,${atob(userData.data.Avatar)}` : undefined, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f9796e..f6a0c4b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: overrides: '@tensamin/ui': https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz - mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz + mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz importers: @@ -16,8 +16,8 @@ importers: specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) mtp: - specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz - version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz sonner: specifier: ^2.0.7 version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) @@ -661,8 +661,8 @@ importers: specifier: ^1.14.0 version: 1.23.0(react@19.2.7) mtp: - specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz - version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz react: specifier: ^19.2.0 version: 19.2.7 @@ -3752,8 +3752,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz: - resolution: {integrity: sha512-ixykS56llG6Azoxn4ff2v83LlrkCsd/s5wXmEUsxGtM63v8cYvX/HXh1AmWfJeaL0QZiGw1QyyOC0vplXZjwVg==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz: + resolution: {integrity: sha512-jv3tONmaEMVyoX3HyQhZfkt46MkoaZAkoy3B9HjFUOh6ff42yutAKgt/WQgX9MP5AyFd8oVlvTgMpaOGk7046A==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz} version: 0.1.0 nanoid@3.3.15: @@ -7879,7 +7879,7 @@ snapshots: ms@2.1.3: {} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz: {} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz: {} nanoid@3.3.15: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e9940f7..19faeb0 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,4 +7,4 @@ allowBuilds: esbuild: true overrides: "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz" - mtp: "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-2e7c0b4/mtp-0.1.0.tgz" + mtp: "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz" From cd2c2f81678aa0d958b75325376e7d9aefba4ac5 Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 5 Jul 2026 21:45:44 +0200 Subject: [PATCH 49/75] (feat): crypto migrations --- apps/web/vite.config.ts | 1 - packages/chat/src/components/input.tsx | 67 ++- packages/chat/src/context.tsx | 164 +++---- packages/chat/src/screen.tsx | 6 +- packages/crypto/package.json | 5 +- packages/crypto/src/context.test.ts | 7 +- packages/crypto/src/context.tsx | 53 +- packages/crypto/src/encryptedDeviceSecret.ts | 134 ++++++ packages/crypto/src/worker.test.ts | 123 ----- packages/crypto/src/worker.ts | 482 ------------------- packages/mtp/src/context.tsx | 408 +++++++++++++++- packages/mtp/src/index.ts | 7 +- packages/shared/src/data.ts | 144 +++++- packages/tauth/src/context.tsx | 3 +- pnpm-lock.yaml | 22 - type-maps.yaml | 29 ++ vitest.config.ts | 7 + 17 files changed, 838 insertions(+), 824 deletions(-) create mode 100644 packages/crypto/src/encryptedDeviceSecret.ts delete mode 100644 packages/crypto/src/worker.test.ts delete mode 100644 packages/crypto/src/worker.ts create mode 100644 vitest.config.ts diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index 4ea6a18..b3d396e 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -162,7 +162,6 @@ export default defineConfig({ "@tensamin/chat", "@tensamin/crypto", "@tensamin/crypto/context", - "@tensamin/crypto/worker", "@tensamin/markdown", "@tensamin/mtp", "@tensamin/notifications", diff --git a/packages/chat/src/components/input.tsx b/packages/chat/src/components/input.tsx index df83c18..892f911 100644 --- a/packages/chat/src/components/input.tsx +++ b/packages/chat/src/components/input.tsx @@ -15,7 +15,7 @@ import { useChat } from "../context"; import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; import { cn, useIsMobile } from "@tensamin/ui"; -import { encryptText } from "@tensamin/crypto/worker"; + import { useSession } from "@tensamin/storage/session"; import GifPicker from "./gifPicker"; @@ -28,8 +28,8 @@ export default function InputComponent({ }) { const [invertEnterBehavior, setInvertEnterBehavior] = React.useState(false); - const { send } = useMTP(); - const { addLiveMessage, sharedSecret, userId, inputBoxRef } = useChat(); + const { sendEncrypted } = useMTP(); + const { addLiveMessage, userId, inputBoxRef } = useChat(); const { load, save } = useStorage(); const { moveUserIdToTop } = useSession(); const gifPopoverRef = React.useRef(null); @@ -64,11 +64,6 @@ export default function InputComponent({ return; } - if (!sharedSecret) { - toast("error", "Still getting shared secret..."); - return; - } - log(3, "chat", "purple", "Message send init, adding live message ..."); const reference = addLiveMessage({ @@ -79,36 +74,38 @@ export default function InputComponent({ MessageState: "awaiting", }); - log(3, "chat", "purple", "Live message added, encrypting..."); + log(3, "chat", "purple", "Live message added, sending encrypted frame..."); - const encryptedContext = await encryptText( - sharedSecret, - currentValue, - ).catch((err) => { - toast("error", "Failed to encrypt message", String(err)); - reference.setFailed(true); - }); - - if (!encryptedContext) return; - - log(3, "chat", "purple", "Content encrypted, sending message..."); - - send("MessageSend", { - Content: encryptedContext, - ReceiverId: userId, - SendTime: time, - }).catch((e) => { - log(0, "Chat", "red", "Failed to send message", e, { - content: currentValue, - encryptedContext, - ReceiverId: userId, - SendTime: time, + void load("user_id") + .then((ownUserId) => + sendEncrypted( + "MessageSend", + { + Content: currentValue, + ReceiverId: userId, + SendTime: time, + }, + { + senderUserId: String(ownUserId), + recipientUserId: String(userId), + }, + ), + ) + .catch((e) => { + log(0, "Chat", "red", "Failed to send encrypted message", e, { + ReceiverId: userId, + SendTime: time, + }); + reference.setFailed(true); + toast( + "error", + e instanceof Error && e.message.includes("public key") + ? "Recipient has no encryption public key available" + : "Failed to send encrypted message", + ); }); - reference.setFailed(true); - toast("error", "Failed to send message"); - }); - log(3, "chat", "purple", "Message sent"); + log(3, "chat", "purple", "Encrypted message send queued"); moveUserIdToTop(userId); diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index b9d580d..c12d768 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -12,8 +12,6 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { useRouterState } from "@tanstack/react-router"; import type { InfiniteData } from "@tanstack/react-query"; import type { LiveMessage, RawMessage, RawMessages } from "./values"; -import { useCrypto } from "@tensamin/crypto/context"; -import { useUser } from "@tensamin/user/context"; import { useStorage } from "@tensamin/storage/context"; import { useMTP } from "@tensamin/mtp"; import { log } from "@tensamin/shared/log"; @@ -51,23 +49,15 @@ function updateMessageStateBySendTime< } export default function Provider({ children }: { children: ReactNode }) { - const { getSharedSecret, decryptText } = useCrypto(); - const { get } = useUser(); const { load } = useStorage(); - const { send, subscribePush } = useMTP(); + const { send, subscribePush, subscribeEncrypted, decryptEncryptedRecord } = + useMTP(); const { moveUserIdToTop } = useSession(); - const [error, setError] = useState(""); - const [errorDescription, setErrorDescription] = useState(""); + const [error] = useState(""); + const [errorDescription] = useState(""); const [liveMessagesState, setLiveMessagesState] = useState([]); - const [currentSharedSecretState, setCurrentSharedSecretState] = useState<{ - userId: number; - value: string; - }>({ - userId: 0, - value: "", - }); const inputBoxRef = useRef(null); @@ -81,86 +71,40 @@ export default function Provider({ children }: { children: ReactNode }) { return Number(rawId ?? 0); }, [locationSearch]); - const currentSharedSecret = useMemo(() => { - if (currentSharedSecretState.userId !== userIdValue) { - return ""; - } - - return currentSharedSecretState.value; - }, [currentSharedSecretState, userIdValue]); - - // Load shared secret - useEffect(() => { - if (!userIdValue) return; - - let active = true; - - void (async () => { - try { - const recipientData = await get(userIdValue); - const ownId = await load("user_id"); - const privateKey = await load("mtp_keyring"); - const ownData = await get(ownId); - - log(3, "chat", "purple", "Getting shared secret...", { - recipientData, - ownData, - }); - - const sharedSecret = await getSharedSecret( - privateKey, - ownData.PublicKey, - recipientData.PublicKey, - ); - - log(2, "chat", "purple", "Got shared secret", { - sharedSecret, - }); - - if (active) { - setCurrentSharedSecretState({ - userId: userIdValue, - value: sharedSecret, - }); - } - } catch (err) { - log( - 1, - "chat", - "red", - "An unknown error occured while getting a shared secret", - err, - ); - setError(err instanceof Error ? err.name : "Unknown Error"); - setErrorDescription(err instanceof Error ? err.message : String(err)); - if (active) { - setCurrentSharedSecretState({ - userId: userIdValue, - value: "", - }); - } - } - })(); - - return () => { - active = false; - }; - }, [get, getSharedSecret, load, userIdValue]); - const getMessages = useCallback( async (amount: number, offset: number) => { - const messages = await send("MessagesGet", { - Amount: amount, - Offset: offset, - UserId: userIdValue, + const response = await send("EncryptedMessagesGet", { + Limit: amount, + SenderUserId: String(userIdValue), }); - if (messages.type.startsWith("error")) { - throw new Error(messages.type); + if (response.type.startsWith("error")) { + throw new Error(response.type); } - const rawMessages = messages.data.Messages; - const sorted = [...rawMessages].sort((a, b) => a.SendTime - b.SendTime); + const encryptedMessages = (response.data.Messages ?? []) as Record< + string, + unknown + >[]; + const decrypted = await Promise.all( + encryptedMessages.slice(offset, offset + amount).map(async (record) => { + const inner = await decryptEncryptedRecord(record); + const data = inner.data as Record; + return { + NotEncrypted: false, + SendTime: Number( + data.SendTime ?? record.CreatedAt ?? record.createdAt, + ), + Content: String(data.Content ?? ""), + SentBySelf: + String(record.SenderUserId ?? record.senderUserId ?? "") === + String(await load("user_id")), + MessageState: "received" as RawMessage["MessageState"], + }; + }), + ); + + const sorted = [...decrypted].sort((a, b) => a.SendTime - b.SendTime); if (sorted.length > 0) { const fetchedSendTimes = new Set(sorted.map((item) => item.SendTime)); @@ -174,20 +118,9 @@ export default function Provider({ children }: { children: ReactNode }) { }); } - return await Promise.all( - sorted.map(async (message) => { - try { - return { - ...message, - content: await decryptText(currentSharedSecret, message.Content), - }; - } catch { - return message; - } - }), - ); + return sorted; }, - [send, userIdValue, currentSharedSecret, decryptText], + [send, userIdValue, decryptEncryptedRecord, load], ); const addLiveMessage = useCallback( @@ -228,6 +161,30 @@ export default function Provider({ children }: { children: ReactNode }) { setLiveMessagesState([]); }, []); + useEffect(() => { + return subscribeEncrypted("MessageSend", (data) => { + const rawData = data as unknown as { + Content?: unknown; + ReceiverId?: unknown; + SendTime?: unknown; + }; + const sendTime = Number(rawData.SendTime); + + if (!Number.isFinite(sendTime) || typeof rawData.Content !== "string") { + log(3, "chat", "yellow", "Ignoring invalid encrypted live message"); + return; + } + + addLiveMessage({ + NotEncrypted: false, + SendTime: sendTime, + Content: rawData.Content, + SentBySelf: false, + MessageState: "received", + }); + }); + }, [addLiveMessage, subscribeEncrypted]); + // Get live updates for message states useEffect(() => { return subscribePush((message) => { @@ -286,7 +243,6 @@ export default function Provider({ children }: { children: ReactNode }) { const queryKey = [ "chat-messages", String(userIdValue), - currentSharedSecret.length > 0, ] as const; queryClient.setQueryData>( queryKey, @@ -322,7 +278,7 @@ export default function Provider({ children }: { children: ReactNode }) { }, ); }); - }, [currentSharedSecret, subscribePush, userIdValue]); + }, [subscribePush, userIdValue]); return ( @@ -332,7 +288,7 @@ export default function Provider({ children }: { children: ReactNode }) { liveMessages: () => liveMessagesState, addLiveMessage, clearLiveMessages, - sharedSecret: currentSharedSecret, + sharedSecret: "", userId: userIdValue, inputBoxRef, error, diff --git a/packages/chat/src/screen.tsx b/packages/chat/src/screen.tsx index b5cf724..663ea99 100644 --- a/packages/chat/src/screen.tsx +++ b/packages/chat/src/screen.tsx @@ -79,7 +79,6 @@ export default function Screen() { liveMessages, clearLiveMessages, userId, - sharedSecret, error, errorDescription, } = useChat(); @@ -106,13 +105,12 @@ export default function Screen() { const [value, setValue] = React.useState(""); const hasValidChatUser = Number.isSafeInteger(userId) && userId > 0; - const hasSharedSecret = sharedSecret.length > 0; const messagesQuery = useInfiniteQuery({ - queryKey: ["chat-messages", String(userId), hasSharedSecret], + queryKey: ["chat-messages", String(userId)], initialPageParam: 0, queryFn: ({ pageParam }) => getMessages(PAGE_SIZE, Number(pageParam)), - enabled: hasValidChatUser && hasSharedSecret, + enabled: hasValidChatUser, getNextPageParam: (lastPage, allPages) => { if (lastPage.length < PAGE_SIZE) { return undefined; diff --git a/packages/crypto/package.json b/packages/crypto/package.json index cc14db5..b4a2f30 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -5,7 +5,7 @@ "type": "module", "exports": { "./context": "./src/context.tsx", - "./worker": "./src/worker.ts" + "./encryptedDeviceSecret": "./src/encryptedDeviceSecret.ts" }, "scripts": { "format": "pnpm exec prettier --write .", @@ -14,9 +14,6 @@ "build": "pnpm run test && tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@noble/curves": "^2.0.1", - "@noble/hashes": "^2.0.1", - "comlink": "^4.4.2", "react": "^19.2.0", "react-dom": "^19.2.0" } diff --git a/packages/crypto/src/context.test.ts b/packages/crypto/src/context.test.ts index 5dc9b69..8db92a3 100644 --- a/packages/crypto/src/context.test.ts +++ b/packages/crypto/src/context.test.ts @@ -1,4 +1,9 @@ -import { describe, expect, test } from "vitest"; +import { describe, expect, test, vi } from "vitest"; + +vi.mock("mtp", () => ({ + crypto: {}, +})); + import { createCryptoActions } from "./context"; /** diff --git a/packages/crypto/src/context.tsx b/packages/crypto/src/context.tsx index c871348..26120b7 100644 --- a/packages/crypto/src/context.tsx +++ b/packages/crypto/src/context.tsx @@ -21,20 +21,47 @@ type CryptoContextType = { export const context = createContext(undefined); +export function createCryptoActions( + getApi: () => CryptoContextType | null | undefined, +): CryptoContextType { + const requireApi = () => { + const api = getApi(); + if (!api) { + throw new Error("Crypto API not initialized"); + } + return api; + }; + + return { + decrypt: (secret, input) => requireApi().decrypt(secret, input), + decryptText: (secret, ciphertext) => + requireApi().decryptText(secret, ciphertext), + encrypt: (secret, input) => requireApi().encrypt(secret, input), + encryptText: (secret, plaintext) => + requireApi().encryptText(secret, plaintext), + getSharedSecret: (ownPrivateKey, ownPublicKey, otherPublicKey) => + requireApi().getSharedSecret(ownPrivateKey, ownPublicKey, otherPublicKey), + }; +} + +function ownedBytes(bytes: Uint8Array): Uint8Array { + const out = new Uint8Array(bytes.byteLength); + out.set(bytes); + return out; +} + export default function Provider(props: { children: React.ReactNode }) { - return ( - - {props.children} - - ); + const actions = createCryptoActions(() => ({ + decrypt: async (secret, input) => + ownedBytes(await crypto.decrypt(secret, input)), + decryptText: crypto.decryptText, + encrypt: async (secret, input) => + ownedBytes(await crypto.encrypt(secret, input)), + encryptText: crypto.encryptText, + getSharedSecret: crypto.getSharedSecret, + })); + + return {props.children}; } export function useCrypto(): CryptoContextType { diff --git a/packages/crypto/src/encryptedDeviceSecret.ts b/packages/crypto/src/encryptedDeviceSecret.ts new file mode 100644 index 0000000..26dd5a0 --- /dev/null +++ b/packages/crypto/src/encryptedDeviceSecret.ts @@ -0,0 +1,134 @@ +const textEncoder = new TextEncoder(); + +export const ENCRYPTED_DEVICE_SECRET_WRAPPING_SCHEME = + "webcrypto-aes-gcm-hkdf-sha256-v1"; + +export async function wrapDeviceSecret(args: { + rawSecret: Uint8Array; + wrappingSecret: Uint8Array | string; + userId: string; + deviceId: string; + secretId: string; + version: number; +}): Promise<{ + encryptedSecret: Uint8Array; + wrappingScheme: string; + wrappingPublicKeyId?: string; +}> { + if (!args.rawSecret.length) { + throw new Error("rawSecret must not be empty"); + } + + const key = await deriveWrappingKey(args); + const iv = crypto.getRandomValues(new Uint8Array(12)); + const aad = metadataAad(args); + + const ciphertext = new Uint8Array( + await crypto.subtle.encrypt( + { name: "AES-GCM", iv: ownedBytes(iv), additionalData: ownedBytes(aad) }, + key, + ownedBytes(args.rawSecret), + ), + ); + + const encryptedSecret = new Uint8Array(iv.length + ciphertext.length); + encryptedSecret.set(iv, 0); + encryptedSecret.set(ciphertext, iv.length); + + return { + encryptedSecret, + wrappingScheme: ENCRYPTED_DEVICE_SECRET_WRAPPING_SCHEME, + }; +} + +export async function unwrapDeviceSecret(args: { + encryptedSecret: Uint8Array; + wrappingSecret: Uint8Array | string; + userId: string; + deviceId: string; + secretId: string; + version: number; + wrappingScheme: string; +}): Promise { + if (args.wrappingScheme !== ENCRYPTED_DEVICE_SECRET_WRAPPING_SCHEME) { + throw new Error( + `Unsupported encrypted device secret wrapping scheme: ${args.wrappingScheme}`, + ); + } + if (args.encryptedSecret.length <= 12) { + throw new Error("encryptedSecret is too short"); + } + + const key = await deriveWrappingKey(args); + const iv = args.encryptedSecret.slice(0, 12); + const ciphertext = args.encryptedSecret.slice(12); + const aad = metadataAad(args); + + return new Uint8Array( + await crypto.subtle.decrypt( + { name: "AES-GCM", iv: ownedBytes(iv), additionalData: ownedBytes(aad) }, + key, + ownedBytes(ciphertext), + ), + ); +} + +async function deriveWrappingKey(args: { + wrappingSecret: Uint8Array | string; + userId: string; + deviceId: string; + secretId: string; + version: number; +}): Promise { + const wrappingSecret = + typeof args.wrappingSecret === "string" + ? textEncoder.encode(args.wrappingSecret) + : args.wrappingSecret; + + if (wrappingSecret.length < 16) { + throw new Error("No secure wrapping key available"); + } + + const baseKey = await crypto.subtle.importKey( + "raw", + ownedBytes(wrappingSecret), + "HKDF", + false, + ["deriveKey"], + ); + + return crypto.subtle.deriveKey( + { + name: "HKDF", + hash: "SHA-256", + salt: ownedBytes(textEncoder.encode("tensamin-e2ee-device-secret-v1")), + info: ownedBytes(metadataAad(args)), + }, + baseKey, + { name: "AES-GCM", length: 256 }, + false, + ["encrypt", "decrypt"], + ); +} + +function ownedBytes(bytes: Uint8Array): Uint8Array { + const out = new Uint8Array(bytes.byteLength); + out.set(bytes); + return out; +} + +function metadataAad(args: { + userId: string; + deviceId: string; + secretId: string; + version: number; +}): Uint8Array { + return textEncoder.encode( + JSON.stringify({ + userId: args.userId, + deviceId: args.deviceId, + secretId: args.secretId, + version: args.version, + }), + ); +} diff --git a/packages/crypto/src/worker.test.ts b/packages/crypto/src/worker.test.ts deleted file mode 100644 index eae3ee1..0000000 --- a/packages/crypto/src/worker.test.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { describe, expect, test } from "vitest"; -import { x448 } from "@noble/curves/ed448.js"; -import { - decrypt, - decryptText, - encrypt, - encryptText, - getSharedSecret, -} from "./worker"; - -/** - * Encodes bytes to URL-safe base64 without padding. - * @param value Input bytes. - * @returns Base64url string. - */ -function bytesToB64u(value: Uint8Array): string { - const alphabet = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - - let output = ""; - - for (let index = 0; index < value.length; index += 3) { - const first = value[index] ?? 0; - const second = value[index + 1] ?? 0; - const third = value[index + 2] ?? 0; - const chunk = (first << 16) | (second << 8) | third; - - output += alphabet[(chunk >> 18) & 63]; - output += alphabet[(chunk >> 12) & 63]; - output += index + 1 < value.length ? alphabet[(chunk >> 6) & 63] : "="; - output += index + 2 < value.length ? alphabet[chunk & 63] : "="; - } - - return output.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, ""); -} - -/** - * Converts bytes to lowercase hex. - * @param value Input bytes. - * @returns Hex string. - */ -function bytesToHex(value: Uint8Array): string { - return Array.from(value, (byte) => byte.toString(16).padStart(2, "0")).join( - "", - ); -} - -/** - * Creates deterministic 56-byte private key material for tests. - * @param seed Offset seed used to vary generated bytes. - * @returns Deterministic private key bytes. - */ -function createPrivateKey(seed: number): Uint8Array { - const output = new Uint8Array(56); - - for (let index = 0; index < output.length; index += 1) { - output[index] = (seed + index) % 255; - } - - return output; -} - -describe("crypto worker", () => { - const textEncoder = new TextEncoder(); - const textDecoder = new TextDecoder(); - - test("encrypt/decrypt byte round-trip returns original plaintext", async () => { - const secret = "0f".repeat(56); - const input = "hello encrypted world"; - - const encryptedContent = await encrypt(secret, textEncoder.encode(input)); - const decryptedContent = await decrypt(secret, encryptedContent); - - expect(textDecoder.decode(decryptedContent)).toBe(input); - }); - - test("encryptText/decryptText round-trip returns original plaintext", async () => { - const secret = "0f".repeat(56); - const input = "hello encrypted world"; - - const ciphertext = await encryptText(secret, input); - const plaintext = await decryptText(secret, ciphertext); - - expect(plaintext).toBe(input); - }); - - test("decrypt fails with wrong shared secret", async () => { - const secret = "0f".repeat(56); - const wrongSecret = "f0".repeat(56); - const input = "sensitive"; - - const ciphertext = await encrypt(secret, textEncoder.encode(input)); - - let failed = false; - try { - await decrypt(wrongSecret, ciphertext); - } catch { - failed = true; - } - - expect(failed).toBe(true); - }); - - test("getSharedSecret matches noble x448 derivation", async () => { - const ownPrivateBytes = createPrivateKey(7); - const peerPrivateBytes = createPrivateKey(23); - - const ownPublicBytes = x448.getPublicKey(ownPrivateBytes); - const peerPublicBytes = x448.getPublicKey(peerPrivateBytes); - - const expected = bytesToHex( - new Uint8Array(x448.getSharedSecret(ownPrivateBytes, peerPublicBytes)), - ); - - const actual = await getSharedSecret( - bytesToB64u(ownPrivateBytes), - bytesToB64u(ownPublicBytes), - bytesToB64u(peerPublicBytes), - ); - - expect(actual).toBe(expected); - }); -}); diff --git a/packages/crypto/src/worker.ts b/packages/crypto/src/worker.ts deleted file mode 100644 index f22fe42..0000000 --- a/packages/crypto/src/worker.ts +++ /dev/null @@ -1,482 +0,0 @@ -import * as Comlink from "comlink"; - -type Base64URLString = string; - -type JWK = { - kty: string; - crv: string; - x?: string; - d?: string; -}; - -const textEncoder = new TextEncoder(); -const textDecoder = new TextDecoder(); -const crypto = globalThis.crypto; - -/** - * Encodes bytes as standard base64 text. - * @param bytes Bytes to encode. - * @returns Base64 string. - */ -function bytesToBase64(bytes: Uint8Array): string { - let binary = ""; - for (const byte of bytes) binary += String.fromCharCode(byte); - return btoa(binary); -} - -/** - * Decodes standard base64 text into bytes. - * @param base64 Base64 string. - * @returns Decoded bytes. - */ -function base64ToBytes(base64: string): Uint8Array { - const binary = atob(base64); - const bytes = new Uint8Array(binary.length); - for (let index = 0; index < binary.length; index += 1) { - bytes[index] = binary.charCodeAt(index); - } - return bytes; -} - -/** - * Encrypts bytes with a symmetric key derived from a hex shared secret. - * @param secret Hex-encoded shared secret. - * @param input Plaintext bytes to encrypt. - * @returns Ciphertext bytes. - */ -export async function encrypt( - secret: string, - input: Uint8Array, -): Promise> { - const sharedSecret = new Uint8Array( - secret.match(/.{1,2}/g)!.map((byte) => parseInt(byte, 16)), - ); - - const hkdfKey = await crypto.subtle.importKey( - "raw", - sharedSecret, - "HKDF", - false, - ["deriveBits"], - ); - - const okm = await crypto.subtle.deriveBits( - { - name: "HKDF", - hash: "SHA-256", - salt: new Uint8Array([]), - info: textEncoder.encode("x448-aes-gcm-no-overhead"), - }, - hkdfKey, - 44 * 8, - ); - - const okmBytes = new Uint8Array(okm); - const keyBytes = okmBytes.slice(0, 32); - const nonce = okmBytes.slice(32, 44); - - const aesKey = await crypto.subtle.importKey( - "raw", - keyBytes, - { name: "AES-GCM" }, - false, - ["encrypt"], - ); - - const encryptedBuffer = await crypto.subtle.encrypt( - { name: "AES-GCM", iv: nonce }, - aesKey, - input, - ); - - return new Uint8Array(encryptedBuffer); -} - -/** - * Decrypts bytes with a symmetric key derived from a hex shared secret. - * @param secret Hex-encoded shared secret. - * @param input Ciphertext bytes to decrypt. - * @returns Plaintext bytes. - */ -export async function decrypt( - secret: string, - input: Uint8Array, -): Promise> { - const sharedSecret = new Uint8Array( - secret.match(/.{1,2}/g)!.map((byte) => parseInt(byte, 16)), - ); - - const hkdfKey = await crypto.subtle.importKey( - "raw", - sharedSecret, - "HKDF", - false, - ["deriveBits"], - ); - - const okm = await crypto.subtle.deriveBits( - { - name: "HKDF", - hash: "SHA-256", - salt: new Uint8Array([]), - info: textEncoder.encode("x448-aes-gcm-no-overhead"), - }, - hkdfKey, - 44 * 8, - ); - - const okmBytes = new Uint8Array(okm); - const keyBytes = okmBytes.slice(0, 32); - const nonce = okmBytes.slice(32, 44); - - const aesKey = await crypto.subtle.importKey( - "raw", - keyBytes, - { name: "AES-GCM" }, - false, - ["decrypt"], - ); - - const decryptedBuffer = await crypto.subtle.decrypt( - { - name: "AES-GCM", - iv: nonce, - }, - aesKey, - input, - ); - - return new Uint8Array(decryptedBuffer); -} - -/** - * Encrypts UTF-8 text and returns base64 ciphertext for easy transport/storage. - * @param secret Hex-encoded shared secret. - * @param plaintext Text to encrypt. - * @returns Base64 ciphertext. - */ -export async function encryptText( - secret: string, - plaintext: string, -): Promise { - const encrypted = await encrypt(secret, textEncoder.encode(plaintext)); - return bytesToBase64(encrypted); -} - -/** - * Decrypts base64 ciphertext into UTF-8 text. - * @param secret Hex-encoded shared secret. - * @param ciphertext Base64 ciphertext. - * @returns Decrypted text. - */ -export async function decryptText( - secret: string, - ciphertext: string, -): Promise { - const decrypted = await decrypt(secret, base64ToBytes(ciphertext)); - return textDecoder.decode(decrypted); -} - -/** - * Computes an X448 shared secret from local and peer key material. - * @param ownPrivateKey Local private key in raw/base64/base64url or PKCS#8-wrapped form. - * @param ownPublicKey Local public key in raw/base64/base64url or SPKI-wrapped form. - * @param otherPublicKey Peer public key in raw/base64/base64url or SPKI-wrapped form. - * @returns Hex-encoded shared secret, or a failure message when key material is missing/invalid. - */ -export async function getSharedSecret( - ownPrivateKey: string, - ownPublicKey: string, - otherPublicKey: string, -): Promise { - const otherJwk: JWK = { kty: "OKP", crv: "X448", x: otherPublicKey }; - const ownJwk: JWK = { - kty: "OKP", - crv: "X448", - x: ownPublicKey, - d: ownPrivateKey, - }; - - /** - * Converts bytes to a lowercase hex string. - * @param u8 Byte array. - * @returns Hex string. - */ - const bytesToHex = (u8: Uint8Array): string => - Array.from(u8, (b) => b.toString(16).padStart(2, "0")).join(""); - - /** - * Decodes standard base64 text into bytes. - * @param s Base64 string. - * @returns Decoded bytes. - */ - const b64ToBytes = (s: Base64URLString): Uint8Array => { - const bin = atob(s); - const out = new Uint8Array(bin.length); - for (let i = 0; i < bin.length; i++) out[i] = bin.charCodeAt(i); - return out; - }; - - /** - * Decodes URL-safe base64 text into bytes. - * @param s Base64url string. - * @returns Decoded bytes. - */ - const b64uToBytes = (s: Base64URLString): Uint8Array => { - const b64 = - s.replace(/-/g, "+").replace(/_/g, "/") + "===".slice((s.length + 3) % 4); - return b64ToBytes(b64); - }; - - /** - * Encodes bytes as URL-safe base64 without padding. - * @param u8 Byte array. - * @returns Base64url string. - */ - const bytesToB64u = (u8: Uint8Array): string => { - const b64 = btoa(String.fromCharCode(...u8)); - return b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, ""); - }; - - /** - * Decodes either base64 or base64url text into bytes. - * @param s Base64/base64url string. - * @returns Decoded bytes. - */ - const decodeBase64Auto = (s: string): Uint8Array => - /[-_]/.test(s) ? b64uToBytes(s) : b64ToBytes(s); - - /** - * Reads a DER TLV item from the provided offset. - * @param view DER-encoded bytes. - * @param off Start offset. - * @returns Parsed TLV metadata with tag, length, and boundaries. - */ - const readTLV = (view: Uint8Array, off: number) => { - const tag = view[off++]; - if (off >= view.length) throw new Error("DER: truncated"); - let len = view[off++]; - if (len & 0x80) { - const n = len & 0x7f; - if (n === 0) throw new Error("DER: indefinite length not supported"); - if (off + n > view.length) throw new Error("DER: truncated length"); - len = 0; - for (let i = 0; i < n; i++) len = (len << 8) | view[off++]; - } - const start = off; - const end = off + len; - if (end > view.length) throw new Error("DER: content truncated"); - return { tag, len, start, end }; - }; - - /** - * Validates that a DER OID matches X448. - * @param view DER-encoded bytes. - * @param start Offset of the OID TLV. - * @returns True when the OID is X448. - */ - const ensureOidX448 = (view: Uint8Array, start: number): boolean => { - const oid = readTLV(view, start); - if (oid.tag !== 0x06) return false; - const len = oid.end - oid.start; - if (len !== 3) return false; - return ( - view[oid.start] === 0x2b && - view[oid.start + 1] === 0x65 && - view[oid.start + 2] === 0x6f - ); - }; - - /** - * Extracts raw 56-byte X448 public key material from SPKI bytes. - * @param spkiBytes DER-encoded SPKI bytes. - * @returns Raw X448 public key bytes. - */ - const extractRawX448FromSPKI = (spkiBytes: Uint8Array): Uint8Array => { - const view = spkiBytes; - const outer = readTLV(view, 0); - if (outer.tag !== 0x30) throw new Error("SPKI: expected SEQUENCE"); - const alg = readTLV(view, outer.start); - if (alg.tag !== 0x30) throw new Error("SPKI: expected AlgorithmIdentifier"); - if (!ensureOidX448(view, alg.start)) throw new Error("SPKI: not X448"); - const bitstr = readTLV(view, alg.end); - if (bitstr.tag !== 0x03) throw new Error("SPKI: expected BIT STRING"); - const unusedBits = view[bitstr.start]; - if (unusedBits !== 0x00) throw new Error("SPKI: unexpected unused bits"); - const raw = view.subarray(bitstr.start + 1, bitstr.end); - if (raw.length !== 56) - throw new Error("SPKI: X448 public key must be 56 bytes"); - return raw; - }; - - /** - * Extracts raw 56-byte X448 private key material from PKCS#8 bytes. - * @param pkcs8Bytes DER-encoded PKCS#8 bytes. - * @returns Raw X448 private key bytes. - */ - const extractRawX448FromPKCS8 = (pkcs8Bytes: Uint8Array): Uint8Array => { - const view = pkcs8Bytes; - const outer = readTLV(view, 0); - if (outer.tag !== 0x30) throw new Error("PKCS8: expected SEQUENCE"); - let off = outer.start; - - const version = readTLV(view, off); - if (version.tag !== 0x02) - throw new Error("PKCS8: expected version INTEGER"); - off = version.end; - - const alg = readTLV(view, off); - if (alg.tag !== 0x30) - throw new Error("PKCS8: expected AlgorithmIdentifier"); - if (!ensureOidX448(view, alg.start)) throw new Error("PKCS8: not X448"); - off = alg.end; - - const priv = readTLV(view, off); - if (priv.tag !== 0x04) - throw new Error("PKCS8: expected privateKey OCTET STRING"); - let raw = view.subarray(priv.start, priv.end); - - // Some encoders nest another OCTET STRING inside - if (raw[0] === 0x04) { - const inner = readTLV(raw, 0); - if (inner.tag === 0x04) { - raw = raw.subarray(inner.start, inner.end); - } - } - if (raw.length !== 56) - throw new Error("PKCS8: X448 private key must be 56 bytes"); - return raw; - }; - - /** - * Normalizes X448 JWK fields into raw base64url key material. - * @param jwk Candidate JWK. - * @param label Error label for diagnostics. - * @returns Normalized JWK suitable for WebCrypto import. - */ - const normalizeOkpX448Jwk = (jwk: JWK, label: string): JWK => { - if (!jwk || jwk.kty !== "OKP" || jwk.crv !== "X448") { - throw new Error(`${label}: expected OKP JWK with crv "X448"`); - } - const out = { ...jwk }; - - if (out.x) { - const xBytes = decodeBase64Auto(out.x); - let rawX: Uint8Array; - try { - rawX = extractRawX448FromSPKI(xBytes); - } catch { - if (xBytes.length !== 56) { - throw new Error( - `${label}: "x" is not a valid X448 SPKI or raw 56-byte key`, - ); - } - rawX = xBytes; - } - out.x = bytesToB64u(rawX); - } - - if (out.d) { - const dBytes = decodeBase64Auto(out.d); - let rawD: Uint8Array; - try { - rawD = extractRawX448FromPKCS8(dBytes); - } catch { - if (dBytes.length !== 56) { - throw new Error( - `${label}: "d" is not a valid X448 PKCS#8 or raw 56-byte key`, - ); - } - rawD = dBytes; - } - out.d = bytesToB64u(rawD); - } - - return out; - }; - - const getSubtle = () => globalThis.crypto?.subtle; - - const myJwk: JWK = normalizeOkpX448Jwk(ownJwk, "own_jwk"); - const peerJwk: JWK = normalizeOkpX448Jwk(otherJwk, "other_jwk"); - - const subtle = getSubtle(); - - if (subtle) { - const algorithms = [{ name: "ECDH", namedCurve: "X448" }, { name: "X448" }]; - - for (const algorithm of algorithms) { - try { - const [myPriv, peerPub] = await Promise.all([ - subtle.importKey("jwk", myJwk, algorithm, false, ["deriveBits"]), - subtle.importKey("jwk", peerJwk, algorithm, false, []), - ]); - - const sharedBits = await subtle.deriveBits( - { name: algorithm.name, public: peerPub }, - myPriv, - 448, - ); - - const sharedSecret = new Uint8Array(sharedBits); - //const aeadKey = await hkdfAesGcmFromShared(sharedSecret, infoStr); - - return bytesToHex(sharedSecret); - } catch { - // Browser doesn't support this algorithm, try next or fall through to software fallback - } - } - } - - const { d: dMyB64u } = myJwk; - //const { x: xMyB64u, d: dMyB64u } = myJwk; - const { x: xPeerB64u } = peerJwk; - - if (!dMyB64u || !xPeerB64u) { - return "Failed to get shared secret due to missing keys"; - } - - const [dRaw, xRawPeer] = [b64uToBytes(dMyB64u), b64uToBytes(xPeerB64u)]; - if (dRaw.length !== 56 || xRawPeer.length !== 56) { - return "Failed to get shared secret due to invalid key lengths"; - } - - const { x448 } = await import("@noble/curves/ed448.js"); - const sharedSecret = new Uint8Array(x448.getSharedSecret(dRaw, xRawPeer)); - //const aeadKey = await hkdfAesGcmFromShared(sharedSecret, infoStr); - - return bytesToHex(sharedSecret); -} - -/** - * @deprecated Use getSharedSecret instead. - * @param ownPrivateKey Local private key. - * @param ownPublicKey Local public key. - * @param otherPublicKey Peer public key. - * @returns Shared secret derived by getSharedSecret. - */ -export async function get_shared_secret( - ownPrivateKey: string, - ownPublicKey: string, - otherPublicKey: string, -): Promise { - return await getSharedSecret(ownPrivateKey, ownPublicKey, otherPublicKey); -} - -/** - * Checks whether the current runtime context is a worker global scope. - * @returns True when executed inside a worker-like runtime. - */ -function isWorkerRuntime(): boolean { - return "postMessage" in globalThis && "importScripts" in globalThis; -} - -if (isWorkerRuntime()) { - Comlink.expose({ - encrypt, - decrypt, - encryptText, - decryptText, - getSharedSecret, - }); -} diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index ddd1b15..5ca378c 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -45,6 +45,237 @@ function base64ToUint8Array(b64: string) { return out; } +function bytesFromProtocol(value: unknown): Uint8Array { + if (value instanceof Uint8Array) return value; + if (Array.isArray(value)) return new Uint8Array(value); + if (typeof value === "string") return base64ToUint8Array(value); + throw new Error("expected protocol bytes"); +} + +type ParsedFrameLike = { + id?: number; + type: string; + data: unknown; +}; + +interface MTPSessionState { + version: 1; + conversationId: string; + ownClientId: bigint; + peerClientId: bigint; + peerPublicKey: Uint8Array; + sendChainKey: Uint8Array; + recvChainKey: Uint8Array; + sendCount: number; + recvCount: number; + createdAt: number; + updatedAt: number; +} + +interface MTPSessionStorage { + getSession(conversationId: string): Promise; + setSession(state: MTPSessionState): Promise; + deleteSession(conversationId: string): Promise; +} + +interface EncryptedDeviceSecretRecord { + userId: string; + deviceId: string; + secretId: string; + version: number; + encryptedSecret: Uint8Array; + wrappingPublicKeyId?: string; + wrappingScheme: string; + createdAt: number; + updatedAt: number; +} + +interface MTPEncryptedDeviceSecretProvider { + setEncryptedDeviceSecret(record: EncryptedDeviceSecretRecord): Promise; + getEncryptedDeviceSecret(query: { + userId: string; + deviceId?: string; + secretId?: string; + }): Promise; +} + +function serializeSessionState( + state: MTPSessionState, +): Record { + return { + ...state, + ownClientId: state.ownClientId.toString(), + peerClientId: state.peerClientId.toString(), + peerPublicKey: Array.from(state.peerPublicKey), + sendChainKey: Array.from(state.sendChainKey), + recvChainKey: Array.from(state.recvChainKey), + }; +} + +function deserializeSessionState(value: unknown): MTPSessionState | null { + if (!value || typeof value !== "object") return null; + const raw = value as Record; + if (typeof raw.conversationId !== "string") return null; + return { + version: 1, + conversationId: raw.conversationId, + ownClientId: BigInt(String(raw.ownClientId)), + peerClientId: BigInt(String(raw.peerClientId)), + peerPublicKey: new Uint8Array(raw.peerPublicKey as number[]), + sendChainKey: new Uint8Array(raw.sendChainKey as number[]), + recvChainKey: new Uint8Array(raw.recvChainKey as number[]), + sendCount: Number(raw.sendCount), + recvCount: Number(raw.recvCount), + createdAt: Number(raw.createdAt), + updatedAt: Number(raw.updatedAt), + }; +} + +class LocalMTPSessionStorage implements MTPSessionStorage { + constructor( + private readonly load: ( + key: K, + ) => Promise | undefined>, + private readonly save: ( + key: K, + value: Record, + ) => Promise, + ) {} + + async getSession(conversationId: string): Promise { + const sessions = (await this.load("e2ee_sessions")) ?? {}; + return deserializeSessionState(sessions[conversationId]); + } + + async setSession(state: MTPSessionState): Promise { + const sessions = { ...((await this.load("e2ee_sessions")) ?? {}) }; + sessions[state.conversationId] = serializeSessionState(state); + await this.save("e2ee_sessions", sessions); + } + + async deleteSession(conversationId: string): Promise { + const sessions = { ...((await this.load("e2ee_sessions")) ?? {}) }; + delete sessions[conversationId]; + await this.save("e2ee_sessions", sessions); + } +} + +function frameField( + frame: ParsedFrameLike, + pascal: string, + camel: string, +): T { + const data = frame.data as Record; + return (data[pascal] ?? data[camel]) as T; +} + +type ConnectedMTPClient = Awaited> & { + request( + type: string, + data: Record, + options?: { responseType?: string }, + ): Promise; + sendEncrypted( + type: string, + data: Record, + options: { + recipientClientId?: bigint | number | string; + recipientPublicKey?: string | Uint8Array | number[]; + senderUserId?: string; + recipientUserId?: string; + recipientDeviceId?: string; + }, + ): Promise; + subscribeEncrypted( + type: string, + handler: (data: unknown, meta: ParsedFrameLike) => void, + ): () => void; + decryptEncryptedRecord( + frameData: Record, + ): Promise; +}; + +class NetworkEncryptedDeviceSecretProvider implements MTPEncryptedDeviceSecretProvider { + #client: ConnectedMTPClient | null = null; + + attach(client: ConnectedMTPClient): void { + this.#client = client; + } + + async setEncryptedDeviceSecret( + record: EncryptedDeviceSecretRecord, + ): Promise { + if (!this.#client) { + throw new Error("encrypted device secret provider is not attached"); + } + if (!record.encryptedSecret?.length || !record.wrappingScheme) { + throw new Error( + "encrypted device secret record is missing ciphertext metadata", + ); + } + + await this.#client.request("SetEncryptedDeviceSecret", { + UserId: record.userId, + DeviceId: record.deviceId, + SecretId: record.secretId, + VersionNumber: record.version, + EncryptedSecret: record.encryptedSecret, + WrappingPublicKeyId: record.wrappingPublicKeyId, + WrappingScheme: record.wrappingScheme, + CreatedAt: record.createdAt, + }); + } + + async getEncryptedDeviceSecret(query: { + userId: string; + deviceId?: string; + secretId?: string; + }): Promise { + if (!this.#client) { + throw new Error("encrypted device secret provider is not attached"); + } + + try { + const response = await this.#client.request( + "GetEncryptedDeviceSecret", + { + UserId: query.userId, + DeviceId: query.deviceId, + SecretId: query.secretId, + }, + { responseType: "EncryptedDeviceSecretResponse" }, + ); + + if (response.type === "ErrorNotFound") return null; + + return { + userId: frameField(response, "UserId", "userId"), + deviceId: frameField(response, "DeviceId", "deviceId"), + secretId: frameField(response, "SecretId", "secretId"), + version: Number(frameField(response, "VersionNumber", "versionNumber")), + encryptedSecret: bytesFromProtocol( + frameField(response, "EncryptedSecret", "encryptedSecret"), + ), + wrappingPublicKeyId: frameField( + response, + "WrappingPublicKeyId", + "wrappingPublicKeyId", + ), + wrappingScheme: frameField( + response, + "WrappingScheme", + "wrappingScheme", + ), + createdAt: Number(frameField(response, "CreatedAt", "createdAt")), + updatedAt: Number(frameField(response, "UpdatedAt", "updatedAt")), + }; + } catch (error) { + if (String(error).includes("ErrorNotFound")) return null; + throw error; + } + } +} + export type ProtocolMessage< T extends keyof Schemas & string = keyof Schemas & string, > = { @@ -59,15 +290,38 @@ export type BoundSendFn = ( options?: { id?: number }, ) => Promise>; +export type BoundSendEncryptedFn = ( + type: T, + data: z.infer, + options: { + recipientClientId?: bigint | number | string; + recipientPublicKey?: string | Uint8Array | number[]; + senderUserId?: string; + recipientUserId?: string; + recipientDeviceId?: string; + }, +) => Promise; + export type PushHandler = (message: ProtocolMessage) => void; type ContextType = { send: BoundSendFn; + sendEncrypted: BoundSendEncryptedFn; subscribe: ( type: T, handler: (message: ProtocolMessage) => void, ) => () => void; subscribePush: (handler: PushHandler) => () => void; + subscribeEncrypted: ( + type: T, + handler: ( + data: z.infer, + meta: ProtocolMessage, + ) => void, + ) => () => void; + decryptEncryptedRecord: ( + frameData: Record, + ) => Promise; readyState: number; ownPing: number; iotaPing: number; @@ -134,7 +388,7 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean; }) { - const { load } = useStorage(); + const { load, save } = useStorage(); const [readyState, setReadyState] = useState( ConnectionState.Disconnected, @@ -149,9 +403,7 @@ export function Provider(props: { const [freshContacts, setFreshContacts] = useState([]); const [freshCalls, setFreshCalls] = useState([]); - const clientRef = useRef> | null>( - null, - ); + const clientRef = useRef(null); const connected = readyState === ConnectionState.Connected; @@ -180,6 +432,57 @@ export function Provider(props: { [], ); + const sendEncrypted: BoundSendEncryptedFn = useMemo( + () => async (type, data, options) => { + const client = clientRef.current; + + if (!client) { + throw new Error("mtp is not connected"); + } + + let recipientClientId = options.recipientClientId; + let recipientPublicKey = options.recipientPublicKey; + if (recipientClientId == null) { + if (!options.recipientUserId) { + throw new Error("recipientClientId or recipientUserId is required"); + } + + const recipientUserId = Number(options.recipientUserId); + if (!Number.isSafeInteger(recipientUserId) || recipientUserId <= 0) { + throw new Error("recipientUserId must be a valid user id"); + } + + const response = await client.request( + "GetUserData", + { UserId: recipientUserId }, + { responseType: "GetUserData" }, + ); + if (response.type === "ErrorNotFound") { + throw new Error("Recipient user data not found"); + } + + recipientPublicKey = frameField( + response, + "PublicKey", + "publicKey", + ); + if (!recipientPublicKey) { + throw new Error("Recipient has no encryption public key available"); + } + recipientClientId = BigInt(recipientUserId); + } + + await client.sendEncrypted(type, data as Record, { + recipientClientId, + recipientPublicKey, + senderUserId: options.senderUserId, + recipientUserId: options.recipientUserId, + recipientDeviceId: options.recipientDeviceId, + }); + }, + [], + ); + const subscribe = useCallback((type, handler) => { const client = clientRef.current; if (!client) { @@ -191,6 +494,34 @@ export function Provider(props: { }); }, []); + const subscribeEncrypted = useCallback( + (type, handler) => { + const client = clientRef.current; + if (!client) { + return () => {}; + } + + return client.subscribeEncrypted(type, (data, meta) => { + handler(data as z.infer, { + id: meta.id, + type: meta.type, + data: data as z.infer, + }); + }); + }, + [], + ); + + const decryptEncryptedRecord = useCallback< + ContextType["decryptEncryptedRecord"] + >(async (frameData) => { + const client = clientRef.current; + if (!client) throw new Error("mtp is not connected"); + return client.decryptEncryptedRecord(frameData); + }, []); + + const decryptEncryptedRecordForQueue = decryptEncryptedRecord; + const subscribePush = useCallback((handler: PushHandler) => { const client = clientRef.current; if (!client) { @@ -299,6 +630,7 @@ export function Provider(props: { await MTPClient.init(); + const userId = await load("user_id"); const forcedOmikronUrl = await load("forced_omikron_url"); const forcedOmikronPublicKey = await load("forced_omikron_public_key"); @@ -309,9 +641,7 @@ export function Provider(props: { omikronPublicKey = forcedOmikronPublicKey; } else { log(2, "mtp", "purple", "Fetching Omikron data."); - const data = await fetch( - `${mtpUrl}api/get/omikron/${await load("user_id")}`, - ); + const data = await fetch(`${mtpUrl}api/get/omikron/${userId}`); if (data.status === 404) { sonnerToast.error("We couldn't reach your Iota", { @@ -350,16 +680,31 @@ export function Provider(props: { log(2, "mtp", "green", "Connecting to: " + url); - const client = await MTPClient.create({ + const encryptedDeviceSecretProvider = + new NetworkEncryptedDeviceSecretProvider(); + + const createMTPClient = MTPClient.create as unknown as ( + options: Record, + ) => Promise; + const client = await createMTPClient({ url, credentials: { - clientId: await load("user_id"), + clientId: BigInt(userId), keyring: base64ToUint8Array(await load("mtp_keyring")), }, hostPublicKey: omikronPublicKey, descriptor: "client", pings: true, - logger: (event) => { + encryptedDeviceSecretProvider, + sessionStorage: new LocalMTPSessionStorage( + load as never, + save as never, + ), + logger: (event: { + type: string; + data?: unknown; + direction?: "send" | "recv"; + }) => { if (event.type === "state") { setReadyState( clientRef.current?.state ?? ConnectionState.Disconnected, @@ -395,6 +740,8 @@ export function Provider(props: { return; } + encryptedDeviceSecretProvider.attach(client); + clientRef.current = client; setReadyState(client.state); await client.connect(); @@ -527,7 +874,7 @@ export function Provider(props: { setIdentifying(false); sonnerToast.dismiss("mtp-connection-toast"); }; - }, [mtpUrl, props.blockConnection, load]); + }, [mtpUrl, props.blockConnection, load, save]); // No Iota check useEffect(() => { @@ -561,8 +908,11 @@ export function Provider(props: { () => createAsyncQueue<{ send: typeof send; + sendEncrypted: typeof sendEncrypted; subscribe: typeof subscribe; subscribePush: typeof subscribePush; + subscribeEncrypted: typeof subscribeEncrypted; + decryptEncryptedRecord: typeof decryptEncryptedRecordForQueue; }>(), [], ); @@ -570,11 +920,25 @@ export function Provider(props: { if (connected && identified && mtpUrl) { mtpRef.set({ send, + sendEncrypted, subscribe, subscribePush, + subscribeEncrypted, + decryptEncryptedRecord: decryptEncryptedRecordForQueue, }); } - }, [connected, identified, mtpUrl, send, subscribe, subscribePush, mtpRef]); + }, [ + connected, + identified, + mtpUrl, + send, + sendEncrypted, + subscribe, + subscribePush, + subscribeEncrypted, + decryptEncryptedRecordForQueue, + mtpRef, + ]); const sendQueued: BoundSendFn = useMemo( () => async (type, data, options) => { @@ -584,12 +948,32 @@ export function Provider(props: { [mtpRef], ); + const sendEncryptedQueued: BoundSendEncryptedFn = useMemo( + () => async (type, data, options) => { + const mtp = await mtpRef.get(); + return mtp.sendEncrypted(type, data, options); + }, + [mtpRef], + ); + + const decryptEncryptedRecordQueued: ContextType["decryptEncryptedRecord"] = + useMemo( + () => async (frameData) => { + const mtp = await mtpRef.get(); + return mtp.decryptEncryptedRecord(frameData); + }, + [mtpRef], + ); + return ( ; @@ -241,6 +252,95 @@ export const mtp = { SenderId: z.number().optional(), }), }, + SetEncryptedDeviceSecret: { + request: z.object({ + UserId: z.string(), + DeviceId: z.string(), + SecretId: z.string(), + VersionNumber: z.number(), + EncryptedSecret: bytesLike, + WrappingPublicKeyId: z.string().optional(), + WrappingScheme: z.string(), + CreatedAt: z.number(), + }), + response: z.object({}), + }, + GetEncryptedDeviceSecret: { + request: z.object({ + UserId: z.string(), + DeviceId: z.string().optional(), + SecretId: z.string().optional(), + }), + response: z.object({}), + }, + EncryptedDeviceSecretResponse: { + request: z.object({}).optional(), + response: z.object({ + UserId: z.string(), + DeviceId: z.string(), + SecretId: z.string(), + VersionNumber: z.number(), + EncryptedSecret: bytesLike, + WrappingPublicKeyId: z.string().optional(), + WrappingScheme: z.string(), + CreatedAt: z.number(), + UpdatedAt: z.number(), + }), + }, + EncryptedMessage: { + request: z.object({ + MessageId: z.string(), + ConversationId: z.string(), + SenderClientId: clientIdLike, + RecipientClientId: clientIdLike, + SenderUserId: z.string().optional(), + RecipientUserId: z.string().optional(), + CreatedAt: z.number(), + EncryptionVersion: z.literal(1), + EncryptedPayload: bytesLike, + }), + response: z.object({}), + }, + EncryptedMessageAck: { + request: z.object({ + MessageId: z.string(), + ConversationId: z.string(), + RecipientClientId: clientIdLike, + SendTime: z.number().optional(), + GetTime: z.number().optional(), + }), + response: z.object({}), + }, + EncryptedMessagesGet: { + request: z.object({ + ConversationId: z.string().optional(), + PeerClientId: clientIdLike.optional(), + SenderUserId: z.string().optional(), + Since: z.number().optional(), + Limit: z.number().optional(), + }), + response: z.object({}), + }, + EncryptedMessagesResponse: { + request: z.object({}).optional(), + response: z.object({ + Messages: z.array( + z.object({ + MessageId: z.string(), + ConversationId: z.string(), + SenderClientId: clientIdLike, + RecipientClientId: clientIdLike, + SenderUserId: z.string().optional(), + RecipientUserId: z.string().optional(), + CreatedAt: z.number(), + EncryptionVersion: z.literal(1), + EncryptedPayload: bytesLike, + }), + ), + HasMore: z.boolean().optional(), + NextCursor: z.string().optional(), + }), + }, ErrorNoIota: { request: z.object({}).optional(), response: z.object({}), @@ -254,6 +354,8 @@ export interface Storage extends SettingsStorageDefaults { session_id: number; user_id: number; mtp_keyring: string; + e2ee_device_id: string; + e2ee_sessions: Record; ppandtos_done: boolean; accepted_terms_of_service: boolean; accepted_privacy_policy: boolean; @@ -288,6 +390,8 @@ export const storageDefaults: Storage = { session_id: 0, user_id: 0, mtp_keyring: "", + e2ee_device_id: "", + e2ee_sessions: {}, ppandtos_done: false, accepted_terms_of_service: false, accepted_privacy_policy: false, diff --git a/packages/tauth/src/context.tsx b/packages/tauth/src/context.tsx index e2ca153..9c1abcb 100644 --- a/packages/tauth/src/context.tsx +++ b/packages/tauth/src/context.tsx @@ -17,13 +17,12 @@ import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; import { Loader2 } from "lucide-react"; import { isTauri } from "@tauri-apps/api/core"; -import { decryptText } from "@tensamin/crypto/worker"; export default function Wrapper({ children }: { children: ReactNode }) { const { get } = useUser(); const { load } = useStorage(); const { send } = useMTP(); - const { getSharedSecret } = useCrypto(); + const { decryptText, getSharedSecret } = useCrypto(); const { searchStr } = useLocation(); const navigate = useNavigate(); const [dialogOpen, setDialogOpen] = useState(false); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f6a0c4b..3687b75 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -603,15 +603,6 @@ importers: packages/crypto: dependencies: - '@noble/curves': - specifier: ^2.0.1 - version: 2.2.0 - '@noble/hashes': - specifier: ^2.0.1 - version: 2.2.0 - comlink: - specifier: ^4.4.2 - version: 4.4.2 react: specifier: ^19.2.0 version: 19.2.7 @@ -1451,10 +1442,6 @@ packages: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 - '@noble/curves@2.2.0': - resolution: {integrity: sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==} - engines: {node: '>= 20.19.0'} - '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -2534,9 +2521,6 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - comlink@4.4.2: - resolution: {integrity: sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==} - commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} @@ -5625,10 +5609,6 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@noble/curves@2.2.0': - dependencies: - '@noble/hashes': 2.2.0 - '@noble/hashes@1.4.0': {} '@noble/hashes@2.2.0': {} @@ -6675,8 +6655,6 @@ snapshots: dependencies: delayed-stream: 1.0.0 - comlink@4.4.2: {} - commander@11.1.0: {} commander@14.0.3: {} diff --git a/type-maps.yaml b/type-maps.yaml index 501a034..38b4d21 100644 --- a/type-maps.yaml +++ b/type-maps.yaml @@ -137,6 +137,13 @@ type_maps: AppChallengeResponse: 133 AppIdentificationResponse: 134 LoadTxtRecord: 135 + SetEncryptedDeviceSecret: 139 + GetEncryptedDeviceSecret: 140 + EncryptedDeviceSecretResponse: 141 + EncryptedMessage: 142 + EncryptedMessageAck: 143 + EncryptedMessagesGet: 144 + EncryptedMessagesResponse: 145 DataTypes: ErrorType: 32 ErrorProtocol: 33 @@ -237,3 +244,25 @@ type_maps: AppData: 131 TauriToken: 132 Challenge: 133 + EncryptedPayload: 134 + SecurePayload: 135 + DeviceId: 136 + ClientId: 137 + SecretId: 142 + VersionNumber: 143 + EncryptedSecret: 144 + WrappingPublicKeyId: 145 + WrappingScheme: 146 + UpdatedAt: 147 + MessageId: 148 + ConversationId: 149 + SenderClientId: 150 + RecipientClientId: 151 + SenderUserId: 152 + RecipientUserId: 153 + EncryptionVersion: 154 + HasMore: 155 + NextCursor: 156 + Since: 157 + Limit: 158 + PeerClientId: 159 diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..30e49b8 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + exclude: ["**/node_modules/**", "**/.direnv/**", "**/dist/**"], + }, +}); From 7d6080edbf2245b5309392616bebe1a46dc2b9cc Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 5 Jul 2026 21:57:04 +0200 Subject: [PATCH 50/75] (fix): stuff --- packages/mtp/src/context.tsx | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index 5ca378c..e116d40 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -132,15 +132,27 @@ function deserializeSessionState(value: unknown): MTPSessionState | null { } class LocalMTPSessionStorage implements MTPSessionStorage { + private readonly load: ( + key: K, + ) => Promise | undefined>; + + private readonly save: ( + key: K, + value: Record, + ) => Promise; + constructor( - private readonly load: ( + load: ( key: K, ) => Promise | undefined>, - private readonly save: ( + save: ( key: K, value: Record, ) => Promise, - ) {} + ) { + this.load = load; + this.save = save; + } async getSession(conversationId: string): Promise { const sessions = (await this.load("e2ee_sessions")) ?? {}; From f3ecb8f3ddeef1be394a533ad95530306c6381ca Mon Sep 17 00:00:00 2001 From: Alois Date: Sun, 5 Jul 2026 22:19:03 +0200 Subject: [PATCH 51/75] (fix): workflows (feat): update mtp --- .forgejo/workflows/deploy-dev.yml | 5 +---- .forgejo/workflows/deploy-prod.yml | 5 +---- flake.nix | 2 ++ pnpm-lock.yaml | 16 ++++++++-------- pnpm-workspace.yaml | 2 +- 5 files changed, 13 insertions(+), 17 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 2928071..d456cda 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -158,11 +158,8 @@ jobs: run: | nix develop .#electron --command bash <<'EOF' set -euo pipefail - SEVEN_ZIP_DIR="$(mktemp -d)" - mkdir -p "$SEVEN_ZIP_DIR/bin" - ln -s "$(command -v 7za)" "$SEVEN_ZIP_DIR/bin/7za" cd apps/electron - pnpm run package:raw -- -c.toolsets.sevenZip.url="file://$SEVEN_ZIP_DIR" + pnpm run package:raw EOF - name: Upload desktop artifacts diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 5142dd3..42323f2 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -157,11 +157,8 @@ jobs: run: | nix develop .#electron --command bash <<'EOF' set -euo pipefail - SEVEN_ZIP_DIR="$(mktemp -d)" - mkdir -p "$SEVEN_ZIP_DIR/bin" - ln -s "$(command -v 7za)" "$SEVEN_ZIP_DIR/bin/7za" cd apps/electron - pnpm run package:raw -- -c.toolsets.sevenZip.url="file://$SEVEN_ZIP_DIR" + pnpm run package:raw EOF - name: Upload desktop artifacts diff --git a/flake.nix b/flake.nix index d6ad8d1..c46fbac 100644 --- a/flake.nix +++ b/flake.nix @@ -243,6 +243,7 @@ export NPM_CONFIG_TARGET_ARCH="''${NPM_CONFIG_TARGET_ARCH:-x64}" export npm_config_build_from_source=true export USE_SYSTEM_FPM=true + export ELECTRON_BUILDER_7ZIP_PATH="${pkgs.p7zip}/bin/7za" alias electron-install='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && pnpm install' alias electron-build-web='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && pnpm run build:web' @@ -258,6 +259,7 @@ jdk17 gradle pnpm + bun nodejs corepack_22 coreutils diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3687b75..c210028 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: overrides: '@tensamin/ui': https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz - mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz + mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz importers: @@ -16,8 +16,8 @@ importers: specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) mtp: - specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz - version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz sonner: specifier: ^2.0.7 version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) @@ -652,8 +652,8 @@ importers: specifier: ^1.14.0 version: 1.23.0(react@19.2.7) mtp: - specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz - version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz react: specifier: ^19.2.0 version: 19.2.7 @@ -3736,8 +3736,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz: - resolution: {integrity: sha512-jv3tONmaEMVyoX3HyQhZfkt46MkoaZAkoy3B9HjFUOh6ff42yutAKgt/WQgX9MP5AyFd8oVlvTgMpaOGk7046A==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz: + resolution: {integrity: sha512-Y18aXdMfM80YLBGzk3NS5PVl08GHX2Cfkw0aQK06xazA3zZlPVHStS7enZ4s4MmDzE6NNTYBYbw49nWpUgkdvQ==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz} version: 0.1.0 nanoid@3.3.15: @@ -7857,7 +7857,7 @@ snapshots: ms@2.1.3: {} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz: {} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz: {} nanoid@3.3.15: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 19faeb0..019fa44 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,4 +7,4 @@ allowBuilds: esbuild: true overrides: "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz" - mtp: "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-fdc694b/mtp-0.1.0.tgz" + mtp: "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz" From 2777ba34caf0ac41e0fc4175ea04a06b6253431b Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 00:13:26 +0200 Subject: [PATCH 52/75] (feat): more crypto migration --- packages/chat/src/components/input.tsx | 63 +-- packages/chat/src/context.tsx | 302 +++++++++++--- packages/chat/src/screen.tsx | 6 +- packages/crypto/package.json | 2 +- packages/crypto/src/chatSecret.ts | 143 +++++++ packages/crypto/src/context.tsx | 61 ++- packages/crypto/src/encryptedDeviceSecret.ts | 134 ------ packages/mtp/src/context.tsx | 406 +------------------ packages/mtp/src/index.ts | 7 +- packages/shared/src/data.ts | 79 +--- type-maps.yaml | 24 +- 11 files changed, 508 insertions(+), 719 deletions(-) create mode 100644 packages/crypto/src/chatSecret.ts delete mode 100644 packages/crypto/src/encryptedDeviceSecret.ts diff --git a/packages/chat/src/components/input.tsx b/packages/chat/src/components/input.tsx index 892f911..24f8add 100644 --- a/packages/chat/src/components/input.tsx +++ b/packages/chat/src/components/input.tsx @@ -15,6 +15,7 @@ import { useChat } from "../context"; import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; import { cn, useIsMobile } from "@tensamin/ui"; +import { encryptChatText } from "@tensamin/crypto/chatSecret"; import { useSession } from "@tensamin/storage/session"; import GifPicker from "./gifPicker"; @@ -28,8 +29,8 @@ export default function InputComponent({ }) { const [invertEnterBehavior, setInvertEnterBehavior] = React.useState(false); - const { sendEncrypted } = useMTP(); - const { addLiveMessage, userId, inputBoxRef } = useChat(); + const { send } = useMTP(); + const { addLiveMessage, chatSecret, userId, inputBoxRef } = useChat(); const { load, save } = useStorage(); const { moveUserIdToTop } = useSession(); const gifPopoverRef = React.useRef(null); @@ -64,6 +65,11 @@ export default function InputComponent({ return; } + if (!chatSecret) { + toast("error", "Still getting chat secret..."); + return; + } + log(3, "chat", "purple", "Message send init, adding live message ..."); const reference = addLiveMessage({ @@ -74,38 +80,33 @@ export default function InputComponent({ MessageState: "awaiting", }); - log(3, "chat", "purple", "Live message added, sending encrypted frame..."); + log(3, "chat", "purple", "Live message added, encrypting..."); - void load("user_id") - .then((ownUserId) => - sendEncrypted( - "MessageSend", - { - Content: currentValue, - ReceiverId: userId, - SendTime: time, - }, - { - senderUserId: String(ownUserId), - recipientUserId: String(userId), - }, - ), - ) - .catch((e) => { - log(0, "Chat", "red", "Failed to send encrypted message", e, { - ReceiverId: userId, - SendTime: time, - }); + const encryptedContent = await encryptChatText(chatSecret, currentValue).catch( + (err) => { + toast("error", "Failed to encrypt message", String(err)); reference.setFailed(true); - toast( - "error", - e instanceof Error && e.message.includes("public key") - ? "Recipient has no encryption public key available" - : "Failed to send encrypted message", - ); - }); + }, + ); - log(3, "chat", "purple", "Encrypted message send queued"); + if (!encryptedContent) return; + + log(3, "chat", "purple", "Content encrypted, sending message..."); + + send("MessageSend", { + Content: encryptedContent, + ReceiverId: userId, + SendTime: time, + }).catch((e) => { + log(0, "Chat", "red", "Failed to send message", e, { + ReceiverId: userId, + SendTime: time, + }); + reference.setFailed(true); + toast("error", "Failed to send message"); + }); + + log(3, "chat", "purple", "Message sent"); moveUserIdToTop(userId); diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index c12d768..94df598 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -12,14 +12,39 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { useRouterState } from "@tanstack/react-router"; import type { InfiniteData } from "@tanstack/react-query"; import type { LiveMessage, RawMessage, RawMessages } from "./values"; +import { + deriveChatId, + deriveChatSecretId, + decryptChatText, + encryptChatText, + kemPublicKeyFromPublicKeyBundle, + ownKemPublicKeyFromKeyring, + randomChatSecret, + unwrapChatSecret, + wrapChatSecret, +} from "@tensamin/crypto/chatSecret"; import { useStorage } from "@tensamin/storage/context"; import { useMTP } from "@tensamin/mtp"; import { log } from "@tensamin/shared/log"; import { useSession } from "@tensamin/storage/session"; +import { useUser } from "@tensamin/user/context"; export const context = createContext(undefined); const queryClient = new QueryClient(); +const CHAT_SECRET_VERSION = 1; + +function bytesFromProtocol(value: unknown): Uint8Array { + if (value instanceof Uint8Array) return value; + if (Array.isArray(value)) return new Uint8Array(value); + if (typeof value === "string") { + const bin = atob(value); + const out = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; i++) out[i] = bin.charCodeAt(i); + return out; + } + throw new Error("expected protocol bytes"); +} function updateMessageStateBySendTime< T extends { SendTime: number; MessageState: RawMessage["MessageState"] }, @@ -50,14 +75,21 @@ function updateMessageStateBySendTime< export default function Provider({ children }: { children: ReactNode }) { const { load } = useStorage(); - const { send, subscribePush, subscribeEncrypted, decryptEncryptedRecord } = - useMTP(); + const { send, subscribePush } = useMTP(); + const { get: getUser } = useUser(); const { moveUserIdToTop } = useSession(); - const [error] = useState(""); - const [errorDescription] = useState(""); + const [error, setError] = useState(""); + const [errorDescription, setErrorDescription] = useState(""); const [liveMessagesState, setLiveMessagesState] = useState([]); + const [currentChatSecretState, setCurrentChatSecretState] = useState<{ + userId: number; + value: Uint8Array | null; + }>({ + userId: 0, + value: null, + }); const inputBoxRef = useRef(null); @@ -71,40 +103,132 @@ export default function Provider({ children }: { children: ReactNode }) { return Number(rawId ?? 0); }, [locationSearch]); + const currentChatSecret = useMemo(() => { + if (currentChatSecretState.userId !== userIdValue) { + return null; + } + + return currentChatSecretState.value; + }, [currentChatSecretState, userIdValue]); + + useEffect(() => { + if (!userIdValue) return; + + let active = true; + + void (async () => { + try { + setError(""); + setErrorDescription(""); + + const ownUserId = Number(await load("user_id")); + const keyring = await load("mtp_keyring"); + const chatId = deriveChatId(ownUserId, userIdValue); + const secretId = deriveChatSecretId(chatId); + + const existing = await send("GetChatSecret", { + UserId: String(ownUserId), + ChatId: chatId, + SecretId: secretId, + }); + + if (!existing.type.startsWith("Error")) { + const data = existing.data as Record; + const secret = await unwrapChatSecret({ + encryptedSecret: bytesFromProtocol(data.EncryptedSecret), + kemCiphertext: bytesFromProtocol(data.KemCiphertext), + keyring, + chatId: String(data.ChatId), + secretId: String(data.SecretId), + version: Number(data.VersionNumber), + wrappingScheme: String(data.WrappingScheme), + }); + + if (active) { + setCurrentChatSecretState({ userId: userIdValue, value: secret }); + } + return; + } + + const rawSecret = randomChatSecret(); + const ownWrapped = await wrapChatSecret({ + chatSecret: rawSecret, + recipientKemPublicKey: ownKemPublicKeyFromKeyring(keyring), + chatId, + secretId, + version: CHAT_SECRET_VERSION, + }); + + await send("SetChatSecret", { + UserId: String(ownUserId), + ChatId: chatId, + SecretId: secretId, + VersionNumber: CHAT_SECRET_VERSION, + EncryptedSecret: Array.from(ownWrapped.encryptedSecret), + KemCiphertext: Array.from(ownWrapped.kemCiphertext), + WrappingScheme: ownWrapped.wrappingScheme, + CreatedAt: Date.now(), + }); + + const peerUser = await getUser(userIdValue); + const peerWrapped = await wrapChatSecret({ + chatSecret: rawSecret, + recipientKemPublicKey: kemPublicKeyFromPublicKeyBundle( + peerUser.PublicKey, + ), + chatId, + secretId, + version: CHAT_SECRET_VERSION, + }); + + await send("ChatSecretForward", { + ChatId: chatId, + SenderUserId: String(ownUserId), + RecipientUserId: String(userIdValue), + SecretId: secretId, + VersionNumber: CHAT_SECRET_VERSION, + EncryptedSecret: Array.from(peerWrapped.encryptedSecret), + KemCiphertext: Array.from(peerWrapped.kemCiphertext), + WrappingScheme: peerWrapped.wrappingScheme, + CreatedAt: Date.now(), + }); + + if (active) { + setCurrentChatSecretState({ userId: userIdValue, value: rawSecret }); + } + } catch (err) { + log(1, "chat", "red", "Failed to initialize chat secret", err); + if (active) { + setError(err instanceof Error ? err.name : "Unknown Error"); + setErrorDescription(err instanceof Error ? err.message : String(err)); + setCurrentChatSecretState({ userId: userIdValue, value: null }); + } + } + })(); + + return () => { + active = false; + }; + }, [getUser, load, send, userIdValue]); + const getMessages = useCallback( async (amount: number, offset: number) => { - const response = await send("EncryptedMessagesGet", { - Limit: amount, - SenderUserId: String(userIdValue), - }); - - if (response.type.startsWith("error")) { - throw new Error(response.type); + if (!currentChatSecret) { + return []; } - const encryptedMessages = (response.data.Messages ?? []) as Record< - string, - unknown - >[]; - const decrypted = await Promise.all( - encryptedMessages.slice(offset, offset + amount).map(async (record) => { - const inner = await decryptEncryptedRecord(record); - const data = inner.data as Record; - return { - NotEncrypted: false, - SendTime: Number( - data.SendTime ?? record.CreatedAt ?? record.createdAt, - ), - Content: String(data.Content ?? ""), - SentBySelf: - String(record.SenderUserId ?? record.senderUserId ?? "") === - String(await load("user_id")), - MessageState: "received" as RawMessage["MessageState"], - }; - }), - ); + const messages = await send("MessagesGet", { + Amount: amount, + Offset: offset, + UserId: userIdValue, + }); - const sorted = [...decrypted].sort((a, b) => a.SendTime - b.SendTime); + if (messages.type.startsWith("error")) { + throw new Error(messages.type); + } + + const rawMessages = messages.data.Messages; + const sorted = [...rawMessages].sort((a, b) => a.SendTime - b.SendTime); if (sorted.length > 0) { const fetchedSendTimes = new Set(sorted.map((item) => item.SendTime)); @@ -118,9 +242,20 @@ export default function Provider({ children }: { children: ReactNode }) { }); } - return sorted; + return await Promise.all( + sorted.map(async (message) => { + try { + return { + ...message, + Content: await decryptChatText(currentChatSecret, message.Content), + }; + } catch { + return message; + } + }), + ); }, - [send, userIdValue, decryptEncryptedRecord, load], + [currentChatSecret, send, userIdValue], ); const addLiveMessage = useCallback( @@ -161,33 +296,75 @@ export default function Provider({ children }: { children: ReactNode }) { setLiveMessagesState([]); }, []); - useEffect(() => { - return subscribeEncrypted("MessageSend", (data) => { - const rawData = data as unknown as { - Content?: unknown; - ReceiverId?: unknown; - SendTime?: unknown; - }; - const sendTime = Number(rawData.SendTime); - - if (!Number.isFinite(sendTime) || typeof rawData.Content !== "string") { - log(3, "chat", "yellow", "Ignoring invalid encrypted live message"); - return; - } - - addLiveMessage({ - NotEncrypted: false, - SendTime: sendTime, - Content: rawData.Content, - SentBySelf: false, - MessageState: "received", - }); - }); - }, [addLiveMessage, subscribeEncrypted]); - // Get live updates for message states useEffect(() => { return subscribePush((message) => { + if (message.type === "ChatSecretForward") { + const data = message.data as Record; + void (async () => { + const ownUserId = Number(await load("user_id")); + if (String(data.RecipientUserId) !== String(ownUserId)) return; + + const keyring = await load("mtp_keyring"); + const chatId = String(data.ChatId); + const secretId = String(data.SecretId); + const secret = await unwrapChatSecret({ + encryptedSecret: bytesFromProtocol(data.EncryptedSecret), + kemCiphertext: bytesFromProtocol(data.KemCiphertext), + keyring, + chatId, + secretId, + version: Number(data.VersionNumber), + wrappingScheme: String(data.WrappingScheme), + }); + const ownWrapped = await wrapChatSecret({ + chatSecret: secret, + recipientKemPublicKey: ownKemPublicKeyFromKeyring(keyring), + chatId, + secretId, + version: Number(data.VersionNumber), + }); + + await send("SetChatSecret", { + UserId: String(ownUserId), + ChatId: chatId, + SecretId: secretId, + VersionNumber: Number(data.VersionNumber), + EncryptedSecret: Array.from(ownWrapped.encryptedSecret), + KemCiphertext: Array.from(ownWrapped.kemCiphertext), + WrappingScheme: ownWrapped.wrappingScheme, + CreatedAt: Date.now(), + }); + + if (deriveChatId(ownUserId, userIdValue) === chatId) { + setCurrentChatSecretState({ userId: userIdValue, value: secret }); + } + })().catch((err) => { + log(1, "chat", "red", "Failed to accept chat secret", err); + }); + return; + } + + if (message.type === "MessageLive") { + const data = message.data as { + Message?: RawMessage; + SenderId?: number; + }; + if (!data.Message || !currentChatSecret) return; + + void decryptChatText(currentChatSecret, data.Message.Content) + .catch(() => data.Message?.Content ?? "") + .then((content) => { + if (!data.Message) return; + addLiveMessage({ + ...data.Message, + Content: content, + SentBySelf: false, + }); + }); + return; + } + if (message.type !== "MessageState") { return; } @@ -243,6 +420,7 @@ export default function Provider({ children }: { children: ReactNode }) { const queryKey = [ "chat-messages", String(userIdValue), + currentChatSecret !== null, ] as const; queryClient.setQueryData>( queryKey, @@ -278,7 +456,7 @@ export default function Provider({ children }: { children: ReactNode }) { }, ); }); - }, [subscribePush, userIdValue]); + }, [addLiveMessage, currentChatSecret, load, send, subscribePush, userIdValue]); return ( @@ -288,7 +466,7 @@ export default function Provider({ children }: { children: ReactNode }) { liveMessages: () => liveMessagesState, addLiveMessage, clearLiveMessages, - sharedSecret: "", + chatSecret: currentChatSecret, userId: userIdValue, inputBoxRef, error, @@ -308,7 +486,7 @@ type contextType = { setFailed: (failed: boolean) => void; }; clearLiveMessages: () => void; - sharedSecret: string; + chatSecret: Uint8Array | null; userId: number; inputBoxRef: React.RefObject; error: string; diff --git a/packages/chat/src/screen.tsx b/packages/chat/src/screen.tsx index 663ea99..bef76da 100644 --- a/packages/chat/src/screen.tsx +++ b/packages/chat/src/screen.tsx @@ -79,6 +79,7 @@ export default function Screen() { liveMessages, clearLiveMessages, userId, + chatSecret, error, errorDescription, } = useChat(); @@ -105,12 +106,13 @@ export default function Screen() { const [value, setValue] = React.useState(""); const hasValidChatUser = Number.isSafeInteger(userId) && userId > 0; + const hasChatSecret = chatSecret !== null; const messagesQuery = useInfiniteQuery({ - queryKey: ["chat-messages", String(userId)], + queryKey: ["chat-messages", String(userId), hasChatSecret], initialPageParam: 0, queryFn: ({ pageParam }) => getMessages(PAGE_SIZE, Number(pageParam)), - enabled: hasValidChatUser, + enabled: hasValidChatUser && hasChatSecret, getNextPageParam: (lastPage, allPages) => { if (lastPage.length < PAGE_SIZE) { return undefined; diff --git a/packages/crypto/package.json b/packages/crypto/package.json index b4a2f30..636f300 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -5,7 +5,7 @@ "type": "module", "exports": { "./context": "./src/context.tsx", - "./encryptedDeviceSecret": "./src/encryptedDeviceSecret.ts" + "./chatSecret": "./src/chatSecret.ts" }, "scripts": { "format": "pnpm exec prettier --write .", diff --git a/packages/crypto/src/chatSecret.ts b/packages/crypto/src/chatSecret.ts new file mode 100644 index 0000000..3e15300 --- /dev/null +++ b/packages/crypto/src/chatSecret.ts @@ -0,0 +1,143 @@ +import { crypto } from "mtp"; + +const textEncoder = new TextEncoder(); + +export const CHAT_SECRET_WRAPPING_SCHEME = + "mtp-chat-secret-kem-chacha20poly1305-hkdf-sha256-v1"; + +const CHAT_SECRET_SALT = textEncoder.encode("tensamin-chat-secret-v1"); +const CHAT_MESSAGE_SALT = textEncoder.encode("tensamin-chat-message-v1"); + +export function deriveChatId(ownUserId: number, peerUserId: number): string { + const ids = [ownUserId, peerUserId].sort((a, b) => a - b); + return `${ids[0]}:${ids[1]}`; +} + +export function deriveChatSecretId(chatId: string): string { + return `chat:${chatId}:main`; +} + +export function randomChatSecret(): Uint8Array { + return globalThis.crypto.getRandomValues(new Uint8Array(32)); +} + +export function ownKemPublicKeyFromKeyring(keyring: string): Uint8Array { + return crypto.keyringToKeys(keyring).kemPublicKey; +} + +export function kemPublicKeyFromPublicKeyBundle(publicKey: string): Uint8Array { + return crypto.publicKeyBundleToKeys(publicKey).kemPublicKey; +} + +export async function wrapChatSecret(args: { + chatSecret: Uint8Array; + recipientKemPublicKey: Uint8Array; + chatId: string; + secretId: string; + version: number; +}): Promise<{ + encryptedSecret: Uint8Array; + kemCiphertext: Uint8Array; + wrappingScheme: string; +}> { + const enc = crypto.encapsulate(args.recipientKemPublicKey); + try { + const wrappingKey = deriveWrappingKey({ + sharedSecret: enc.shared_secret, + chatId: args.chatId, + secretId: args.secretId, + version: args.version, + }); + + try { + return { + encryptedSecret: await crypto.encrypt(wrappingKey, args.chatSecret), + kemCiphertext: enc.ciphertext, + wrappingScheme: CHAT_SECRET_WRAPPING_SCHEME, + }; + } finally { + wrappingKey.fill(0); + } + } finally { + enc.shared_secret.fill(0); + } +} + +export async function unwrapChatSecret(args: { + encryptedSecret: Uint8Array; + kemCiphertext: Uint8Array; + keyring: string; + chatId: string; + secretId: string; + version: number; + wrappingScheme: string; +}): Promise { + if (args.wrappingScheme !== CHAT_SECRET_WRAPPING_SCHEME) { + throw new Error(`Unsupported chat secret wrapping scheme: ${args.wrappingScheme}`); + } + + const ownKeys = crypto.keyringToKeys(args.keyring); + const sharedSecret = crypto.decapsulate(ownKeys.kemSecretKey, args.kemCiphertext); + + try { + const wrappingKey = deriveWrappingKey({ + sharedSecret, + chatId: args.chatId, + secretId: args.secretId, + version: args.version, + }); + + try { + return await crypto.decrypt(wrappingKey, args.encryptedSecret); + } finally { + wrappingKey.fill(0); + } + } finally { + sharedSecret.fill(0); + } +} + +export async function encryptChatText( + chatSecret: Uint8Array, + plaintext: string, +): Promise { + const key = deriveMessageKey(chatSecret); + try { + return await crypto.encryptText(key, plaintext); + } finally { + key.fill(0); + } +} + +export async function decryptChatText( + chatSecret: Uint8Array, + ciphertext: string, +): Promise { + const key = deriveMessageKey(chatSecret); + try { + return await crypto.decryptText(key, ciphertext); + } finally { + key.fill(0); + } +} + +function deriveWrappingKey(args: { + sharedSecret: Uint8Array; + chatId: string; + secretId: string; + version: number; +}): Uint8Array { + return crypto.deriveEncryptionKey( + args.sharedSecret, + CHAT_SECRET_SALT, + textEncoder.encode(`${args.chatId}:${args.secretId}:${args.version}`), + ); +} + +function deriveMessageKey(chatSecret: Uint8Array): Uint8Array { + return crypto.deriveEncryptionKey( + chatSecret, + CHAT_MESSAGE_SALT, + textEncoder.encode("message-content"), + ); +} diff --git a/packages/crypto/src/context.tsx b/packages/crypto/src/context.tsx index 26120b7..0fef2b3 100644 --- a/packages/crypto/src/context.tsx +++ b/packages/crypto/src/context.tsx @@ -1,5 +1,5 @@ import { createContext, useContext } from "react"; -import { crypto } from "mtp"; +import { base64ToBytes, bytesToBase64, crypto } from "mtp"; type CryptoContextType = { decrypt: ( @@ -50,15 +50,64 @@ function ownedBytes(bytes: Uint8Array): Uint8Array { return out; } +function secretKeyFromString(secret: string): Uint8Array { + return crypto.deriveEncryptionKey( + base64ToBytes(secret), + new Uint8Array(0), + new TextEncoder().encode("tensamin:shared-secret-text"), + ); +} + +function compareBytes(a: Uint8Array, b: Uint8Array): number { + const len = Math.min(a.byteLength, b.byteLength); + + for (let i = 0; i < len; i++) { + const diff = a[i] - b[i]; + if (diff !== 0) return diff; + } + + return a.byteLength - b.byteLength; +} + +async function getSharedSecret( + ownPrivateKey: string, + ownPublicKey: string, + otherPublicKey: string, +): Promise { + crypto.keyringToKeys(ownPrivateKey); + + const ownKeys = crypto.publicKeyBundleToKeys(ownPublicKey); + const otherKeys = crypto.publicKeyBundleToKeys(otherPublicKey); + const publicKeys = [ownKeys.kemPublicKey, otherKeys.kemPublicKey].sort( + compareBytes, + ); + const input = new Uint8Array( + publicKeys[0].byteLength + publicKeys[1].byteLength, + ); + + input.set(publicKeys[0]); + input.set(publicKeys[1], publicKeys[0].byteLength); + + return bytesToBase64( + crypto.deriveEncryptionKey( + input, + new Uint8Array(0), + new TextEncoder().encode("tensamin:legacy-shared-secret"), + ), + ); +} + export default function Provider(props: { children: React.ReactNode }) { const actions = createCryptoActions(() => ({ decrypt: async (secret, input) => - ownedBytes(await crypto.decrypt(secret, input)), - decryptText: crypto.decryptText, + ownedBytes(await crypto.decrypt(secretKeyFromString(secret), input)), + decryptText: (secret, ciphertext) => + crypto.decryptText(secretKeyFromString(secret), ciphertext), encrypt: async (secret, input) => - ownedBytes(await crypto.encrypt(secret, input)), - encryptText: crypto.encryptText, - getSharedSecret: crypto.getSharedSecret, + ownedBytes(await crypto.encrypt(secretKeyFromString(secret), input)), + encryptText: (secret, plaintext) => + crypto.encryptText(secretKeyFromString(secret), plaintext), + getSharedSecret, })); return {props.children}; diff --git a/packages/crypto/src/encryptedDeviceSecret.ts b/packages/crypto/src/encryptedDeviceSecret.ts deleted file mode 100644 index 26dd5a0..0000000 --- a/packages/crypto/src/encryptedDeviceSecret.ts +++ /dev/null @@ -1,134 +0,0 @@ -const textEncoder = new TextEncoder(); - -export const ENCRYPTED_DEVICE_SECRET_WRAPPING_SCHEME = - "webcrypto-aes-gcm-hkdf-sha256-v1"; - -export async function wrapDeviceSecret(args: { - rawSecret: Uint8Array; - wrappingSecret: Uint8Array | string; - userId: string; - deviceId: string; - secretId: string; - version: number; -}): Promise<{ - encryptedSecret: Uint8Array; - wrappingScheme: string; - wrappingPublicKeyId?: string; -}> { - if (!args.rawSecret.length) { - throw new Error("rawSecret must not be empty"); - } - - const key = await deriveWrappingKey(args); - const iv = crypto.getRandomValues(new Uint8Array(12)); - const aad = metadataAad(args); - - const ciphertext = new Uint8Array( - await crypto.subtle.encrypt( - { name: "AES-GCM", iv: ownedBytes(iv), additionalData: ownedBytes(aad) }, - key, - ownedBytes(args.rawSecret), - ), - ); - - const encryptedSecret = new Uint8Array(iv.length + ciphertext.length); - encryptedSecret.set(iv, 0); - encryptedSecret.set(ciphertext, iv.length); - - return { - encryptedSecret, - wrappingScheme: ENCRYPTED_DEVICE_SECRET_WRAPPING_SCHEME, - }; -} - -export async function unwrapDeviceSecret(args: { - encryptedSecret: Uint8Array; - wrappingSecret: Uint8Array | string; - userId: string; - deviceId: string; - secretId: string; - version: number; - wrappingScheme: string; -}): Promise { - if (args.wrappingScheme !== ENCRYPTED_DEVICE_SECRET_WRAPPING_SCHEME) { - throw new Error( - `Unsupported encrypted device secret wrapping scheme: ${args.wrappingScheme}`, - ); - } - if (args.encryptedSecret.length <= 12) { - throw new Error("encryptedSecret is too short"); - } - - const key = await deriveWrappingKey(args); - const iv = args.encryptedSecret.slice(0, 12); - const ciphertext = args.encryptedSecret.slice(12); - const aad = metadataAad(args); - - return new Uint8Array( - await crypto.subtle.decrypt( - { name: "AES-GCM", iv: ownedBytes(iv), additionalData: ownedBytes(aad) }, - key, - ownedBytes(ciphertext), - ), - ); -} - -async function deriveWrappingKey(args: { - wrappingSecret: Uint8Array | string; - userId: string; - deviceId: string; - secretId: string; - version: number; -}): Promise { - const wrappingSecret = - typeof args.wrappingSecret === "string" - ? textEncoder.encode(args.wrappingSecret) - : args.wrappingSecret; - - if (wrappingSecret.length < 16) { - throw new Error("No secure wrapping key available"); - } - - const baseKey = await crypto.subtle.importKey( - "raw", - ownedBytes(wrappingSecret), - "HKDF", - false, - ["deriveKey"], - ); - - return crypto.subtle.deriveKey( - { - name: "HKDF", - hash: "SHA-256", - salt: ownedBytes(textEncoder.encode("tensamin-e2ee-device-secret-v1")), - info: ownedBytes(metadataAad(args)), - }, - baseKey, - { name: "AES-GCM", length: 256 }, - false, - ["encrypt", "decrypt"], - ); -} - -function ownedBytes(bytes: Uint8Array): Uint8Array { - const out = new Uint8Array(bytes.byteLength); - out.set(bytes); - return out; -} - -function metadataAad(args: { - userId: string; - deviceId: string; - secretId: string; - version: number; -}): Uint8Array { - return textEncoder.encode( - JSON.stringify({ - userId: args.userId, - deviceId: args.deviceId, - secretId: args.secretId, - version: args.version, - }), - ); -} diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index e116d40..9ca1016 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -45,249 +45,6 @@ function base64ToUint8Array(b64: string) { return out; } -function bytesFromProtocol(value: unknown): Uint8Array { - if (value instanceof Uint8Array) return value; - if (Array.isArray(value)) return new Uint8Array(value); - if (typeof value === "string") return base64ToUint8Array(value); - throw new Error("expected protocol bytes"); -} - -type ParsedFrameLike = { - id?: number; - type: string; - data: unknown; -}; - -interface MTPSessionState { - version: 1; - conversationId: string; - ownClientId: bigint; - peerClientId: bigint; - peerPublicKey: Uint8Array; - sendChainKey: Uint8Array; - recvChainKey: Uint8Array; - sendCount: number; - recvCount: number; - createdAt: number; - updatedAt: number; -} - -interface MTPSessionStorage { - getSession(conversationId: string): Promise; - setSession(state: MTPSessionState): Promise; - deleteSession(conversationId: string): Promise; -} - -interface EncryptedDeviceSecretRecord { - userId: string; - deviceId: string; - secretId: string; - version: number; - encryptedSecret: Uint8Array; - wrappingPublicKeyId?: string; - wrappingScheme: string; - createdAt: number; - updatedAt: number; -} - -interface MTPEncryptedDeviceSecretProvider { - setEncryptedDeviceSecret(record: EncryptedDeviceSecretRecord): Promise; - getEncryptedDeviceSecret(query: { - userId: string; - deviceId?: string; - secretId?: string; - }): Promise; -} - -function serializeSessionState( - state: MTPSessionState, -): Record { - return { - ...state, - ownClientId: state.ownClientId.toString(), - peerClientId: state.peerClientId.toString(), - peerPublicKey: Array.from(state.peerPublicKey), - sendChainKey: Array.from(state.sendChainKey), - recvChainKey: Array.from(state.recvChainKey), - }; -} - -function deserializeSessionState(value: unknown): MTPSessionState | null { - if (!value || typeof value !== "object") return null; - const raw = value as Record; - if (typeof raw.conversationId !== "string") return null; - return { - version: 1, - conversationId: raw.conversationId, - ownClientId: BigInt(String(raw.ownClientId)), - peerClientId: BigInt(String(raw.peerClientId)), - peerPublicKey: new Uint8Array(raw.peerPublicKey as number[]), - sendChainKey: new Uint8Array(raw.sendChainKey as number[]), - recvChainKey: new Uint8Array(raw.recvChainKey as number[]), - sendCount: Number(raw.sendCount), - recvCount: Number(raw.recvCount), - createdAt: Number(raw.createdAt), - updatedAt: Number(raw.updatedAt), - }; -} - -class LocalMTPSessionStorage implements MTPSessionStorage { - private readonly load: ( - key: K, - ) => Promise | undefined>; - - private readonly save: ( - key: K, - value: Record, - ) => Promise; - - constructor( - load: ( - key: K, - ) => Promise | undefined>, - save: ( - key: K, - value: Record, - ) => Promise, - ) { - this.load = load; - this.save = save; - } - - async getSession(conversationId: string): Promise { - const sessions = (await this.load("e2ee_sessions")) ?? {}; - return deserializeSessionState(sessions[conversationId]); - } - - async setSession(state: MTPSessionState): Promise { - const sessions = { ...((await this.load("e2ee_sessions")) ?? {}) }; - sessions[state.conversationId] = serializeSessionState(state); - await this.save("e2ee_sessions", sessions); - } - - async deleteSession(conversationId: string): Promise { - const sessions = { ...((await this.load("e2ee_sessions")) ?? {}) }; - delete sessions[conversationId]; - await this.save("e2ee_sessions", sessions); - } -} - -function frameField( - frame: ParsedFrameLike, - pascal: string, - camel: string, -): T { - const data = frame.data as Record; - return (data[pascal] ?? data[camel]) as T; -} - -type ConnectedMTPClient = Awaited> & { - request( - type: string, - data: Record, - options?: { responseType?: string }, - ): Promise; - sendEncrypted( - type: string, - data: Record, - options: { - recipientClientId?: bigint | number | string; - recipientPublicKey?: string | Uint8Array | number[]; - senderUserId?: string; - recipientUserId?: string; - recipientDeviceId?: string; - }, - ): Promise; - subscribeEncrypted( - type: string, - handler: (data: unknown, meta: ParsedFrameLike) => void, - ): () => void; - decryptEncryptedRecord( - frameData: Record, - ): Promise; -}; - -class NetworkEncryptedDeviceSecretProvider implements MTPEncryptedDeviceSecretProvider { - #client: ConnectedMTPClient | null = null; - - attach(client: ConnectedMTPClient): void { - this.#client = client; - } - - async setEncryptedDeviceSecret( - record: EncryptedDeviceSecretRecord, - ): Promise { - if (!this.#client) { - throw new Error("encrypted device secret provider is not attached"); - } - if (!record.encryptedSecret?.length || !record.wrappingScheme) { - throw new Error( - "encrypted device secret record is missing ciphertext metadata", - ); - } - - await this.#client.request("SetEncryptedDeviceSecret", { - UserId: record.userId, - DeviceId: record.deviceId, - SecretId: record.secretId, - VersionNumber: record.version, - EncryptedSecret: record.encryptedSecret, - WrappingPublicKeyId: record.wrappingPublicKeyId, - WrappingScheme: record.wrappingScheme, - CreatedAt: record.createdAt, - }); - } - - async getEncryptedDeviceSecret(query: { - userId: string; - deviceId?: string; - secretId?: string; - }): Promise { - if (!this.#client) { - throw new Error("encrypted device secret provider is not attached"); - } - - try { - const response = await this.#client.request( - "GetEncryptedDeviceSecret", - { - UserId: query.userId, - DeviceId: query.deviceId, - SecretId: query.secretId, - }, - { responseType: "EncryptedDeviceSecretResponse" }, - ); - - if (response.type === "ErrorNotFound") return null; - - return { - userId: frameField(response, "UserId", "userId"), - deviceId: frameField(response, "DeviceId", "deviceId"), - secretId: frameField(response, "SecretId", "secretId"), - version: Number(frameField(response, "VersionNumber", "versionNumber")), - encryptedSecret: bytesFromProtocol( - frameField(response, "EncryptedSecret", "encryptedSecret"), - ), - wrappingPublicKeyId: frameField( - response, - "WrappingPublicKeyId", - "wrappingPublicKeyId", - ), - wrappingScheme: frameField( - response, - "WrappingScheme", - "wrappingScheme", - ), - createdAt: Number(frameField(response, "CreatedAt", "createdAt")), - updatedAt: Number(frameField(response, "UpdatedAt", "updatedAt")), - }; - } catch (error) { - if (String(error).includes("ErrorNotFound")) return null; - throw error; - } - } -} - export type ProtocolMessage< T extends keyof Schemas & string = keyof Schemas & string, > = { @@ -302,38 +59,15 @@ export type BoundSendFn = ( options?: { id?: number }, ) => Promise>; -export type BoundSendEncryptedFn = ( - type: T, - data: z.infer, - options: { - recipientClientId?: bigint | number | string; - recipientPublicKey?: string | Uint8Array | number[]; - senderUserId?: string; - recipientUserId?: string; - recipientDeviceId?: string; - }, -) => Promise; - export type PushHandler = (message: ProtocolMessage) => void; type ContextType = { send: BoundSendFn; - sendEncrypted: BoundSendEncryptedFn; subscribe: ( type: T, handler: (message: ProtocolMessage) => void, ) => () => void; subscribePush: (handler: PushHandler) => () => void; - subscribeEncrypted: ( - type: T, - handler: ( - data: z.infer, - meta: ProtocolMessage, - ) => void, - ) => () => void; - decryptEncryptedRecord: ( - frameData: Record, - ) => Promise; readyState: number; ownPing: number; iotaPing: number; @@ -400,7 +134,7 @@ export function Provider(props: { children: ReactNode; blockConnection?: boolean; }) { - const { load, save } = useStorage(); + const { load } = useStorage(); const [readyState, setReadyState] = useState( ConnectionState.Disconnected, @@ -415,7 +149,9 @@ export function Provider(props: { const [freshContacts, setFreshContacts] = useState([]); const [freshCalls, setFreshCalls] = useState([]); - const clientRef = useRef(null); + const clientRef = useRef> | null>( + null, + ); const connected = readyState === ConnectionState.Connected; @@ -444,57 +180,6 @@ export function Provider(props: { [], ); - const sendEncrypted: BoundSendEncryptedFn = useMemo( - () => async (type, data, options) => { - const client = clientRef.current; - - if (!client) { - throw new Error("mtp is not connected"); - } - - let recipientClientId = options.recipientClientId; - let recipientPublicKey = options.recipientPublicKey; - if (recipientClientId == null) { - if (!options.recipientUserId) { - throw new Error("recipientClientId or recipientUserId is required"); - } - - const recipientUserId = Number(options.recipientUserId); - if (!Number.isSafeInteger(recipientUserId) || recipientUserId <= 0) { - throw new Error("recipientUserId must be a valid user id"); - } - - const response = await client.request( - "GetUserData", - { UserId: recipientUserId }, - { responseType: "GetUserData" }, - ); - if (response.type === "ErrorNotFound") { - throw new Error("Recipient user data not found"); - } - - recipientPublicKey = frameField( - response, - "PublicKey", - "publicKey", - ); - if (!recipientPublicKey) { - throw new Error("Recipient has no encryption public key available"); - } - recipientClientId = BigInt(recipientUserId); - } - - await client.sendEncrypted(type, data as Record, { - recipientClientId, - recipientPublicKey, - senderUserId: options.senderUserId, - recipientUserId: options.recipientUserId, - recipientDeviceId: options.recipientDeviceId, - }); - }, - [], - ); - const subscribe = useCallback((type, handler) => { const client = clientRef.current; if (!client) { @@ -506,34 +191,6 @@ export function Provider(props: { }); }, []); - const subscribeEncrypted = useCallback( - (type, handler) => { - const client = clientRef.current; - if (!client) { - return () => {}; - } - - return client.subscribeEncrypted(type, (data, meta) => { - handler(data as z.infer, { - id: meta.id, - type: meta.type, - data: data as z.infer, - }); - }); - }, - [], - ); - - const decryptEncryptedRecord = useCallback< - ContextType["decryptEncryptedRecord"] - >(async (frameData) => { - const client = clientRef.current; - if (!client) throw new Error("mtp is not connected"); - return client.decryptEncryptedRecord(frameData); - }, []); - - const decryptEncryptedRecordForQueue = decryptEncryptedRecord; - const subscribePush = useCallback((handler: PushHandler) => { const client = clientRef.current; if (!client) { @@ -543,6 +200,7 @@ export function Provider(props: { const unsubscribers = [ "MessageLive", "MessageState", + "ChatSecretForward", "CallInvite", "ErrorNoIota", ].map((type) => @@ -692,31 +350,16 @@ export function Provider(props: { log(2, "mtp", "green", "Connecting to: " + url); - const encryptedDeviceSecretProvider = - new NetworkEncryptedDeviceSecretProvider(); - - const createMTPClient = MTPClient.create as unknown as ( - options: Record, - ) => Promise; - const client = await createMTPClient({ + const client = await MTPClient.create({ url, credentials: { - clientId: BigInt(userId), + clientId: userId, keyring: base64ToUint8Array(await load("mtp_keyring")), }, hostPublicKey: omikronPublicKey, descriptor: "client", pings: true, - encryptedDeviceSecretProvider, - sessionStorage: new LocalMTPSessionStorage( - load as never, - save as never, - ), - logger: (event: { - type: string; - data?: unknown; - direction?: "send" | "recv"; - }) => { + logger: (event) => { if (event.type === "state") { setReadyState( clientRef.current?.state ?? ConnectionState.Disconnected, @@ -752,8 +395,6 @@ export function Provider(props: { return; } - encryptedDeviceSecretProvider.attach(client); - clientRef.current = client; setReadyState(client.state); await client.connect(); @@ -886,7 +527,7 @@ export function Provider(props: { setIdentifying(false); sonnerToast.dismiss("mtp-connection-toast"); }; - }, [mtpUrl, props.blockConnection, load, save]); + }, [mtpUrl, props.blockConnection, load]); // No Iota check useEffect(() => { @@ -920,11 +561,8 @@ export function Provider(props: { () => createAsyncQueue<{ send: typeof send; - sendEncrypted: typeof sendEncrypted; subscribe: typeof subscribe; subscribePush: typeof subscribePush; - subscribeEncrypted: typeof subscribeEncrypted; - decryptEncryptedRecord: typeof decryptEncryptedRecordForQueue; }>(), [], ); @@ -932,11 +570,8 @@ export function Provider(props: { if (connected && identified && mtpUrl) { mtpRef.set({ send, - sendEncrypted, subscribe, subscribePush, - subscribeEncrypted, - decryptEncryptedRecord: decryptEncryptedRecordForQueue, }); } }, [ @@ -944,11 +579,8 @@ export function Provider(props: { identified, mtpUrl, send, - sendEncrypted, subscribe, subscribePush, - subscribeEncrypted, - decryptEncryptedRecordForQueue, mtpRef, ]); @@ -960,32 +592,12 @@ export function Provider(props: { [mtpRef], ); - const sendEncryptedQueued: BoundSendEncryptedFn = useMemo( - () => async (type, data, options) => { - const mtp = await mtpRef.get(); - return mtp.sendEncrypted(type, data, options); - }, - [mtpRef], - ); - - const decryptEncryptedRecordQueued: ContextType["decryptEncryptedRecord"] = - useMemo( - () => async (frameData) => { - const mtp = await mtpRef.get(); - return mtp.decryptEncryptedRecord(frameData); - }, - [mtpRef], - ); - return ( ; ppandtos_done: boolean; accepted_terms_of_service: boolean; accepted_privacy_policy: boolean; @@ -390,8 +347,6 @@ export const storageDefaults: Storage = { session_id: 0, user_id: 0, mtp_keyring: "", - e2ee_device_id: "", - e2ee_sessions: {}, ppandtos_done: false, accepted_terms_of_service: false, accepted_privacy_policy: false, diff --git a/type-maps.yaml b/type-maps.yaml index 38b4d21..0f6ceff 100644 --- a/type-maps.yaml +++ b/type-maps.yaml @@ -137,13 +137,10 @@ type_maps: AppChallengeResponse: 133 AppIdentificationResponse: 134 LoadTxtRecord: 135 - SetEncryptedDeviceSecret: 139 - GetEncryptedDeviceSecret: 140 - EncryptedDeviceSecretResponse: 141 - EncryptedMessage: 142 - EncryptedMessageAck: 143 - EncryptedMessagesGet: 144 - EncryptedMessagesResponse: 145 + SetChatSecret: 139 + GetChatSecret: 140 + ChatSecretResponse: 141 + ChatSecretForward: 142 DataTypes: ErrorType: 32 ErrorProtocol: 33 @@ -251,18 +248,9 @@ type_maps: SecretId: 142 VersionNumber: 143 EncryptedSecret: 144 - WrappingPublicKeyId: 145 WrappingScheme: 146 UpdatedAt: 147 - MessageId: 148 - ConversationId: 149 - SenderClientId: 150 - RecipientClientId: 151 + ChatId: 148 + KemCiphertext: 149 SenderUserId: 152 RecipientUserId: 153 - EncryptionVersion: 154 - HasMore: 155 - NextCursor: 156 - Since: 157 - Limit: 158 - PeerClientId: 159 From de0a153bce09b2971db39fce242a05ae0ae584aa Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 00:42:54 +0200 Subject: [PATCH 53/75] (wip): chat decryption stuff --- packages/chat/src/components/message.tsx | 56 ++++++++++++++++-------- packages/chat/src/context.tsx | 1 - packages/shared/src/data.ts | 2 +- 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index 4312b94..d088a57 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -29,6 +29,9 @@ import MessageContextMenu from "./messageContextMenu"; import Media from "./media"; import { useStorage } from "@tensamin/storage/context"; import { useMTP } from "@tensamin/mtp"; +import { useChat } from "../context"; +import { decryptChatText } from "@tensamin/crypto/chatSecret"; +import { log, toast } from "@tensamin/shared/log"; function MessageComponent({ grouped, @@ -125,25 +128,42 @@ function MessageComponent({ }; }, [message.MessageState, load, messageStateReadUpdate]); + // Message decryption + const { chatSecret } = useChat(); + const [decryptedContent, setDecryptedContent] = useState( + undefined, + ); + useEffect(() => { + if (!chatSecret) return; + + decryptChatText(chatSecret, message.Content).then( + setDecryptedContent, + (err) => { + toast("error", "Failed to decrypt message", String(err)); + log(1, "chat", "red", err); + }, + ); + }, [chatSecret, message.Content]); + return (
    - -
    - {user ? ( +
    <> {grouped ? (

    @@ -220,11 +240,11 @@ function MessageComponent({ )}

    - ) : ( - "Loading" - )} -
    -
    +
    + + ) : ( + "Loading" + )}
    ); } diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index 94df598..789d023 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -16,7 +16,6 @@ import { deriveChatId, deriveChatSecretId, decryptChatText, - encryptChatText, kemPublicKeyFromPublicKeyBundle, ownKemPublicKeyFromKeyring, randomChatSecret, diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 391b939..56293ec 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -53,7 +53,7 @@ const authPayload = z.object({ UserId: z.number(), LastMessage: z .object({ - content: z.base64(), + Content: z.base64(), SenderId: z.number(), }) .optional(), From cabe83aa9826450df9e38290b6cbb39fdb5e2caa Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 11:20:32 +0200 Subject: [PATCH 54/75] (feat): improve chat ui --- apps/web/src/components/navbar.tsx | 2 +- packages/chat/src/components/message.tsx | 218 ++++++++++++----------- 2 files changed, 112 insertions(+), 108 deletions(-) diff --git a/apps/web/src/components/navbar.tsx b/apps/web/src/components/navbar.tsx index 5bb9830..53fb740 100644 --- a/apps/web/src/components/navbar.tsx +++ b/apps/web/src/components/navbar.tsx @@ -96,7 +96,7 @@ export default function Navbar({ forMobile }: { forMobile: boolean }) { ) } - loading={} + loading={} /> )}
    diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index d088a57..3ea2f1e 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -21,9 +21,7 @@ import { Card, cn, Separator, - Tooltip, - TooltipContent, - TooltipTrigger, + Skeleton, } from "@tensamin/ui"; import MessageContextMenu from "./messageContextMenu"; import Media from "./media"; @@ -44,13 +42,15 @@ function MessageComponent({ }; user: User | null; }) { - const actuallyFailed = message.failed && message.MessageState === "awaiting"; + const [decryptionFailed, setDecryptionFailed] = useState(false); + const actuallyFailed = + (message.failed && message.MessageState === "awaiting") || decryptionFailed; // Fade-in const [hasFadedIn, setHasFadedIn] = useState(false); const opacityClass = !hasFadedIn ? "opacity-0" - : actuallyFailed || message.MessageState === "awaiting" + : message.MessageState === "awaiting" ? "opacity-50" : "opacity-100"; useEffect(() => { @@ -63,19 +63,6 @@ function MessageComponent({ }; }, []); - // Check if message is a url - const [isValidURL, setIsValidURL] = useState(false); - useEffect(() => { - try { - if (message.Content.split(" ").length > 1) throw new Error(); - - new URL(message.Content); - setIsValidURL(true); - } catch { - setIsValidURL(false); - } - }, [message.Content]); - // Message states const { load } = useStorage(); const { send } = useMTP(); @@ -141,109 +128,126 @@ function MessageComponent({ (err) => { toast("error", "Failed to decrypt message", String(err)); log(1, "chat", "red", err); + setDecryptionFailed(true); }, ); }, [chatSecret, message.Content]); + // Check if message is a url + const [isValidURL, setIsValidURL] = useState(false); + useEffect(() => { + if (!decryptedContent) return; + + try { + if (decryptedContent.split(" ").length > 1) throw new Error(); + + new URL(decryptedContent); + setIsValidURL(true); + } catch { + setIsValidURL(false); + } + }, [decryptedContent]); + return (
    - {user && decryptedContent ? ( - -
    + {grouped ? ( +

    + {new Date(message.SendTime).toLocaleString([], { + hour: "2-digit", + minute: "2-digit", + })} +

    + ) : ( + + + + {user.Display.slice(0, 2).toUpperCase()} + + )} - > - <> - {grouped ? ( -

    - {new Date(message.SendTime).toLocaleString([], { - hour: "2-digit", - minute: "2-digit", - })} -

    - ) : ( - - - - {user.Display.slice(0, 2).toUpperCase()} - - - )} - {message.failed && message.MessageState === "awaiting" && ( - - -

    Failed to send message

    -
    - } /> -
    - )} -
    - - {[0, 1, 2].map((item) => ( - - ))} - - - - - - {!grouped && ( -
    -

    {user.Display}

    -

    - {new Date(message.SendTime).toLocaleString([], { - hour: "2-digit", - minute: "2-digit", - })} -

    -
    - {message.MessageState === "read" ? ( - - ) : message.MessageState === "received" ? ( - - ) : message.MessageState === "sent" ? ( - - ) : message.MessageState === "sending" ? ( - - ) : null} -
    + ))} + + + + + + {!grouped && ( +
    +

    {user.Display}

    +

    + {new Date(message.SendTime).toLocaleString([], { + hour: "2-digit", + minute: "2-digit", + })} +

    +
    + {message.MessageState === "read" ? ( + + ) : message.MessageState === "received" ? ( + + ) : message.MessageState === "sent" ? ( + + ) : message.MessageState === "sending" ? ( + + ) : null} + {actuallyFailed && ( + + )}
    - )} - {isValidURL ? ( - - ) : ( - - )} -
    - -
    - +
    + )} + + {decryptedContent ? ( + + {isValidURL ? ( + + ) : ( + + )} + + ) : decryptionFailed ? ( + + ) : ( + + )} +
    + +
    ) : ( - "Loading" + )}
    ); From 35414cdfcbf45268c1b3b608c149c588ce8d4efc Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 12:50:05 +0200 Subject: [PATCH 55/75] (fix): double decryption --- packages/chat/src/components/message.tsx | 47 ++++++------------------ packages/chat/src/context.tsx | 35 +++++++++++++++--- packages/chat/src/values.ts | 4 +- 3 files changed, 44 insertions(+), 42 deletions(-) diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index 3ea2f1e..2490a00 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -27,9 +27,6 @@ import MessageContextMenu from "./messageContextMenu"; import Media from "./media"; import { useStorage } from "@tensamin/storage/context"; import { useMTP } from "@tensamin/mtp"; -import { useChat } from "../context"; -import { decryptChatText } from "@tensamin/crypto/chatSecret"; -import { log, toast } from "@tensamin/shared/log"; function MessageComponent({ grouped, @@ -39,12 +36,13 @@ function MessageComponent({ grouped: boolean; message: RawMessage & { failed?: boolean; + decryptionFailed?: boolean; }; user: User | null; }) { - const [decryptionFailed, setDecryptionFailed] = useState(false); const actuallyFailed = - (message.failed && message.MessageState === "awaiting") || decryptionFailed; + (message.failed && message.MessageState === "awaiting") || + message.decryptionFailed; // Fade-in const [hasFadedIn, setHasFadedIn] = useState(false); @@ -115,38 +113,18 @@ function MessageComponent({ }; }, [message.MessageState, load, messageStateReadUpdate]); - // Message decryption - const { chatSecret } = useChat(); - const [decryptedContent, setDecryptedContent] = useState( - undefined, - ); - useEffect(() => { - if (!chatSecret) return; - - decryptChatText(chatSecret, message.Content).then( - setDecryptedContent, - (err) => { - toast("error", "Failed to decrypt message", String(err)); - log(1, "chat", "red", err); - setDecryptionFailed(true); - }, - ); - }, [chatSecret, message.Content]); - // Check if message is a url const [isValidURL, setIsValidURL] = useState(false); useEffect(() => { - if (!decryptedContent) return; - try { - if (decryptedContent.split(" ").length > 1) throw new Error(); + if (message.Content.split(" ").length > 1) throw new Error(); - new URL(decryptedContent); + new URL(message.Content); setIsValidURL(true); } catch { setIsValidURL(false); } - }, [decryptedContent]); + }, [message.Content]); return (
    )} - {decryptedContent ? ( + {message.Content ? ( {isValidURL ? ( - + ) : ( - + )} - ) : decryptionFailed ? ( - ) : ( { prev.message.SentBySelf === next.message.SentBySelf && prev.message.MessageState === next.message.MessageState && prev.message.failed === next.message.failed && + prev.message.decryptionFailed === next.message.decryptionFailed && prev.grouped === next.grouped && prev.user === next.user ); diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index 789d023..27dfd61 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -246,10 +246,20 @@ export default function Provider({ children }: { children: ReactNode }) { try { return { ...message, - Content: await decryptChatText(currentChatSecret, message.Content), + Content: await decryptChatText( + currentChatSecret, + message.Content, + ), + }; + } catch (err) { + log(1, "chat", "red", "Failed to decrypt historical message", err, { + SendTime: message.SendTime, + }); + return { + ...message, + Content: "Failed to decrypt message", + decryptionFailed: true, }; - } catch { - return message; } }), ); @@ -352,12 +362,18 @@ export default function Provider({ children }: { children: ReactNode }) { if (!data.Message || !currentChatSecret) return; void decryptChatText(currentChatSecret, data.Message.Content) - .catch(() => data.Message?.Content ?? "") + .catch((err) => { + log(1, "chat", "red", "Failed to decrypt live message", err, { + SendTime: data.Message?.SendTime, + }); + return null; + }) .then((content) => { if (!data.Message) return; addLiveMessage({ ...data.Message, - Content: content, + Content: content ?? "Failed to decrypt message", + decryptionFailed: content === null, SentBySelf: false, }); }); @@ -455,7 +471,14 @@ export default function Provider({ children }: { children: ReactNode }) { }, ); }); - }, [addLiveMessage, currentChatSecret, load, send, subscribePush, userIdValue]); + }, [ + addLiveMessage, + currentChatSecret, + load, + send, + subscribePush, + userIdValue, + ]); return ( diff --git a/packages/chat/src/values.ts b/packages/chat/src/values.ts index 0d7af81..c269cc4 100644 --- a/packages/chat/src/values.ts +++ b/packages/chat/src/values.ts @@ -3,7 +3,9 @@ import { mtp } from "@tensamin/shared/data"; export type RawMessages = z.infer["Messages"]; -export type RawMessage = RawMessages[number]; +export type RawMessage = RawMessages[number] & { + decryptionFailed?: boolean; +}; export type LiveMessage = RawMessage & { failed?: boolean; From 8ddc8db5361c93068b5425069701df68c3849827 Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 17:52:41 +0200 Subject: [PATCH 56/75] (wip): fix chat crypto --- packages/chat/src/context.tsx | 189 +++++++++++++++++++++++------- packages/crypto/src/chatSecret.ts | 20 +++- packages/mtp/src/context.tsx | 14 +-- packages/shared/src/data.ts | 36 +++--- pnpm-lock.yaml | 16 +-- pnpm-workspace.yaml | 2 +- 6 files changed, 195 insertions(+), 82 deletions(-) diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index 27dfd61..64f2655 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -35,6 +35,10 @@ const CHAT_SECRET_VERSION = 1; function bytesFromProtocol(value: unknown): Uint8Array { if (value instanceof Uint8Array) return value; + if (value instanceof ArrayBuffer) return new Uint8Array(value); + if (ArrayBuffer.isView(value)) { + return new Uint8Array(value.buffer, value.byteOffset, value.byteLength); + } if (Array.isArray(value)) return new Uint8Array(value); if (typeof value === "string") { const bin = atob(value); @@ -42,6 +46,16 @@ function bytesFromProtocol(value: unknown): Uint8Array { for (let i = 0; i < bin.length; i++) out[i] = bin.charCodeAt(i); return out; } + if (typeof value === "object" && value !== null) { + const entries = Object.entries(value); + if ( + entries.every( + ([key, item]) => /^\d+$/.test(key) && typeof item === "number", + ) + ) { + return new Uint8Array(entries.map(([, item]) => item as number)); + } + } throw new Error("expected protocol bytes"); } @@ -72,6 +86,16 @@ function updateMessageStateBySendTime< }; } +function assertProtocolSuccess(type: string, response: { type: string }) { + if (response.type.startsWith("Error")) { + throw new Error(`${type} failed: ${response.type}`); + } +} + +function protocolBytes(bytes: Uint8Array): Uint8Array { + return new Uint8Array(bytes); +} + export default function Provider({ children }: { children: ReactNode }) { const { load } = useStorage(); const { send, subscribePush } = useMTP(); @@ -125,6 +149,34 @@ export default function Provider({ children }: { children: ReactNode }) { const chatId = deriveChatId(ownUserId, userIdValue); const secretId = deriveChatSecretId(chatId); + async function forwardChatSecret(chatSecret: Uint8Array) { + const peerUser = await getUser(userIdValue); + const peerWrapped = await wrapChatSecret({ + chatSecret, + recipientKemPublicKey: kemPublicKeyFromPublicKeyBundle( + peerUser.PublicKey, + ), + chatId, + secretId, + version: CHAT_SECRET_VERSION, + }); + + assertProtocolSuccess( + "ChatSecretForward", + await send("ChatSecretForward", { + ChatId: chatId, + SenderUserId: String(ownUserId), + RecipientUserId: String(userIdValue), + SecretId: secretId, + VersionNumber: CHAT_SECRET_VERSION, + EncryptedSecret: protocolBytes(peerWrapped.encryptedSecret), + KemCiphertext: protocolBytes(peerWrapped.kemCiphertext), + WrappingScheme: peerWrapped.wrappingScheme, + CreatedAt: Date.now(), + }), + ); + } + const existing = await send("GetChatSecret", { UserId: String(ownUserId), ChatId: chatId, @@ -146,6 +198,8 @@ export default function Provider({ children }: { children: ReactNode }) { if (active) { setCurrentChatSecretState({ userId: userIdValue, value: secret }); } + + await forwardChatSecret(secret); return; } @@ -158,39 +212,21 @@ export default function Provider({ children }: { children: ReactNode }) { version: CHAT_SECRET_VERSION, }); - await send("SetChatSecret", { - UserId: String(ownUserId), - ChatId: chatId, - SecretId: secretId, - VersionNumber: CHAT_SECRET_VERSION, - EncryptedSecret: Array.from(ownWrapped.encryptedSecret), - KemCiphertext: Array.from(ownWrapped.kemCiphertext), - WrappingScheme: ownWrapped.wrappingScheme, - CreatedAt: Date.now(), - }); + assertProtocolSuccess( + "SetChatSecret", + await send("SetChatSecret", { + UserId: String(ownUserId), + ChatId: chatId, + SecretId: secretId, + VersionNumber: CHAT_SECRET_VERSION, + EncryptedSecret: protocolBytes(ownWrapped.encryptedSecret), + KemCiphertext: protocolBytes(ownWrapped.kemCiphertext), + WrappingScheme: ownWrapped.wrappingScheme, + CreatedAt: Date.now(), + }), + ); - const peerUser = await getUser(userIdValue); - const peerWrapped = await wrapChatSecret({ - chatSecret: rawSecret, - recipientKemPublicKey: kemPublicKeyFromPublicKeyBundle( - peerUser.PublicKey, - ), - chatId, - secretId, - version: CHAT_SECRET_VERSION, - }); - - await send("ChatSecretForward", { - ChatId: chatId, - SenderUserId: String(ownUserId), - RecipientUserId: String(userIdValue), - SecretId: secretId, - VersionNumber: CHAT_SECRET_VERSION, - EncryptedSecret: Array.from(peerWrapped.encryptedSecret), - KemCiphertext: Array.from(peerWrapped.kemCiphertext), - WrappingScheme: peerWrapped.wrappingScheme, - CreatedAt: Date.now(), - }); + await forwardChatSecret(rawSecret); if (active) { setCurrentChatSecretState({ userId: userIdValue, value: rawSecret }); @@ -317,6 +353,68 @@ export default function Provider({ children }: { children: ReactNode }) { const keyring = await load("mtp_keyring"); const chatId = String(data.ChatId); const secretId = String(data.SecretId); + const senderUserId = Number(data.SenderUserId); + if (!Number.isSafeInteger(senderUserId) || senderUserId <= 0) { + throw new Error("Invalid chat secret sender id"); + } + + const existing = await send("GetChatSecret", { + UserId: String(ownUserId), + ChatId: chatId, + SecretId: secretId, + }); + + if (!existing.type.startsWith("Error") && senderUserId > ownUserId) { + const existingData = existing.data as Record; + const existingSecret = await unwrapChatSecret({ + encryptedSecret: bytesFromProtocol(existingData.EncryptedSecret), + kemCiphertext: bytesFromProtocol(existingData.KemCiphertext), + keyring, + chatId: String(existingData.ChatId), + secretId: String(existingData.SecretId), + version: Number(existingData.VersionNumber), + wrappingScheme: String(existingData.WrappingScheme), + }); + const senderUser = await getUser(senderUserId); + const senderWrapped = await wrapChatSecret({ + chatSecret: existingSecret, + recipientKemPublicKey: kemPublicKeyFromPublicKeyBundle( + senderUser.PublicKey, + ), + chatId, + secretId, + version: Number(existingData.VersionNumber), + }); + + assertProtocolSuccess( + "ChatSecretForward", + await send("ChatSecretForward", { + ChatId: chatId, + SenderUserId: String(ownUserId), + RecipientUserId: String(senderUserId), + SecretId: String(existingData.SecretId), + VersionNumber: Number(existingData.VersionNumber), + EncryptedSecret: protocolBytes(senderWrapped.encryptedSecret), + KemCiphertext: protocolBytes(senderWrapped.kemCiphertext), + WrappingScheme: senderWrapped.wrappingScheme, + CreatedAt: Date.now(), + }), + ); + + log( + 2, + "chat", + "purple", + "Ignoring forwarded chat secret because local user owns the deterministic secret", + { + chatId, + ownUserId, + senderUserId, + }, + ); + return; + } + const secret = await unwrapChatSecret({ encryptedSecret: bytesFromProtocol(data.EncryptedSecret), kemCiphertext: bytesFromProtocol(data.KemCiphertext), @@ -334,19 +432,25 @@ export default function Provider({ children }: { children: ReactNode }) { version: Number(data.VersionNumber), }); - await send("SetChatSecret", { - UserId: String(ownUserId), - ChatId: chatId, - SecretId: secretId, - VersionNumber: Number(data.VersionNumber), - EncryptedSecret: Array.from(ownWrapped.encryptedSecret), - KemCiphertext: Array.from(ownWrapped.kemCiphertext), - WrappingScheme: ownWrapped.wrappingScheme, - CreatedAt: Date.now(), - }); + assertProtocolSuccess( + "SetChatSecret", + await send("SetChatSecret", { + UserId: String(ownUserId), + ChatId: chatId, + SecretId: secretId, + VersionNumber: Number(data.VersionNumber), + EncryptedSecret: protocolBytes(ownWrapped.encryptedSecret), + KemCiphertext: protocolBytes(ownWrapped.kemCiphertext), + WrappingScheme: ownWrapped.wrappingScheme, + CreatedAt: Date.now(), + }), + ); if (deriveChatId(ownUserId, userIdValue) === chatId) { setCurrentChatSecretState({ userId: userIdValue, value: secret }); + void queryClient.invalidateQueries({ + queryKey: ["chat-messages", String(userIdValue)], + }); } })().catch((err) => { log(1, "chat", "red", "Failed to accept chat secret", err); @@ -474,6 +578,7 @@ export default function Provider({ children }: { children: ReactNode }) { }, [ addLiveMessage, currentChatSecret, + getUser, load, send, subscribePush, diff --git a/packages/crypto/src/chatSecret.ts b/packages/crypto/src/chatSecret.ts index 3e15300..e6e836c 100644 --- a/packages/crypto/src/chatSecret.ts +++ b/packages/crypto/src/chatSecret.ts @@ -1,6 +1,7 @@ -import { crypto } from "mtp"; +import { base64ToBytes, bytesToBase64, crypto } from "mtp"; const textEncoder = new TextEncoder(); +const textDecoder = new TextDecoder(); export const CHAT_SECRET_WRAPPING_SCHEME = "mtp-chat-secret-kem-chacha20poly1305-hkdf-sha256-v1"; @@ -73,11 +74,16 @@ export async function unwrapChatSecret(args: { wrappingScheme: string; }): Promise { if (args.wrappingScheme !== CHAT_SECRET_WRAPPING_SCHEME) { - throw new Error(`Unsupported chat secret wrapping scheme: ${args.wrappingScheme}`); + throw new Error( + `Unsupported chat secret wrapping scheme: ${args.wrappingScheme}`, + ); } const ownKeys = crypto.keyringToKeys(args.keyring); - const sharedSecret = crypto.decapsulate(ownKeys.kemSecretKey, args.kemCiphertext); + const sharedSecret = crypto.decapsulate( + ownKeys.kemSecretKey, + args.kemCiphertext, + ); try { const wrappingKey = deriveWrappingKey({ @@ -103,7 +109,9 @@ export async function encryptChatText( ): Promise { const key = deriveMessageKey(chatSecret); try { - return await crypto.encryptText(key, plaintext); + return bytesToBase64( + await crypto.encrypt(key, textEncoder.encode(plaintext)), + ); } finally { key.fill(0); } @@ -115,7 +123,9 @@ export async function decryptChatText( ): Promise { const key = deriveMessageKey(chatSecret); try { - return await crypto.decryptText(key, ciphertext); + return textDecoder.decode( + await crypto.decrypt(key, base64ToBytes(ciphertext)), + ); } finally { key.fill(0); } diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index 9ca1016..98b5d99 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -111,7 +111,9 @@ function validateResponse( return message as ProtocolMessage; } - const schema = schemas[type]?.response; + const schema = + schemas[message.type as keyof Schemas & string]?.response ?? + schemas[type]?.response; if (!schema) { return message as ProtocolMessage; } @@ -574,15 +576,7 @@ export function Provider(props: { subscribePush, }); } - }, [ - connected, - identified, - mtpUrl, - send, - subscribe, - subscribePush, - mtpRef, - ]); + }, [connected, identified, mtpUrl, send, subscribe, subscribePush, mtpRef]); const sendQueued: BoundSendFn = useMemo( () => async (type, data, options) => { diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 56293ec..b887168 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -18,6 +18,20 @@ const bytesLike = z.union([ z.base64(), ]); +const protocolBytes = z.instanceof(Uint8Array); + +const chatSecretResponse = z.object({ + UserId: z.string(), + ChatId: z.string(), + SecretId: z.string(), + VersionNumber: z.number(), + EncryptedSecret: bytesLike, + KemCiphertext: bytesLike, + WrappingScheme: z.string(), + CreatedAt: z.number(), + UpdatedAt: z.number(), +}); + export const Message = z.object({ NotEncrypted: z.boolean().optional(), SentBySelf: z.boolean().optional(), @@ -257,8 +271,8 @@ export const mtp = { ChatId: z.string(), SecretId: z.string(), VersionNumber: z.number(), - EncryptedSecret: bytesLike, - KemCiphertext: bytesLike, + EncryptedSecret: protocolBytes, + KemCiphertext: protocolBytes, WrappingScheme: z.string(), CreatedAt: z.number(), }), @@ -270,21 +284,11 @@ export const mtp = { ChatId: z.string(), SecretId: z.string().optional(), }), - response: z.object({}), + response: chatSecretResponse, }, ChatSecretResponse: { request: z.object({}).optional(), - response: z.object({ - UserId: z.string(), - ChatId: z.string(), - SecretId: z.string(), - VersionNumber: z.number(), - EncryptedSecret: bytesLike, - KemCiphertext: bytesLike, - WrappingScheme: z.string(), - CreatedAt: z.number(), - UpdatedAt: z.number(), - }), + response: chatSecretResponse, }, ChatSecretForward: { request: z.object({ @@ -293,8 +297,8 @@ export const mtp = { RecipientUserId: z.string(), SecretId: z.string(), VersionNumber: z.number(), - EncryptedSecret: bytesLike, - KemCiphertext: bytesLike, + EncryptedSecret: protocolBytes, + KemCiphertext: protocolBytes, WrappingScheme: z.string(), CreatedAt: z.number(), }), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c210028..099ec42 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: overrides: '@tensamin/ui': https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz - mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz + mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz importers: @@ -16,8 +16,8 @@ importers: specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) mtp: - specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz - version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz sonner: specifier: ^2.0.7 version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) @@ -652,8 +652,8 @@ importers: specifier: ^1.14.0 version: 1.23.0(react@19.2.7) mtp: - specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz - version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz + specifier: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz + version: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz react: specifier: ^19.2.0 version: 19.2.7 @@ -3736,8 +3736,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz: - resolution: {integrity: sha512-Y18aXdMfM80YLBGzk3NS5PVl08GHX2Cfkw0aQK06xazA3zZlPVHStS7enZ4s4MmDzE6NNTYBYbw49nWpUgkdvQ==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz: + resolution: {integrity: sha512-A2SN971Er728ibaemcL1qu1PGJuOZxNGY8ssgld3ETF94tVJ3GeBHQERcbQNdj9fExPEmnjkq/o1tt8W+Vdcvw==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz} version: 0.1.0 nanoid@3.3.15: @@ -7857,7 +7857,7 @@ snapshots: ms@2.1.3: {} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz: {} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz: {} nanoid@3.3.15: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 019fa44..522bd1a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,4 +7,4 @@ allowBuilds: esbuild: true overrides: "@tensamin/ui": "https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz" - mtp: "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-515244c/mtp-0.1.0.tgz" + mtp: "https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz" From ecca5241bcfc918d5dbc6319a5e38f4268e20d4b Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 18:15:18 +0200 Subject: [PATCH 57/75] (feat): improve some ui (qol): update todo --- packages/chat/src/components/message.tsx | 2 +- packages/chat/todo.md | 1 + packages/mtp/src/context.tsx | 19 ------------------- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index 2490a00..414178e 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -136,7 +136,7 @@ function MessageComponent({ className={cn( "group hover:bg-muted/50 select-text! relative justify-start flex gap-1 items-center w-full px-2 whitespace-pre-wrap break-all", { - "bg-(--destructive)/15 text-destructive-foreground hover:bg-(--destructive)/20": + "bg-(--destructive)/10 text-destructive-foreground hover:bg-(--destructive)/15": actuallyFailed, }, )} diff --git a/packages/chat/todo.md b/packages/chat/todo.md index 4a260aa..c44ad8b 100644 --- a/packages/chat/todo.md +++ b/packages/chat/todo.md @@ -1,3 +1,4 @@ - Implement context menu features - Add default-emoji-hotkey - Placeholder image if media fails to load +- Signature verifications via ed25519 key diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index 98b5d99..8d10e55 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -15,7 +15,6 @@ import { type z } from "zod"; import { ConnectionState } from "mtp"; import createAsyncQueue from "@tensamin/shared/asyncQueue"; import { toast as sonnerToast } from "@tensamin/ui"; -import { Loader2 } from "lucide-react"; import { type Calls, @@ -267,24 +266,6 @@ export function Provider(props: { reconnectResetTimer = null; }; - if (!props.blockConnection) { - sonnerToast.promise( - new Promise((resolve) => { - resolveConnectionRef.current = resolve; - }), - { - id: "mtp-connection-toast", - loading: "Connecting to server...", - icon: ( -
    - -
    - ), - duration: Infinity, - }, - ); - } - async function connect() { if (disposed || props.blockConnection) return; From 2cd326d0b1eb1a0a5c2dca8489eec3f9a7532ff0 Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 19:23:37 +0200 Subject: [PATCH 58/75] (feat): finish chat crypto migration (wip): prep for full ECDH repo migration --- packages/chat/package.json | 3 +- packages/chat/src/components/message.tsx | 4 +- packages/chat/src/context.tsx | 266 +++++++---------------- packages/chat/todo.md | 1 + packages/crypto/src/context.test.ts | 7 - packages/crypto/src/context.tsx | 49 +---- packages/mtp/src/context.tsx | 1 - packages/notifications/src/context.tsx | 179 +++++++-------- packages/shared/src/data.ts | 14 +- type-maps.yaml | 2 + 10 files changed, 191 insertions(+), 335 deletions(-) diff --git a/packages/chat/package.json b/packages/chat/package.json index b656238..a7fa81e 100644 --- a/packages/chat/package.json +++ b/packages/chat/package.json @@ -7,7 +7,8 @@ "./context": "./src/context.tsx", "./screen": "./src/screen.tsx", "./behaviour-conversation": "./src/behaviour/conversation.ts", - "./behaviour-community": "./src/behaviour/community.ts" + "./behaviour-community": "./src/behaviour/community.ts", + "./values": "./src/values.ts" }, "scripts": { "format": "pnpm exec prettier --write .", diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index 414178e..4fd1b6f 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -84,6 +84,8 @@ function MessageComponent({ } }, [load, message.SendTime, user?.UserId, send]); useEffect(() => { + if (message.SentBySelf) return; + let cancelled = false; async function run() { @@ -111,7 +113,7 @@ function MessageComponent({ return () => { cancelled = true; }; - }, [message.MessageState, load, messageStateReadUpdate]); + }, [message.MessageState, load, messageStateReadUpdate, message.SentBySelf]); // Check if message is a url const [isValidURL, setIsValidURL] = useState(false); diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index 64f2655..1c8a634 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -134,6 +134,16 @@ export default function Provider({ children }: { children: ReactNode }) { return currentChatSecretState.value; }, [currentChatSecretState, userIdValue]); + // Chat secret debugging + useEffect(() => { + if (!currentChatSecret) return; + + const hex = Array.from(currentChatSecret, (b) => + b.toString(16).padStart(2, "0"), + ).join(""); + log(3, "chat", "yellow", "Chat secret (sensitive)", hex); + }, [currentChatSecret]); + useEffect(() => { if (!userIdValue) return; @@ -149,34 +159,6 @@ export default function Provider({ children }: { children: ReactNode }) { const chatId = deriveChatId(ownUserId, userIdValue); const secretId = deriveChatSecretId(chatId); - async function forwardChatSecret(chatSecret: Uint8Array) { - const peerUser = await getUser(userIdValue); - const peerWrapped = await wrapChatSecret({ - chatSecret, - recipientKemPublicKey: kemPublicKeyFromPublicKeyBundle( - peerUser.PublicKey, - ), - chatId, - secretId, - version: CHAT_SECRET_VERSION, - }); - - assertProtocolSuccess( - "ChatSecretForward", - await send("ChatSecretForward", { - ChatId: chatId, - SenderUserId: String(ownUserId), - RecipientUserId: String(userIdValue), - SecretId: secretId, - VersionNumber: CHAT_SECRET_VERSION, - EncryptedSecret: protocolBytes(peerWrapped.encryptedSecret), - KemCiphertext: protocolBytes(peerWrapped.kemCiphertext), - WrappingScheme: peerWrapped.wrappingScheme, - CreatedAt: Date.now(), - }), - ); - } - const existing = await send("GetChatSecret", { UserId: String(ownUserId), ChatId: chatId, @@ -198,11 +180,13 @@ export default function Provider({ children }: { children: ReactNode }) { if (active) { setCurrentChatSecretState({ userId: userIdValue, value: secret }); } - - await forwardChatSecret(secret); return; } + if (existing.type !== "ErrorNotSet") { + throw new Error(`GetChatSecret failed: ${existing.type}`); + } + const rawSecret = randomChatSecret(); const ownWrapped = await wrapChatSecret({ chatSecret: rawSecret, @@ -211,23 +195,40 @@ export default function Provider({ children }: { children: ReactNode }) { secretId, version: CHAT_SECRET_VERSION, }); + const peerUser = await getUser(userIdValue); + const peerWrapped = await wrapChatSecret({ + chatSecret: rawSecret, + recipientKemPublicKey: kemPublicKeyFromPublicKeyBundle( + peerUser.PublicKey, + ), + chatId, + secretId, + version: CHAT_SECRET_VERSION, + }); assertProtocolSuccess( "SetChatSecret", await send("SetChatSecret", { - UserId: String(ownUserId), ChatId: chatId, SecretId: secretId, VersionNumber: CHAT_SECRET_VERSION, - EncryptedSecret: protocolBytes(ownWrapped.encryptedSecret), - KemCiphertext: protocolBytes(ownWrapped.kemCiphertext), WrappingScheme: ownWrapped.wrappingScheme, CreatedAt: Date.now(), + Recipients: [ + { + UserId: String(ownUserId), + EncryptedSecret: protocolBytes(ownWrapped.encryptedSecret), + KemCiphertext: protocolBytes(ownWrapped.kemCiphertext), + }, + { + UserId: String(userIdValue), + EncryptedSecret: protocolBytes(peerWrapped.encryptedSecret), + KemCiphertext: protocolBytes(peerWrapped.kemCiphertext), + }, + ], }), ); - await forwardChatSecret(rawSecret); - if (active) { setCurrentChatSecretState({ userId: userIdValue, value: rawSecret }); } @@ -246,6 +247,45 @@ export default function Provider({ children }: { children: ReactNode }) { }; }, [getUser, load, send, userIdValue]); + const getChatSecret = useCallback( + async (userId: number): Promise => { + if (!Number.isSafeInteger(userId) || userId <= 0) { + throw new Error("Invalid chat user id"); + } + + const ownUserId = Number(await load("user_id")); + const keyring = await load("mtp_keyring"); + const chatId = deriveChatId(ownUserId, userId); + const secretId = deriveChatSecretId(chatId); + + const response = await send("GetChatSecret", { + UserId: String(ownUserId), + ChatId: chatId, + SecretId: secretId, + }); + + if (response.type === "ErrorNotSet") { + return null; + } + + if (response.type.startsWith("Error")) { + throw new Error(`GetChatSecret failed: ${response.type}`); + } + + const data = response.data as Record; + return await unwrapChatSecret({ + encryptedSecret: bytesFromProtocol(data.EncryptedSecret), + kemCiphertext: bytesFromProtocol(data.KemCiphertext), + keyring, + chatId: String(data.ChatId), + secretId: String(data.SecretId), + version: Number(data.VersionNumber), + wrappingScheme: String(data.WrappingScheme), + }); + }, + [load, send], + ); + const getMessages = useCallback( async (amount: number, offset: number) => { if (!currentChatSecret) { @@ -344,149 +384,7 @@ export default function Provider({ children }: { children: ReactNode }) { // Get live updates for message states useEffect(() => { return subscribePush((message) => { - if (message.type === "ChatSecretForward") { - const data = message.data as Record; - void (async () => { - const ownUserId = Number(await load("user_id")); - if (String(data.RecipientUserId) !== String(ownUserId)) return; - - const keyring = await load("mtp_keyring"); - const chatId = String(data.ChatId); - const secretId = String(data.SecretId); - const senderUserId = Number(data.SenderUserId); - if (!Number.isSafeInteger(senderUserId) || senderUserId <= 0) { - throw new Error("Invalid chat secret sender id"); - } - - const existing = await send("GetChatSecret", { - UserId: String(ownUserId), - ChatId: chatId, - SecretId: secretId, - }); - - if (!existing.type.startsWith("Error") && senderUserId > ownUserId) { - const existingData = existing.data as Record; - const existingSecret = await unwrapChatSecret({ - encryptedSecret: bytesFromProtocol(existingData.EncryptedSecret), - kemCiphertext: bytesFromProtocol(existingData.KemCiphertext), - keyring, - chatId: String(existingData.ChatId), - secretId: String(existingData.SecretId), - version: Number(existingData.VersionNumber), - wrappingScheme: String(existingData.WrappingScheme), - }); - const senderUser = await getUser(senderUserId); - const senderWrapped = await wrapChatSecret({ - chatSecret: existingSecret, - recipientKemPublicKey: kemPublicKeyFromPublicKeyBundle( - senderUser.PublicKey, - ), - chatId, - secretId, - version: Number(existingData.VersionNumber), - }); - - assertProtocolSuccess( - "ChatSecretForward", - await send("ChatSecretForward", { - ChatId: chatId, - SenderUserId: String(ownUserId), - RecipientUserId: String(senderUserId), - SecretId: String(existingData.SecretId), - VersionNumber: Number(existingData.VersionNumber), - EncryptedSecret: protocolBytes(senderWrapped.encryptedSecret), - KemCiphertext: protocolBytes(senderWrapped.kemCiphertext), - WrappingScheme: senderWrapped.wrappingScheme, - CreatedAt: Date.now(), - }), - ); - - log( - 2, - "chat", - "purple", - "Ignoring forwarded chat secret because local user owns the deterministic secret", - { - chatId, - ownUserId, - senderUserId, - }, - ); - return; - } - - const secret = await unwrapChatSecret({ - encryptedSecret: bytesFromProtocol(data.EncryptedSecret), - kemCiphertext: bytesFromProtocol(data.KemCiphertext), - keyring, - chatId, - secretId, - version: Number(data.VersionNumber), - wrappingScheme: String(data.WrappingScheme), - }); - const ownWrapped = await wrapChatSecret({ - chatSecret: secret, - recipientKemPublicKey: ownKemPublicKeyFromKeyring(keyring), - chatId, - secretId, - version: Number(data.VersionNumber), - }); - - assertProtocolSuccess( - "SetChatSecret", - await send("SetChatSecret", { - UserId: String(ownUserId), - ChatId: chatId, - SecretId: secretId, - VersionNumber: Number(data.VersionNumber), - EncryptedSecret: protocolBytes(ownWrapped.encryptedSecret), - KemCiphertext: protocolBytes(ownWrapped.kemCiphertext), - WrappingScheme: ownWrapped.wrappingScheme, - CreatedAt: Date.now(), - }), - ); - - if (deriveChatId(ownUserId, userIdValue) === chatId) { - setCurrentChatSecretState({ userId: userIdValue, value: secret }); - void queryClient.invalidateQueries({ - queryKey: ["chat-messages", String(userIdValue)], - }); - } - })().catch((err) => { - log(1, "chat", "red", "Failed to accept chat secret", err); - }); - return; - } - - if (message.type === "MessageLive") { - const data = message.data as { - Message?: RawMessage; - SenderId?: number; - }; - if (!data.Message || !currentChatSecret) return; - - void decryptChatText(currentChatSecret, data.Message.Content) - .catch((err) => { - log(1, "chat", "red", "Failed to decrypt live message", err, { - SendTime: data.Message?.SendTime, - }); - return null; - }) - .then((content) => { - if (!data.Message) return; - addLiveMessage({ - ...data.Message, - Content: content ?? "Failed to decrypt message", - decryptionFailed: content === null, - SentBySelf: false, - }); - }); - return; - } - - if (message.type !== "MessageState") { - return; - } + if (message.type !== "MessageState") return; const rawData = message.data as { ChatPartnerId: unknown; @@ -575,21 +473,14 @@ export default function Provider({ children }: { children: ReactNode }) { }, ); }); - }, [ - addLiveMessage, - currentChatSecret, - getUser, - load, - send, - subscribePush, - userIdValue, - ]); + }, [addLiveMessage, currentChatSecret, send, subscribePush, userIdValue]); return ( liveMessagesState, addLiveMessage, clearLiveMessages, @@ -608,6 +499,7 @@ export default function Provider({ children }: { children: ReactNode }) { type contextType = { getMessages: (amount: number, offset: number) => Promise; + getChatSecret: (userId: number) => Promise; liveMessages: () => LiveMessage[]; addLiveMessage: (message: RawMessage) => { setFailed: (failed: boolean) => void; diff --git a/packages/chat/todo.md b/packages/chat/todo.md index c44ad8b..4bff343 100644 --- a/packages/chat/todo.md +++ b/packages/chat/todo.md @@ -2,3 +2,4 @@ - Add default-emoji-hotkey - Placeholder image if media fails to load - Signature verifications via ed25519 key +- Confirmation when exiting with text in the input box. diff --git a/packages/crypto/src/context.test.ts b/packages/crypto/src/context.test.ts index 8db92a3..e6c2178 100644 --- a/packages/crypto/src/context.test.ts +++ b/packages/crypto/src/context.test.ts @@ -49,12 +49,6 @@ describe("createCryptoActions", () => { secret: string, ciphertext: string, ): Promise => `${secret}|${ciphertext}`, - getSharedSecret: async ( - ownPrivateKey: string, - ownPublicKey: string, - otherPublicKey: string, - ): Promise => - `${ownPrivateKey}.${ownPublicKey}.${otherPublicKey}`, }; const actions = createCryptoActions(() => api); @@ -67,6 +61,5 @@ describe("createCryptoActions", () => { ).toBe("s|c"); expect(await actions.encryptText("s", "p")).toBe("s:p"); expect(await actions.decryptText("s", "c")).toBe("s|c"); - expect(await actions.getSharedSecret("a", "b", "c")).toBe("a.b.c"); }); }); diff --git a/packages/crypto/src/context.tsx b/packages/crypto/src/context.tsx index 0fef2b3..b9ca137 100644 --- a/packages/crypto/src/context.tsx +++ b/packages/crypto/src/context.tsx @@ -1,5 +1,5 @@ import { createContext, useContext } from "react"; -import { base64ToBytes, bytesToBase64, crypto } from "mtp"; +import { base64ToBytes, crypto } from "mtp"; type CryptoContextType = { decrypt: ( @@ -12,11 +12,6 @@ type CryptoContextType = { input: Uint8Array, ) => Promise>; encryptText: (secret: string, plaintext: string) => Promise; - getSharedSecret: ( - ownPrivateKey: string, - ownPublicKey: string, - otherPublicKey: string, - ) => Promise; }; export const context = createContext(undefined); @@ -39,8 +34,6 @@ export function createCryptoActions( encrypt: (secret, input) => requireApi().encrypt(secret, input), encryptText: (secret, plaintext) => requireApi().encryptText(secret, plaintext), - getSharedSecret: (ownPrivateKey, ownPublicKey, otherPublicKey) => - requireApi().getSharedSecret(ownPrivateKey, ownPublicKey, otherPublicKey), }; } @@ -58,45 +51,6 @@ function secretKeyFromString(secret: string): Uint8Array { ); } -function compareBytes(a: Uint8Array, b: Uint8Array): number { - const len = Math.min(a.byteLength, b.byteLength); - - for (let i = 0; i < len; i++) { - const diff = a[i] - b[i]; - if (diff !== 0) return diff; - } - - return a.byteLength - b.byteLength; -} - -async function getSharedSecret( - ownPrivateKey: string, - ownPublicKey: string, - otherPublicKey: string, -): Promise { - crypto.keyringToKeys(ownPrivateKey); - - const ownKeys = crypto.publicKeyBundleToKeys(ownPublicKey); - const otherKeys = crypto.publicKeyBundleToKeys(otherPublicKey); - const publicKeys = [ownKeys.kemPublicKey, otherKeys.kemPublicKey].sort( - compareBytes, - ); - const input = new Uint8Array( - publicKeys[0].byteLength + publicKeys[1].byteLength, - ); - - input.set(publicKeys[0]); - input.set(publicKeys[1], publicKeys[0].byteLength); - - return bytesToBase64( - crypto.deriveEncryptionKey( - input, - new Uint8Array(0), - new TextEncoder().encode("tensamin:legacy-shared-secret"), - ), - ); -} - export default function Provider(props: { children: React.ReactNode }) { const actions = createCryptoActions(() => ({ decrypt: async (secret, input) => @@ -107,7 +61,6 @@ export default function Provider(props: { children: React.ReactNode }) { ownedBytes(await crypto.encrypt(secretKeyFromString(secret), input)), encryptText: (secret, plaintext) => crypto.encryptText(secretKeyFromString(secret), plaintext), - getSharedSecret, })); return {props.children}; diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index 8d10e55..9f96555 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -201,7 +201,6 @@ export function Provider(props: { const unsubscribers = [ "MessageLive", "MessageState", - "ChatSecretForward", "CallInvite", "ErrorNoIota", ].map((type) => diff --git a/packages/notifications/src/context.tsx b/packages/notifications/src/context.tsx index 1879852..8408213 100644 --- a/packages/notifications/src/context.tsx +++ b/packages/notifications/src/context.tsx @@ -1,16 +1,16 @@ -import { useCrypto } from "@tensamin/crypto/context"; import { useStorage } from "@tensamin/storage/context"; import { useUser } from "@tensamin/user/context"; import { useChat } from "@tensamin/chat/context"; import { useMTP } from "@tensamin/mtp"; import { createContext, useEffect, useContext } from "react"; -import z from "zod"; import { toast as sonnerToast } from "sonner"; -import { Message as MessageSchema } from "@tensamin/shared/data"; import { Avatar, AvatarFallback, AvatarImage } from "@tensamin/ui"; import { isTauri } from "@tauri-apps/api/core"; import { useSession } from "@tensamin/storage/session"; import { useNavigate } from "@tanstack/react-router"; +import { decryptChatText } from "@tensamin/crypto/chatSecret"; +import { log } from "@tensamin/shared/log"; +import { type RawMessage } from "@tensamin/chat/values"; export const context = createContext(undefined); @@ -27,108 +27,113 @@ export default function Provider(props: { children: React.ReactNode }) { const { subscribePush, send } = useMTP(); const { load } = useStorage(); const { get } = useUser(); - const { decryptText, getSharedSecret } = useCrypto(); - const { addLiveMessage, userId } = useChat(); + const { addLiveMessage, getChatSecret, userId } = useChat(); const { moveUserIdToTop } = useSession(); const navigate = useNavigate(); useEffect(() => { - return subscribePush(async (ttpMessage) => { - if (ttpMessage.type === "MessageLive") { - const { message, SenderId } = ttpMessage.data as { - message: z.infer; - SenderId: number; + return subscribePush(async (message) => { + if (message.type === "MessageLive") { + const data = message.data as { + Message?: RawMessage; + SenderId?: number; }; - const user = await get(SenderId); + if (!data.SenderId) return; - const decryptedContent = await decryptText( - await getSharedSecret( - await load("mtp_keyring"), - await get(await load("user_id")).then((data) => data.PublicKey), - user.PublicKey, - ), - message.Content, - ); + const chatSecret = await getChatSecret(data.SenderId); - // Update message state - if (userId === SenderId) { - addLiveMessage({ - ...message, - Content: decryptedContent, - SentBySelf: false, - }); - return; - } + if (!data.Message || !chatSecret) return; + const user = await get(data.SenderId); - // todo: add notification symbol to conversation cards (incl. message start) - - moveUserIdToTop(SenderId); - - if (await load("settings.receive_confirmations")) { - void send( - "MessageState", - { - MessageState: "received", - }, - { - id: ttpMessage.id, - }, - ); - } - - if (isTauri()) { - console.log("weewoo"); - } else { - const hasPermissions = await requestNotificationPermission(); - - if (hasPermissions) { - const notification = new Notification(user.Display, { - body: decryptedContent, - icon: user.Avatar || user.Display.slice(0, 2).toUpperCase(), - badge: user.Avatar || user.Display.slice(0, 2).toUpperCase(), - tag: `message-${user.UserId}`, - silent: true, + void decryptChatText(chatSecret, data.Message.Content) + .catch((err) => { + log(1, "chat", "red", "Failed to decrypt live message", err, { + SendTime: data.Message?.SendTime, }); + return null; + }) + .then(async (content) => { + if (!data.Message || !content || !data.SenderId) return; - notification.onclick = () => { - window.focus(); - navigate({ - to: `/chat?id=${user.UserId}`, + if (userId === data.SenderId) { + addLiveMessage({ + ...data.Message, + Content: content ?? "Failed to decrypt message", + decryptionFailed: content === null, + SentBySelf: false, }); + return; + } - notification.close(); - }; - } else { - sonnerToast(user.Display, { - classNames: { - content: "pl-4", - }, - description: decryptedContent, - icon: ( - - - - {user.Display.slice(0, 2).toUpperCase()} - - - ), - }); - } - } + // todo: add notification symbol to conversation cards (incl. message start) + moveUserIdToTop(data.SenderId); + + if (await load("settings.receive_confirmations")) { + void send( + "MessageState", + { + MessageState: "received", + }, + { + id: data.Message.SendTime, + }, + ); + } + + if (isTauri()) { + console.log("weewoo"); + } else { + const hasPermissions = await requestNotificationPermission(); + + if (hasPermissions) { + const notification = new Notification(user.Display, { + body: content, + icon: user.Avatar || user.Display.slice(0, 2).toUpperCase(), + badge: user.Avatar || user.Display.slice(0, 2).toUpperCase(), + tag: `message-${user.UserId}`, + silent: true, + }); + + notification.onclick = () => { + window.focus(); + navigate({ + to: `/chat?id=${user.UserId}`, + }); + + notification.close(); + }; + } else { + sonnerToast(user.Display, { + classNames: { + content: "pl-4", + }, + description: content, + icon: ( + + + + {user.Display.slice(0, 2).toUpperCase()} + + + ), + }); + } + } + }); + return; } }); }, [ - subscribePush, - decryptText, - getSharedSecret, - load, - get, addLiveMessage, - userId, - moveUserIdToTop, - send, + get, + load, navigate, + send, + moveUserIdToTop, + subscribePush, + getChatSecret, + userId, ]); return ( diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index b887168..11a6ef5 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -32,6 +32,12 @@ const chatSecretResponse = z.object({ UpdatedAt: z.number(), }); +const chatSecretRecipient = z.object({ + UserId: z.string(), + EncryptedSecret: protocolBytes, + KemCiphertext: protocolBytes, +}); + export const Message = z.object({ NotEncrypted: z.boolean().optional(), SentBySelf: z.boolean().optional(), @@ -267,14 +273,12 @@ export const mtp = { }, SetChatSecret: { request: z.object({ - UserId: z.string(), ChatId: z.string(), SecretId: z.string(), VersionNumber: z.number(), - EncryptedSecret: protocolBytes, - KemCiphertext: protocolBytes, WrappingScheme: z.string(), CreatedAt: z.number(), + Recipients: z.array(chatSecretRecipient).min(1), }), response: z.object({}), }, @@ -308,6 +312,10 @@ export const mtp = { request: z.object({}).optional(), response: z.object({}), }, + ErrorNotSet: { + request: z.object({}).optional(), + response: z.object({}), + }, } satisfies Record; export type MTP = typeof mtp; diff --git a/type-maps.yaml b/type-maps.yaml index 0f6ceff..b6e68b1 100644 --- a/type-maps.yaml +++ b/type-maps.yaml @@ -137,6 +137,7 @@ type_maps: AppChallengeResponse: 133 AppIdentificationResponse: 134 LoadTxtRecord: 135 + ErrorNotSet: 136 SetChatSecret: 139 GetChatSecret: 140 ChatSecretResponse: 141 @@ -254,3 +255,4 @@ type_maps: KemCiphertext: 149 SenderUserId: 152 RecipientUserId: 153 + Recipients: 154 From b4fe5edfbb3b1684835b06e56f8e1cddb02c1e0f Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 19:39:23 +0200 Subject: [PATCH 59/75] (feat): more crypto migration --- BACKEND-CHANGES.md | 325 ++++++++++++++++++++++++++++++ packages/call/src/store.tsx | 140 ++++++++----- packages/crypto/package.json | 3 +- packages/crypto/src/callSecret.ts | 112 ++++++++++ packages/shared/src/data.ts | 34 +++- 5 files changed, 562 insertions(+), 52 deletions(-) create mode 100644 BACKEND-CHANGES.md create mode 100644 packages/crypto/src/callSecret.ts diff --git a/BACKEND-CHANGES.md b/BACKEND-CHANGES.md new file mode 100644 index 0000000..8c5f543 --- /dev/null +++ b/BACKEND-CHANGES.md @@ -0,0 +1,325 @@ +# Call PQ Secret Envelope Migration + +## What Changed + +The backend no longer treats `CallSecret` as a plain ECDH/base64 string. It now parses, stores, forwards, and returns a typed call secret envelope containing `SecretId`, `VersionNumber`, `EncryptedSecret`, `KemCiphertext`, and `WrappingScheme`. + +Call secret storage is now recipient-specific. `CallGroup.secrets` is keyed by recipient user ID and stores a `CallSecretEnvelope`, so reconnect/session payloads return only the envelope intended for the current user. + +Both authenticated and anonymous `call_invite` handlers now reject a plain-string `CallSecret` with `BadRequest`. The forwarded `CallInvite` push includes the envelope object, and anonymous invite forwarding now includes `CallSecret` as well. + +## Why + +The call client is migrating from an old ECDH shared-secret protocol to a recipient-specific PQ KEM wrapping protocol. The backend must not decrypt, decapsulate, derive keys, or inspect the encrypted secret material. It only validates that the envelope shape is present and forwards/stores the opaque bytes unchanged. + +The previous pairwise string storage mirrored one string for both `(inviter, invitee)` and `(invitee, inviter)`, which is incompatible with recipient-specific KEM ciphertexts. Each recipient needs their own `EncryptedSecret` and `KemCiphertext` envelope. + +## Raw Diff + +```diff +diff --git a/src/anonymous_clients/anonymous_client_connection.rs b/src/anonymous_clients/anonymous_client_connection.rs +index b2c90e7..ddf69b8 100644 +--- a/src/anonymous_clients/anonymous_client_connection.rs ++++ b/src/anonymous_clients/anonymous_client_connection.rs +@@ -7,7 +7,7 @@ use tokio::sync::RwLock; + use uuid::Uuid; + + use crate::anonymous_clients::anonymous_manager::{self, generate_username}; +-use crate::calls::call_manager; ++use crate::calls::{call_group::CallSecretEnvelope, call_manager}; + use crate::data::user::UserStatus; + use crate::omega::omega_connection::{OmegaConnection, get_omega_connection}; + use crate::rho::connection::GeneralConnection; +@@ -367,12 +367,21 @@ impl AnonymousClientConnection { + } + }; + +- let secret = cv +- .get_data(DataType::CallSecret) +- .as_str() +- .map(|s| s.to_string()); +- let invited = +- call_manager::add_invite(call_id, self.user_id, receiver_id as u64, secret).await; ++ let secret = match CallSecretEnvelope::from_data_value(cv.get_data(DataType::CallSecret)) { ++ Some(secret) => secret, ++ None => { ++ self.send_error_response(&cv.get_id(), CommunicationType::BadRequest) ++ .await; ++ return; ++ } ++ }; ++ let invited = call_manager::add_invite( ++ call_id, ++ self.user_id, ++ receiver_id as u64, ++ Some(secret.clone()), ++ ) ++ .await; + if !invited { + self.send_error_response(&cv.get_id(), CommunicationType::ErrorInvalidCallId) + .await; +@@ -423,6 +432,7 @@ impl AnonymousClientConnection { + let forward = CommunicationValue::new(CommunicationType::CallInvite) + .with_receiver(receiver_id as u64) + .with_sender(sender_id) ++ .add_typed_default(DataType::CallSecret, secret.to_data_value()) + .add_typed_default(DataType::CallId, DataValue::Str(call_id.to_string())) + .add_typed_default( + DataType::ReceiverId, +diff --git a/src/calls/call_group.rs b/src/calls/call_group.rs +index d751802..a5c76ea 100755 +--- a/src/calls/call_group.rs ++++ b/src/calls/call_group.rs +@@ -1,4 +1,4 @@ +-use mtp::codec::{CommunicationType, CommunicationValue, DataType, DataValue}; ++use mtp::codec::{CommunicationType, CommunicationValue, DataType, DataTypeId, DataValue, TypeMap}; + use serde_json::Map; + + use std::{collections::BTreeMap, env, sync::Arc, time::Duration}; +@@ -16,7 +16,80 @@ pub struct CallGroup { + pub show: RwLock, + pub anonymous_joining: RwLock, + pub short_link: RwLock>, +- pub secrets: RwLock>, ++ pub secrets: RwLock>, ++} ++ ++#[derive(Clone, Debug)] ++pub struct CallSecretEnvelope { ++ pub secret_id: String, ++ pub version_number: i64, ++ pub encrypted_secret: Vec, ++ pub kem_ciphertext: Vec, ++ pub wrapping_scheme: String, ++} ++ ++impl CallSecretEnvelope { ++ pub fn from_data_value(value: &DataValue) -> Option { ++ let tm = TypeMap::latest(); ++ let secret_id = value ++ .get_field(DataType::SecretId.to_id(&tm))? ++ .as_str()? ++ .to_string(); ++ let version_number = value ++ .get_field(DataType::VersionNumber.to_id(&tm))? ++ .as_signed_number() ++ .and_then(|n| i64::try_from(n).ok()) ++ .or_else(|| { ++ value ++ .get_field(DataType::VersionNumber.to_id(&tm))? ++ .as_number() ++ .and_then(|n| i64::try_from(n).ok()) ++ })?; ++ let encrypted_secret = value ++ .get_field(DataType::EncryptedSecret.to_id(&tm))? ++ .as_bytes()?; ++ let kem_ciphertext = value ++ .get_field(DataType::KemCiphertext.to_id(&tm))? ++ .as_bytes()?; ++ let wrapping_scheme = value ++ .get_field(DataType::WrappingScheme.to_id(&tm))? ++ .as_str()? ++ .to_string(); ++ ++ Some(Self { ++ secret_id, ++ version_number, ++ encrypted_secret, ++ kem_ciphertext, ++ wrapping_scheme, ++ }) ++ } ++ ++ pub fn to_data_value(&self) -> DataValue { ++ let tm = TypeMap::latest(); ++ let mut map: BTreeMap = BTreeMap::new(); ++ map.insert( ++ DataType::SecretId.to_id(&tm), ++ DataValue::Str(self.secret_id.clone()), ++ ); ++ map.insert( ++ DataType::VersionNumber.to_id(&tm), ++ DataValue::SignedNumber(self.version_number.into()), ++ ); ++ map.insert( ++ DataType::EncryptedSecret.to_id(&tm), ++ DataValue::Bytes(self.encrypted_secret.clone()), ++ ); ++ map.insert( ++ DataType::KemCiphertext.to_id(&tm), ++ DataValue::Bytes(self.kem_ciphertext.clone()), ++ ); ++ map.insert( ++ DataType::WrappingScheme.to_id(&tm), ++ DataValue::Str(self.wrapping_scheme.clone()), ++ ); ++ DataValue::container_from_map(&map) ++ } + } + + impl CallGroup { +diff --git a/src/calls/call_manager.rs b/src/calls/call_manager.rs +index 6c33fd6..718f5f1 100644 +--- a/src/calls/call_manager.rs ++++ b/src/calls/call_manager.rs +@@ -3,7 +3,11 @@ use once_cell::sync::Lazy; + use std::sync::Arc; + use uuid::Uuid; + +-use crate::calls::{call_group::CallGroup, call_util, caller::Caller}; ++use crate::calls::{ ++ call_group::{CallGroup, CallSecretEnvelope}, ++ call_util, ++ caller::Caller, ++}; + + pub static CALL_GROUPS: Lazy>> = Lazy::new(|| DashMap::new()); + #[allow(dead_code)] +@@ -74,7 +78,7 @@ pub async fn add_invite( + call_id: Uuid, + inviter_id: u64, + invitee_id: u64, +- secret: Option, ++ secret: Option, + ) -> bool { + if let Some(cg) = CALL_GROUPS.get(&call_id) { + let mut members = cg.members.write().await; +@@ -88,8 +92,7 @@ pub async fn add_invite( + + if let Some(secret) = secret { + let mut secrets = cg.secrets.write().await; +- secrets.insert((inviter_id, invitee_id), secret.clone()); +- secrets.insert((invitee_id, inviter_id), secret); ++ secrets.insert(invitee_id, secret); + } + + return true; +diff --git a/src/rho/client_connection.rs b/src/rho/client_connection.rs +index 2f0ca96..56a6cba 100644 +--- a/src/rho/client_connection.rs ++++ b/src/rho/client_connection.rs +@@ -1,5 +1,5 @@ + use crate::anonymous_clients::anonymous_manager; +-use crate::calls::{call_manager, call_util}; ++use crate::calls::{call_group::CallSecretEnvelope, call_manager, call_util}; + use crate::omega::omega_connection::get_omega_connection; + use crate::rho::connection::GeneralConnection; + use crate::rho::{rho_connection::RhoConnection, rho_manager}; +@@ -354,12 +354,21 @@ impl ClientConnection { + } + }; + +- let secret = cv +- .get_data(DataType::CallSecret) +- .as_str() +- .map(|s| s.to_string()); +- let invited = +- call_manager::add_invite(call_id, self.user_id, receiver_id as u64, secret).await; ++ let secret = match CallSecretEnvelope::from_data_value(cv.get_data(DataType::CallSecret)) { ++ Some(secret) => secret, ++ None => { ++ self.send_error_response(cv.get_id(), CommunicationType::BadRequest) ++ .await; ++ return; ++ } ++ }; ++ let invited = call_manager::add_invite( ++ call_id, ++ self.user_id, ++ receiver_id as u64, ++ Some(secret.clone()), ++ ) ++ .await; + if !invited { + self.send_error_response(cv.get_id(), CommunicationType::ErrorInvalidCallId) + .await; +@@ -410,10 +419,7 @@ impl ClientConnection { + let forward = CommunicationValue::new(CommunicationType::CallInvite) + .with_receiver(receiver_id as u64) + .with_sender(sender_id as u64) +- .add_typed_default( +- DataType::CallSecret, +- cv.get_data(DataType::CallSecret).clone(), +- ) ++ .add_typed_default(DataType::CallSecret, secret.to_data_value()) + .add_typed_default(DataType::CallId, DataValue::Str(call_id.to_string())) + .add_typed_default( + DataType::ReceiverId, +diff --git a/src/rho/connection.rs b/src/rho/connection.rs +index 90abac0..2e97711 100755 +--- a/src/rho/connection.rs ++++ b/src/rho/connection.rs +@@ -207,7 +207,16 @@ impl GeneralConnection { + ); + } + +- // Add to global calls (without contact-specific secret) ++ if let Some(secret) = ++ call.secrets.read().await.get(&(user_id as u64)) ++ { ++ base_call_map.insert( ++ DataType::CallSecret.to_id(&tm), ++ secret.to_data_value(), ++ ); ++ } ++ ++ // Add to global calls with only this user's recipient-specific secret. + global_calls.push(DataValue::container_from_map( + &base_call_map, + )); +@@ -218,19 +227,7 @@ impl GeneralConnection { + continue; + } + +- let mut contact_call_map = base_call_map.clone(); +- +- if let Some(secret) = call +- .secrets +- .read() +- .await +- .get(&(member_id, user_id as u64)) +- { +- contact_call_map.insert( +- DataType::CallSecret.to_id(&tm), +- DataValue::Str(secret.clone()), +- ); +- } ++ let contact_call_map = base_call_map.clone(); + + invites + .entry(member_id as i64) +diff --git a/src/rho/iota_connection.rs b/src/rho/iota_connection.rs +index 95956a4..b499875 100755 +--- a/src/rho/iota_connection.rs ++++ b/src/rho/iota_connection.rs +@@ -433,7 +433,11 @@ impl IotaConnection { + base_call_map.insert(DataType::HasAdmin.to_id(&tm), DataValue::Bool(true)); + } + +- // Add to global calls (without contact-specific secret) ++ if let Some(secret) = call.secrets.read().await.get(&user_id) { ++ base_call_map.insert(DataType::CallSecret.to_id(&tm), secret.to_data_value()); ++ } ++ ++ // Add to global calls with only this user's recipient-specific secret. + global_calls.push(DataValue::container_from_map(&base_call_map)); + + // Attach this call to EVERY member of the call (other than ourselves) +@@ -443,15 +447,7 @@ impl IotaConnection { + continue; + } + +- let mut contact_call_map = base_call_map.clone(); +- +- // Add secret if it exists for this pairing +- if let Some(secret) = call.secrets.read().await.get(&(member_id, user_id)) { +- contact_call_map.insert( +- DataType::CallSecret.to_id(&tm), +- DataValue::Str(secret.clone()), +- ); +- } ++ let contact_call_map = base_call_map.clone(); + + invites + .entry(member_id as i64) +``` diff --git a/packages/call/src/store.tsx b/packages/call/src/store.tsx index e14aea6..a25886d 100644 --- a/packages/call/src/store.tsx +++ b/packages/call/src/store.tsx @@ -4,7 +4,13 @@ import { useLocation, useNavigate } from "@tanstack/react-router"; import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; import { mtp } from "@tensamin/shared/data"; -import { useCrypto } from "@tensamin/crypto/context"; +import { bytesToBase64 } from "mtp"; +import { + deriveCallSecretId, + kemPublicKeyFromPublicKeyBundle, + unwrapCallSecret, + wrapCallSecret, +} from "@tensamin/crypto/callSecret"; import { useStorage } from "@tensamin/storage/context"; import { useSession } from "@tensamin/storage/session"; import { useUser } from "@tensamin/user/context"; @@ -46,9 +52,19 @@ setLogExtension( type CallState = "closed" | "closing" | "connecting" | "open" | "encrypting"; type CallView = "preview" | "focused" | "grid"; +type ProtocolCallSecret = NonNullable< + z.infer["CallSecret"] +>; +type WrappedCallSecret = { + secretId: string; + versionNumber: number; + encryptedSecret: Uint8Array; + kemCiphertext: Uint8Array; + wrappingScheme: string; +}; type IncomingCallInvite = { callId: string; - callSecret: string; + callSecret: WrappedCallSecret; senderId: number; }; type CurrentCallData = @@ -62,13 +78,6 @@ type SendFn = ( type: string, data: Record, ) => Promise<{ data: unknown }>; -type GetSharedSecretFn = ( - privateKey: unknown, - ownPublicKey: string, - remotePublicKey: string, -) => Promise; -type DecryptTextFn = (sharedSecret: string, text: string) => Promise; -type EncryptTextFn = (sharedSecret: string, text: string) => Promise; type LoadFn = (key: string) => Promise; type GetUserFn = (userId: number) => Promise<{ PublicKey: string }>; type RemoteVideoTrackSelector = Track.Kind | Track.Source; @@ -76,9 +85,6 @@ type RemoteVideoTrackSelector = Track.Kind | Track.Source; type Runtime = { navigate: NavigateFn; send: SendFn; - getSharedSecret: GetSharedSecretFn; - decryptText: DecryptTextFn; - encryptText: EncryptTextFn; load: LoadFn; getUser: GetUserFn; }; @@ -148,11 +154,46 @@ export function getRoom(): Room { const remoteAudioElements = new Map(); +const CALL_SECRET_VERSION = 1; const SCREEN_SHARE_PREVIEW_MAX_WIDTH = 320; const SCREEN_SHARE_PREVIEW_MAX_HEIGHT = 180; const SCREEN_SHARE_PREVIEW_QUALITY = 0.7; const SCREEN_SHARE_PREVIEW_TIMEOUT_MS = 5000; +function protocolBytes(bytes: Uint8Array): Uint8Array { + return new Uint8Array(bytes); +} + +function normalizeWrappedCallSecret( + callSecret: WrappedCallSecret | ProtocolCallSecret, +): WrappedCallSecret { + if ("secretId" in callSecret) { + return callSecret; + } + + return { + secretId: callSecret.SecretId, + versionNumber: callSecret.VersionNumber, + encryptedSecret: callSecret.EncryptedSecret, + kemCiphertext: callSecret.KemCiphertext, + wrappingScheme: callSecret.WrappingScheme, + }; +} + +function protocolCallSecret(callSecret: WrappedCallSecret): ProtocolCallSecret { + return { + SecretId: callSecret.secretId, + VersionNumber: callSecret.versionNumber, + EncryptedSecret: protocolBytes(callSecret.encryptedSecret), + KemCiphertext: protocolBytes(callSecret.kemCiphertext), + WrappingScheme: callSecret.wrappingScheme, + }; +} + +function randomCallSecret(): string { + return bytesToBase64(globalThis.crypto.getRandomValues(new Uint8Array(32))); +} + // audio helpers function attachRemoteAudio(trackSid: string, element: HTMLMediaElement) { const existingElement = remoteAudioElements.get(trackSid); @@ -625,28 +666,28 @@ export async function sendCallInvite(userId: number) { throw new Error("Cannot send call invite without an active call."); } - const ownUserId = (await runtime.load("user_id")) as number; - const privateKey = await runtime.load("mtp_keyring"); - const ownPublicKey = await runtime - .getUser(ownUserId) - .then((data) => data.PublicKey); const remotePublicKey = await runtime .getUser(userId) .then((data) => data.PublicKey); - const sharedSecret = await runtime.getSharedSecret( - privateKey, - ownPublicKey, - remotePublicKey, - ); - const encryptedCallSecret = await runtime.encryptText( - sharedSecret, + const secretId = deriveCallSecretId(callId); + const wrapped = await wrapCallSecret({ callSecret, - ); + recipientKemPublicKey: kemPublicKeyFromPublicKeyBundle(remotePublicKey), + callId, + secretId, + version: CALL_SECRET_VERSION, + }); await runtime.send("call_invite", { ReceiverId: userId, CallId: callId, - CallSecret: encryptedCallSecret, + CallSecret: { + SecretId: secretId, + VersionNumber: CALL_SECRET_VERSION, + EncryptedSecret: protocolBytes(wrapped.encryptedSecret), + KemCiphertext: protocolBytes(wrapped.kemCiphertext), + WrappingScheme: wrapped.wrappingScheme, + }, }); } @@ -877,7 +918,7 @@ export async function disconnect() { // Prepare encryption and join or create a call with another user. export async function joinCall( userId: number, - callSecret?: string, + callSecret?: WrappedCallSecret | ProtocolCallSecret, existingCallId?: string, sendInvite = true, ) { @@ -896,17 +937,20 @@ export async function joinCall( if (callSecret) { try { - const sharedSecret = await runtime.getSharedSecret( - await runtime.load("mtp_keyring"), - await runtime - .getUser((await runtime.load("user_id")) as number) - .then((res) => res.PublicKey), - await runtime.getUser(userId).then((res) => res.PublicKey), - ); - const decryptedSecret = await runtime.decryptText( - sharedSecret, - callSecret, - ); + if (!existingCallId) { + throw new Error("Cannot unwrap call secret without a call id"); + } + + const wrappedCallSecret = normalizeWrappedCallSecret(callSecret); + const decryptedSecret = await unwrapCallSecret({ + encryptedSecret: wrappedCallSecret.encryptedSecret, + kemCiphertext: wrappedCallSecret.kemCiphertext, + keyring: String(await runtime.load("mtp_keyring")), + callId: existingCallId, + secretId: wrappedCallSecret.secretId, + version: wrappedCallSecret.versionNumber, + wrappingScheme: wrappedCallSecret.wrappingScheme, + }); await getKeyProvider().setKey(decryptedSecret); await getRoom().setE2EEEnabled(true); @@ -917,7 +961,7 @@ export async function joinCall( return; } } else { - const random = crypto.randomUUID(); + const random = randomCallSecret(); await getKeyProvider().setKey(random); await getRoom().setE2EEEnabled(true); @@ -1088,7 +1132,6 @@ export function useInitializeCall() { const navigate = useNavigate(); const location = useLocation(); const { send, subscribePush } = useMTP(); - const { getSharedSecret, decryptText, encryptText } = useCrypto(); const { load } = useStorage(); const { insertCall } = useSession(); const { get } = useUser(); @@ -1116,16 +1159,13 @@ export function useInitializeCall() { setCallRuntime({ navigate, send: send as SendFn, - getSharedSecret: getSharedSecret as GetSharedSecretFn, - decryptText: decryptText as DecryptTextFn, - encryptText: encryptText as EncryptTextFn, load: load as LoadFn, getUser: get as GetUserFn, }); - }, [decryptText, encryptText, get, getSharedSecret, load, navigate, send]); + }, [get, load, navigate, send]); const showCallingScreen = useCallback( - (callId: string, callSecret: string, senderId: number) => { + (callId: string, callSecret: WrappedCallSecret, senderId: number) => { useCall.setState({ incomingCallInvite: { callId, callSecret, senderId }, }); @@ -1151,7 +1191,7 @@ export function useInitializeCall() { insertCall({ CallId: invite.callId, - CallSecret: invite.callSecret, + CallSecret: protocolCallSecret(invite.callSecret), CallMembers: [invite.senderId], }); @@ -1182,11 +1222,15 @@ export function useInitializeCall() { const { CallId, CallSecret, SenderId } = message.data as { CallId: string; - CallSecret: string; + CallSecret: ProtocolCallSecret; SenderId: number; }; - showCallingScreen(CallId, CallSecret, SenderId); + showCallingScreen( + CallId, + normalizeWrappedCallSecret(CallSecret), + SenderId, + ); }); }, [subscribePush, showCallingScreen]); diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 636f300..d5ce7d2 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -5,7 +5,8 @@ "type": "module", "exports": { "./context": "./src/context.tsx", - "./chatSecret": "./src/chatSecret.ts" + "./chatSecret": "./src/chatSecret.ts", + "./callSecret": "./src/callSecret.ts" }, "scripts": { "format": "pnpm exec prettier --write .", diff --git a/packages/crypto/src/callSecret.ts b/packages/crypto/src/callSecret.ts new file mode 100644 index 0000000..97ef318 --- /dev/null +++ b/packages/crypto/src/callSecret.ts @@ -0,0 +1,112 @@ +import { crypto } from "mtp"; + +const textEncoder = new TextEncoder(); +const textDecoder = new TextDecoder(); + +export const CALL_SECRET_WRAPPING_SCHEME = + "mtp-call-secret-kem-chacha20poly1305-hkdf-sha256-v1"; + +const CALL_SECRET_SALT = textEncoder.encode("tensamin-call-secret-v1"); + +export function deriveCallSecretId(callId: string): string { + return `call:${callId}:main`; +} + +export function ownKemPublicKeyFromKeyring(keyring: string): Uint8Array { + return crypto.keyringToKeys(keyring).kemPublicKey; +} + +export function kemPublicKeyFromPublicKeyBundle(publicKey: string): Uint8Array { + return crypto.publicKeyBundleToKeys(publicKey).kemPublicKey; +} + +export async function wrapCallSecret(args: { + callSecret: string; + recipientKemPublicKey: Uint8Array; + callId: string; + secretId: string; + version: number; +}): Promise<{ + encryptedSecret: Uint8Array; + kemCiphertext: Uint8Array; + wrappingScheme: string; +}> { + const enc = crypto.encapsulate(args.recipientKemPublicKey); + try { + const wrappingKey = deriveWrappingKey({ + sharedSecret: enc.shared_secret, + callId: args.callId, + secretId: args.secretId, + version: args.version, + }); + + try { + return { + encryptedSecret: await crypto.encrypt( + wrappingKey, + textEncoder.encode(args.callSecret), + ), + kemCiphertext: enc.ciphertext, + wrappingScheme: CALL_SECRET_WRAPPING_SCHEME, + }; + } finally { + wrappingKey.fill(0); + } + } finally { + enc.shared_secret.fill(0); + } +} + +export async function unwrapCallSecret(args: { + encryptedSecret: Uint8Array; + kemCiphertext: Uint8Array; + keyring: string; + callId: string; + secretId: string; + version: number; + wrappingScheme: string; +}): Promise { + if (args.wrappingScheme !== CALL_SECRET_WRAPPING_SCHEME) { + throw new Error( + `Unsupported call secret wrapping scheme: ${args.wrappingScheme}`, + ); + } + + const ownKeys = crypto.keyringToKeys(args.keyring); + const sharedSecret = crypto.decapsulate( + ownKeys.kemSecretKey, + args.kemCiphertext, + ); + + try { + const wrappingKey = deriveWrappingKey({ + sharedSecret, + callId: args.callId, + secretId: args.secretId, + version: args.version, + }); + + try { + return textDecoder.decode( + await crypto.decrypt(wrappingKey, args.encryptedSecret), + ); + } finally { + wrappingKey.fill(0); + } + } finally { + sharedSecret.fill(0); + } +} + +function deriveWrappingKey(args: { + sharedSecret: Uint8Array; + callId: string; + secretId: string; + version: number; +}): Uint8Array { + return crypto.deriveEncryptionKey( + args.sharedSecret, + CALL_SECRET_SALT, + textEncoder.encode(`${args.callId}:${args.secretId}:${args.version}`), + ); +} diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 11a6ef5..0fccbd6 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -20,6 +20,18 @@ const bytesLike = z.union([ const protocolBytes = z.instanceof(Uint8Array); +function bytesFromProtocol(value: z.infer): Uint8Array { + if (value instanceof Uint8Array) return value; + if (Array.isArray(value)) return new Uint8Array(value); + + const bin = atob(value); + const out = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; i++) out[i] = bin.charCodeAt(i); + return out; +} + +const protocolBytesResponse = bytesLike.transform(bytesFromProtocol); + const chatSecretResponse = z.object({ UserId: z.string(), ChatId: z.string(), @@ -38,6 +50,22 @@ const chatSecretRecipient = z.object({ KemCiphertext: protocolBytes, }); +const callSecretEnvelopeResponse = z.object({ + SecretId: z.string(), + VersionNumber: z.number(), + EncryptedSecret: protocolBytesResponse, + KemCiphertext: protocolBytesResponse, + WrappingScheme: z.string(), +}); + +const callSecretEnvelopeRequest = z.object({ + SecretId: z.string(), + VersionNumber: z.number(), + EncryptedSecret: protocolBytes, + KemCiphertext: protocolBytes, + WrappingScheme: z.string(), +}); + export const Message = z.object({ NotEncrypted: z.boolean().optional(), SentBySelf: z.boolean().optional(), @@ -85,7 +113,7 @@ const authPayload = z.object({ .array( z.object({ CallId: z.string(), - CallSecret: z.base64().optional(), + CallSecret: callSecretEnvelopeResponse.optional(), CallMembers: z.array(z.number()), }), ) @@ -262,12 +290,12 @@ export const mtp = { CallInvite: { request: z.object({ CallId: z.string(), - CallSecret: z.base64(), + CallSecret: callSecretEnvelopeRequest, ReceiverId: z.number(), }), response: z.object({ CallId: z.string().optional(), - CallSecret: z.base64().optional(), + CallSecret: callSecretEnvelopeResponse.optional(), SenderId: z.number().optional(), }), }, From 27f08e92e56d369bfdc343df88ed5b9168b7ea6e Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 20:02:21 +0200 Subject: [PATCH 60/75] (wip): call migration stuff --- packages/call/src/store.tsx | 168 +++++++++++++++++++++--------- packages/crypto/package.json | 3 +- packages/crypto/src/callSecret.ts | 112 ++++++++++++++++++++ packages/shared/src/data.ts | 34 +++++- 4 files changed, 264 insertions(+), 53 deletions(-) create mode 100644 packages/crypto/src/callSecret.ts diff --git a/packages/call/src/store.tsx b/packages/call/src/store.tsx index e14aea6..e229119 100644 --- a/packages/call/src/store.tsx +++ b/packages/call/src/store.tsx @@ -4,7 +4,13 @@ import { useLocation, useNavigate } from "@tanstack/react-router"; import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; import { mtp } from "@tensamin/shared/data"; -import { useCrypto } from "@tensamin/crypto/context"; +import { bytesToBase64 } from "mtp"; +import { + deriveCallSecretId, + kemPublicKeyFromPublicKeyBundle, + unwrapCallSecret, + wrapCallSecret, +} from "@tensamin/crypto/callSecret"; import { useStorage } from "@tensamin/storage/context"; import { useSession } from "@tensamin/storage/session"; import { useUser } from "@tensamin/user/context"; @@ -46,9 +52,19 @@ setLogExtension( type CallState = "closed" | "closing" | "connecting" | "open" | "encrypting"; type CallView = "preview" | "focused" | "grid"; +type ProtocolCallSecret = NonNullable< + z.infer["CallSecret"] +>; +type WrappedCallSecret = { + secretId: string; + versionNumber: number; + encryptedSecret: Uint8Array; + kemCiphertext: Uint8Array; + wrappingScheme: string; +}; type IncomingCallInvite = { callId: string; - callSecret: string; + callSecret: WrappedCallSecret; senderId: number; }; type CurrentCallData = @@ -62,13 +78,6 @@ type SendFn = ( type: string, data: Record, ) => Promise<{ data: unknown }>; -type GetSharedSecretFn = ( - privateKey: unknown, - ownPublicKey: string, - remotePublicKey: string, -) => Promise; -type DecryptTextFn = (sharedSecret: string, text: string) => Promise; -type EncryptTextFn = (sharedSecret: string, text: string) => Promise; type LoadFn = (key: string) => Promise; type GetUserFn = (userId: number) => Promise<{ PublicKey: string }>; type RemoteVideoTrackSelector = Track.Kind | Track.Source; @@ -76,9 +85,6 @@ type RemoteVideoTrackSelector = Track.Kind | Track.Source; type Runtime = { navigate: NavigateFn; send: SendFn; - getSharedSecret: GetSharedSecretFn; - decryptText: DecryptTextFn; - encryptText: EncryptTextFn; load: LoadFn; getUser: GetUserFn; }; @@ -103,6 +109,7 @@ type CallStore = { pendingWatchedParticipantIds: number[]; activeScreenShareParticipantIds: number[]; isEncrypted: boolean; + ownCallSecretInvitePending: boolean; callIsFullscreen: boolean; callIsPopout: boolean; layoutVersion: number; @@ -148,11 +155,46 @@ export function getRoom(): Room { const remoteAudioElements = new Map(); +const CALL_SECRET_VERSION = 1; const SCREEN_SHARE_PREVIEW_MAX_WIDTH = 320; const SCREEN_SHARE_PREVIEW_MAX_HEIGHT = 180; const SCREEN_SHARE_PREVIEW_QUALITY = 0.7; const SCREEN_SHARE_PREVIEW_TIMEOUT_MS = 5000; +function protocolBytes(bytes: Uint8Array): Uint8Array { + return new Uint8Array(bytes); +} + +function normalizeWrappedCallSecret( + callSecret: WrappedCallSecret | ProtocolCallSecret, +): WrappedCallSecret { + if ("secretId" in callSecret) { + return callSecret; + } + + return { + secretId: callSecret.SecretId, + versionNumber: callSecret.VersionNumber, + encryptedSecret: callSecret.EncryptedSecret, + kemCiphertext: callSecret.KemCiphertext, + wrappingScheme: callSecret.WrappingScheme, + }; +} + +function protocolCallSecret(callSecret: WrappedCallSecret): ProtocolCallSecret { + return { + SecretId: callSecret.secretId, + VersionNumber: callSecret.versionNumber, + EncryptedSecret: protocolBytes(callSecret.encryptedSecret), + KemCiphertext: protocolBytes(callSecret.kemCiphertext), + WrappingScheme: callSecret.wrappingScheme, + }; +} + +function randomCallSecret(): string { + return bytesToBase64(globalThis.crypto.getRandomValues(new Uint8Array(32))); +} + // audio helpers function attachRemoteAudio(trackSid: string, element: HTMLMediaElement) { const existingElement = remoteAudioElements.get(trackSid); @@ -625,28 +667,28 @@ export async function sendCallInvite(userId: number) { throw new Error("Cannot send call invite without an active call."); } - const ownUserId = (await runtime.load("user_id")) as number; - const privateKey = await runtime.load("mtp_keyring"); - const ownPublicKey = await runtime - .getUser(ownUserId) - .then((data) => data.PublicKey); const remotePublicKey = await runtime .getUser(userId) .then((data) => data.PublicKey); - const sharedSecret = await runtime.getSharedSecret( - privateKey, - ownPublicKey, - remotePublicKey, - ); - const encryptedCallSecret = await runtime.encryptText( - sharedSecret, + const secretId = deriveCallSecretId(callId); + const wrapped = await wrapCallSecret({ callSecret, - ); + recipientKemPublicKey: kemPublicKeyFromPublicKeyBundle(remotePublicKey), + callId, + secretId, + version: CALL_SECRET_VERSION, + }); await runtime.send("call_invite", { ReceiverId: userId, CallId: callId, - CallSecret: encryptedCallSecret, + CallSecret: { + SecretId: secretId, + VersionNumber: CALL_SECRET_VERSION, + EncryptedSecret: protocolBytes(wrapped.encryptedSecret), + KemCiphertext: protocolBytes(wrapped.kemCiphertext), + WrappingScheme: wrapped.wrappingScheme, + }, }); } @@ -856,6 +898,7 @@ export async function disconnect() { watchedStreamParticipantIds: [], pendingWatchedParticipantIds: [], activeScreenShareParticipantIds: [], + ownCallSecretInvitePending: false, callIsFullscreen: false, lastFocusedParticipantId: null, }); @@ -877,7 +920,7 @@ export async function disconnect() { // Prepare encryption and join or create a call with another user. export async function joinCall( userId: number, - callSecret?: string, + callSecret?: WrappedCallSecret | ProtocolCallSecret, existingCallId?: string, sendInvite = true, ) { @@ -889,24 +932,29 @@ export async function joinCall( } log(2, "call", "purple", "Call creation initialised"); + const isNewCall = !callSecret && !existingCallId; useCall.setState({ state: "encrypting", invitedUserId: sendInvite && !existingCallId ? userId : null, + ownCallSecretInvitePending: isNewCall, }); if (callSecret) { try { - const sharedSecret = await runtime.getSharedSecret( - await runtime.load("mtp_keyring"), - await runtime - .getUser((await runtime.load("user_id")) as number) - .then((res) => res.PublicKey), - await runtime.getUser(userId).then((res) => res.PublicKey), - ); - const decryptedSecret = await runtime.decryptText( - sharedSecret, - callSecret, - ); + if (!existingCallId) { + throw new Error("Cannot unwrap call secret without a call id"); + } + + const wrappedCallSecret = normalizeWrappedCallSecret(callSecret); + const decryptedSecret = await unwrapCallSecret({ + encryptedSecret: wrappedCallSecret.encryptedSecret, + kemCiphertext: wrappedCallSecret.kemCiphertext, + keyring: String(await runtime.load("mtp_keyring")), + callId: existingCallId, + secretId: wrappedCallSecret.secretId, + version: wrappedCallSecret.versionNumber, + wrappingScheme: wrappedCallSecret.wrappingScheme, + }); await getKeyProvider().setKey(decryptedSecret); await getRoom().setE2EEEnabled(true); @@ -917,7 +965,7 @@ export async function joinCall( return; } } else { - const random = crypto.randomUUID(); + const random = randomCallSecret(); await getKeyProvider().setKey(random); await getRoom().setE2EEEnabled(true); @@ -1075,6 +1123,7 @@ export const useCall = create(() => ({ pendingWatchedParticipantIds: [], activeScreenShareParticipantIds: [], isEncrypted: false, + ownCallSecretInvitePending: false, callIsFullscreen: false, callIsPopout: false, layoutVersion: 0, @@ -1088,7 +1137,6 @@ export function useInitializeCall() { const navigate = useNavigate(); const location = useLocation(); const { send, subscribePush } = useMTP(); - const { getSharedSecret, decryptText, encryptText } = useCrypto(); const { load } = useStorage(); const { insertCall } = useSession(); const { get } = useUser(); @@ -1116,16 +1164,13 @@ export function useInitializeCall() { setCallRuntime({ navigate, send: send as SendFn, - getSharedSecret: getSharedSecret as GetSharedSecretFn, - decryptText: decryptText as DecryptTextFn, - encryptText: encryptText as EncryptTextFn, load: load as LoadFn, getUser: get as GetUserFn, }); - }, [decryptText, encryptText, get, getSharedSecret, load, navigate, send]); + }, [get, load, navigate, send]); const showCallingScreen = useCallback( - (callId: string, callSecret: string, senderId: number) => { + (callId: string, callSecret: WrappedCallSecret, senderId: number) => { useCall.setState({ incomingCallInvite: { callId, callSecret, senderId }, }); @@ -1151,7 +1196,7 @@ export function useInitializeCall() { insertCall({ CallId: invite.callId, - CallSecret: invite.callSecret, + CallSecret: protocolCallSecret(invite.callSecret), CallMembers: [invite.senderId], }); @@ -1182,13 +1227,21 @@ export function useInitializeCall() { const { CallId, CallSecret, SenderId } = message.data as { CallId: string; - CallSecret: string; + CallSecret: ProtocolCallSecret; SenderId: number; }; - showCallingScreen(CallId, CallSecret, SenderId); + if (SenderId === Number(await load("user_id"))) { + return; + } + + showCallingScreen( + CallId, + normalizeWrappedCallSecret(CallSecret), + SenderId, + ); }); - }, [subscribePush, showCallingScreen]); + }, [load, subscribePush, showCallingScreen]); // get callId from url useEffect(() => { @@ -1289,6 +1342,23 @@ export function useInitializeCall() { } const invitedUserId = useCall.getState().invitedUserId; + const ownCallSecretInvitePending = + useCall.getState().ownCallSecretInvitePending; + + if (ownCallSecretInvitePending) { + useCall.setState({ ownCallSecretInvitePending: false }); + void load("user_id") + .then((ownUserId) => sendCallInvite(Number(ownUserId))) + .catch((error) => { + log( + 1, + "call", + "red", + "Failed to send own call secret invite", + error, + ); + }); + } if (invitedUserId != null) { setTimeout(async () => { diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 636f300..d5ce7d2 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -5,7 +5,8 @@ "type": "module", "exports": { "./context": "./src/context.tsx", - "./chatSecret": "./src/chatSecret.ts" + "./chatSecret": "./src/chatSecret.ts", + "./callSecret": "./src/callSecret.ts" }, "scripts": { "format": "pnpm exec prettier --write .", diff --git a/packages/crypto/src/callSecret.ts b/packages/crypto/src/callSecret.ts new file mode 100644 index 0000000..97ef318 --- /dev/null +++ b/packages/crypto/src/callSecret.ts @@ -0,0 +1,112 @@ +import { crypto } from "mtp"; + +const textEncoder = new TextEncoder(); +const textDecoder = new TextDecoder(); + +export const CALL_SECRET_WRAPPING_SCHEME = + "mtp-call-secret-kem-chacha20poly1305-hkdf-sha256-v1"; + +const CALL_SECRET_SALT = textEncoder.encode("tensamin-call-secret-v1"); + +export function deriveCallSecretId(callId: string): string { + return `call:${callId}:main`; +} + +export function ownKemPublicKeyFromKeyring(keyring: string): Uint8Array { + return crypto.keyringToKeys(keyring).kemPublicKey; +} + +export function kemPublicKeyFromPublicKeyBundle(publicKey: string): Uint8Array { + return crypto.publicKeyBundleToKeys(publicKey).kemPublicKey; +} + +export async function wrapCallSecret(args: { + callSecret: string; + recipientKemPublicKey: Uint8Array; + callId: string; + secretId: string; + version: number; +}): Promise<{ + encryptedSecret: Uint8Array; + kemCiphertext: Uint8Array; + wrappingScheme: string; +}> { + const enc = crypto.encapsulate(args.recipientKemPublicKey); + try { + const wrappingKey = deriveWrappingKey({ + sharedSecret: enc.shared_secret, + callId: args.callId, + secretId: args.secretId, + version: args.version, + }); + + try { + return { + encryptedSecret: await crypto.encrypt( + wrappingKey, + textEncoder.encode(args.callSecret), + ), + kemCiphertext: enc.ciphertext, + wrappingScheme: CALL_SECRET_WRAPPING_SCHEME, + }; + } finally { + wrappingKey.fill(0); + } + } finally { + enc.shared_secret.fill(0); + } +} + +export async function unwrapCallSecret(args: { + encryptedSecret: Uint8Array; + kemCiphertext: Uint8Array; + keyring: string; + callId: string; + secretId: string; + version: number; + wrappingScheme: string; +}): Promise { + if (args.wrappingScheme !== CALL_SECRET_WRAPPING_SCHEME) { + throw new Error( + `Unsupported call secret wrapping scheme: ${args.wrappingScheme}`, + ); + } + + const ownKeys = crypto.keyringToKeys(args.keyring); + const sharedSecret = crypto.decapsulate( + ownKeys.kemSecretKey, + args.kemCiphertext, + ); + + try { + const wrappingKey = deriveWrappingKey({ + sharedSecret, + callId: args.callId, + secretId: args.secretId, + version: args.version, + }); + + try { + return textDecoder.decode( + await crypto.decrypt(wrappingKey, args.encryptedSecret), + ); + } finally { + wrappingKey.fill(0); + } + } finally { + sharedSecret.fill(0); + } +} + +function deriveWrappingKey(args: { + sharedSecret: Uint8Array; + callId: string; + secretId: string; + version: number; +}): Uint8Array { + return crypto.deriveEncryptionKey( + args.sharedSecret, + CALL_SECRET_SALT, + textEncoder.encode(`${args.callId}:${args.secretId}:${args.version}`), + ); +} diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 11a6ef5..0fccbd6 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -20,6 +20,18 @@ const bytesLike = z.union([ const protocolBytes = z.instanceof(Uint8Array); +function bytesFromProtocol(value: z.infer): Uint8Array { + if (value instanceof Uint8Array) return value; + if (Array.isArray(value)) return new Uint8Array(value); + + const bin = atob(value); + const out = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; i++) out[i] = bin.charCodeAt(i); + return out; +} + +const protocolBytesResponse = bytesLike.transform(bytesFromProtocol); + const chatSecretResponse = z.object({ UserId: z.string(), ChatId: z.string(), @@ -38,6 +50,22 @@ const chatSecretRecipient = z.object({ KemCiphertext: protocolBytes, }); +const callSecretEnvelopeResponse = z.object({ + SecretId: z.string(), + VersionNumber: z.number(), + EncryptedSecret: protocolBytesResponse, + KemCiphertext: protocolBytesResponse, + WrappingScheme: z.string(), +}); + +const callSecretEnvelopeRequest = z.object({ + SecretId: z.string(), + VersionNumber: z.number(), + EncryptedSecret: protocolBytes, + KemCiphertext: protocolBytes, + WrappingScheme: z.string(), +}); + export const Message = z.object({ NotEncrypted: z.boolean().optional(), SentBySelf: z.boolean().optional(), @@ -85,7 +113,7 @@ const authPayload = z.object({ .array( z.object({ CallId: z.string(), - CallSecret: z.base64().optional(), + CallSecret: callSecretEnvelopeResponse.optional(), CallMembers: z.array(z.number()), }), ) @@ -262,12 +290,12 @@ export const mtp = { CallInvite: { request: z.object({ CallId: z.string(), - CallSecret: z.base64(), + CallSecret: callSecretEnvelopeRequest, ReceiverId: z.number(), }), response: z.object({ CallId: z.string().optional(), - CallSecret: z.base64().optional(), + CallSecret: callSecretEnvelopeResponse.optional(), SenderId: z.number().optional(), }), }, From 76b64886daf9776af3f2baa69c463f02061fcdf4 Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 21:45:57 +0200 Subject: [PATCH 61/75] (fix): calls (fix): deepfilternet3 (feat): remove noise gate logs (qol): update todo --- apps/web/src/index.tsx | 3 +- licenses/THIRD_PARTY_NOTICES.md | 4 +-- .../LICENSE-APACHE | 0 .../LICENSE-MIT | 0 licenses/sbom.cyclonedx.json | 10 +++---- licenses/third-party-credits.json | 6 ++-- packages/call/package.json | 2 +- packages/call/src/speakingIndicator.ts | 3 -- packages/call/src/store.tsx | 28 ++++++++++++++++--- pnpm-lock.yaml | 10 +++---- todo.md | 1 + 11 files changed, 42 insertions(+), 25 deletions(-) rename licenses/{deepfilternet3-noise-filter@1.3.0 => deepfilternet3-noise-filter@1.2.1}/LICENSE-APACHE (100%) rename licenses/{deepfilternet3-noise-filter@1.3.0 => deepfilternet3-noise-filter@1.2.1}/LICENSE-MIT (100%) diff --git a/apps/web/src/index.tsx b/apps/web/src/index.tsx index 02ec8c2..bbfb2dd 100644 --- a/apps/web/src/index.tsx +++ b/apps/web/src/index.tsx @@ -275,8 +275,7 @@ function AppShell() { } function CallInit() { - useInitializeCall(); - return null; + return useInitializeCall(); } const rootRoute = createRootRoute({ diff --git a/licenses/THIRD_PARTY_NOTICES.md b/licenses/THIRD_PARTY_NOTICES.md index f73299f..d17e50b 100644 --- a/licenses/THIRD_PARTY_NOTICES.md +++ b/licenses/THIRD_PARTY_NOTICES.md @@ -744,14 +744,14 @@ Generated from pnpm-lock.yaml and installed packages in workspace node_modules f - Folder: `licenses/decimal.js-light@2.5.1` - Source package dir: `apps/web/node_modules/decimal.js-light` -## deepfilternet3-noise-filter@1.3.0 +## deepfilternet3-noise-filter@1.2.1 - License: (Apache-2.0 OR MIT) - Homepage: https://github.com/mezonai/mezon-noise-suppression#readme - Repository: git+https://github.com/mezonai/mezon-noise-suppression.git - Description: Custom audio processor with DeepFilterNet3 noise filtering integrated with LiveKit client - Included files: LICENSE-APACHE, LICENSE-MIT -- Folder: `licenses/deepfilternet3-noise-filter@1.3.0` +- Folder: `licenses/deepfilternet3-noise-filter@1.2.1` - Source package dir: `packages/call/node_modules/deepfilternet3-noise-filter` ## detect-node-es@1.1.0 diff --git a/licenses/deepfilternet3-noise-filter@1.3.0/LICENSE-APACHE b/licenses/deepfilternet3-noise-filter@1.2.1/LICENSE-APACHE similarity index 100% rename from licenses/deepfilternet3-noise-filter@1.3.0/LICENSE-APACHE rename to licenses/deepfilternet3-noise-filter@1.2.1/LICENSE-APACHE diff --git a/licenses/deepfilternet3-noise-filter@1.3.0/LICENSE-MIT b/licenses/deepfilternet3-noise-filter@1.2.1/LICENSE-MIT similarity index 100% rename from licenses/deepfilternet3-noise-filter@1.3.0/LICENSE-MIT rename to licenses/deepfilternet3-noise-filter@1.2.1/LICENSE-MIT diff --git a/licenses/sbom.cyclonedx.json b/licenses/sbom.cyclonedx.json index 832ae16..e5f7673 100644 --- a/licenses/sbom.cyclonedx.json +++ b/licenses/sbom.cyclonedx.json @@ -2651,10 +2651,10 @@ }, { "type": "library", - "bomRef": "pkg:npm/deepfilternet3-noise-filter@1.3.0", + "bomRef": "pkg:npm/deepfilternet3-noise-filter@1.2.1", "name": "deepfilternet3-noise-filter", - "version": "1.3.0", - "purl": "pkg:npm/deepfilternet3-noise-filter@1.3.0", + "version": "1.2.1", + "purl": "pkg:npm/deepfilternet3-noise-filter@1.2.1", "description": "Custom audio processor with DeepFilterNet3 noise filtering integrated with LiveKit client", "licenses": [ { @@ -2676,7 +2676,7 @@ "properties": [ { "name": "local:licenseFolder", - "value": "licenses/deepfilternet3-noise-filter@1.3.0" + "value": "licenses/deepfilternet3-noise-filter@1.2.1" }, { "name": "local:sourcePackageDir", @@ -4851,4 +4851,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/licenses/third-party-credits.json b/licenses/third-party-credits.json index e4e3f81..81d1ba8 100644 --- a/licenses/third-party-credits.json +++ b/licenses/third-party-credits.json @@ -368,7 +368,7 @@ }, { "name": "@radix-ui/react-slot", - "version": "1.3.0", + "version": "1.2.1", "license": "MIT", "homepage": "https://radix-ui.com/primitives", "repository": "git+https://github.com/radix-ui/primitives.git", @@ -1027,7 +1027,7 @@ "LICENSE-APACHE", "LICENSE-MIT" ], - "licenseFolder": "licenses/deepfilternet3-noise-filter@1.3.0", + "licenseFolder": "licenses/deepfilternet3-noise-filter@1.2.1", "sourcePackageDir": "packages/call/node_modules/deepfilternet3-noise-filter" }, { @@ -1847,4 +1847,4 @@ "sourcePackageDir": "packages/call/node_modules/zustand" } ] -} \ No newline at end of file +} diff --git a/packages/call/package.json b/packages/call/package.json index 2af3898..79111fb 100644 --- a/packages/call/package.json +++ b/packages/call/package.json @@ -25,7 +25,7 @@ "@tensamin/mtp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", - "deepfilternet3-noise-filter": "^1.2.1", + "deepfilternet3-noise-filter": "1.2.1", "livekit-client": "^2.18.8", "lucide-react": "^1.14.0", "react": "^19.2.0", diff --git a/packages/call/src/speakingIndicator.ts b/packages/call/src/speakingIndicator.ts index 8f05eb8..a887516 100644 --- a/packages/call/src/speakingIndicator.ts +++ b/packages/call/src/speakingIndicator.ts @@ -1,4 +1,3 @@ -import { log } from "@tensamin/shared/log"; import { clearSpeakingParticipants, removeSpeakingParticipant, @@ -138,10 +137,8 @@ class SpeakingDetector { const db = 20 * Math.log10(Math.max(rms, 0.0001)); if (!this.localMicGateClosed && db < this.gateThresholdStart) { - log(3, "noise gate", "purple", "closed"); this.muteLocalTrack(true); } else if (this.localMicGateClosed && db > this.gateThresholdEnd) { - log(3, "noise gate", "purple", "opened"); this.muteLocalTrack(false); } } diff --git a/packages/call/src/store.tsx b/packages/call/src/store.tsx index 7cca709..b5da895 100644 --- a/packages/call/src/store.tsx +++ b/packages/call/src/store.tsx @@ -646,7 +646,7 @@ export async function openCallPage(callId: string) { // Request the LiveKit token that authorizes this client to join a call. export async function getCallToken(callId: string): Promise { const response = await requireRuntime(useCall.getState().runtime) - .send("call_token", { + .send("CallToken", { CallId: callId, }) .catch((err) => { @@ -679,7 +679,7 @@ export async function sendCallInvite(userId: number) { version: CALL_SECRET_VERSION, }); - await runtime.send("call_invite", { + await runtime.send("CallInvite", { ReceiverId: userId, CallId: callId, CallSecret: { @@ -1222,7 +1222,7 @@ export function useInitializeCall() { // listen to call invites useEffect(() => { - subscribePush(async (message) => { + return subscribePush(async (message) => { if (message.type !== "CallInvite") return; const { CallId, CallSecret, SenderId } = message.data as { @@ -1231,7 +1231,15 @@ export function useInitializeCall() { SenderId: number; }; - showCallingScreen(CallId, CallSecret, SenderId); + if (SenderId === Number(await load("user_id"))) { + return; + } + + showCallingScreen( + CallId, + normalizeWrappedCallSecret(CallSecret), + SenderId, + ); }); }, [load, subscribePush, showCallingScreen]); @@ -1564,6 +1572,18 @@ export function useInitializeCall() { send("CallData", { CallId: callId }) .then((data) => { + if (data.type === "ErrorNotFound") { + setCurrentCallData({ + UserIds: [], + exists: false, + }); + return; + } + + if (data.type.startsWith("Error")) { + throw new Error(`CallData failed: ${data.type}`); + } + setCurrentCallData({ ...(data.data as z.infer), exists: true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 099ec42..f8ee2af 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -529,8 +529,8 @@ importers: specifier: workspace:* version: link:../user deepfilternet3-noise-filter: - specifier: ^1.2.1 - version: 1.3.0(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22)) + specifier: 1.2.1 + version: 1.2.1(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22)) livekit-client: specifier: ^2.18.8 version: 2.20.0(@types/dom-mediacapture-record@1.0.22) @@ -2690,8 +2690,8 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - deepfilternet3-noise-filter@1.3.0: - resolution: {integrity: sha512-yYFUlPuvPguqcd/R6/OSsr0noGqlqOE50JkCWYHogk+PjLj9qrNgwTt5zKraVkKnw0l4+eXJagkz2SUWtUl4sQ==} + deepfilternet3-noise-filter@1.2.1: + resolution: {integrity: sha512-OAyrHTDlUHH+AhfpVNKYEOhVqb9cZpu0fdNThplA/tB/Ts4PF/UsI+abl2n1IbSxUkhiF0OqDejEhk1n42Oqpw==} engines: {node: '>=18.0.0'} peerDependencies: livekit-client: ^2.0.0 @@ -6786,7 +6786,7 @@ snapshots: deep-is@0.1.4: {} - deepfilternet3-noise-filter@1.3.0(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22)): + deepfilternet3-noise-filter@1.2.1(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22)): dependencies: livekit-client: 2.20.0(@types/dom-mediacapture-record@1.0.22) diff --git a/todo.md b/todo.md index d3665c2..6927b1a 100644 --- a/todo.md +++ b/todo.md @@ -1,2 +1,3 @@ - Move legal to extra onboarding package - Add a bunch of tests +- Add packages/cache/ to handle caching From 95a79892c6f7d5187f3ce1cd7f0de020cee2669c Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 21:53:06 +0200 Subject: [PATCH 62/75] (tmp): disable tauth --- apps/web/src/components/modals/profile.tsx | 66 +--------------------- packages/tauth/src/context.tsx | 8 ++- 2 files changed, 9 insertions(+), 65 deletions(-) diff --git a/apps/web/src/components/modals/profile.tsx b/apps/web/src/components/modals/profile.tsx index 9e01949..62405cc 100644 --- a/apps/web/src/components/modals/profile.tsx +++ b/apps/web/src/components/modals/profile.tsx @@ -1,61 +1,11 @@ import type { User } from "@tensamin/user/context"; -import { - Avatar, - AvatarFallback, - AvatarImage, - Button, - Tooltip, - TooltipContent, - TooltipTrigger, -} from "@tensamin/ui"; -import { toLossySixDigitCode } from "@tensamin/shared/code"; +import { Avatar, AvatarFallback, AvatarImage, Button } from "@tensamin/ui"; import Text from "@tensamin/markdown/text"; -import { ChevronDown, ChevronUp, Info } from "lucide-react"; -import { useEffect, useState } from "react"; -import { useCrypto } from "@tensamin/crypto/context"; -import { useStorage } from "@tensamin/storage/context"; -import { useUser } from "@tensamin/user/context"; +import { ChevronDown, ChevronUp } from "lucide-react"; +import { useState } from "react"; export default function Profile({ user }: { user: User }) { const [showAdvancedInformation, setShowAdvancedInformation] = useState(false); - const [sharedSecret, setSharedSecret] = useState(""); - - const { getSharedSecret } = useCrypto(); - const { load } = useStorage(); - const { get } = useUser(); - - useEffect(() => { - let active = true; - - void (async () => { - try { - const ownId = await load("user_id"); - const privateKey = await load("mtp_keyring"); - const ownData = await get(ownId); - const secret = await getSharedSecret( - privateKey, - ownData.PublicKey, - user.PublicKey, - ); - - if (active) { - setSharedSecret(secret); - } - } catch { - if (active) { - setSharedSecret(""); - } - } - })(); - - return () => { - active = false; - }; - }, [get, getSharedSecret, load, user.PublicKey]); - - const sharedSecretCode = sharedSecret - ? toLossySixDigitCode(sharedSecret) - : "------"; return (
    @@ -87,16 +37,6 @@ export default function Profile({ user }: { user: User }) { {showAdvancedInformation && (
    -

    - Shared Code: {sharedSecretCode}{" "} - - } /> - - You can compare this code with the conversation partner to - validate that this chat is E2EE - - -

    Iota ID: {user.IotaId}

    diff --git a/packages/tauth/src/context.tsx b/packages/tauth/src/context.tsx index 9c1abcb..68e54cb 100644 --- a/packages/tauth/src/context.tsx +++ b/packages/tauth/src/context.tsx @@ -1,5 +1,6 @@ +import { type ReactNode } from "react"; +/** import { useEffect, useState, type ReactNode } from "react"; -import { useCrypto } from "@tensamin/crypto/context"; import { useUser } from "@tensamin/user/context"; import { useStorage } from "@tensamin/storage/context"; import { @@ -17,12 +18,13 @@ import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; import { Loader2 } from "lucide-react"; import { isTauri } from "@tauri-apps/api/core"; +*/ export default function Wrapper({ children }: { children: ReactNode }) { + /** const { get } = useUser(); const { load } = useStorage(); const { send } = useMTP(); - const { decryptText, getSharedSecret } = useCrypto(); const { searchStr } = useLocation(); const navigate = useNavigate(); const [dialogOpen, setDialogOpen] = useState(false); @@ -274,4 +276,6 @@ export default function Wrapper({ children }: { children: ReactNode }) { {allowChildern && children} ); + */ + return children; } From e0843a11a6e4047fdb06159d739961653dbb4874 Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 23:08:55 +0200 Subject: [PATCH 63/75] (feat): add replys (feat): move to SenderId (feat): other chat improvements --- packages/chat/src/components/input.tsx | 236 +- packages/chat/src/components/message.tsx | 186 +- .../src/components/messageContextMenu.tsx | 10 +- packages/chat/src/context.tsx | 118 +- packages/chat/src/screen.tsx | 68 +- packages/notifications/src/context.tsx | 1 - packages/shared/src/data.ts | 9 +- pnpm-lock.yaml | 8373 +++++++++++------ type-maps.yaml | 1 + 9 files changed, 5953 insertions(+), 3049 deletions(-) diff --git a/packages/chat/src/components/input.tsx b/packages/chat/src/components/input.tsx index 24f8add..6a5d9c7 100644 --- a/packages/chat/src/components/input.tsx +++ b/packages/chat/src/components/input.tsx @@ -1,17 +1,21 @@ import Input from "@tensamin/markdown/input"; import { + Avatar, + AvatarFallback, + AvatarImage, Card, CardHeader, Popover, PopoverContent, PopoverTrigger, + Skeleton, } from "@tensamin/ui"; import { useStorage } from "@tensamin/storage/context"; -import * as React from "react"; +import React, { useEffect, useState, useRef } from "react"; import { Button } from "@tensamin/ui"; -import { Plus, Laugh, FileVideo } from "lucide-react"; -import { useChat } from "../context"; +import { Plus, Laugh, FileVideo, Forward, X } from "lucide-react"; +import { useChat, useReplyMessage } from "../context"; import { useMTP } from "@tensamin/mtp"; import { log, toast } from "@tensamin/shared/log"; import { cn, useIsMobile } from "@tensamin/ui"; @@ -19,6 +23,8 @@ import { encryptChatText } from "@tensamin/crypto/chatSecret"; import { useSession } from "@tensamin/storage/session"; import GifPicker from "./gifPicker"; +import Wrapper from "@tensamin/user/wrapper"; +import Text from "@tensamin/markdown/text"; export default function InputComponent({ value, @@ -27,26 +33,33 @@ export default function InputComponent({ value: string; setValue: (value: string) => void; }) { - const [invertEnterBehavior, setInvertEnterBehavior] = React.useState(false); + const [invertEnterBehavior, setInvertEnterBehavior] = useState(false); const { send } = useMTP(); - const { addLiveMessage, chatSecret, userId, inputBoxRef } = useChat(); + const { + addLiveMessage, + chatSecret, + userId, + inputBoxRef, + replyTo, + setReplyTo, + } = useChat(); const { load, save } = useStorage(); const { moveUserIdToTop } = useSession(); - const gifPopoverRef = React.useRef(null); - const [gifPopoverOpen, setGifPopoverOpen] = React.useState(false); - const [gifPopoverSize, setGifPopoverSize] = React.useState<{ + const gifPopoverRef = useRef(null); + const [gifPopoverOpen, setGifPopoverOpen] = useState(false); + const [gifPopoverSize, setGifPopoverSize] = useState<{ width: number; height: number; }>(); - React.useEffect(() => { + useEffect(() => { void load("settings.reverse_enter_behavior").then((shouldInvert) => { setInvertEnterBehavior(shouldInvert); }); }, [load]); - React.useEffect(() => { + useEffect(() => { void load("chat_picker_size").then((size) => { if (size) { setGifPopoverSize(size); @@ -57,7 +70,7 @@ export default function InputComponent({ async function handleSubmit(content = value, preserveContent = false) { if (content.trim() === "") return; - const time = Date.now(); + const time = new Date().getTime(); const currentValue = content; if (!Number.isSafeInteger(userId) || userId <= 0) { @@ -76,18 +89,20 @@ export default function InputComponent({ NotEncrypted: true, SendTime: time, Content: currentValue, - SentBySelf: true, + SenderId: ownId, MessageState: "awaiting", + ...(replyTo && { ReplyId: replyTo }), }); log(3, "chat", "purple", "Live message added, encrypting..."); - const encryptedContent = await encryptChatText(chatSecret, currentValue).catch( - (err) => { - toast("error", "Failed to encrypt message", String(err)); - reference.setFailed(true); - }, - ); + const encryptedContent = await encryptChatText( + chatSecret, + currentValue, + ).catch((err) => { + toast("error", "Failed to encrypt message", String(err)); + reference.setFailed(true); + }); if (!encryptedContent) return; @@ -106,6 +121,10 @@ export default function InputComponent({ toast("error", "Failed to send message"); }); + if (replyTo) { + setReplyTo(undefined); + } + log(3, "chat", "purple", "Message sent"); moveUserIdToTop(userId); @@ -168,73 +187,126 @@ export default function InputComponent({ window.addEventListener("pointerup", handlePointerUp); } + const { ownId, replyMessage, replyUserId } = useReplyMessage(); + return ( - - - -
    -
    - -
    -

    Files list

    -
    -
    -
    - - - - - - } +
    + {replyTo !== undefined && ( +
    +
    + + {replyMessage ? ( + <> + } + component={(user) => ( + + + + {user.Display.slice(2, 0).toUpperCase()} + + + )} + /> +
    + +
    + + ) : ( + <> + + + + )} +
    - - + )} + + + +
    +
    + +
    +

    Files list

    +
    +
    +
    + + + + + + } + /> + event.stopPropagation()} + onWheelCapture={(event) => event.stopPropagation()} + style={{ + ...gifPopoverSize, + maxHeight: gifPopoverSize?.height, + }} + > +
    + { + void handleSubmit(url, true); + setGifPopoverOpen(false); + }} + /> + + +
    +
    + + +
    ); } diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index 4fd1b6f..9848fbf 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -64,6 +64,10 @@ function MessageComponent({ // Message states const { load } = useStorage(); const { send } = useMTP(); + const [ownId, setOwnId] = useState(0); + useEffect(() => { + load("user_id").then(setOwnId); + }, [load]); const messageStateReadUpdate = useCallback(async () => { const readConfirmations = await load("settings.read_confirmations"); @@ -84,7 +88,7 @@ function MessageComponent({ } }, [load, message.SendTime, user?.UserId, send]); useEffect(() => { - if (message.SentBySelf) return; + if (message.SenderId === ownId || ownId === 0) return; let cancelled = false; @@ -113,7 +117,13 @@ function MessageComponent({ return () => { cancelled = true; }; - }, [message.MessageState, load, messageStateReadUpdate, message.SentBySelf]); + }, [ + message.MessageState, + load, + messageStateReadUpdate, + message.SenderId, + ownId, + ]); // Check if message is a url const [isValidURL, setIsValidURL] = useState(false); @@ -133,97 +143,93 @@ function MessageComponent({ // pt-3 is to get a gap between messages className={`${grouped ? "" : "pt-3"} w-full flex justify-start transition-opacity duration-150 ${opacityClass}`} > - {user ? ( -
    - <> - {grouped ? ( -

    - {new Date(message.SendTime).toLocaleString([], { - hour: "2-digit", - minute: "2-digit", - })} -

    - ) : ( - - - - {user.Display.slice(0, 2).toUpperCase()} - - +
    - - {[0, 1, 2].map((item) => ( - - ))} - - - - - - {!grouped && ( -
    -

    {user.Display}

    -

    - {new Date(message.SendTime).toLocaleString([], { - hour: "2-digit", - minute: "2-digit", - })} -

    -
    - {message.MessageState === "read" ? ( - - ) : message.MessageState === "received" ? ( - - ) : message.MessageState === "sent" ? ( - - ) : message.MessageState === "sending" ? ( - - ) : null} - {actuallyFailed && ( - - )} -
    -
    - )} - - {message.Content ? ( - - {isValidURL ? ( - - ) : ( - - )} - + > + <> + {grouped ? ( +

    + {new Date(message.SendTime).toLocaleString([], { + hour: "2-digit", + minute: "2-digit", + })} +

    ) : ( - + + + + {user.Display.slice(0, 2).toUpperCase()} + + )} -
    - -
    +
    + + {[0, 1, 2].map((item) => ( + + ))} + + + + + + {!grouped && ( +
    +

    {user.Display}

    +

    + {new Date(message.SendTime).toLocaleString([], { + hour: "2-digit", + minute: "2-digit", + })} +

    +
    + {message.MessageState === "read" ? ( + + ) : message.MessageState === "received" ? ( + + ) : message.MessageState === "sent" ? ( + + ) : message.MessageState === "sending" ? ( + + ) : null} + {actuallyFailed && ( + + )} +
    +
    + )} + {isValidURL ? ( + + ) : ( + + )} +
    + +
    + ) : ( )} @@ -235,7 +241,7 @@ export default React.memo(MessageComponent, (prev, next) => { return ( prev.message.SendTime === next.message.SendTime && prev.message.Content === next.message.Content && - prev.message.SentBySelf === next.message.SentBySelf && + prev.message.SenderId === next.message.SenderId && prev.message.MessageState === next.message.MessageState && prev.message.failed === next.message.failed && prev.message.decryptionFailed === next.message.decryptionFailed && diff --git a/packages/chat/src/components/messageContextMenu.tsx b/packages/chat/src/components/messageContextMenu.tsx index fb7d6ff..a4be6f7 100644 --- a/packages/chat/src/components/messageContextMenu.tsx +++ b/packages/chat/src/components/messageContextMenu.tsx @@ -19,6 +19,7 @@ import { import { Pin, Clipboard, Pen, Reply, Forward, Trash } from "lucide-react"; import { useMemo, useState } from "react"; import type { ReactElement, ReactNode } from "react"; +import { useChat } from "../context"; async function copyText(text: string) { await navigator.clipboard.writeText(text); @@ -146,6 +147,8 @@ function MessageMenuContent({ const { Content, Group, Item, Separator, Sub, SubContent, SubTrigger } = components; + const { setReplyTo } = useChat(); + return ( @@ -172,7 +175,12 @@ function MessageMenuContent({

    Edit Message

    - + { + setReplyTo(messageId); + }} + >

    Reply

    diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index 1c8a634..e6a2bf2 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -24,7 +24,7 @@ import { } from "@tensamin/crypto/chatSecret"; import { useStorage } from "@tensamin/storage/context"; import { useMTP } from "@tensamin/mtp"; -import { log } from "@tensamin/shared/log"; +import { log, toast } from "@tensamin/shared/log"; import { useSession } from "@tensamin/storage/session"; import { useUser } from "@tensamin/user/context"; @@ -96,6 +96,44 @@ function protocolBytes(bytes: Uint8Array): Uint8Array { return new Uint8Array(bytes); } +type SendMessageGet = ( + type: "MessageGet", + data: { SendTime: number }, +) => Promise<{ data: RawMessage }>; + +type GetChatSecret = (userId: number) => Promise; + +export async function fetchReplyMessage({ + replyTo, + send, + getChatSecret, +}: { + replyTo: number; + ownId: number; + chatUserId: number; + send: SendMessageGet; + getChatSecret: GetChatSecret; +}) { + const value = await send("MessageGet", { + SendTime: replyTo, + }); + const chatSecret = await getChatSecret(value.data.SenderId); + + if (!chatSecret) { + throw new Error("Missing chat secret"); + } + + const decryptedContent = await decryptChatText( + chatSecret, + value.data.Content, + ); + + return { + ...value.data, + Content: decryptedContent, + }; +} + export default function Provider({ children }: { children: ReactNode }) { const { load } = useStorage(); const { send, subscribePush } = useMTP(); @@ -343,13 +381,17 @@ export default function Provider({ children }: { children: ReactNode }) { [currentChatSecret, send, userIdValue], ); + const [ownId, setOwnId] = useState(0); + useEffect(() => { + load("user_id").then(setOwnId); + }, [load]); const addLiveMessage = useCallback( (message: RawMessage) => { const localId = globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`; - if (!message.SentBySelf) { + if (message.SenderId !== ownId) { moveUserIdToTop(userIdValue); } @@ -374,7 +416,7 @@ export default function Provider({ children }: { children: ReactNode }) { }, }; }, - [userIdValue, moveUserIdToTop], + [userIdValue, moveUserIdToTop, ownId], ); const clearLiveMessages = useCallback(() => { @@ -475,6 +517,9 @@ export default function Provider({ children }: { children: ReactNode }) { }); }, [addLiveMessage, currentChatSecret, send, subscribePush, userIdValue]); + // Replys + const [replyTo, setReplyTo] = useState(undefined); + return ( {children} @@ -510,6 +557,8 @@ type contextType = { inputBoxRef: React.RefObject; error: string; errorDescription: string; + replyTo: number | undefined; + setReplyTo: (value: number | undefined) => void; }; export function useChat(): contextType { @@ -519,3 +568,66 @@ export function useChat(): contextType { } return ctx; } + +export function useReplyMessage() { + const { send } = useMTP(); + const { load } = useStorage(); + const { replyTo, setReplyTo, getChatSecret, userId } = useChat(); + const [ownId, setOwnId] = useState(0); + const [replyMessage, setReplyMessage] = useState(); + + const handleReplyError = useCallback( + (err: unknown) => { + log(1, "chat", "red", "Failed to get reply message", err); + toast("error", "Failed to get reply message", String(err)); + setReplyTo(undefined); + setReplyMessage(undefined); + }, + [setReplyTo], + ); + + useEffect(() => { + void load("user_id").then((value) => { + setOwnId(Number(value)); + }); + }, [load]); + + useEffect(() => { + if (!replyTo || !ownId) { + setReplyMessage(undefined); + return; + } + + let active = true; + setReplyMessage(undefined); + + void fetchReplyMessage({ + replyTo, + ownId, + chatUserId: userId, + send, + getChatSecret, + }) + .then((message) => { + if (active) { + setReplyMessage(message); + } + }) + .catch((err) => { + if (active) { + handleReplyError(err); + } + }); + + return () => { + active = false; + }; + }, [replyTo, ownId, userId, send, getChatSecret, handleReplyError]); + + return { + ownId, + replyTo, + replyMessage, + replyUserId: replyMessage?.SenderId, + }; +} diff --git a/packages/chat/src/screen.tsx b/packages/chat/src/screen.tsx index bef76da..c1affae 100644 --- a/packages/chat/src/screen.tsx +++ b/packages/chat/src/screen.tsx @@ -1,9 +1,6 @@ import * as React from "react"; import { useInfiniteQuery } from "@tanstack/react-query"; import { useVirtualizer } from "@tanstack/react-virtual"; -import { failedUser } from "@tensamin/shared/data"; -import { useStorage } from "@tensamin/storage/context"; -import { useUser, type User } from "@tensamin/user/context"; import InputComponent from "./components/input"; import Message from "./components/message"; @@ -15,6 +12,8 @@ import { type LiveMessage, type RawMessage, } from "./values"; +import Wrapper from "@tensamin/user/wrapper"; +import { Skeleton } from "@tensamin/ui"; type MessageChunk = { key: string; @@ -83,9 +82,6 @@ export default function Screen() { error, errorDescription, } = useChat(); - const { get: getUser } = useUser(); - const { load } = useStorage(); - const scrollRef = React.useRef(null); const topSentinelRef = React.useRef(null); const didInitialScrollRef = React.useRef(false); @@ -97,9 +93,6 @@ export default function Screen() { const isFetchingNextPageRef = React.useRef(false); const fetchNextPageRef = React.useRef<(() => void) | null>(null); - const [messageUsers, setMessageUsers] = React.useState< - Record - >({}); const [lastLiveMessageCount, setLastLiveMessageCount] = React.useState(0); const [didInitialScroll, setDidInitialScroll] = React.useState(false); const [viewportHeight, setViewportHeight] = React.useState(0); @@ -144,41 +137,6 @@ export default function Screen() { setLastLiveMessageCount(0); }, [clearLiveMessages, userId]); - React.useEffect(() => { - if (!hasValidChatUser) { - setMessageUsers({}); - return; - } - - let active = true; - - const loadMessageUser = async ( - key: string, - resolveUserId: () => Promise, - ) => { - try { - const resolvedUserId = await resolveUserId(); - const value = await getUser(resolvedUserId); - - if (active) { - setMessageUsers((prev) => ({ ...prev, [key]: value })); - } - } catch { - if (active) { - setMessageUsers((prev) => ({ ...prev, [key]: failedUser })); - } - } - }; - - setMessageUsers({}); - void loadMessageUser("peer", async () => userId); - void loadMessageUser("own", async () => Number(await load("user_id"))); - - return () => { - active = false; - }; - }, [getUser, hasValidChatUser, load, userId]); - const historicalMessages = React.useMemo(() => { const pages = messagesQuery.data?.pages ?? []; const seenSendTimes = new Set(); @@ -559,20 +517,22 @@ export default function Screen() { const lastMessage = messages[messageIndex - 1]; const isGrouped = lastMessage && - lastMessage.SentBySelf === message.SentBySelf && + lastMessage.SenderId === message.SenderId && Math.round(lastMessage.SendTime / 10000) === Math.round(message.SendTime / 10000); return ( - } + component={(user) => ( + + )} /> ); })} diff --git a/packages/notifications/src/context.tsx b/packages/notifications/src/context.tsx index 8408213..12283c3 100644 --- a/packages/notifications/src/context.tsx +++ b/packages/notifications/src/context.tsx @@ -61,7 +61,6 @@ export default function Provider(props: { children: React.ReactNode }) { ...data.Message, Content: content ?? "Failed to decrypt message", decryptionFailed: content === null, - SentBySelf: false, }); return; } diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 0fccbd6..4d1fdb4 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -68,13 +68,14 @@ const callSecretEnvelopeRequest = z.object({ export const Message = z.object({ NotEncrypted: z.boolean().optional(), - SentBySelf: z.boolean().optional(), + SenderId: z.number(), SendTime: z.number(), Content: z.base64(), Files: z.array(fileFromMessage).optional(), Tint: z.string().length(7).startsWith("#").optional(), Avatar: z.boolean().optional(), Display: z.boolean().optional(), + ReplyId: z.number().optional(), MessageState: z .enum(["read", "received", "sent", "sending", "awaiting"]) // awaiting for 'internal' use .default("received"), @@ -201,6 +202,12 @@ export const mtp = { Message, }), }, + MessageGet: { + request: z.object({ + SendTime: z.number(), + }), + response: Message, + }, MessagesGet: { request: z.object({ UserId: z.number(), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f8ee2af..269de17 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,18 +1,17 @@ -lockfileVersion: '9.0' +lockfileVersion: "9.0" settings: autoInstallPeers: true excludeLinksFromLockfile: false overrides: - '@tensamin/ui': https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + "@tensamin/ui": https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz importers: - .: dependencies: - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) mtp: @@ -22,19 +21,19 @@ importers: specifier: ^2.0.7 version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) devDependencies: - '@eslint/js': + "@eslint/js": specifier: ^10.0.1 version: 10.0.1(eslint@10.6.0(jiti@2.7.0)) - '@types/node': + "@types/node": specifier: ^26.1.0 version: 26.1.0 - '@types/react': + "@types/react": specifier: ^19.2.14 version: 19.2.17 - '@types/react-dom': + "@types/react-dom": specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.17) - '@typescript-eslint/parser': + "@typescript-eslint/parser": specifier: ^8.59.1 version: 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) eslint: @@ -70,7 +69,7 @@ importers: apps/electron: devDependencies: - '@types/node': + "@types/node": specifier: ^25.9.1 version: 25.9.4 electron: @@ -88,25 +87,25 @@ importers: apps/tauri: dependencies: - '@tauri-apps/api': + "@tauri-apps/api": specifier: ^2 version: 2.11.1 - '@tauri-apps/plugin-barcode-scanner': + "@tauri-apps/plugin-barcode-scanner": specifier: ~2 version: 2.4.5 - '@tauri-apps/plugin-deep-link': + "@tauri-apps/plugin-deep-link": specifier: ~2 version: 2.4.9 - '@tauri-apps/plugin-log': + "@tauri-apps/plugin-log": specifier: ~2 version: 2.8.0 - '@tauri-apps/plugin-notification': + "@tauri-apps/plugin-notification": specifier: ~2 version: 2.3.3 - '@tensamin/shared': + "@tensamin/shared": specifier: workspace:* version: link:../../packages/shared - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) react: @@ -116,160 +115,160 @@ importers: specifier: ^19.2.0 version: 19.2.7(react@19.2.7) devDependencies: - '@tauri-apps/cli': + "@tauri-apps/cli": specifier: ^2 version: 2.11.4 - '@types/node': + "@types/node": specifier: ^25.9.1 version: 25.9.4 apps/web: dependencies: - '@babel/runtime': + "@babel/runtime": specifier: ^7.29.2 version: 7.29.7 - '@base-ui/react': + "@base-ui/react": specifier: ^1.0.0 version: 1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@base-ui/utils': + "@base-ui/utils": specifier: 0.3.1 version: 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@floating-ui/core': + "@floating-ui/core": specifier: ^1.7.0 version: 1.7.5 - '@floating-ui/dom': + "@floating-ui/dom": specifier: ^1.7.0 version: 1.7.6 - '@floating-ui/react-dom': + "@floating-ui/react-dom": specifier: ^2.1.8 version: 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@floating-ui/utils': + "@floating-ui/utils": specifier: ^0.2.11 version: 0.2.11 - '@fontsource-variable/inter': + "@fontsource-variable/inter": specifier: ^5.2.8 version: 5.2.8 - '@fontsource-variable/public-sans': + "@fontsource-variable/public-sans": specifier: ^5.2.7 version: 5.2.7 - '@radix-ui/primitive': + "@radix-ui/primitive": specifier: ^1.1.0 version: 1.1.4 - '@radix-ui/react-compose-refs': + "@radix-ui/react-compose-refs": specifier: ^1.1.1 version: 1.1.3(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-context': + "@radix-ui/react-context": specifier: ^1.1.4 version: 1.1.4(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-dialog': + "@radix-ui/react-dialog": specifier: ^1.1.6 version: 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-dismissable-layer': + "@radix-ui/react-dismissable-layer": specifier: ^1.1.11 version: 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-focus-guards': + "@radix-ui/react-focus-guards": specifier: ^1.1.4 version: 1.1.4(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-focus-scope': + "@radix-ui/react-focus-scope": specifier: ^1.1.11 version: 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-id': + "@radix-ui/react-id": specifier: ^1.1.0 version: 1.1.2(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-portal': + "@radix-ui/react-portal": specifier: ^1.1.13 version: 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-presence': + "@radix-ui/react-presence": specifier: ^1.1.6 version: 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-primitive': + "@radix-ui/react-primitive": specifier: ^2.0.2 version: 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-slot': + "@radix-ui/react-slot": specifier: ^1.1.2 version: 1.3.0(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-use-callback-ref': + "@radix-ui/react-use-callback-ref": specifier: ^1.1.1 version: 1.1.2(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-use-controllable-state': + "@radix-ui/react-use-controllable-state": specifier: ^1.2.3 version: 1.2.3(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-use-effect-event': + "@radix-ui/react-use-effect-event": specifier: ^0.0.2 version: 0.0.2(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-use-layout-effect': + "@radix-ui/react-use-layout-effect": specifier: ^1.1.0 version: 1.1.2(@types/react@19.2.17)(react@19.2.7) - '@reduxjs/toolkit': + "@reduxjs/toolkit": specifier: ^2.0.0 version: 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7) - '@tailwindcss/vite': + "@tailwindcss/vite": specifier: ^4.2.4 version: 4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) - '@tanstack/devtools-event-client': + "@tanstack/devtools-event-client": specifier: ^0.3.0 version: 0.3.5 - '@tanstack/history': + "@tanstack/history": specifier: 1.162.0 version: 1.162.0 - '@tanstack/query-core': + "@tanstack/query-core": specifier: ^5.0.0 version: 5.101.2 - '@tanstack/react-router': + "@tanstack/react-router": specifier: ^1.169.1 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tanstack/react-store': + "@tanstack/react-store": specifier: ^0.9.3 version: 0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tanstack/react-virtual': + "@tanstack/react-virtual": specifier: ^3.13.24 version: 3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tanstack/router-core': + "@tanstack/router-core": specifier: ^1.169.1 version: 1.171.14 - '@tanstack/store': + "@tanstack/store": specifier: ^0.9.3 version: 0.9.3 - '@tanstack/virtual-core': + "@tanstack/virtual-core": specifier: ^3.13.24 version: 3.17.3 - '@tauri-apps/api': + "@tauri-apps/api": specifier: ^2 version: 2.11.1 - '@tensamin/call': + "@tensamin/call": specifier: workspace:* version: link:../../packages/call - '@tensamin/chat': + "@tensamin/chat": specifier: workspace:* version: link:../../packages/chat - '@tensamin/crypto': + "@tensamin/crypto": specifier: workspace:* version: link:../../packages/crypto - '@tensamin/markdown': + "@tensamin/markdown": specifier: workspace:* version: link:../../packages/markdown - '@tensamin/mtp': + "@tensamin/mtp": specifier: workspace:* version: link:../../packages/mtp - '@tensamin/notifications': + "@tensamin/notifications": specifier: workspace:* version: link:../../packages/notifications - '@tensamin/shared': + "@tensamin/shared": specifier: workspace:* version: link:../../packages/shared - '@tensamin/storage': + "@tensamin/storage": specifier: workspace:* version: link:../../packages/storage - '@tensamin/tauri': + "@tensamin/tauri": specifier: workspace:* version: link:../tauri - '@tensamin/tauth': + "@tensamin/tauth": specifier: workspace:* version: link:../../packages/tauth - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - '@tensamin/user': + "@tensamin/user": specifier: workspace:* version: link:../../packages/user aria-hidden: @@ -465,19 +464,19 @@ importers: specifier: ^4.3.6 version: 4.4.3 devDependencies: - '@eslint/js': + "@eslint/js": specifier: ^10.0.1 version: 10.0.1(eslint@10.6.0(jiti@2.7.0)) - '@types/qrcode': + "@types/qrcode": specifier: ^1.5.6 version: 1.5.6 - '@types/react': + "@types/react": specifier: ^19.2.2 version: 19.2.17 - '@types/react-dom': + "@types/react-dom": specifier: ^19.2.2 version: 19.2.3(@types/react@19.2.17) - '@vitejs/plugin-react': + "@vitejs/plugin-react": specifier: ^6.0.1 version: 6.0.3(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) esbuild: @@ -501,31 +500,31 @@ importers: packages/call: dependencies: - '@livekit/components-react': + "@livekit/components-react": specifier: ^2.9.20 version: 2.9.21(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(tslib@2.8.1) - '@tanstack/react-router': + "@tanstack/react-router": specifier: ^1.169.1 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tauri-apps/api': + "@tauri-apps/api": specifier: ^2 version: 2.11.1 - '@tensamin/crypto': + "@tensamin/crypto": specifier: workspace:* version: link:../crypto - '@tensamin/mtp': + "@tensamin/mtp": specifier: workspace:* version: link:../mtp - '@tensamin/shared': + "@tensamin/shared": specifier: workspace:* version: link:../shared - '@tensamin/storage': + "@tensamin/storage": specifier: workspace:* version: link:../storage - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - '@tensamin/user': + "@tensamin/user": specifier: workspace:* version: link:../user deepfilternet3-noise-filter: @@ -555,37 +554,37 @@ importers: packages/chat: dependencies: - '@tanstack/pacer': + "@tanstack/pacer": specifier: ^0.21.1 version: 0.21.1 - '@tanstack/react-query': + "@tanstack/react-query": specifier: ^5.0.0 version: 5.101.2(react@19.2.7) - '@tanstack/react-router': + "@tanstack/react-router": specifier: ^1.0.0 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tanstack/react-virtual': + "@tanstack/react-virtual": specifier: ^3.0.0 version: 3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tensamin/crypto': + "@tensamin/crypto": specifier: workspace:* version: link:../crypto - '@tensamin/markdown': + "@tensamin/markdown": specifier: workspace:* version: link:../markdown - '@tensamin/mtp': + "@tensamin/mtp": specifier: workspace:* version: link:../mtp - '@tensamin/shared': + "@tensamin/shared": specifier: workspace:* version: link:../shared - '@tensamin/storage': + "@tensamin/storage": specifier: workspace:* version: link:../storage - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - '@tensamin/user': + "@tensamin/user": specifier: workspace:* version: link:../user lucide-react: @@ -612,16 +611,16 @@ importers: packages/markdown: dependencies: - '@codemirror/commands': + "@codemirror/commands": specifier: ^6.10.2 version: 6.10.4 - '@codemirror/lang-markdown': + "@codemirror/lang-markdown": specifier: ^6.5.0 version: 6.5.0 - '@codemirror/state': + "@codemirror/state": specifier: ^6.5.4 version: 6.7.0 - '@codemirror/view': + "@codemirror/view": specifier: ^6.41.1 version: 6.43.4 react: @@ -633,19 +632,19 @@ importers: packages/mtp: dependencies: - '@tauri-apps/api': + "@tauri-apps/api": specifier: ^2 version: 2.11.1 - '@tensamin/crypto': + "@tensamin/crypto": specifier: workspace:* version: link:../crypto - '@tensamin/shared': + "@tensamin/shared": specifier: workspace:* version: link:../shared - '@tensamin/storage': + "@tensamin/storage": specifier: workspace:* version: link:../storage - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) lucide-react: @@ -673,31 +672,31 @@ importers: packages/notifications: dependencies: - '@tanstack/react-router': + "@tanstack/react-router": specifier: ^1.169.1 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tauri-apps/api': + "@tauri-apps/api": specifier: ^2.11.0 version: 2.11.1 - '@tensamin/chat': + "@tensamin/chat": specifier: workspace:* version: link:../chat - '@tensamin/crypto': + "@tensamin/crypto": specifier: workspace:* version: link:../crypto - '@tensamin/mtp': + "@tensamin/mtp": specifier: workspace:* version: link:../mtp - '@tensamin/shared': + "@tensamin/shared": specifier: workspace:* version: link:../shared - '@tensamin/storage': + "@tensamin/storage": specifier: workspace:* version: link:../storage - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - '@tensamin/user': + "@tensamin/user": specifier: workspace:* version: link:../user react: @@ -715,7 +714,7 @@ importers: packages/shared: dependencies: - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) lucide-react: @@ -733,13 +732,13 @@ importers: packages/storage: dependencies: - '@tensamin/mtp': + "@tensamin/mtp": specifier: workspace:* version: link:../mtp - '@tensamin/shared': + "@tensamin/shared": specifier: workspace:* version: link:../shared - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) react: @@ -751,31 +750,31 @@ importers: packages/tauth: dependencies: - '@tanstack/react-router': + "@tanstack/react-router": specifier: ^1.0.0 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tauri-apps/api': + "@tauri-apps/api": specifier: ^2.10.1 version: 2.11.1 - '@tensamin/crypto': + "@tensamin/crypto": specifier: workspace:* version: link:../crypto - '@tensamin/mtp': + "@tensamin/mtp": specifier: workspace:* version: link:../mtp - '@tensamin/shared': + "@tensamin/shared": specifier: workspace:* version: link:../shared - '@tensamin/storage': + "@tensamin/storage": specifier: workspace:* version: link:../storage - '@tensamin/tauri': + "@tensamin/tauri": specifier: workspace:* version: link:../../apps/tauri - '@tensamin/ui': + "@tensamin/ui": specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - '@tensamin/user': + "@tensamin/user": specifier: workspace:* version: link:../user lucide-react: @@ -790,13 +789,13 @@ importers: packages/user: dependencies: - '@tensamin/mtp': + "@tensamin/mtp": specifier: workspace:* version: link:../mtp - '@tensamin/shared': + "@tensamin/shared": specifier: workspace:* version: link:../shared - '@tensamin/storage': + "@tensamin/storage": specifier: workspace:* version: link:../storage react: @@ -810,857 +809,1345 @@ importers: version: 4.4.3 packages: + "@babel/code-frame@7.29.7": + resolution: + { + integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==, + } + engines: { node: ">=6.9.0" } - '@babel/code-frame@7.29.7': - resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} - engines: {node: '>=6.9.0'} + "@babel/compat-data@7.29.7": + resolution: + { + integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==, + } + engines: { node: ">=6.9.0" } - '@babel/compat-data@7.29.7': - resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} - engines: {node: '>=6.9.0'} + "@babel/core@7.29.7": + resolution: + { + integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==, + } + engines: { node: ">=6.9.0" } - '@babel/core@7.29.7': - resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} - engines: {node: '>=6.9.0'} + "@babel/generator@7.29.7": + resolution: + { + integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==, + } + engines: { node: ">=6.9.0" } - '@babel/generator@7.29.7': - resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} - engines: {node: '>=6.9.0'} + "@babel/helper-annotate-as-pure@7.29.7": + resolution: + { + integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-annotate-as-pure@7.29.7': - resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} - engines: {node: '>=6.9.0'} + "@babel/helper-compilation-targets@7.29.7": + resolution: + { + integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-compilation-targets@7.29.7': - resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.29.7': - resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} - engines: {node: '>=6.9.0'} + "@babel/helper-create-class-features-plugin@7.29.7": + resolution: + { + integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==, + } + engines: { node: ">=6.9.0" } peerDependencies: - '@babel/core': ^7.0.0 + "@babel/core": ^7.0.0 - '@babel/helper-globals@7.29.7': - resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} - engines: {node: '>=6.9.0'} + "@babel/helper-globals@7.29.7": + resolution: + { + integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-member-expression-to-functions@7.29.7': - resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} - engines: {node: '>=6.9.0'} + "@babel/helper-member-expression-to-functions@7.29.7": + resolution: + { + integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-module-imports@7.29.7': - resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} - engines: {node: '>=6.9.0'} + "@babel/helper-module-imports@7.29.7": + resolution: + { + integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-module-transforms@7.29.7': - resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} - engines: {node: '>=6.9.0'} + "@babel/helper-module-transforms@7.29.7": + resolution: + { + integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==, + } + engines: { node: ">=6.9.0" } peerDependencies: - '@babel/core': ^7.0.0 + "@babel/core": ^7.0.0 - '@babel/helper-optimise-call-expression@7.29.7': - resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} - engines: {node: '>=6.9.0'} + "@babel/helper-optimise-call-expression@7.29.7": + resolution: + { + integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-plugin-utils@7.29.7': - resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} - engines: {node: '>=6.9.0'} + "@babel/helper-plugin-utils@7.29.7": + resolution: + { + integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-replace-supers@7.29.7': - resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} - engines: {node: '>=6.9.0'} + "@babel/helper-replace-supers@7.29.7": + resolution: + { + integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==, + } + engines: { node: ">=6.9.0" } peerDependencies: - '@babel/core': ^7.0.0 + "@babel/core": ^7.0.0 - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': - resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} - engines: {node: '>=6.9.0'} + "@babel/helper-skip-transparent-expression-wrappers@7.29.7": + resolution: + { + integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-string-parser@7.29.7': - resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} - engines: {node: '>=6.9.0'} + "@babel/helper-string-parser@7.29.7": + resolution: + { + integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-validator-identifier@7.29.7': - resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} - engines: {node: '>=6.9.0'} + "@babel/helper-validator-identifier@7.29.7": + resolution: + { + integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==, + } + engines: { node: ">=6.9.0" } - '@babel/helper-validator-option@7.29.7': - resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} - engines: {node: '>=6.9.0'} + "@babel/helper-validator-option@7.29.7": + resolution: + { + integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==, + } + engines: { node: ">=6.9.0" } - '@babel/helpers@7.29.7': - resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} - engines: {node: '>=6.9.0'} + "@babel/helpers@7.29.7": + resolution: + { + integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==, + } + engines: { node: ">=6.9.0" } - '@babel/parser@7.29.7': - resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} - engines: {node: '>=6.0.0'} + "@babel/parser@7.29.7": + resolution: + { + integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==, + } + engines: { node: ">=6.0.0" } hasBin: true - '@babel/plugin-syntax-jsx@7.29.7': - resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} - engines: {node: '>=6.9.0'} + "@babel/plugin-syntax-jsx@7.29.7": + resolution: + { + integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==, + } + engines: { node: ">=6.9.0" } peerDependencies: - '@babel/core': ^7.0.0-0 + "@babel/core": ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.29.7': - resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} - engines: {node: '>=6.9.0'} + "@babel/plugin-syntax-typescript@7.29.7": + resolution: + { + integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==, + } + engines: { node: ">=6.9.0" } peerDependencies: - '@babel/core': ^7.0.0-0 + "@babel/core": ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.29.7': - resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} - engines: {node: '>=6.9.0'} + "@babel/plugin-transform-modules-commonjs@7.29.7": + resolution: + { + integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==, + } + engines: { node: ">=6.9.0" } peerDependencies: - '@babel/core': ^7.0.0-0 + "@babel/core": ^7.0.0-0 - '@babel/plugin-transform-typescript@7.29.7': - resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} - engines: {node: '>=6.9.0'} + "@babel/plugin-transform-typescript@7.29.7": + resolution: + { + integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==, + } + engines: { node: ">=6.9.0" } peerDependencies: - '@babel/core': ^7.0.0-0 + "@babel/core": ^7.0.0-0 - '@babel/preset-typescript@7.29.7': - resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} - engines: {node: '>=6.9.0'} + "@babel/preset-typescript@7.29.7": + resolution: + { + integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==, + } + engines: { node: ">=6.9.0" } peerDependencies: - '@babel/core': ^7.0.0-0 + "@babel/core": ^7.0.0-0 - '@babel/runtime@7.29.7': - resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} - engines: {node: '>=6.9.0'} + "@babel/runtime@7.29.7": + resolution: + { + integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==, + } + engines: { node: ">=6.9.0" } - '@babel/template@7.29.7': - resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} - engines: {node: '>=6.9.0'} + "@babel/template@7.29.7": + resolution: + { + integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==, + } + engines: { node: ">=6.9.0" } - '@babel/traverse@7.29.7': - resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} - engines: {node: '>=6.9.0'} + "@babel/traverse@7.29.7": + resolution: + { + integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==, + } + engines: { node: ">=6.9.0" } - '@babel/types@7.29.7': - resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} - engines: {node: '>=6.9.0'} + "@babel/types@7.29.7": + resolution: + { + integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==, + } + engines: { node: ">=6.9.0" } - '@base-ui/react@1.6.0': - resolution: {integrity: sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw==} - engines: {node: '>=14.0.0'} + "@base-ui/react@1.6.0": + resolution: + { + integrity: sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw==, + } + engines: { node: ">=14.0.0" } peerDependencies: - '@date-fns/tz': ^1.2.0 - '@types/react': ^17 || ^18 || ^19 + "@date-fns/tz": ^1.2.0 + "@types/react": ^17 || ^18 || ^19 date-fns: ^4.0.0 react: ^17 || ^18 || ^19 react-dom: ^17 || ^18 || ^19 peerDependenciesMeta: - '@date-fns/tz': + "@date-fns/tz": optional: true - '@types/react': + "@types/react": optional: true date-fns: optional: true - '@base-ui/utils@0.3.1': - resolution: {integrity: sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg==} + "@base-ui/utils@0.3.1": + resolution: + { + integrity: sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg==, + } peerDependencies: - '@types/react': ^17 || ^18 || ^19 + "@types/react": ^17 || ^18 || ^19 react: ^17 || ^18 || ^19 react-dom: ^17 || ^18 || ^19 peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@bufbuild/protobuf@1.10.1': - resolution: {integrity: sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==} + "@bufbuild/protobuf@1.10.1": + resolution: + { + integrity: sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==, + } - '@codemirror/autocomplete@6.20.3': - resolution: {integrity: sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g==} + "@codemirror/autocomplete@6.20.3": + resolution: + { + integrity: sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g==, + } - '@codemirror/commands@6.10.4': - resolution: {integrity: sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg==} + "@codemirror/commands@6.10.4": + resolution: + { + integrity: sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg==, + } - '@codemirror/lang-css@6.3.1': - resolution: {integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==} + "@codemirror/lang-css@6.3.1": + resolution: + { + integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==, + } - '@codemirror/lang-html@6.4.11': - resolution: {integrity: sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==} + "@codemirror/lang-html@6.4.11": + resolution: + { + integrity: sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==, + } - '@codemirror/lang-javascript@6.2.5': - resolution: {integrity: sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==} + "@codemirror/lang-javascript@6.2.5": + resolution: + { + integrity: sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==, + } - '@codemirror/lang-markdown@6.5.0': - resolution: {integrity: sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw==} + "@codemirror/lang-markdown@6.5.0": + resolution: + { + integrity: sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw==, + } - '@codemirror/language@6.12.4': - resolution: {integrity: sha512-1q4PaT+o6PbgpkJt4Q8Fv5XJxTy4FUZ4MWETtyiDw3J0Pyr9E2vqcKL+k9wcvjNTIsauxvE7OfmWj3FRPHQ76A==} + "@codemirror/language@6.12.4": + resolution: + { + integrity: sha512-1q4PaT+o6PbgpkJt4Q8Fv5XJxTy4FUZ4MWETtyiDw3J0Pyr9E2vqcKL+k9wcvjNTIsauxvE7OfmWj3FRPHQ76A==, + } - '@codemirror/lint@6.9.7': - resolution: {integrity: sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg==} + "@codemirror/lint@6.9.7": + resolution: + { + integrity: sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg==, + } - '@codemirror/state@6.7.0': - resolution: {integrity: sha512-Zbl9NyscLMZkfXPQnNAIIAFftidrA1UbcJEIMp24C0Bukc2I5T8wJS0wsXYsnDOqCFJUeJ1BITGNs5CqPDSmSg==} + "@codemirror/state@6.7.0": + resolution: + { + integrity: sha512-Zbl9NyscLMZkfXPQnNAIIAFftidrA1UbcJEIMp24C0Bukc2I5T8wJS0wsXYsnDOqCFJUeJ1BITGNs5CqPDSmSg==, + } - '@codemirror/view@6.43.4': - resolution: {integrity: sha512-YImu23iyKfncJzT7sRy+rEqEhSc8RhOHqDxwy4WzXRKJwYm6iwf/9OJk5ctCAdZ6yi2ZqaGEvmf55fSVqMDrgg==} + "@codemirror/view@6.43.4": + resolution: + { + integrity: sha512-YImu23iyKfncJzT7sRy+rEqEhSc8RhOHqDxwy4WzXRKJwYm6iwf/9OJk5ctCAdZ6yi2ZqaGEvmf55fSVqMDrgg==, + } - '@date-fns/tz@1.5.0': - resolution: {integrity: sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==} + "@date-fns/tz@1.5.0": + resolution: + { + integrity: sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==, + } - '@dotenvx/dotenvx@1.75.1': - resolution: {integrity: sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ==} + "@dotenvx/dotenvx@1.75.1": + resolution: + { + integrity: sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ==, + } hasBin: true - '@dotenvx/primitives@0.8.0': - resolution: {integrity: sha512-VYJy0uhFm9zTJ1TxBaW/pA8bjbOM/OttaNMwZ1RHG4JKyRG7DhSdiqD1ipQoAyoD22olUtxbP78W9xY3Wd11bg==} + "@dotenvx/primitives@0.8.0": + resolution: + { + integrity: sha512-VYJy0uhFm9zTJ1TxBaW/pA8bjbOM/OttaNMwZ1RHG4JKyRG7DhSdiqD1ipQoAyoD22olUtxbP78W9xY3Wd11bg==, + } - '@electron/asar@3.4.1': - resolution: {integrity: sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==} - engines: {node: '>=10.12.0'} + "@electron/asar@3.4.1": + resolution: + { + integrity: sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==, + } + engines: { node: ">=10.12.0" } hasBin: true - '@electron/fuses@1.8.0': - resolution: {integrity: sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==} + "@electron/fuses@1.8.0": + resolution: + { + integrity: sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==, + } hasBin: true - '@electron/get@2.0.3': - resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} - engines: {node: '>=12'} + "@electron/get@2.0.3": + resolution: + { + integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==, + } + engines: { node: ">=12" } - '@electron/get@3.1.0': - resolution: {integrity: sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==} - engines: {node: '>=14'} + "@electron/get@3.1.0": + resolution: + { + integrity: sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==, + } + engines: { node: ">=14" } - '@electron/notarize@2.5.0': - resolution: {integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==} - engines: {node: '>= 10.0.0'} + "@electron/notarize@2.5.0": + resolution: + { + integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==, + } + engines: { node: ">= 10.0.0" } - '@electron/osx-sign@1.3.3': - resolution: {integrity: sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==} - engines: {node: '>=12.0.0'} + "@electron/osx-sign@1.3.3": + resolution: + { + integrity: sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==, + } + engines: { node: ">=12.0.0" } hasBin: true - '@electron/rebuild@4.1.0': - resolution: {integrity: sha512-GFky+1JeO8fpSqtZCh+2wFRN/MVbAhm7tXI2M7BA1Os79OR8LEoxRtAbRPyxvmKWhEMF/p10rNJkkgP1klI13g==} - engines: {node: '>=22.12.0'} + "@electron/rebuild@4.1.0": + resolution: + { + integrity: sha512-GFky+1JeO8fpSqtZCh+2wFRN/MVbAhm7tXI2M7BA1Os79OR8LEoxRtAbRPyxvmKWhEMF/p10rNJkkgP1klI13g==, + } + engines: { node: ">=22.12.0" } hasBin: true - '@electron/universal@2.0.3': - resolution: {integrity: sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==} - engines: {node: '>=16.4'} + "@electron/universal@2.0.3": + resolution: + { + integrity: sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==, + } + engines: { node: ">=16.4" } - '@electron/windows-sign@1.2.2': - resolution: {integrity: sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==} - engines: {node: '>=14.14'} + "@electron/windows-sign@1.2.2": + resolution: + { + integrity: sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==, + } + engines: { node: ">=14.14" } hasBin: true - '@emnapi/core@1.11.1': - resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + "@emnapi/core@1.11.1": + resolution: + { + integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==, + } - '@emnapi/runtime@1.11.1': - resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + "@emnapi/runtime@1.11.1": + resolution: + { + integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==, + } - '@emnapi/wasi-threads@1.2.2': - resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + "@emnapi/wasi-threads@1.2.2": + resolution: + { + integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==, + } - '@esbuild/aix-ppc64@0.25.12': - resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} - engines: {node: '>=18'} + "@esbuild/aix-ppc64@0.25.12": + resolution: + { + integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==, + } + engines: { node: ">=18" } cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.12': - resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} - engines: {node: '>=18'} + "@esbuild/android-arm64@0.25.12": + resolution: + { + integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.12': - resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} - engines: {node: '>=18'} + "@esbuild/android-arm@0.25.12": + resolution: + { + integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==, + } + engines: { node: ">=18" } cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.12': - resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} - engines: {node: '>=18'} + "@esbuild/android-x64@0.25.12": + resolution: + { + integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==, + } + engines: { node: ">=18" } cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.12': - resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} - engines: {node: '>=18'} + "@esbuild/darwin-arm64@0.25.12": + resolution: + { + integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.12': - resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} - engines: {node: '>=18'} + "@esbuild/darwin-x64@0.25.12": + resolution: + { + integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==, + } + engines: { node: ">=18" } cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.12': - resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} - engines: {node: '>=18'} + "@esbuild/freebsd-arm64@0.25.12": + resolution: + { + integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.12': - resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} - engines: {node: '>=18'} + "@esbuild/freebsd-x64@0.25.12": + resolution: + { + integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==, + } + engines: { node: ">=18" } cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.12': - resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} - engines: {node: '>=18'} + "@esbuild/linux-arm64@0.25.12": + resolution: + { + integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==, + } + engines: { node: ">=18" } cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.12': - resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} - engines: {node: '>=18'} + "@esbuild/linux-arm@0.25.12": + resolution: + { + integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==, + } + engines: { node: ">=18" } cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.12': - resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} - engines: {node: '>=18'} + "@esbuild/linux-ia32@0.25.12": + resolution: + { + integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==, + } + engines: { node: ">=18" } cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.12': - resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} - engines: {node: '>=18'} + "@esbuild/linux-loong64@0.25.12": + resolution: + { + integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==, + } + engines: { node: ">=18" } cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.12': - resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} - engines: {node: '>=18'} + "@esbuild/linux-mips64el@0.25.12": + resolution: + { + integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==, + } + engines: { node: ">=18" } cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.12': - resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} - engines: {node: '>=18'} + "@esbuild/linux-ppc64@0.25.12": + resolution: + { + integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==, + } + engines: { node: ">=18" } cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.12': - resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} - engines: {node: '>=18'} + "@esbuild/linux-riscv64@0.25.12": + resolution: + { + integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==, + } + engines: { node: ">=18" } cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.12': - resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} - engines: {node: '>=18'} + "@esbuild/linux-s390x@0.25.12": + resolution: + { + integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==, + } + engines: { node: ">=18" } cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.12': - resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} - engines: {node: '>=18'} + "@esbuild/linux-x64@0.25.12": + resolution: + { + integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==, + } + engines: { node: ">=18" } cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.12': - resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} - engines: {node: '>=18'} + "@esbuild/netbsd-arm64@0.25.12": + resolution: + { + integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.12': - resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} - engines: {node: '>=18'} + "@esbuild/netbsd-x64@0.25.12": + resolution: + { + integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==, + } + engines: { node: ">=18" } cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.12': - resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} - engines: {node: '>=18'} + "@esbuild/openbsd-arm64@0.25.12": + resolution: + { + integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==, + } + engines: { node: ">=18" } cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.12': - resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} - engines: {node: '>=18'} + "@esbuild/openbsd-x64@0.25.12": + resolution: + { + integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==, + } + engines: { node: ">=18" } cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.12': - resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} - engines: {node: '>=18'} + "@esbuild/openharmony-arm64@0.25.12": + resolution: + { + integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.12': - resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} - engines: {node: '>=18'} + "@esbuild/sunos-x64@0.25.12": + resolution: + { + integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==, + } + engines: { node: ">=18" } cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.12': - resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} - engines: {node: '>=18'} + "@esbuild/win32-arm64@0.25.12": + resolution: + { + integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.12': - resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} - engines: {node: '>=18'} + "@esbuild/win32-ia32@0.25.12": + resolution: + { + integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==, + } + engines: { node: ">=18" } cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.12': - resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} - engines: {node: '>=18'} + "@esbuild/win32-x64@0.25.12": + resolution: + { + integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==, + } + engines: { node: ">=18" } cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + "@eslint-community/eslint-utils@4.9.1": + resolution: + { + integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.2': - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + "@eslint-community/regexpp@4.12.2": + resolution: + { + integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - '@eslint/config-array@0.23.5': - resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + "@eslint/config-array@0.23.5": + resolution: + { + integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - '@eslint/config-helpers@0.6.0': - resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + "@eslint/config-helpers@0.6.0": + resolution: + { + integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - '@eslint/core@1.2.1': - resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + "@eslint/core@1.2.1": + resolution: + { + integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - '@eslint/js@10.0.1': - resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + "@eslint/js@10.0.1": + resolution: + { + integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } peerDependencies: eslint: ^10.0.0 peerDependenciesMeta: eslint: optional: true - '@eslint/object-schema@3.0.5': - resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + "@eslint/object-schema@3.0.5": + resolution: + { + integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - '@eslint/plugin-kit@0.7.2': - resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + "@eslint/plugin-kit@0.7.2": + resolution: + { + integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - '@fallow-cli/darwin-arm64@2.104.0': - resolution: {integrity: sha512-5kKt3JuoYVz5/9PpHdu8u41vOZ6CzIu+5SqNBR8MktGLVMBSERm85+NN63XqgbZrVwIC/5uiP8eHQ0RYw0qhHg==} + "@fallow-cli/darwin-arm64@2.104.0": + resolution: + { + integrity: sha512-5kKt3JuoYVz5/9PpHdu8u41vOZ6CzIu+5SqNBR8MktGLVMBSERm85+NN63XqgbZrVwIC/5uiP8eHQ0RYw0qhHg==, + } cpu: [arm64] os: [darwin] - '@fallow-cli/darwin-x64@2.104.0': - resolution: {integrity: sha512-BEwwYccutb8RxyAm3uE8vwCJ3JSLYYeREj3fpLPFFCjh9eXBBo3Q1Mu5pxBjjUeehfbR6r/FLJb9JV28bCia9g==} + "@fallow-cli/darwin-x64@2.104.0": + resolution: + { + integrity: sha512-BEwwYccutb8RxyAm3uE8vwCJ3JSLYYeREj3fpLPFFCjh9eXBBo3Q1Mu5pxBjjUeehfbR6r/FLJb9JV28bCia9g==, + } cpu: [x64] os: [darwin] - '@fallow-cli/linux-arm64-gnu@2.104.0': - resolution: {integrity: sha512-IyIkmwxm0AfVKXfHYuSBO6Fzt6fgZsRE0arbtObeDlKSv7zZMzqHZPpbSGZxPEmVODBMScdSxxaFSli9xFHBTA==} + "@fallow-cli/linux-arm64-gnu@2.104.0": + resolution: + { + integrity: sha512-IyIkmwxm0AfVKXfHYuSBO6Fzt6fgZsRE0arbtObeDlKSv7zZMzqHZPpbSGZxPEmVODBMScdSxxaFSli9xFHBTA==, + } cpu: [arm64] os: [linux] - '@fallow-cli/linux-arm64-musl@2.104.0': - resolution: {integrity: sha512-YskAeLCUUPnbwqtMC452ksI+miw6hN4K6peTFRJ0j2gSpkTriJfUgkudFB1+JX2/YqV41yDAqe5XeDYhuXxjOA==} + "@fallow-cli/linux-arm64-musl@2.104.0": + resolution: + { + integrity: sha512-YskAeLCUUPnbwqtMC452ksI+miw6hN4K6peTFRJ0j2gSpkTriJfUgkudFB1+JX2/YqV41yDAqe5XeDYhuXxjOA==, + } cpu: [arm64] os: [linux] - '@fallow-cli/linux-x64-gnu@2.104.0': - resolution: {integrity: sha512-v3Um0fXwTPg7kGRD1hKeS36A7P/3J7h3TiQ2KAzE8ThKkDViHYjKGEkajtGGSIj/Tv+GVnJBOvJ7i752/6iSBA==} + "@fallow-cli/linux-x64-gnu@2.104.0": + resolution: + { + integrity: sha512-v3Um0fXwTPg7kGRD1hKeS36A7P/3J7h3TiQ2KAzE8ThKkDViHYjKGEkajtGGSIj/Tv+GVnJBOvJ7i752/6iSBA==, + } cpu: [x64] os: [linux] - '@fallow-cli/linux-x64-musl@2.104.0': - resolution: {integrity: sha512-wMVyeSp5uHvzVUgNHk6xuTCisVOAUv8FTC6z1swANdLQlQgd4Trnu8GYwhJhO7cU9RuL85yn1XksCs6+PkRM8A==} + "@fallow-cli/linux-x64-musl@2.104.0": + resolution: + { + integrity: sha512-wMVyeSp5uHvzVUgNHk6xuTCisVOAUv8FTC6z1swANdLQlQgd4Trnu8GYwhJhO7cU9RuL85yn1XksCs6+PkRM8A==, + } cpu: [x64] os: [linux] - '@fallow-cli/win32-arm64-msvc@2.104.0': - resolution: {integrity: sha512-qDRn7zoRKVAHVz+BqKUnUPa8H4gD/g26Fs/hqH9futbthecgjXmPyRJwycE8HTQBNlVwck5d5w36a+PEPsCYaQ==} + "@fallow-cli/win32-arm64-msvc@2.104.0": + resolution: + { + integrity: sha512-qDRn7zoRKVAHVz+BqKUnUPa8H4gD/g26Fs/hqH9futbthecgjXmPyRJwycE8HTQBNlVwck5d5w36a+PEPsCYaQ==, + } cpu: [arm64] os: [win32] - '@fallow-cli/win32-x64-msvc@2.104.0': - resolution: {integrity: sha512-irER9HuZ9DXunl4H9RNsWQ9AvGmHs/Zp1+Yr2ATmgSNumERPXvgXa2IiGtCvKFqI72639TlhUj8+2WqIXZ54WQ==} + "@fallow-cli/win32-x64-msvc@2.104.0": + resolution: + { + integrity: sha512-irER9HuZ9DXunl4H9RNsWQ9AvGmHs/Zp1+Yr2ATmgSNumERPXvgXa2IiGtCvKFqI72639TlhUj8+2WqIXZ54WQ==, + } cpu: [x64] os: [win32] - '@floating-ui/core@1.7.5': - resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} + "@floating-ui/core@1.7.5": + resolution: + { + integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==, + } - '@floating-ui/dom@1.7.4': - resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} + "@floating-ui/dom@1.7.4": + resolution: + { + integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==, + } - '@floating-ui/dom@1.7.6': - resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} + "@floating-ui/dom@1.7.6": + resolution: + { + integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==, + } - '@floating-ui/react-dom@2.1.8': - resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==} + "@floating-ui/react-dom@2.1.8": + resolution: + { + integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==, + } peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' + react: ">=16.8.0" + react-dom: ">=16.8.0" - '@floating-ui/utils@0.2.11': - resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} + "@floating-ui/utils@0.2.11": + resolution: + { + integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==, + } - '@fontsource-variable/inter@5.2.8': - resolution: {integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==} + "@fontsource-variable/inter@5.2.8": + resolution: + { + integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==, + } - '@fontsource-variable/public-sans@5.2.7': - resolution: {integrity: sha512-4mvade2J3slKkvwRkS+p8T3szet/0vhWoSnuUJTVU81Uo2pRpSZY/Y8bSLRqpSwzIPxjVmRJ53oq6JKP/l/PSg==} + "@fontsource-variable/public-sans@5.2.7": + resolution: + { + integrity: sha512-4mvade2J3slKkvwRkS+p8T3szet/0vhWoSnuUJTVU81Uo2pRpSZY/Y8bSLRqpSwzIPxjVmRJ53oq6JKP/l/PSg==, + } - '@hono/node-server@1.19.14': - resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} - engines: {node: '>=18.14.1'} + "@hono/node-server@1.19.14": + resolution: + { + integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==, + } + engines: { node: ">=18.14.1" } peerDependencies: hono: ^4 - '@humanfs/core@0.19.2': - resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} - engines: {node: '>=18.18.0'} + "@humanfs/core@0.19.2": + resolution: + { + integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==, + } + engines: { node: ">=18.18.0" } - '@humanfs/node@0.16.8': - resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} - engines: {node: '>=18.18.0'} + "@humanfs/node@0.16.8": + resolution: + { + integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==, + } + engines: { node: ">=18.18.0" } - '@humanfs/types@0.15.0': - resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} - engines: {node: '>=18.18.0'} + "@humanfs/types@0.15.0": + resolution: + { + integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==, + } + engines: { node: ">=18.18.0" } - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + "@humanwhocodes/module-importer@1.0.1": + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } - '@humanwhocodes/retry@0.4.3': - resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} - engines: {node: '>=18.18'} + "@humanwhocodes/retry@0.4.3": + resolution: + { + integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==, + } + engines: { node: ">=18.18" } - '@isaacs/fs-minipass@4.0.1': - resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} - engines: {node: '>=18.0.0'} + "@isaacs/fs-minipass@4.0.1": + resolution: + { + integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==, + } + engines: { node: ">=18.0.0" } - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + "@jridgewell/gen-mapping@0.3.13": + resolution: + { + integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==, + } - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + "@jridgewell/remapping@2.3.5": + resolution: + { + integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==, + } - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + "@jridgewell/resolve-uri@3.1.2": + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + "@jridgewell/sourcemap-codec@1.5.5": + resolution: + { + integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, + } - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + "@jridgewell/trace-mapping@0.3.31": + resolution: + { + integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==, + } - '@lezer/common@1.5.2': - resolution: {integrity: sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==} + "@lezer/common@1.5.2": + resolution: + { + integrity: sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==, + } - '@lezer/css@1.3.4': - resolution: {integrity: sha512-N+tn9tej2hPvyKgHEApMOQfHczDJCwxrRFS3SPn9QjYN+uwHvEDnCgKRrb3mxDYxRS8sKMM8fhC3+lc04Abz5Q==} + "@lezer/css@1.3.4": + resolution: + { + integrity: sha512-N+tn9tej2hPvyKgHEApMOQfHczDJCwxrRFS3SPn9QjYN+uwHvEDnCgKRrb3mxDYxRS8sKMM8fhC3+lc04Abz5Q==, + } - '@lezer/highlight@1.2.3': - resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==} + "@lezer/highlight@1.2.3": + resolution: + { + integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==, + } - '@lezer/html@1.3.13': - resolution: {integrity: sha512-oI7n6NJml729m7pjm9lvLvmXbdoMoi2f+1pwSDJkl9d68zGr7a9Btz8NdHTGQZtW2DA25ybeuv/SyDb9D5tseg==} + "@lezer/html@1.3.13": + resolution: + { + integrity: sha512-oI7n6NJml729m7pjm9lvLvmXbdoMoi2f+1pwSDJkl9d68zGr7a9Btz8NdHTGQZtW2DA25ybeuv/SyDb9D5tseg==, + } - '@lezer/javascript@1.5.4': - resolution: {integrity: sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==} + "@lezer/javascript@1.5.4": + resolution: + { + integrity: sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==, + } - '@lezer/lr@1.4.10': - resolution: {integrity: sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==} + "@lezer/lr@1.4.10": + resolution: + { + integrity: sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==, + } - '@lezer/markdown@1.6.4': - resolution: {integrity: sha512-N0SxazMj4k65DBfaf1azqtMZd6u7MqluP84/NZnB/io8Td9aleFmAhz9hcbvSfsxT5tdYlJ5qgv5aMJGY4zEtA==} + "@lezer/markdown@1.6.4": + resolution: + { + integrity: sha512-N0SxazMj4k65DBfaf1azqtMZd6u7MqluP84/NZnB/io8Td9aleFmAhz9hcbvSfsxT5tdYlJ5qgv5aMJGY4zEtA==, + } - '@livekit/components-core@0.12.13': - resolution: {integrity: sha512-DQmi84afHoHjZ62wm8y+XPNIDHTwFHAltjd3lmyXj8UZHOY7wcza4vFt1xnghJOD5wLRY58L1dkAgAw59MgWvw==} - engines: {node: '>=18'} + "@livekit/components-core@0.12.13": + resolution: + { + integrity: sha512-DQmi84afHoHjZ62wm8y+XPNIDHTwFHAltjd3lmyXj8UZHOY7wcza4vFt1xnghJOD5wLRY58L1dkAgAw59MgWvw==, + } + engines: { node: ">=18" } peerDependencies: livekit-client: ^2.17.2 tslib: ^2.6.2 - '@livekit/components-react@2.9.21': - resolution: {integrity: sha512-6hU9VucJJL+gAhilNGe4MBCDCZVk64qyjP9Ck86krvOIdVU76WeWksddg1MYUP10AlUwwrfD7davz41pJTcMJw==} - engines: {node: '>=18'} + "@livekit/components-react@2.9.21": + resolution: + { + integrity: sha512-6hU9VucJJL+gAhilNGe4MBCDCZVk64qyjP9Ck86krvOIdVU76WeWksddg1MYUP10AlUwwrfD7davz41pJTcMJw==, + } + engines: { node: ">=18" } peerDependencies: - '@livekit/krisp-noise-filter': ^0.2.12 || ^0.3.0 + "@livekit/krisp-noise-filter": ^0.2.12 || ^0.3.0 livekit-client: ^2.18.2 - react: '>=18' - react-dom: '>=18' + react: ">=18" + react-dom: ">=18" tslib: ^2.6.2 peerDependenciesMeta: - '@livekit/krisp-noise-filter': + "@livekit/krisp-noise-filter": optional: true - '@livekit/mutex@1.1.1': - resolution: {integrity: sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw==} + "@livekit/mutex@1.1.1": + resolution: + { + integrity: sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw==, + } - '@livekit/protocol@1.46.6': - resolution: {integrity: sha512-upzlHP1vi/kZ/QqALZTFskQ0ifqc2f15RKucHYOsIHJsaXvEYanG75mAb7o+Yomfs4XhQ4BaRsdY+TFHXpaqrg==} + "@livekit/protocol@1.46.6": + resolution: + { + integrity: sha512-upzlHP1vi/kZ/QqALZTFskQ0ifqc2f15RKucHYOsIHJsaXvEYanG75mAb7o+Yomfs4XhQ4BaRsdY+TFHXpaqrg==, + } - '@malept/cross-spawn-promise@2.0.0': - resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} - engines: {node: '>= 12.13.0'} + "@malept/cross-spawn-promise@2.0.0": + resolution: + { + integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==, + } + engines: { node: ">= 12.13.0" } - '@malept/flatpak-bundler@0.4.0': - resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} - engines: {node: '>= 10.0.0'} + "@malept/flatpak-bundler@0.4.0": + resolution: + { + integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==, + } + engines: { node: ">= 10.0.0" } - '@marijn/find-cluster-break@1.0.3': - resolution: {integrity: sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==} + "@marijn/find-cluster-break@1.0.3": + resolution: + { + integrity: sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==, + } - '@modelcontextprotocol/sdk@1.29.0': - resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==} - engines: {node: '>=18'} + "@modelcontextprotocol/sdk@1.29.0": + resolution: + { + integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==, + } + engines: { node: ">=18" } peerDependencies: - '@cfworker/json-schema': ^4.1.1 + "@cfworker/json-schema": ^4.1.1 zod: ^3.25 || ^4.0 peerDependenciesMeta: - '@cfworker/json-schema': + "@cfworker/json-schema": optional: true - '@napi-rs/wasm-runtime@1.1.6': - resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} + "@napi-rs/wasm-runtime@1.1.6": + resolution: + { + integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==, + } peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 + "@emnapi/core": ^1.7.1 + "@emnapi/runtime": ^1.7.1 - '@noble/hashes@1.4.0': - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} + "@noble/hashes@1.4.0": + resolution: + { + integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==, + } + engines: { node: ">= 16" } - '@noble/hashes@2.2.0': - resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==} - engines: {node: '>= 20.19.0'} + "@noble/hashes@2.2.0": + resolution: + { + integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==, + } + engines: { node: ">= 20.19.0" } - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + "@nodelib/fs.scandir@2.1.5": + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: ">= 8" } - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + "@nodelib/fs.stat@2.0.5": + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: ">= 8" } - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + "@nodelib/fs.walk@1.2.8": + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: ">= 8" } - '@oxc-project/types@0.138.0': - resolution: {integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==} + "@oxc-project/types@0.138.0": + resolution: + { + integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==, + } - '@peculiar/asn1-schema@2.8.0': - resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==} + "@peculiar/asn1-schema@2.8.0": + resolution: + { + integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==, + } - '@peculiar/json-schema@1.1.12': - resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} - engines: {node: '>=8.0.0'} + "@peculiar/json-schema@1.1.12": + resolution: + { + integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==, + } + engines: { node: ">=8.0.0" } - '@peculiar/utils@2.0.3': - resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} + "@peculiar/utils@2.0.3": + resolution: + { + integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==, + } - '@peculiar/webcrypto@1.7.1': - resolution: {integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==} - engines: {node: '>=14.18.0'} + "@peculiar/webcrypto@1.7.1": + resolution: + { + integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==, + } + engines: { node: ">=14.18.0" } - '@radix-ui/primitive@1.1.4': - resolution: {integrity: sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==} + "@radix-ui/primitive@1.1.4": + resolution: + { + integrity: sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==, + } - '@radix-ui/react-compose-refs@1.1.3': - resolution: {integrity: sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA==} + "@radix-ui/react-compose-refs@1.1.3": + resolution: + { + integrity: sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-context@1.1.4': - resolution: {integrity: sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg==} + "@radix-ui/react-context@1.1.4": + resolution: + { + integrity: sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-dialog@1.1.18': - resolution: {integrity: sha512-apa28mldjMgORmE6g/w3sCcA0Y9UAVeeDVoozN4i7kOw12mLl9RBchfzK3Nn6qxOWjrZhK1Lfy7f07kyzxtnBw==} + "@radix-ui/react-dialog@1.1.18": + resolution: + { + integrity: sha512-apa28mldjMgORmE6g/w3sCcA0Y9UAVeeDVoozN4i7kOw12mLl9RBchfzK3Nn6qxOWjrZhK1Lfy7f07kyzxtnBw==, + } peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' + "@types/react": "*" + "@types/react-dom": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@types/react-dom': + "@types/react-dom": optional: true - '@radix-ui/react-dismissable-layer@1.1.14': - resolution: {integrity: sha512-4lUhWTWAjbDIqFrAPWJ3WqBOpO5YchVZ88X3nh6H9Lu5AFi5nCUeTPj3D8FSDmabmFeRe9ME0BDA4MwKTha5GQ==} + "@radix-ui/react-dismissable-layer@1.1.14": + resolution: + { + integrity: sha512-4lUhWTWAjbDIqFrAPWJ3WqBOpO5YchVZ88X3nh6H9Lu5AFi5nCUeTPj3D8FSDmabmFeRe9ME0BDA4MwKTha5GQ==, + } peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' + "@types/react": "*" + "@types/react-dom": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@types/react-dom': + "@types/react-dom": optional: true - '@radix-ui/react-focus-guards@1.1.4': - resolution: {integrity: sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q==} + "@radix-ui/react-focus-guards@1.1.4": + resolution: + { + integrity: sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-focus-scope@1.1.11': - resolution: {integrity: sha512-Mn88Vg2whaRocGJNOH+DKFqYm6ySFPQaiwHNxZPyjn99B52KAEJWWY9NP83+nWdk2HM3rdov+STu9AG471Rt9w==} + "@radix-ui/react-focus-scope@1.1.11": + resolution: + { + integrity: sha512-Mn88Vg2whaRocGJNOH+DKFqYm6ySFPQaiwHNxZPyjn99B52KAEJWWY9NP83+nWdk2HM3rdov+STu9AG471Rt9w==, + } peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' + "@types/react": "*" + "@types/react-dom": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@types/react-dom': + "@types/react-dom": optional: true - '@radix-ui/react-id@1.1.2': - resolution: {integrity: sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA==} + "@radix-ui/react-id@1.1.2": + resolution: + { + integrity: sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-portal@1.1.13': - resolution: {integrity: sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA==} + "@radix-ui/react-portal@1.1.13": + resolution: + { + integrity: sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA==, + } peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' + "@types/react": "*" + "@types/react-dom": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@types/react-dom': + "@types/react-dom": optional: true - '@radix-ui/react-presence@1.1.6': - resolution: {integrity: sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ==} + "@radix-ui/react-presence@1.1.6": + resolution: + { + integrity: sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ==, + } peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' + "@types/react": "*" + "@types/react-dom": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@types/react-dom': + "@types/react-dom": optional: true - '@radix-ui/react-primitive@2.1.7': - resolution: {integrity: sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ==} + "@radix-ui/react-primitive@2.1.7": + resolution: + { + integrity: sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ==, + } peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' + "@types/react": "*" + "@types/react-dom": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@types/react-dom': + "@types/react-dom": optional: true - '@radix-ui/react-slot@1.3.0': - resolution: {integrity: sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA==} + "@radix-ui/react-slot@1.3.0": + resolution: + { + integrity: sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-use-callback-ref@1.1.2': - resolution: {integrity: sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw==} + "@radix-ui/react-use-callback-ref@1.1.2": + resolution: + { + integrity: sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-use-controllable-state@1.2.3': - resolution: {integrity: sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA==} + "@radix-ui/react-use-controllable-state@1.2.3": + resolution: + { + integrity: sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-use-effect-event@0.0.2': - resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} + "@radix-ui/react-use-effect-event@0.0.2": + resolution: + { + integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-use-effect-event@0.0.3': - resolution: {integrity: sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA==} + "@radix-ui/react-use-effect-event@0.0.3": + resolution: + { + integrity: sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-use-layout-effect@1.1.1': - resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} + "@radix-ui/react-use-layout-effect@1.1.1": + resolution: + { + integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@radix-ui/react-use-layout-effect@1.1.2': - resolution: {integrity: sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA==} + "@radix-ui/react-use-layout-effect@1.1.2": + resolution: + { + integrity: sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA==, + } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true - '@reduxjs/toolkit@2.12.0': - resolution: {integrity: sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==} + "@reduxjs/toolkit@2.12.0": + resolution: + { + integrity: sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==, + } peerDependencies: react: ^16.9.0 || ^17.0.0 || ^18 || ^19 react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 @@ -1670,552 +2157,895 @@ packages: react-redux: optional: true - '@rolldown/binding-android-arm64@1.1.4': - resolution: {integrity: sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-android-arm64@1.1.4": + resolution: + { + integrity: sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.1.4': - resolution: {integrity: sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-darwin-arm64@1.1.4": + resolution: + { + integrity: sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.1.4': - resolution: {integrity: sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-darwin-x64@1.1.4": + resolution: + { + integrity: sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.1.4': - resolution: {integrity: sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-freebsd-x64@1.1.4": + resolution: + { + integrity: sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.1.4': - resolution: {integrity: sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-arm-gnueabihf@1.1.4": + resolution: + { + integrity: sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.1.4': - resolution: {integrity: sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-arm64-gnu@1.1.4": + resolution: + { + integrity: sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.1.4': - resolution: {integrity: sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-arm64-musl@1.1.4": + resolution: + { + integrity: sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.1.4': - resolution: {integrity: sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-ppc64-gnu@1.1.4": + resolution: + { + integrity: sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.1.4': - resolution: {integrity: sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-s390x-gnu@1.1.4": + resolution: + { + integrity: sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.1.4': - resolution: {integrity: sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-x64-gnu@1.1.4": + resolution: + { + integrity: sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.1.4': - resolution: {integrity: sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-x64-musl@1.1.4": + resolution: + { + integrity: sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.1.4': - resolution: {integrity: sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-openharmony-arm64@1.1.4": + resolution: + { + integrity: sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.1.4': - resolution: {integrity: sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-wasm32-wasi@1.1.4": + resolution: + { + integrity: sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.1.4': - resolution: {integrity: sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-win32-arm64-msvc@1.1.4": + resolution: + { + integrity: sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.1.4': - resolution: {integrity: sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-win32-x64-msvc@1.1.4": + resolution: + { + integrity: sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==, + } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.1': - resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + "@rolldown/pluginutils@1.0.1": + resolution: + { + integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==, + } - '@sec-ant/readable-stream@0.4.1': - resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + "@sec-ant/readable-stream@0.4.1": + resolution: + { + integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==, + } - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} + "@sindresorhus/is@4.6.0": + resolution: + { + integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==, + } + engines: { node: ">=10" } - '@sindresorhus/merge-streams@4.0.0': - resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} - engines: {node: '>=18'} + "@sindresorhus/merge-streams@4.0.0": + resolution: + { + integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==, + } + engines: { node: ">=18" } - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + "@standard-schema/spec@1.1.0": + resolution: + { + integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==, + } - '@standard-schema/utils@0.3.0': - resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} + "@standard-schema/utils@0.3.0": + resolution: + { + integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==, + } - '@szmarczak/http-timer@4.0.6': - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} + "@szmarczak/http-timer@4.0.6": + resolution: + { + integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==, + } + engines: { node: ">=10" } - '@tailwindcss/node@4.3.2': - resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==} + "@tailwindcss/node@4.3.2": + resolution: + { + integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==, + } - '@tailwindcss/oxide-android-arm64@4.3.2': - resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-android-arm64@4.3.2": + resolution: + { + integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==, + } + engines: { node: ">= 20" } cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.3.2': - resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-darwin-arm64@4.3.2": + resolution: + { + integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==, + } + engines: { node: ">= 20" } cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.3.2': - resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-darwin-x64@4.3.2": + resolution: + { + integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==, + } + engines: { node: ">= 20" } cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.3.2': - resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-freebsd-x64@4.3.2": + resolution: + { + integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==, + } + engines: { node: ">= 20" } cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': - resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2": + resolution: + { + integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==, + } + engines: { node: ">= 20" } cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': - resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-linux-arm64-gnu@4.3.2": + resolution: + { + integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==, + } + engines: { node: ">= 20" } cpu: [arm64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-arm64-musl@4.3.2': - resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-linux-arm64-musl@4.3.2": + resolution: + { + integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==, + } + engines: { node: ">= 20" } cpu: [arm64] os: [linux] libc: [musl] - '@tailwindcss/oxide-linux-x64-gnu@4.3.2': - resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-linux-x64-gnu@4.3.2": + resolution: + { + integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==, + } + engines: { node: ">= 20" } cpu: [x64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-x64-musl@4.3.2': - resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-linux-x64-musl@4.3.2": + resolution: + { + integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==, + } + engines: { node: ">= 20" } cpu: [x64] os: [linux] libc: [musl] - '@tailwindcss/oxide-wasm32-wasi@4.3.2': - resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==} - engines: {node: '>=14.0.0'} + "@tailwindcss/oxide-wasm32-wasi@4.3.2": + resolution: + { + integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==, + } + engines: { node: ">=14.0.0" } cpu: [wasm32] bundledDependencies: - - '@napi-rs/wasm-runtime' - - '@emnapi/core' - - '@emnapi/runtime' - - '@tybys/wasm-util' - - '@emnapi/wasi-threads' + - "@napi-rs/wasm-runtime" + - "@emnapi/core" + - "@emnapi/runtime" + - "@tybys/wasm-util" + - "@emnapi/wasi-threads" - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': - resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-win32-arm64-msvc@4.3.2": + resolution: + { + integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==, + } + engines: { node: ">= 20" } cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.3.2': - resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==} - engines: {node: '>= 20'} + "@tailwindcss/oxide-win32-x64-msvc@4.3.2": + resolution: + { + integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==, + } + engines: { node: ">= 20" } cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.3.2': - resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==} - engines: {node: '>= 20'} + "@tailwindcss/oxide@4.3.2": + resolution: + { + integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==, + } + engines: { node: ">= 20" } - '@tailwindcss/vite@4.3.2': - resolution: {integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==} + "@tailwindcss/vite@4.3.2": + resolution: + { + integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==, + } peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 - '@tanstack/devtools-event-client@0.3.5': - resolution: {integrity: sha512-RL1f5ZlfZMpghrCIdzl6mLOFLTuhqmPNblZgBaeKfdtk5rfbjykurv+VfYydOFXj0vxVIoA2d/zT7xfD7Ph8fw==} - engines: {node: '>=18'} + "@tanstack/devtools-event-client@0.3.5": + resolution: + { + integrity: sha512-RL1f5ZlfZMpghrCIdzl6mLOFLTuhqmPNblZgBaeKfdtk5rfbjykurv+VfYydOFXj0vxVIoA2d/zT7xfD7Ph8fw==, + } + engines: { node: ">=18" } - '@tanstack/devtools-event-client@0.4.4': - resolution: {integrity: sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw==} - engines: {node: '>=18'} + "@tanstack/devtools-event-client@0.4.4": + resolution: + { + integrity: sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw==, + } + engines: { node: ">=18" } hasBin: true - '@tanstack/history@1.162.0': - resolution: {integrity: sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA==} - engines: {node: '>=20.19'} + "@tanstack/history@1.162.0": + resolution: + { + integrity: sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA==, + } + engines: { node: ">=20.19" } - '@tanstack/pacer@0.21.1': - resolution: {integrity: sha512-hB01dd4rlsYcTCNP7wK186jgAe6K5qimgM1Y5Jtvz+9PUaILvpmeLLjmQNUNSO1l23lIt+CeQR6mO1mjlPvRtQ==} - engines: {node: '>=18'} + "@tanstack/pacer@0.21.1": + resolution: + { + integrity: sha512-hB01dd4rlsYcTCNP7wK186jgAe6K5qimgM1Y5Jtvz+9PUaILvpmeLLjmQNUNSO1l23lIt+CeQR6mO1mjlPvRtQ==, + } + engines: { node: ">=18" } - '@tanstack/query-core@5.101.2': - resolution: {integrity: sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw==} + "@tanstack/query-core@5.101.2": + resolution: + { + integrity: sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw==, + } - '@tanstack/react-query@5.101.2': - resolution: {integrity: sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg==} + "@tanstack/react-query@5.101.2": + resolution: + { + integrity: sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg==, + } peerDependencies: react: ^18 || ^19 - '@tanstack/react-router@1.170.17': - resolution: {integrity: sha512-ppLkjCfSMaeug9rmFRYzOd4TIqWV+yTE7tzIny7alJsSnM7w4lzEZm6eqCehG0SPetpZ0R3K+UnanSmBgOAVcQ==} - engines: {node: '>=20.19'} + "@tanstack/react-router@1.170.17": + resolution: + { + integrity: sha512-ppLkjCfSMaeug9rmFRYzOd4TIqWV+yTE7tzIny7alJsSnM7w4lzEZm6eqCehG0SPetpZ0R3K+UnanSmBgOAVcQ==, + } + engines: { node: ">=20.19" } peerDependencies: - react: '>=18.0.0 || >=19.0.0' - react-dom: '>=18.0.0 || >=19.0.0' + react: ">=18.0.0 || >=19.0.0" + react-dom: ">=18.0.0 || >=19.0.0" - '@tanstack/react-store@0.9.3': - resolution: {integrity: sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==} + "@tanstack/react-store@0.9.3": + resolution: + { + integrity: sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==, + } peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/react-virtual@3.14.5': - resolution: {integrity: sha512-4EKRXh7zBLkbKbFmG3AUVkircuHd+7OdT1pocJSepxtfBd3qnrJgJ5rtPkRYyo9fmyVb2+pI2xPy5oYvMLQy6A==} + "@tanstack/react-virtual@3.14.5": + resolution: + { + integrity: sha512-4EKRXh7zBLkbKbFmG3AUVkircuHd+7OdT1pocJSepxtfBd3qnrJgJ5rtPkRYyo9fmyVb2+pI2xPy5oYvMLQy6A==, + } peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-core@1.171.14': - resolution: {integrity: sha512-Mo3hwx0qB0cJsVYGDjG0+Ouf7VV74h/vsoDMGztdlyzDanp4gBA2s7IVvm6hFrmQM6GpD9F0Z7SqD7OldfLE7g==} - engines: {node: '>=20.19'} + "@tanstack/router-core@1.171.14": + resolution: + { + integrity: sha512-Mo3hwx0qB0cJsVYGDjG0+Ouf7VV74h/vsoDMGztdlyzDanp4gBA2s7IVvm6hFrmQM6GpD9F0Z7SqD7OldfLE7g==, + } + engines: { node: ">=20.19" } - '@tanstack/store@0.11.0': - resolution: {integrity: sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw==} + "@tanstack/store@0.11.0": + resolution: + { + integrity: sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw==, + } - '@tanstack/store@0.9.3': - resolution: {integrity: sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==} + "@tanstack/store@0.9.3": + resolution: + { + integrity: sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==, + } - '@tanstack/virtual-core@3.17.3': - resolution: {integrity: sha512-8Np/TFELpI0ySuJoVmjvOrQYXH/8sTX0Biv9szhFhY39xOdAAY+smrMxjxOum/ux3eM8MUJQsEJ0/R0UpvC8dw==} + "@tanstack/virtual-core@3.17.3": + resolution: + { + integrity: sha512-8Np/TFELpI0ySuJoVmjvOrQYXH/8sTX0Biv9szhFhY39xOdAAY+smrMxjxOum/ux3eM8MUJQsEJ0/R0UpvC8dw==, + } - '@tauri-apps/api@2.11.1': - resolution: {integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==} + "@tauri-apps/api@2.11.1": + resolution: + { + integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==, + } - '@tauri-apps/cli-darwin-arm64@2.11.4': - resolution: {integrity: sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==} - engines: {node: '>= 10'} + "@tauri-apps/cli-darwin-arm64@2.11.4": + resolution: + { + integrity: sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==, + } + engines: { node: ">= 10" } cpu: [arm64] os: [darwin] - '@tauri-apps/cli-darwin-x64@2.11.4': - resolution: {integrity: sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==} - engines: {node: '>= 10'} + "@tauri-apps/cli-darwin-x64@2.11.4": + resolution: + { + integrity: sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==, + } + engines: { node: ">= 10" } cpu: [x64] os: [darwin] - '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': - resolution: {integrity: sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==} - engines: {node: '>= 10'} + "@tauri-apps/cli-linux-arm-gnueabihf@2.11.4": + resolution: + { + integrity: sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==, + } + engines: { node: ">= 10" } cpu: [arm] os: [linux] - '@tauri-apps/cli-linux-arm64-gnu@2.11.4': - resolution: {integrity: sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==} - engines: {node: '>= 10'} + "@tauri-apps/cli-linux-arm64-gnu@2.11.4": + resolution: + { + integrity: sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==, + } + engines: { node: ">= 10" } cpu: [arm64] os: [linux] libc: [glibc] - '@tauri-apps/cli-linux-arm64-musl@2.11.4': - resolution: {integrity: sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==} - engines: {node: '>= 10'} + "@tauri-apps/cli-linux-arm64-musl@2.11.4": + resolution: + { + integrity: sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==, + } + engines: { node: ">= 10" } cpu: [arm64] os: [linux] libc: [musl] - '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': - resolution: {integrity: sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==} - engines: {node: '>= 10'} + "@tauri-apps/cli-linux-riscv64-gnu@2.11.4": + resolution: + { + integrity: sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==, + } + engines: { node: ">= 10" } cpu: [riscv64] os: [linux] libc: [glibc] - '@tauri-apps/cli-linux-x64-gnu@2.11.4': - resolution: {integrity: sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==} - engines: {node: '>= 10'} + "@tauri-apps/cli-linux-x64-gnu@2.11.4": + resolution: + { + integrity: sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==, + } + engines: { node: ">= 10" } cpu: [x64] os: [linux] libc: [glibc] - '@tauri-apps/cli-linux-x64-musl@2.11.4': - resolution: {integrity: sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==} - engines: {node: '>= 10'} + "@tauri-apps/cli-linux-x64-musl@2.11.4": + resolution: + { + integrity: sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==, + } + engines: { node: ">= 10" } cpu: [x64] os: [linux] libc: [musl] - '@tauri-apps/cli-win32-arm64-msvc@2.11.4': - resolution: {integrity: sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==} - engines: {node: '>= 10'} + "@tauri-apps/cli-win32-arm64-msvc@2.11.4": + resolution: + { + integrity: sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==, + } + engines: { node: ">= 10" } cpu: [arm64] os: [win32] - '@tauri-apps/cli-win32-ia32-msvc@2.11.4': - resolution: {integrity: sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==} - engines: {node: '>= 10'} + "@tauri-apps/cli-win32-ia32-msvc@2.11.4": + resolution: + { + integrity: sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==, + } + engines: { node: ">= 10" } cpu: [ia32] os: [win32] - '@tauri-apps/cli-win32-x64-msvc@2.11.4': - resolution: {integrity: sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==} - engines: {node: '>= 10'} + "@tauri-apps/cli-win32-x64-msvc@2.11.4": + resolution: + { + integrity: sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==, + } + engines: { node: ">= 10" } cpu: [x64] os: [win32] - '@tauri-apps/cli@2.11.4': - resolution: {integrity: sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==} - engines: {node: '>= 10'} + "@tauri-apps/cli@2.11.4": + resolution: + { + integrity: sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==, + } + engines: { node: ">= 10" } hasBin: true - '@tauri-apps/plugin-barcode-scanner@2.4.5': - resolution: {integrity: sha512-sIPRYEfxww8/y8skZ2LcAp/h5bwvlHkQiq+3w6QEl+2BHs13xnpn7hP+pv4fkBs8DyDfpUbOBIYS5YBwP7x1QQ==} + "@tauri-apps/plugin-barcode-scanner@2.4.5": + resolution: + { + integrity: sha512-sIPRYEfxww8/y8skZ2LcAp/h5bwvlHkQiq+3w6QEl+2BHs13xnpn7hP+pv4fkBs8DyDfpUbOBIYS5YBwP7x1QQ==, + } - '@tauri-apps/plugin-deep-link@2.4.9': - resolution: {integrity: sha512-u0SKOUHnJ1wqeqXsDFq2+kASCBj9xxbG0g9XZWPy9SOmU4wXtp6b/wiYpm6oH6/5fBTQsLqnLhIvqLBRpgHJlA==} + "@tauri-apps/plugin-deep-link@2.4.9": + resolution: + { + integrity: sha512-u0SKOUHnJ1wqeqXsDFq2+kASCBj9xxbG0g9XZWPy9SOmU4wXtp6b/wiYpm6oH6/5fBTQsLqnLhIvqLBRpgHJlA==, + } - '@tauri-apps/plugin-log@2.8.0': - resolution: {integrity: sha512-a+7rOq3MJwpTOLLKbL8d0qGZ85hgHw5pNOWusA9o3cf7cEgtYHiGY/+O8fj8MvywQIGqFv0da2bYQDlrqLE7rw==} + "@tauri-apps/plugin-log@2.8.0": + resolution: + { + integrity: sha512-a+7rOq3MJwpTOLLKbL8d0qGZ85hgHw5pNOWusA9o3cf7cEgtYHiGY/+O8fj8MvywQIGqFv0da2bYQDlrqLE7rw==, + } - '@tauri-apps/plugin-notification@2.3.3': - resolution: {integrity: sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==} + "@tauri-apps/plugin-notification@2.3.3": + resolution: + { + integrity: sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==, + } - '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz': - resolution: {integrity: sha512-xyzw3/XAYKczV1cYQ2QuzhFzFYbU9U2U/gi/TMU/U7MC0vp1xHCVssTcB1kot8yk9YEIEcDBK2X49Ftzj6bJeQ==, tarball: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz} + "@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz": + resolution: + { + integrity: sha512-xyzw3/XAYKczV1cYQ2QuzhFzFYbU9U2U/gi/TMU/U7MC0vp1xHCVssTcB1kot8yk9YEIEcDBK2X49Ftzj6bJeQ==, + tarball: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz, + } version: 0.0.40 peerDependencies: react: ^19.2.7 react-dom: ^19.2.7 - '@ts-morph/common@0.27.0': - resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} + "@ts-morph/common@0.27.0": + resolution: + { + integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==, + } - '@tybys/wasm-util@0.10.3': - resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} + "@tybys/wasm-util@0.10.3": + resolution: + { + integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==, + } - '@types/cacheable-request@6.0.3': - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + "@types/cacheable-request@6.0.3": + resolution: + { + integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==, + } - '@types/chai@5.2.3': - resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + "@types/chai@5.2.3": + resolution: + { + integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==, + } - '@types/d3-array@3.2.2': - resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + "@types/d3-array@3.2.2": + resolution: + { + integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==, + } - '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + "@types/d3-color@3.1.3": + resolution: + { + integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==, + } - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + "@types/d3-ease@3.0.2": + resolution: + { + integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==, + } - '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + "@types/d3-interpolate@3.0.4": + resolution: + { + integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==, + } - '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + "@types/d3-path@3.1.1": + resolution: + { + integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==, + } - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + "@types/d3-scale@4.0.9": + resolution: + { + integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==, + } - '@types/d3-shape@3.1.8': - resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + "@types/d3-shape@3.1.8": + resolution: + { + integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==, + } - '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + "@types/d3-time@3.0.4": + resolution: + { + integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==, + } - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + "@types/d3-timer@3.0.2": + resolution: + { + integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==, + } - '@types/debug@4.1.13': - resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + "@types/debug@4.1.13": + resolution: + { + integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==, + } - '@types/deep-eql@4.0.2': - resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + "@types/deep-eql@4.0.2": + resolution: + { + integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==, + } - '@types/dom-mediacapture-record@1.0.22': - resolution: {integrity: sha512-mUMZLK3NvwRLcAAT9qmcK+9p7tpU2FHdDsntR3YI4+GY88XrgG4XiE7u1Q2LAN2/FZOz/tdMDC3GQCR4T8nFuw==} + "@types/dom-mediacapture-record@1.0.22": + resolution: + { + integrity: sha512-mUMZLK3NvwRLcAAT9qmcK+9p7tpU2FHdDsntR3YI4+GY88XrgG4XiE7u1Q2LAN2/FZOz/tdMDC3GQCR4T8nFuw==, + } - '@types/esrecurse@4.3.1': - resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + "@types/esrecurse@4.3.1": + resolution: + { + integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==, + } - '@types/estree@1.0.9': - resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + "@types/estree@1.0.9": + resolution: + { + integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==, + } - '@types/fs-extra@9.0.13': - resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + "@types/fs-extra@9.0.13": + resolution: + { + integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==, + } - '@types/http-cache-semantics@4.2.0': - resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} + "@types/http-cache-semantics@4.2.0": + resolution: + { + integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==, + } - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + "@types/json-schema@7.0.15": + resolution: + { + integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, + } - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + "@types/keyv@3.1.4": + resolution: + { + integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==, + } - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + "@types/ms@2.1.0": + resolution: + { + integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==, + } - '@types/node@22.20.0': - resolution: {integrity: sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==} + "@types/node@22.20.0": + resolution: + { + integrity: sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==, + } - '@types/node@25.9.4': - resolution: {integrity: sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g==} + "@types/node@25.9.4": + resolution: + { + integrity: sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g==, + } - '@types/node@26.1.0': - resolution: {integrity: sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==} + "@types/node@26.1.0": + resolution: + { + integrity: sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==, + } - '@types/qrcode@1.5.6': - resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==} + "@types/qrcode@1.5.6": + resolution: + { + integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==, + } - '@types/react-dom@19.2.3': - resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + "@types/react-dom@19.2.3": + resolution: + { + integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==, + } peerDependencies: - '@types/react': ^19.2.0 + "@types/react": ^19.2.0 - '@types/react@19.2.17': - resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + "@types/react@19.2.17": + resolution: + { + integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==, + } - '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + "@types/responselike@1.0.3": + resolution: + { + integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==, + } - '@types/use-sync-external-store@0.0.6': - resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} + "@types/use-sync-external-store@0.0.6": + resolution: + { + integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==, + } - '@types/validate-npm-package-name@4.0.2': - resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} + "@types/validate-npm-package-name@4.0.2": + resolution: + { + integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==, + } - '@types/yauzl@2.10.3': - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + "@types/yauzl@2.10.3": + resolution: + { + integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==, + } - '@typescript-eslint/eslint-plugin@8.62.1': - resolution: {integrity: sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/eslint-plugin@8.62.1": + resolution: + { + integrity: sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - '@typescript-eslint/parser': ^8.62.1 + "@typescript-eslint/parser": ^8.62.1 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + typescript: ">=4.8.4 <6.1.0" - '@typescript-eslint/parser@8.62.1': - resolution: {integrity: sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/parser@8.62.1": + resolution: + { + integrity: sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + typescript: ">=4.8.4 <6.1.0" - '@typescript-eslint/project-service@8.62.1': - resolution: {integrity: sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/project-service@8.62.1": + resolution: + { + integrity: sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: '>=4.8.4 <6.1.0' + typescript: ">=4.8.4 <6.1.0" - '@typescript-eslint/scope-manager@8.62.1': - resolution: {integrity: sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/scope-manager@8.62.1": + resolution: + { + integrity: sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - '@typescript-eslint/tsconfig-utils@8.62.1': - resolution: {integrity: sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/tsconfig-utils@8.62.1": + resolution: + { + integrity: sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: '>=4.8.4 <6.1.0' + typescript: ">=4.8.4 <6.1.0" - '@typescript-eslint/type-utils@8.62.1': - resolution: {integrity: sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/type-utils@8.62.1": + resolution: + { + integrity: sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + typescript: ">=4.8.4 <6.1.0" - '@typescript-eslint/types@8.62.1': - resolution: {integrity: sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/types@8.62.1": + resolution: + { + integrity: sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - '@typescript-eslint/typescript-estree@8.62.1': - resolution: {integrity: sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/typescript-estree@8.62.1": + resolution: + { + integrity: sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: '>=4.8.4 <6.1.0' + typescript: ">=4.8.4 <6.1.0" - '@typescript-eslint/utils@8.62.1': - resolution: {integrity: sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/utils@8.62.1": + resolution: + { + integrity: sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + typescript: ">=4.8.4 <6.1.0" - '@typescript-eslint/visitor-keys@8.62.1': - resolution: {integrity: sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/visitor-keys@8.62.1": + resolution: + { + integrity: sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - '@vitejs/plugin-react@6.0.3': - resolution: {integrity: sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@vitejs/plugin-react@6.0.3": + resolution: + { + integrity: sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg==, + } + engines: { node: ^20.19.0 || >=22.12.0 } peerDependencies: - '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 + "@rolldown/plugin-babel": ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 vite: ^8.0.0 peerDependenciesMeta: - '@rolldown/plugin-babel': + "@rolldown/plugin-babel": optional: true babel-plugin-react-compiler: optional: true - '@vitest/expect@4.1.9': - resolution: {integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==} + "@vitest/expect@4.1.9": + resolution: + { + integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==, + } - '@vitest/mocker@4.1.9': - resolution: {integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==} + "@vitest/mocker@4.1.9": + resolution: + { + integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==, + } peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -2225,49 +3055,85 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.9': - resolution: {integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==} + "@vitest/pretty-format@4.1.9": + resolution: + { + integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==, + } - '@vitest/runner@4.1.9': - resolution: {integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==} + "@vitest/runner@4.1.9": + resolution: + { + integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==, + } - '@vitest/snapshot@4.1.9': - resolution: {integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==} + "@vitest/snapshot@4.1.9": + resolution: + { + integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==, + } - '@vitest/spy@4.1.9': - resolution: {integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==} + "@vitest/spy@4.1.9": + resolution: + { + integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==, + } - '@vitest/utils@4.1.9': - resolution: {integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==} + "@vitest/utils@4.1.9": + resolution: + { + integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==, + } - '@xmldom/xmldom@0.8.13': - resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==} - engines: {node: '>=10.0.0'} + "@xmldom/xmldom@0.8.13": + resolution: + { + integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==, + } + engines: { node: ">=10.0.0" } abbrev@4.0.0: - resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { + integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==, + } + engines: { node: ^20.17.0 || >=22.9.0 } accepts@2.0.0: - resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==, + } + engines: { node: ">= 0.6" } acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn@8.17.0: - resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==, + } + engines: { node: ">=0.4.0" } hasBin: true agent-base@7.1.4: - resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==, + } + engines: { node: ">= 14" } ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -2275,7 +3141,10 @@ packages: optional: true ajv-formats@3.0.1: - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + resolution: + { + integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==, + } peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -2283,404 +3152,713 @@ packages: optional: true ajv@6.15.0: - resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + resolution: + { + integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==, + } ajv@8.20.0: - resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + resolution: + { + integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==, + } ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, + } + engines: { node: ">=6" } ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } ansi-regex@6.2.2: - resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==, + } + engines: { node: ">=12" } ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } app-builder-lib@26.15.3: - resolution: {integrity: sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow==, + } + engines: { node: ">=14.0.0" } peerDependencies: dmg-builder: 26.15.3 electron-builder-squirrel-windows: 26.15.3 argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } aria-hidden@1.2.6: - resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==, + } + engines: { node: ">=10" } asn1js@3.0.10: - resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==, + } + engines: { node: ">=12.0.0" } assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==, + } + engines: { node: ">=12" } ast-types@0.16.1: - resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==, + } + engines: { node: ">=4" } async-exit-hook@2.0.1: - resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==, + } + engines: { node: ">=0.12.0" } async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + resolution: + { + integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==, + } asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + resolution: + { + integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, + } at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} + resolution: + { + integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, + } + engines: { node: ">= 4.0.0" } atomically@1.7.0: - resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} - engines: {node: '>=10.12.0'} + resolution: + { + integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==, + } + engines: { node: ">=10.12.0" } aws4@1.13.2: - resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + resolution: + { + integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==, + } balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } balanced-match@4.0.4: - resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} - engines: {node: 18 || 20 || >=22} + resolution: + { + integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==, + } + engines: { node: 18 || 20 || >=22 } base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } baseline-browser-mapping@2.10.41: - resolution: {integrity: sha512-WwS7MHhqGHHlaVsqRZnhvCEMS0owDX+SxRlve7JkuH7My1Ara3ZriTmCQupPfYjxMZ8I/tgxtJYr2t7taHaH4A==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-WwS7MHhqGHHlaVsqRZnhvCEMS0owDX+SxRlve7JkuH7My1Ara3ZriTmCQupPfYjxMZ8I/tgxtJYr2t7taHaH4A==, + } + engines: { node: ">=6.0.0" } hasBin: true bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + resolution: + { + integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, + } body-parser@2.3.0: - resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==, + } + engines: { node: ">=18" } boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + resolution: + { + integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, + } deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. brace-expansion@1.1.15: - resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} + resolution: + { + integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==, + } brace-expansion@2.1.1: - resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} + resolution: + { + integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==, + } brace-expansion@5.0.7: - resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==} - engines: {node: 18 || 20 || >=22} + resolution: + { + integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==, + } + engines: { node: 18 || 20 || >=22 } braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, + } + engines: { node: ">=8" } browserslist@4.28.4: - resolution: {integrity: sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + resolution: + { + integrity: sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + resolution: + { + integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, + } buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + resolution: + { + integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, + } builder-util-runtime@9.7.0: - resolution: {integrity: sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw==, + } + engines: { node: ">=12.0.0" } builder-util@26.15.3: - resolution: {integrity: sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw==, + } + engines: { node: ">=14.0.0" } bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==, + } + engines: { node: ">=18" } bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, + } + engines: { node: ">= 0.8" } bytestreamjs@2.0.1: - resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==, + } + engines: { node: ">=6.0.0" } cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} + resolution: + { + integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==, + } + engines: { node: ">=10.6.0" } cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==, + } + engines: { node: ">=8" } call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==, + } + engines: { node: ">= 0.4" } call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==, + } + engines: { node: ">= 0.4" } callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, + } + engines: { node: ">=6" } caniuse-lite@1.0.30001800: - resolution: {integrity: sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==} + resolution: + { + integrity: sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==, + } chai@6.2.2: - resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==, + } + engines: { node: ">=18" } chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: ">=10" } chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + resolution: + { + integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==, + } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } chownr@3.0.0: - resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==, + } + engines: { node: ">=18" } chromium-pickle-js@0.2.0: - resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} + resolution: + { + integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==, + } ci-info@4.3.1: - resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==, + } + engines: { node: ">=8" } ci-info@4.4.0: - resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==, + } + engines: { node: ">=8" } class-variance-authority@0.7.1: - resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + resolution: + { + integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==, + } cli-cursor@5.0.0: - resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==, + } + engines: { node: ">=18" } cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==, + } + engines: { node: ">=6" } cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + resolution: + { + integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==, + } cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, + } + engines: { node: ">=12" } clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + resolution: + { + integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==, + } clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==, + } + engines: { node: ">=6" } cmdk@1.1.1: - resolution: {integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==} + resolution: + { + integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==, + } peerDependencies: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc code-block-writer@13.0.3: - resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} + resolution: + { + integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==, + } color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, + } + engines: { node: ">= 0.8" } commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==, + } + engines: { node: ">=16" } commander@14.0.3: - resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==, + } + engines: { node: ">=20" } commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==, + } + engines: { node: ">= 6" } commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } compare-version@0.1.2: - resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==, + } + engines: { node: ">=0.10.0" } concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } conf@10.2.0: - resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==, + } + engines: { node: ">=12" } content-disposition@1.1.0: - resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==, + } + engines: { node: ">=18" } content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, + } + engines: { node: ">= 0.6" } content-type@2.0.0: - resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==, + } + engines: { node: ">=18" } convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } cookie-es@3.1.1: - resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} + resolution: + { + integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==, + } cookie-signature@1.2.2: - resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} - engines: {node: '>=6.6.0'} + resolution: + { + integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==, + } + engines: { node: ">=6.6.0" } cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==, + } + engines: { node: ">= 0.6" } core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + resolution: + { + integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, + } cors@2.8.6: - resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==, + } + engines: { node: ">= 0.10" } cosmiconfig@9.0.2: - resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==, + } + engines: { node: ">=14" } peerDependencies: - typescript: '>=4.9.5' + typescript: ">=4.9.5" peerDependenciesMeta: typescript: optional: true crelt@1.0.7: - resolution: {integrity: sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==} + resolution: + { + integrity: sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==, + } cross-dirname@0.1.0: - resolution: {integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==} + resolution: + { + integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==, + } cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, + } + engines: { node: ">= 8" } cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, + } + engines: { node: ">=4" } hasBin: true csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + resolution: + { + integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==, + } d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==, + } + engines: { node: ">=12" } d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==, + } + engines: { node: ">=12" } d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==, + } + engines: { node: ">=12" } d3-format@3.1.2: - resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==, + } + engines: { node: ">=12" } d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==, + } + engines: { node: ">=12" } d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==, + } + engines: { node: ">=12" } d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==, + } + engines: { node: ">=12" } d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==, + } + engines: { node: ">=12" } d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==, + } + engines: { node: ">=12" } d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==, + } + engines: { node: ">=12" } d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==, + } + engines: { node: ">=12" } date-fns@4.4.0: - resolution: {integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==} + resolution: + { + integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==, + } debounce-fn@4.0.0: - resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==, + } + engines: { node: ">=10" } debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, + } + engines: { node: ">=6.0" } peerDependencies: - supports-color: '*' + supports-color: "*" peerDependenciesMeta: supports-color: optional: true decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, + } + engines: { node: ">=0.10.0" } decimal.js-light@2.5.1: - resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + resolution: + { + integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==, + } decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, + } + engines: { node: ">=10" } dedent@1.7.2: - resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} + resolution: + { + integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==, + } peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -2688,351 +3866,618 @@ packages: optional: true deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } deepfilternet3-noise-filter@1.2.1: - resolution: {integrity: sha512-OAyrHTDlUHH+AhfpVNKYEOhVqb9cZpu0fdNThplA/tB/Ts4PF/UsI+abl2n1IbSxUkhiF0OqDejEhk1n42Oqpw==} - engines: {node: '>=18.0.0'} + resolution: + { + integrity: sha512-OAyrHTDlUHH+AhfpVNKYEOhVqb9cZpu0fdNThplA/tB/Ts4PF/UsI+abl2n1IbSxUkhiF0OqDejEhk1n42Oqpw==, + } + engines: { node: ">=18.0.0" } peerDependencies: livekit-client: ^2.0.0 deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, + } + engines: { node: ">=0.10.0" } default-browser-id@5.0.1: - resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==, + } + engines: { node: ">=18" } default-browser@5.5.0: - resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==, + } + engines: { node: ">=18" } defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==, + } + engines: { node: ">=10" } define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, + } + engines: { node: ">= 0.4" } define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, + } + engines: { node: ">=8" } define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==, + } + engines: { node: ">=12" } define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, + } + engines: { node: ">= 0.4" } delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, + } + engines: { node: ">=0.4.0" } depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: ">= 0.8" } detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==, + } + engines: { node: ">=8" } detect-node-es@1.1.0: - resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + resolution: + { + integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==, + } detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + resolution: + { + integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==, + } diff@8.0.4: - resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} - engines: {node: '>=0.3.1'} + resolution: + { + integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==, + } + engines: { node: ">=0.3.1" } dijkstrajs@1.0.3: - resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + resolution: + { + integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==, + } dir-compare@4.2.0: - resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} + resolution: + { + integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==, + } dmg-builder@26.15.3: - resolution: {integrity: sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ==} + resolution: + { + integrity: sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ==, + } dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==, + } + engines: { node: ">=10" } dotenv-expand@11.0.7: - resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==, + } + engines: { node: ">=12" } dotenv@16.6.1: - resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==, + } + engines: { node: ">=12" } dotenv@17.4.2: - resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==, + } + engines: { node: ">=12" } dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==, + } + engines: { node: ">= 0.4" } duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} + resolution: + { + integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==, + } ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + resolution: + { + integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, + } ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==, + } + engines: { node: ">=0.10.0" } hasBin: true electron-builder-squirrel-windows@26.15.3: - resolution: {integrity: sha512-Jc19XPV9y9+2bAdZPkXuVNGNIEFBq9poHC61l8Kv6FdK7DRG3+Ic0rerC0DXOaeHNz8yW0fg/JnF8GQROOF5MA==} + resolution: + { + integrity: sha512-Jc19XPV9y9+2bAdZPkXuVNGNIEFBq9poHC61l8Kv6FdK7DRG3+Ic0rerC0DXOaeHNz8yW0fg/JnF8GQROOF5MA==, + } electron-builder@26.15.3: - resolution: {integrity: sha512-a1KM5heqS3gQCZzizXEI8RjJy3QVogULPdeSknt76uLDpBIW/HDGsMg/XgP0riP6PI9COsRvFITKKGDqA8fJxA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-a1KM5heqS3gQCZzizXEI8RjJy3QVogULPdeSknt76uLDpBIW/HDGsMg/XgP0riP6PI9COsRvFITKKGDqA8fJxA==, + } + engines: { node: ">=14.0.0" } hasBin: true electron-publish@26.15.3: - resolution: {integrity: sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q==} + resolution: + { + integrity: sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q==, + } electron-to-chromium@1.5.385: - resolution: {integrity: sha512-78sa/M08MNAYHQfjoWMvOlKQqZ0ElhSm/L5HNUc96VZ3b+KvDVnngFm8sYQy0XrhTRgAhggHr5abA7yTvRdo4Q==} + resolution: + { + integrity: sha512-78sa/M08MNAYHQfjoWMvOlKQqZ0ElhSm/L5HNUc96VZ3b+KvDVnngFm8sYQy0XrhTRgAhggHr5abA7yTvRdo4Q==, + } electron-winstaller@5.4.0: - resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==, + } + engines: { node: ">=8.0.0" } electron@39.8.10: - resolution: {integrity: sha512-zbYtGPYUI7PzqLAzkk21Rk6j67WN0hxn0Mq/njErZo1d0HSf33is4f8ICI5fMLy5vYe0JtCtM5sYunNOaochSQ==} - engines: {node: '>= 12.20.55'} + resolution: + { + integrity: sha512-zbYtGPYUI7PzqLAzkk21Rk6j67WN0hxn0Mq/njErZo1d0HSf33is4f8ICI5fMLy5vYe0JtCtM5sYunNOaochSQ==, + } + engines: { node: ">= 12.20.55" } hasBin: true embla-carousel-react@8.6.0: - resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} + resolution: + { + integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==, + } peerDependencies: react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc embla-carousel-reactive-utils@8.6.0: - resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} + resolution: + { + integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==, + } peerDependencies: embla-carousel: 8.6.0 embla-carousel@8.6.0: - resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} + resolution: + { + integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==, + } emoji-regex@10.6.0: - resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + resolution: + { + integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==, + } emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==, + } + engines: { node: ">= 0.8" } end-of-stream@1.4.5: - resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + resolution: + { + integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==, + } enhanced-resolve@5.21.6: - resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==, + } + engines: { node: ">=10.13.0" } enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==, + } + engines: { node: ">=8.6" } env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, + } + engines: { node: ">=6" } err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + resolution: + { + integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==, + } error-ex@1.3.4: - resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + resolution: + { + integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==, + } es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==, + } + engines: { node: ">= 0.4" } es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, + } + engines: { node: ">= 0.4" } es-module-lexer@2.3.0: - resolution: {integrity: sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==} + resolution: + { + integrity: sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==, + } es-object-atoms@1.1.2: - resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==, + } + engines: { node: ">= 0.4" } es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==, + } + engines: { node: ">= 0.4" } es-toolkit@1.49.0: - resolution: {integrity: sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g==} + resolution: + { + integrity: sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g==, + } es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + resolution: + { + integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, + } esbuild@0.25.12: - resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==, + } + engines: { node: ">=18" } hasBin: true escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, + } + engines: { node: ">=6" } escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + resolution: + { + integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, + } escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } eslint-plugin-react-hooks@7.1.1: - resolution: {integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==, + } + engines: { node: ">=18" } peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 eslint-scope@9.1.2: - resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { + integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } eslint-visitor-keys@5.0.1: - resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { + integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } eslint@10.6.0: - resolution: {integrity: sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { + integrity: sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } hasBin: true peerDependencies: - jiti: '*' + jiti: "*" peerDependenciesMeta: jiti: optional: true espree@11.2.0: - resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { + integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==, + } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, + } + engines: { node: ">=4" } hasBin: true esquery@1.7.0: - resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==, + } + engines: { node: ">=0.10" } esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, + } + engines: { node: ">= 0.6" } eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} + resolution: + { + integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==, + } events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: ">=0.8.x" } eventsource-parser@3.1.0: - resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==} - engines: {node: '>=18.0.0'} + resolution: + { + integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==, + } + engines: { node: ">=18.0.0" } eventsource@3.0.7: - resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} - engines: {node: '>=18.0.0'} + resolution: + { + integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==, + } + engines: { node: ">=18.0.0" } execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, + } + engines: { node: ">=10" } execa@9.6.1: - resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} - engines: {node: ^18.19.0 || >=20.5.0} + resolution: + { + integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==, + } + engines: { node: ^18.19.0 || >=20.5.0 } expect-type@1.4.0: - resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==, + } + engines: { node: ">=12.0.0" } exponential-backoff@3.1.3: - resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} + resolution: + { + integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==, + } express-rate-limit@8.5.2: - resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} - engines: {node: '>= 16'} + resolution: + { + integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==, + } + engines: { node: ">= 16" } peerDependencies: - express: '>= 4.11' + express: ">= 4.11" express@5.2.1: - resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==, + } + engines: { node: ">= 18" } extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} + resolution: + { + integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==, + } + engines: { node: ">= 10.17.0" } hasBin: true fallow@2.104.0: - resolution: {integrity: sha512-UX6Q10Feyb7epe5tTI0sHCHPReOhuKOtxdVpkbqr1lLSZirv2PJiLTTrJr7gKeLHbztE9CHR1y7YARSe0rNYag==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-UX6Q10Feyb7epe5tTI0sHCHPReOhuKOtxdVpkbqr1lLSZirv2PJiLTTrJr7gKeLHbztE9CHR1y7YARSe0rNYag==, + } + engines: { node: ">=16" } hasBin: true fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} + resolution: + { + integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==, + } + engines: { node: ">=8.6.0" } fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } fast-uri@3.1.3: - resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==} + resolution: + { + integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==, + } fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + resolution: + { + integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==, + } fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + resolution: + { + integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==, + } fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, + } + engines: { node: ">=12.0.0" } peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -3040,1626 +4485,2815 @@ packages: optional: true figures@6.1.0: - resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==, + } + engines: { node: ">=18" } file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, + } + engines: { node: ">=16.0.0" } filelist@1.0.6: - resolution: {integrity: sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==} + resolution: + { + integrity: sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==, + } fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, + } + engines: { node: ">=8" } finalhandler@2.1.1: - resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} - engines: {node: '>= 18.0.0'} + resolution: + { + integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==, + } + engines: { node: ">= 18.0.0" } find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==, + } + engines: { node: ">=6" } find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, + } + engines: { node: ">=8" } find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, + } + engines: { node: ">=16" } flatted@3.4.2: - resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + resolution: + { + integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==, + } form-data@4.0.6: - resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==, + } + engines: { node: ">= 6" } forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: ">= 0.6" } fresh@2.0.0: - resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==, + } + engines: { node: ">= 0.8" } fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, + } + engines: { node: ">=12" } fs-extra@11.3.1: - resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} - engines: {node: '>=14.14'} + resolution: + { + integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==, + } + engines: { node: ">=14.14" } fs-extra@11.3.6: - resolution: {integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==} - engines: {node: '>=14.14'} + resolution: + { + integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==, + } + engines: { node: ">=14.14" } fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: ">=6 <7 || >=8" } fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { + integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==, + } + engines: { node: ">=6 <7 || >=8" } fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, + } + engines: { node: ">=10" } fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } fuzzysort@3.1.0: - resolution: {integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==} + resolution: + { + integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==, + } gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, + } + engines: { node: ">=6.9.0" } get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + resolution: + { + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, + } + engines: { node: 6.* || 8.* || >= 10.* } get-east-asian-width@1.6.0: - resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==, + } + engines: { node: ">=18" } get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==, + } + engines: { node: ">= 0.4" } get-nonce@1.0.1: - resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==, + } + engines: { node: ">=6" } get-own-enumerable-keys@1.0.0: - resolution: {integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==, + } + engines: { node: ">=14.16" } get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==, + } + engines: { node: ">= 0.4" } get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, + } + engines: { node: ">=8" } get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, + } + engines: { node: ">=10" } get-stream@9.0.1: - resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==, + } + engines: { node: ">=18" } glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, + } + engines: { node: ">= 6" } glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } 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 global-agent@3.0.0: - resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} - engines: {node: '>=10.0'} + resolution: + { + integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==, + } + engines: { node: ">=10.0" } globals@17.7.0: - resolution: {integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==, + } + engines: { node: ">=18" } globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==, + } + engines: { node: ">= 0.4" } gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==, + } + engines: { node: ">= 0.4" } got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} + resolution: + { + integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==, + } + engines: { node: ">=10.19.0" } graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: ">=8" } has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + resolution: + { + integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, + } has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==, + } + engines: { node: ">= 0.4" } has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, + } + engines: { node: ">= 0.4" } hasown@2.0.4: - resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==, + } + engines: { node: ">= 0.4" } hermes-estree@0.25.1: - resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + resolution: + { + integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==, + } hermes-parser@0.25.1: - resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + resolution: + { + integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==, + } hono@4.12.27: - resolution: {integrity: sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==} - engines: {node: '>=16.9.0'} + resolution: + { + integrity: sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==, + } + engines: { node: ">=16.9.0" } hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, + } + engines: { node: ">=10" } http-cache-semantics@4.2.0: - resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + resolution: + { + integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==, + } http-errors@2.0.1: - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==, + } + engines: { node: ">= 0.8" } http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==, + } + engines: { node: ">= 14" } http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} + resolution: + { + integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==, + } + engines: { node: ">=10.19.0" } https-proxy-agent@7.0.6: - resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==, + } + engines: { node: ">= 14" } human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + resolution: + { + integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, + } + engines: { node: ">=10.17.0" } human-signals@8.0.1: - resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} - engines: {node: '>=18.18.0'} + resolution: + { + integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==, + } + engines: { node: ">=18.18.0" } iconv-lite@0.7.2: - resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==, + } + engines: { node: ">=0.10.0" } ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, + } + engines: { node: ">= 4" } ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==, + } + engines: { node: ">= 4" } immer@10.2.0: - resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==} + resolution: + { + integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==, + } immer@11.1.9: - resolution: {integrity: sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA==} + resolution: + { + integrity: sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA==, + } import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==, + } + engines: { node: ">=6" } imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } input-otp@1.4.2: - resolution: {integrity: sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA==} + resolution: + { + integrity: sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA==, + } peerDependencies: react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==, + } + engines: { node: ">=12" } ip-address@10.2.0: - resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==, + } + engines: { node: ">= 12" } ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: ">= 0.10" } is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + resolution: + { + integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, + } is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, + } + engines: { node: ">=8" } hasBin: true is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } hasBin: true is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: ">=8" } is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } is-in-ssh@1.0.0: - resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==, + } + engines: { node: ">=20" } is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==, + } + engines: { node: ">=14.16" } hasBin: true is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==, + } + engines: { node: ">=12" } is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + } + engines: { node: ">=0.12.0" } is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, + } + engines: { node: ">=8" } is-obj@3.0.0: - resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==, + } + engines: { node: ">=12" } is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, + } + engines: { node: ">=12" } is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + resolution: + { + integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==, + } is-regexp@3.1.0: - resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==, + } + engines: { node: ">=12" } is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, + } + engines: { node: ">=8" } is-stream@4.0.1: - resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==, + } + engines: { node: ">=18" } is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==, + } + engines: { node: ">=12" } is-unicode-supported@2.1.0: - resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==, + } + engines: { node: ">=18" } is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, + } + engines: { node: ">=8" } is-wsl@3.1.1: - resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==, + } + engines: { node: ">=16" } isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + resolution: + { + integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, + } isbinaryfile@4.0.10: - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} - engines: {node: '>= 8.0.0'} + resolution: + { + integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==, + } + engines: { node: ">= 8.0.0" } isbinaryfile@5.0.7: - resolution: {integrity: sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==} - engines: {node: '>= 18.0.0'} + resolution: + { + integrity: sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==, + } + engines: { node: ">= 18.0.0" } isbot@5.1.44: - resolution: {integrity: sha512-PGEHtwMnKbZpeSEXW2Utx+/JWed7dp6DiH0WWg33vGSDA7RUvpUeJSVlLrVkQ1RCpvDOUc/eH9ql7VsdbBZ8pA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-PGEHtwMnKbZpeSEXW2Utx+/JWed7dp6DiH0WWg33vGSDA7RUvpUeJSVlLrVkQ1RCpvDOUc/eH9ql7VsdbBZ8pA==, + } + engines: { node: ">=18" } isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } isexe@3.1.5: - resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==, + } + engines: { node: ">=18" } isexe@4.0.0: - resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==, + } + engines: { node: ">=20" } jake@10.9.4: - resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==, + } + engines: { node: ">=10" } hasBin: true jiti@2.7.0: - resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + resolution: + { + integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==, + } hasBin: true jose@6.2.3: - resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==} + resolution: + { + integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==, + } js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, + } js-yaml@4.3.0: - resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} + resolution: + { + integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==, + } hasBin: true jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==, + } + engines: { node: ">=6" } hasBin: true json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + resolution: + { + integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, + } json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } json-schema-typed@7.0.3: - resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} + resolution: + { + integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==, + } json-schema-typed@8.0.2: - resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==} + resolution: + { + integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==, + } json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + resolution: + { + integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==, + } json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: ">=6" } hasBin: true jsonc-parser@3.3.1: - resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + resolution: + { + integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==, + } jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } jsonfile@6.2.1: - resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} + resolution: + { + integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==, + } keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, + } + engines: { node: ">=6" } kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, + } + engines: { node: ">=6" } lazy-val@1.0.5: - resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} + resolution: + { + integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==, + } levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==, + } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [android] lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==, + } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [darwin] lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==, + } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [darwin] lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==, + } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [freebsd] lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==, + } + engines: { node: ">= 12.0.0" } cpu: [arm] os: [linux] lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==, + } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [linux] libc: [glibc] lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==, + } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [linux] libc: [musl] lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==, + } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [linux] libc: [glibc] lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==, + } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [linux] libc: [musl] lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==, + } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [win32] lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==, + } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [win32] lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} - engines: {node: '>= 12.0.0'} + resolution: + { + integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==, + } + engines: { node: ">= 12.0.0" } lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + resolution: + { + integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, + } livekit-client@2.20.0: - resolution: {integrity: sha512-RIJcpvBmOmwz3jTj3rmdY6Dzr55HrhcaJjMgY+HSmoEM+yIRyA40m7r8UKv0hnZWM3z/AYhP1q8C8ciz5UWFKQ==} + resolution: + { + integrity: sha512-RIJcpvBmOmwz3jTj3rmdY6Dzr55HrhcaJjMgY+HSmoEM+yIRyA40m7r8UKv0hnZWM3z/AYhP1q8C8ciz5UWFKQ==, + } peerDependencies: - '@types/dom-mediacapture-record': ^1 + "@types/dom-mediacapture-record": ^1 locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==, + } + engines: { node: ">=6" } locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, + } + engines: { node: ">=8" } locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + resolution: + { + integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==, + } lodash@4.18.1: - resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + resolution: + { + integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==, + } log-symbols@6.0.0: - resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==, + } + engines: { node: ">=18" } loglevel@1.9.1: - resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} - engines: {node: '>= 0.6.0'} + resolution: + { + integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==, + } + engines: { node: ">= 0.6.0" } loglevel@1.9.2: - resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} - engines: {node: '>= 0.6.0'} + resolution: + { + integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==, + } + engines: { node: ">= 0.6.0" } lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==, + } + engines: { node: ">=8" } lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + resolution: + { + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, + } lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: ">=10" } lucide-react@1.23.0: - resolution: {integrity: sha512-38BpJcD0JhFosxHApP/BYsBetLpQFRoTRzEzstM/XCc3jsAG7wqaY1lgVwxiUe3xqYE+lNxo2PkCmYwXWrwwIw==} + resolution: + { + integrity: sha512-38BpJcD0JhFosxHApP/BYsBetLpQFRoTRzEzstM/XCc3jsAG7wqaY1lgVwxiUe3xqYE+lNxo2PkCmYwXWrwwIw==, + } peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 magic-string@0.30.21: - resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + resolution: + { + integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, + } matcher@3.0.0: - resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==, + } + engines: { node: ">=10" } math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==, + } + engines: { node: ">= 0.4" } media-typer@1.1.0: - resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==, + } + engines: { node: ">= 0.8" } merge-descriptors@2.0.0: - resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==, + } + engines: { node: ">=18" } merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, + } + engines: { node: ">= 8" } micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, + } + engines: { node: ">=8.6" } mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: ">= 0.6" } mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==, + } + engines: { node: ">= 0.6" } mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } mime-types@3.0.2: - resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==, + } + engines: { node: ">=18" } mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, + } + engines: { node: ">=4.0.0" } hasBin: true mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, + } + engines: { node: ">=6" } mimic-fn@3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==, + } + engines: { node: ">=8" } mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==, + } + engines: { node: ">=18" } mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==, + } + engines: { node: ">=4" } mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, + } + engines: { node: ">=10" } minimatch@10.2.5: - resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} - engines: {node: 18 || 20 || >=22} + resolution: + { + integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==, + } + engines: { node: 18 || 20 || >=22 } minimatch@3.1.5: - resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + resolution: + { + integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==, + } minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==, + } + engines: { node: ">=10" } minimatch@9.0.9: - resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==, + } + engines: { node: ">=16 || 14 >=14.17" } minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } minipass@7.1.3: - resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==, + } + engines: { node: ">=16 || 14 >=14.17" } minizlib@3.1.0: - resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==, + } + engines: { node: ">= 18" } mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + resolution: + { + integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, + } hasBin: true ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz: - resolution: {integrity: sha512-A2SN971Er728ibaemcL1qu1PGJuOZxNGY8ssgld3ETF94tVJ3GeBHQERcbQNdj9fExPEmnjkq/o1tt8W+Vdcvw==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz} + resolution: + { + integrity: sha512-A2SN971Er728ibaemcL1qu1PGJuOZxNGY8ssgld3ETF94tVJ3GeBHQERcbQNdj9fExPEmnjkq/o1tt8W+Vdcvw==, + tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz, + } version: 0.1.0 nanoid@3.3.15: - resolution: {integrity: sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { + integrity: sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } negotiator@1.0.0: - resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==, + } + engines: { node: ">= 0.6" } next-themes@0.4.6: - resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} + resolution: + { + integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==, + } peerDependencies: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc node-abi@4.33.0: - resolution: {integrity: sha512-vLBWCKb+7LWsX+TbfzWOkw0W81m377tyx3hOweBTjO43CXZnRGS1/JPWs20fr0PgZyDXk6ROYrylsEycK8raDA==} - engines: {node: '>=22.12.0'} + resolution: + { + integrity: sha512-vLBWCKb+7LWsX+TbfzWOkw0W81m377tyx3hOweBTjO43CXZnRGS1/JPWs20fr0PgZyDXk6ROYrylsEycK8raDA==, + } + engines: { node: ">=22.12.0" } node-api-version@0.2.1: - resolution: {integrity: sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==} + resolution: + { + integrity: sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==, + } node-gyp@12.4.0: - resolution: {integrity: sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { + integrity: sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==, + } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + resolution: + { + integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, + } node-releases@2.0.50: - resolution: {integrity: sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==, + } + engines: { node: ">=18" } nopt@9.0.0: - resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { + integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==, + } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==, + } + engines: { node: ">=10" } npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, + } + engines: { node: ">=8" } npm-run-path@6.0.0: - resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==, + } + engines: { node: ">=18" } object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, + } + engines: { node: ">=0.10.0" } object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==, + } + engines: { node: ">= 0.4" } object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, + } + engines: { node: ">= 0.4" } object-treeify@1.1.33: - resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==, + } + engines: { node: ">= 10" } obug@2.1.3: - resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} - engines: {node: '>=12.20.0'} + resolution: + { + integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==, + } + engines: { node: ">=12.20.0" } on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, + } + engines: { node: ">= 0.8" } once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, + } + engines: { node: ">=6" } onetime@7.0.0: - resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==, + } + engines: { node: ">=18" } open@11.0.0: - resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==, + } + engines: { node: ">=20" } open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, + } + engines: { node: ">=12" } optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, + } + engines: { node: ">= 0.8.0" } ora@8.2.0: - resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==, + } + engines: { node: ">=18" } p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==, + } + engines: { node: ">=8" } p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, + } + engines: { node: ">=6" } p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==, + } + engines: { node: ">=6" } p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, + } + engines: { node: ">=8" } p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, + } + engines: { node: ">=6" } parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, + } + engines: { node: ">=8" } parse-ms@4.0.0: - resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==, + } + engines: { node: ">=18" } parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, + } + engines: { node: ">= 0.8" } path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + resolution: + { + integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==, + } path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, + } + engines: { node: ">=4" } path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: ">=0.10.0" } path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } path-to-regexp@8.4.2: - resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} + resolution: + { + integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==, + } pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + resolution: + { + integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, + } pe-library@0.4.1: - resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} - engines: {node: '>=12', npm: '>=6'} + resolution: + { + integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==, + } + engines: { node: ">=12", npm: ">=6" } pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + resolution: + { + integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==, + } picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + resolution: + { + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, + } picomatch@2.3.2: - resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==, + } + engines: { node: ">=8.6" } picomatch@4.0.5: - resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==, + } + engines: { node: ">=12" } pkce-challenge@5.0.1: - resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} - engines: {node: '>=16.20.0'} + resolution: + { + integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==, + } + engines: { node: ">=16.20.0" } pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==, + } + engines: { node: ">=8" } pkijs@3.4.0: - resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==, + } + engines: { node: ">=16.0.0" } plist@3.1.0: - resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} - engines: {node: '>=10.4.0'} + resolution: + { + integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==, + } + engines: { node: ">=10.4.0" } pngjs@5.0.0: - resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==, + } + engines: { node: ">=10.13.0" } postcss-selector-parser@7.1.4: - resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==, + } + engines: { node: ">=4" } postcss@8.5.16: - resolution: {integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==} - engines: {node: ^10 || ^12 || >=14} + resolution: + { + integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==, + } + engines: { node: ^10 || ^12 || >=14 } postject@1.0.0-alpha.6: - resolution: {integrity: sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==, + } + engines: { node: ">=14.0.0" } hasBin: true powershell-utils@0.1.0: - resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==, + } + engines: { node: ">=20" } prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } prettier@3.9.4: - resolution: {integrity: sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==, + } + engines: { node: ">=14" } hasBin: true pretty-ms@9.3.0: - resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==, + } + engines: { node: ">=18" } proc-log@6.1.0: - resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { + integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==, + } + engines: { node: ^20.17.0 || >=22.9.0 } process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + resolution: + { + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, + } progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, + } + engines: { node: ">=0.4.0" } promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==, + } + engines: { node: ">=10" } prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, + } + engines: { node: ">= 6" } proper-lockfile@4.1.2: - resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} + resolution: + { + integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==, + } proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: ">= 0.10" } pump@3.0.4: - resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + resolution: + { + integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==, + } punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } pvtsutils@1.3.6: - resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} + resolution: + { + integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==, + } pvutils@1.1.5: - resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==, + } + engines: { node: ">=16.0.0" } qrcode@1.5.4: - resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==, + } + engines: { node: ">=10.13.0" } hasBin: true qs@6.15.3: - resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} - engines: {node: '>=0.6'} + resolution: + { + integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==, + } + engines: { node: ">=0.6" } queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==, + } + engines: { node: ">=10" } range-parser@1.3.0: - resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==, + } + engines: { node: ">= 0.6" } raw-body@3.0.2: - resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==, + } + engines: { node: ">= 0.10" } react-day-picker@10.0.1: - resolution: {integrity: sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w==, + } + engines: { node: ">=18" } peerDependencies: - '@types/react': '>=16.8.0' - react: '>=16.8.0' + "@types/react": ">=16.8.0" + react: ">=16.8.0" peerDependenciesMeta: - '@types/react': + "@types/react": optional: true react-dom@19.2.7: - resolution: {integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==} + resolution: + { + integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==, + } peerDependencies: react: ^19.2.7 react-is@19.2.7: - resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==} + resolution: + { + integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==, + } react-redux@9.3.0: - resolution: {integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==} + resolution: + { + integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==, + } peerDependencies: - '@types/react': ^18.2.25 || ^19 + "@types/react": ^18.2.25 || ^19 react: ^18.0 || ^19 redux: ^5.0.0 peerDependenciesMeta: - '@types/react': + "@types/react": optional: true redux: optional: true react-remove-scroll-bar@2.3.8: - resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==, + } + engines: { node: ">=10" } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: - '@types/react': + "@types/react": optional: true react-remove-scroll@2.7.2: - resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==, + } + engines: { node: ">=10" } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true react-resizable-panels@4.12.0: - resolution: {integrity: sha512-t/Gp57qSCxGQ52ckhz+8lM7dnuymeU95TEzl2U203qEbGkSLHrtm7US2/ANzq/zOlja3CwPTAfCDuh1unv9mfw==} + resolution: + { + integrity: sha512-t/Gp57qSCxGQ52ckhz+8lM7dnuymeU95TEzl2U203qEbGkSLHrtm7US2/ANzq/zOlja3CwPTAfCDuh1unv9mfw==, + } peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 react-style-singleton@2.2.3: - resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==, + } + engines: { node: ">=10" } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true react@19.2.7: - resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==, + } + engines: { node: ">=0.10.0" } read-binary-file-arch@1.0.6: - resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} + resolution: + { + integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==, + } hasBin: true readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + resolution: + { + integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, + } recast@0.23.12: - resolution: {integrity: sha512-dEWRjcINDu/F4l2dYx57ugBtD7HV9KXESyxhzw/MqWLeglJrsjJKqACPyUPg+6AF8mIgm+Zi0dZ3ACoIg+QtpA==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-dEWRjcINDu/F4l2dYx57ugBtD7HV9KXESyxhzw/MqWLeglJrsjJKqACPyUPg+6AF8mIgm+Zi0dZ3ACoIg+QtpA==, + } + engines: { node: ">= 4" } recharts@3.8.1: - resolution: {integrity: sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==, + } + engines: { node: ">=18" } peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-is: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 redux-thunk@3.1.0: - resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} + resolution: + { + integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==, + } peerDependencies: redux: ^5.0.0 redux@5.0.1: - resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} + resolution: + { + integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==, + } require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: ">=0.10.0" } require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + resolution: + { + integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==, + } resedit@1.7.2: - resolution: {integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==} - engines: {node: '>=12', npm: '>=6'} + resolution: + { + integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==, + } + engines: { node: ">=12", npm: ">=6" } reselect@5.1.1: - resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} + resolution: + { + integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==, + } reselect@5.2.0: - resolution: {integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==} + resolution: + { + integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==, + } resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolution: + { + integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==, + } resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: ">=4" } responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + resolution: + { + integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==, + } restore-cursor@5.1.0: - resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==, + } + engines: { node: ">=18" } retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==, + } + engines: { node: ">= 4" } reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { + integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + resolution: + { + integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==, + } deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true roarr@2.15.4: - resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==, + } + engines: { node: ">=8.0" } rolldown@1.1.4: - resolution: {integrity: sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==} - engines: {node: ^20.19.0 || >=22.12.0} + resolution: + { + integrity: sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==, + } + engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true router@2.2.0: - resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==, + } + engines: { node: ">= 18" } run-applescript@7.1.0: - resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==, + } + engines: { node: ">=18" } run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + resolution: + { + integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==, + } safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + resolution: + { + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, + } safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, + } sanitize-filename@1.6.4: - resolution: {integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==} + resolution: + { + integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==, + } sax@1.6.0: - resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} - engines: {node: '>=11.0.0'} + resolution: + { + integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==, + } + engines: { node: ">=11.0.0" } scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + resolution: + { + integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==, + } sdp-transform@2.15.0: - resolution: {integrity: sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==} + resolution: + { + integrity: sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==, + } hasBin: true sdp@3.2.2: - resolution: {integrity: sha512-xZocWwfyp4hkbN4hLWxMjmv2Q8aNa9MhmOZ7L9aCZPT+dZsgRr6wZRrSYE3HTdyk/2pZKPSgqI7ns7Een1xMSA==} + resolution: + { + integrity: sha512-xZocWwfyp4hkbN4hLWxMjmv2Q8aNa9MhmOZ7L9aCZPT+dZsgRr6wZRrSYE3HTdyk/2pZKPSgqI7ns7Een1xMSA==, + } semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + resolution: + { + integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, + } semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + resolution: + { + integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, + } hasBin: true semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } hasBin: true semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==, + } + engines: { node: ">=10" } hasBin: true semver@7.8.5: - resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==, + } + engines: { node: ">=10" } hasBin: true send@1.2.1: - resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==, + } + engines: { node: ">= 18" } serialize-error@7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==, + } + engines: { node: ">=10" } seroval-plugins@1.5.4: - resolution: {integrity: sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw==, + } + engines: { node: ">=10" } peerDependencies: seroval: ^1.0 seroval@1.5.4: - resolution: {integrity: sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw==, + } + engines: { node: ">=10" } serve-static@2.2.1: - resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==, + } + engines: { node: ">= 18" } set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + resolution: + { + integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, + } setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } shadcn@4.12.0: - resolution: {integrity: sha512-o781ieQziCnXH2FKsEqxp1fnbHdbgAPO9inTSPeZ59hQfsZXuMGp3ul8oFSV5KQS4nbUK9b+DrDE6C7OvfKKQQ==} - engines: {node: '>=20.18.1'} + resolution: + { + integrity: sha512-o781ieQziCnXH2FKsEqxp1fnbHdbgAPO9inTSPeZ59hQfsZXuMGp3ul8oFSV5KQS4nbUK9b+DrDE6C7OvfKKQQ==, + } + engines: { node: ">=20.18.1" } hasBin: true shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } side-channel-list@1.0.1: - resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==, + } + engines: { node: ">= 0.4" } side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==, + } + engines: { node: ">= 0.4" } side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==, + } + engines: { node: ">= 0.4" } side-channel@1.1.1: - resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==, + } + engines: { node: ">= 0.4" } siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, + } signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } simple-update-notifier@2.0.0: - resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==, + } + engines: { node: ">=10" } sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + resolution: + { + integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, + } sonner@2.0.7: - resolution: {integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==} + resolution: + { + integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==, + } peerDependencies: react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, + } + engines: { node: ">=0.10.0" } source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + resolution: + { + integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, + } source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: ">=0.10.0" } sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + resolution: + { + integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==, + } stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } stat-mode@1.0.0: - resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==, + } + engines: { node: ">= 6" } statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==, + } + engines: { node: ">= 0.8" } std-env@4.1.0: - resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + resolution: + { + integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==, + } stdin-discarder@0.2.2: - resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==, + } + engines: { node: ">=18" } string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, + } + engines: { node: ">=8" } string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==, + } + engines: { node: ">=18" } string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + resolution: + { + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, + } stringify-object@5.0.0: - resolution: {integrity: sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==, + } + engines: { node: ">=14.16" } strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } strip-ansi@7.2.0: - resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==, + } + engines: { node: ">=12" } strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, + } + engines: { node: ">=4" } strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, + } + engines: { node: ">=6" } strip-final-newline@4.0.0: - resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==, + } + engines: { node: ">=18" } style-mod@4.1.3: - resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==} + resolution: + { + integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==, + } sumchecker@3.0.1: - resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} - engines: {node: '>= 8.0'} + resolution: + { + integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==, + } + engines: { node: ">= 8.0" } supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: ">=8" } systeminformation@5.31.11: - resolution: {integrity: sha512-I6O7iaUj23AXRgCPDDnvi3xHvdOLp4+1YMbF+X194lJwY1NeWojgHJPhslVKcmTtrLTguRk3QJK+xEdTiI3P0w==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-I6O7iaUj23AXRgCPDDnvi3xHvdOLp4+1YMbF+X194lJwY1NeWojgHJPhslVKcmTtrLTguRk3QJK+xEdTiI3P0w==, + } + engines: { node: ">=8.0.0" } os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true tailwind-merge@3.6.0: - resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==} + resolution: + { + integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==, + } tailwind-scrollbar-hide@4.0.0: - resolution: {integrity: sha512-gobtvVcThB2Dxhy0EeYSS1RKQJ5baDFkamkhwBvzvevwX6L4XQfpZ3me9s25Ss1ecFVT5jPYJ50n+7xTBJG9WQ==} + resolution: + { + integrity: sha512-gobtvVcThB2Dxhy0EeYSS1RKQJ5baDFkamkhwBvzvevwX6L4XQfpZ3me9s25Ss1ecFVT5jPYJ50n+7xTBJG9WQ==, + } peerDependencies: - tailwindcss: '>=3.0.0 || >= 4.0.0 || >= 4.0.0-beta.8 || >= 4.0.0-alpha.20' + tailwindcss: ">=3.0.0 || >= 4.0.0 || >= 4.0.0-beta.8 || >= 4.0.0-alpha.20" tailwindcss@4.3.2: - resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==} + resolution: + { + integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==, + } tapable@2.3.3: - resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==, + } + engines: { node: ">=6" } tar@7.5.19: - resolution: {integrity: sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw==, + } + engines: { node: ">=18" } tauri-plugin-app-events-api@0.2.0: - resolution: {integrity: sha512-CnlAeucWhT+Rgx6CCsqUpq2D3pqgx0fhjSPKomH7O2t1rGVu5kGLMkYvaCX6gqVTUYpIWX5BLV7LGY2DRri0QA==} + resolution: + { + integrity: sha512-CnlAeucWhT+Rgx6CCsqUpq2D3pqgx0fhjSPKomH7O2t1rGVu5kGLMkYvaCX6gqVTUYpIWX5BLV7LGY2DRri0QA==, + } temp-file@3.4.0: - resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} + resolution: + { + integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==, + } temp@0.9.4: - resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==, + } + engines: { node: ">=6.0.0" } tiny-async-pool@1.3.0: - resolution: {integrity: sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==} + resolution: + { + integrity: sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==, + } tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + resolution: + { + integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==, + } tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + resolution: + { + integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, + } tinyexec@1.2.4: - resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==, + } + engines: { node: ">=18" } tinyglobby@0.2.17: - resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==, + } + engines: { node: ">=12.0.0" } tinyrainbow@3.1.0: - resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==, + } + engines: { node: ">=14.0.0" } tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + resolution: + { + integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==, + } tmp@0.2.7: - resolution: {integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==} - engines: {node: '>=14.14'} + resolution: + { + integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==, + } + engines: { node: ">=14.14" } to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + } + engines: { node: ">=8.0" } toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: ">=0.6" } truncate-utf8-bytes@1.0.2: - resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} + resolution: + { + integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==, + } ts-api-utils@2.5.0: - resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} - engines: {node: '>=18.12'} + resolution: + { + integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==, + } + engines: { node: ">=18.12" } peerDependencies: - typescript: '>=4.8.4' + typescript: ">=4.8.4" ts-morph@26.0.0: - resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==} + resolution: + { + integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==, + } tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, + } + engines: { node: ">=6" } tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + resolution: + { + integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, + } tw-animate-css@1.4.0: - resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==} + resolution: + { + integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==, + } type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==, + } + engines: { node: ">=10" } type-is@2.1.0: - resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==, + } + engines: { node: ">= 18" } typed-emitter@2.1.0: - resolution: {integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==} + resolution: + { + integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==, + } typescript-eslint@8.62.1: - resolution: {integrity: sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + typescript: ">=4.8.4 <6.1.0" typescript@6.0.3: - resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} - engines: {node: '>=14.17'} + resolution: + { + integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==, + } + engines: { node: ">=14.17" } hasBin: true undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + resolution: + { + integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==, + } undici-types@7.24.6: - resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + resolution: + { + integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==, + } undici-types@8.3.0: - resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + resolution: + { + integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==, + } undici@6.27.0: - resolution: {integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==} - engines: {node: '>=18.17'} + resolution: + { + integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==, + } + engines: { node: ">=18.17" } undici@7.28.0: - resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==} - engines: {node: '>=20.18.1'} + resolution: + { + integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==, + } + engines: { node: ">=20.18.1" } unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==, + } + engines: { node: ">=18" } universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: ">= 4.0.0" } universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, + } + engines: { node: ">= 10.0.0" } unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, + } + engines: { node: ">= 0.8" } unzipper@0.12.5: - resolution: {integrity: sha512-tXYOi9R57Uj/2Z25SOs5RRSzq886MBQj2gY8dPL+xl/kv6s6SvByoKfAtvfVeEuhntWDgjd2o9p2lb4TVPAz0A==} + resolution: + { + integrity: sha512-tXYOi9R57Uj/2Z25SOs5RRSzq886MBQj2gY8dPL+xl/kv6s6SvByoKfAtvfVeEuhntWDgjd2o9p2lb4TVPAz0A==, + } update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + resolution: + { + integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==, + } hasBin: true peerDependencies: - browserslist: '>= 4.21.0' + browserslist: ">= 4.21.0" uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } use-callback-ref@1.3.3: - resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==, + } + engines: { node: ">=10" } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true use-sidecar@1.1.3: - resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==, + } + engines: { node: ">=10" } peerDependencies: - '@types/react': '*' + "@types/react": "*" react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - '@types/react': + "@types/react": optional: true use-sync-external-store@1.6.0: - resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + resolution: + { + integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==, + } peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 usehooks-ts@3.1.1: - resolution: {integrity: sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==} - engines: {node: '>=16.15.0'} + resolution: + { + integrity: sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==, + } + engines: { node: ">=16.15.0" } peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc utf8-byte-length@1.0.5: - resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} + resolution: + { + integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==, + } util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + resolution: + { + integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, + } validate-npm-package-name@7.0.2: - resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { + integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==, + } + engines: { node: ^20.17.0 || >=22.9.0 } vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: ">= 0.8" } vaul@1.1.2: - resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==} + resolution: + { + integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==, + } peerDependencies: react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc victory-vendor@37.3.6: - resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==} + resolution: + { + integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==, + } vite@8.1.3: - resolution: {integrity: sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==} - engines: {node: ^20.19.0 || >=22.12.0} + resolution: + { + integrity: sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==, + } + engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.3.0 + "@types/node": ^20.19.0 || >=22.12.0 + "@vitejs/devtools": ^0.3.0 esbuild: ^0.27.0 || ^0.28.0 - jiti: '>=1.21.0' + jiti: ">=1.21.0" less: ^4.0.0 sass: ^1.70.0 sass-embedded: ^1.70.0 - stylus: '>=0.54.8' + stylus: ">=0.54.8" sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@vitejs/devtools': + "@vitejs/devtools": optional: true esbuild: optional: true @@ -4683,40 +7317,43 @@ packages: optional: true vitest@4.1.9: - resolution: {integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + resolution: + { + integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==, + } + engines: { node: ^20.0.0 || ^22.0.0 || >=24.0.0 } hasBin: true peerDependencies: - '@edge-runtime/vm': '*' - '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.9 - '@vitest/browser-preview': 4.1.9 - '@vitest/browser-webdriverio': 4.1.9 - '@vitest/coverage-istanbul': 4.1.9 - '@vitest/coverage-v8': 4.1.9 - '@vitest/ui': 4.1.9 - happy-dom: '*' - jsdom: '*' + "@edge-runtime/vm": "*" + "@opentelemetry/api": ^1.9.0 + "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 4.1.9 + "@vitest/browser-preview": 4.1.9 + "@vitest/browser-webdriverio": 4.1.9 + "@vitest/coverage-istanbul": 4.1.9 + "@vitest/coverage-v8": 4.1.9 + "@vitest/ui": 4.1.9 + happy-dom: "*" + jsdom: "*" vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: - '@edge-runtime/vm': + "@edge-runtime/vm": optional: true - '@opentelemetry/api': + "@opentelemetry/api": optional: true - '@types/node': + "@types/node": optional: true - '@vitest/browser-playwright': + "@vitest/browser-playwright": optional: true - '@vitest/browser-preview': + "@vitest/browser-preview": optional: true - '@vitest/browser-webdriverio': + "@vitest/browser-webdriverio": optional: true - '@vitest/coverage-istanbul': + "@vitest/coverage-istanbul": optional: true - '@vitest/coverage-v8': + "@vitest/coverage-v8": optional: true - '@vitest/ui': + "@vitest/ui": optional: true happy-dom: optional: true @@ -4724,146 +7361,248 @@ packages: optional: true w3c-keyname@2.2.8: - resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + resolution: + { + integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==, + } webcrypto-core@1.9.2: - resolution: {integrity: sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==} + resolution: + { + integrity: sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==, + } webrtc-adapter@9.0.5: - resolution: {integrity: sha512-U9vjByy/sK2OMXu5mmfuZFKTMIUQe34c0JXRO+oDrxJTsntdYT2iIFwYMOV7HhMTuktcZLGf2W1N/OcSf9ssWg==} - engines: {node: '>=6.0.0', npm: '>=3.10.0'} + resolution: + { + integrity: sha512-U9vjByy/sK2OMXu5mmfuZFKTMIUQe34c0JXRO+oDrxJTsntdYT2iIFwYMOV7HhMTuktcZLGf2W1N/OcSf9ssWg==, + } + engines: { node: ">=6.0.0", npm: ">=3.10.0" } which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + resolution: + { + integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==, + } which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } hasBin: true which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} + resolution: + { + integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==, + } + engines: { node: ^16.13.0 || >=18.0.0 } hasBin: true which@5.0.0: - resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } hasBin: true which@6.0.1: - resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { + integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==, + } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, + } + engines: { node: ">=8" } hasBin: true word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, + } + engines: { node: ">=0.10.0" } wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, + } + engines: { node: ">=8" } wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, + } + engines: { node: ">=10" } wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } wsl-utils@0.3.1: - resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==, + } + engines: { node: ">=20" } xmlbuilder@15.1.1: - resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==, + } + engines: { node: ">=8.0" } y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + resolution: + { + integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==, + } y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: ">=10" } yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + resolution: + { + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, + } yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } yallist@5.0.0: - resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==, + } + engines: { node: ">=18" } yaml@2.9.0: - resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} - engines: {node: '>= 14.6'} + resolution: + { + integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==, + } + engines: { node: ">= 14.6" } hasBin: true yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==, + } + engines: { node: ">=6" } yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: ">=12" } yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==, + } + engines: { node: ">=8" } yargs@17.7.3: - resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==, + } + engines: { node: ">=12" } yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + resolution: + { + integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==, + } yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } yocto-spinner@1.2.0: - resolution: {integrity: sha512-Yw0hUB6UA3o4YUgKy3oSe9a4cxoaZ9sBfYDw+JSxo6Id0KoJGoxzPA24qqUXYKBWABs/zDSGTz9kww7t3F0XGw==} - engines: {node: '>=18.19'} + resolution: + { + integrity: sha512-Yw0hUB6UA3o4YUgKy3oSe9a4cxoaZ9sBfYDw+JSxo6Id0KoJGoxzPA24qqUXYKBWABs/zDSGTz9kww7t3F0XGw==, + } + engines: { node: ">=18.19" } yoctocolors@2.1.2: - resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==, + } + engines: { node: ">=18" } zod-to-json-schema@3.25.2: - resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} + resolution: + { + integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==, + } peerDependencies: zod: ^3.25.28 || ^4 zod-validation-error@4.0.2: - resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} - engines: {node: '>=18.0.0'} + resolution: + { + integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==, + } + engines: { node: ">=18.0.0" } peerDependencies: zod: ^3.25.0 || ^4.0.0 zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + resolution: + { + integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==, + } zod@4.4.3: - resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + resolution: + { + integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==, + } zustand@5.0.14: - resolution: {integrity: sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==} - engines: {node: '>=12.20.0'} + resolution: + { + integrity: sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==, + } + engines: { node: ">=12.20.0" } peerDependencies: - '@types/react': '>=18.0.0' - immer: '>=9.0.6' - react: '>=18.0.0' - use-sync-external-store: '>=1.2.0' + "@types/react": ">=18.0.0" + immer: ">=9.0.6" + react: ">=18.0.0" + use-sync-external-store: ">=1.2.0" peerDependenciesMeta: - '@types/react': + "@types/react": optional: true immer: optional: true @@ -4873,27 +7612,26 @@ packages: optional: true snapshots: - - '@babel/code-frame@7.29.7': + "@babel/code-frame@7.29.7": dependencies: - '@babel/helper-validator-identifier': 7.29.7 + "@babel/helper-validator-identifier": 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.29.7': {} + "@babel/compat-data@7.29.7": {} - '@babel/core@7.29.7': + "@babel/core@7.29.7": dependencies: - '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helpers': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - '@jridgewell/remapping': 2.3.5 + "@babel/code-frame": 7.29.7 + "@babel/generator": 7.29.7 + "@babel/helper-compilation-targets": 7.29.7 + "@babel/helper-module-transforms": 7.29.7(@babel/core@7.29.7) + "@babel/helpers": 7.29.7 + "@babel/parser": 7.29.7 + "@babel/template": 7.29.7 + "@babel/traverse": 7.29.7 + "@babel/types": 7.29.7 + "@jridgewell/remapping": 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3 gensync: 1.0.0-beta.2 @@ -4902,278 +7640,278 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.29.7': + "@babel/generator@7.29.7": dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 + "@babel/parser": 7.29.7 + "@babel/types": 7.29.7 + "@jridgewell/gen-mapping": 0.3.13 + "@jridgewell/trace-mapping": 0.3.31 jsesc: 3.1.0 - '@babel/helper-annotate-as-pure@7.29.7': + "@babel/helper-annotate-as-pure@7.29.7": dependencies: - '@babel/types': 7.29.7 + "@babel/types": 7.29.7 - '@babel/helper-compilation-targets@7.29.7': + "@babel/helper-compilation-targets@7.29.7": dependencies: - '@babel/compat-data': 7.29.7 - '@babel/helper-validator-option': 7.29.7 + "@babel/compat-data": 7.29.7 + "@babel/helper-validator-option": 7.29.7 browserslist: 4.28.4 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': + "@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)": dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-member-expression-to-functions': 7.29.7 - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/traverse': 7.29.7 + "@babel/core": 7.29.7 + "@babel/helper-annotate-as-pure": 7.29.7 + "@babel/helper-member-expression-to-functions": 7.29.7 + "@babel/helper-optimise-call-expression": 7.29.7 + "@babel/helper-replace-supers": 7.29.7(@babel/core@7.29.7) + "@babel/helper-skip-transparent-expression-wrappers": 7.29.7 + "@babel/traverse": 7.29.7 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-globals@7.29.7': {} + "@babel/helper-globals@7.29.7": {} - '@babel/helper-member-expression-to-functions@7.29.7': + "@babel/helper-member-expression-to-functions@7.29.7": dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 + "@babel/traverse": 7.29.7 + "@babel/types": 7.29.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.29.7': + "@babel/helper-module-imports@7.29.7": dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 + "@babel/traverse": 7.29.7 + "@babel/types": 7.29.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + "@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)": dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7 + "@babel/core": 7.29.7 + "@babel/helper-module-imports": 7.29.7 + "@babel/helper-validator-identifier": 7.29.7 + "@babel/traverse": 7.29.7 transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.29.7': + "@babel/helper-optimise-call-expression@7.29.7": dependencies: - '@babel/types': 7.29.7 + "@babel/types": 7.29.7 - '@babel/helper-plugin-utils@7.29.7': {} + "@babel/helper-plugin-utils@7.29.7": {} - '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': + "@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)": dependencies: - '@babel/core': 7.29.7 - '@babel/helper-member-expression-to-functions': 7.29.7 - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/traverse': 7.29.7 + "@babel/core": 7.29.7 + "@babel/helper-member-expression-to-functions": 7.29.7 + "@babel/helper-optimise-call-expression": 7.29.7 + "@babel/traverse": 7.29.7 transitivePeerDependencies: - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + "@babel/helper-skip-transparent-expression-wrappers@7.29.7": dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 + "@babel/traverse": 7.29.7 + "@babel/types": 7.29.7 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.29.7': {} + "@babel/helper-string-parser@7.29.7": {} - '@babel/helper-validator-identifier@7.29.7': {} + "@babel/helper-validator-identifier@7.29.7": {} - '@babel/helper-validator-option@7.29.7': {} + "@babel/helper-validator-option@7.29.7": {} - '@babel/helpers@7.29.7': + "@babel/helpers@7.29.7": dependencies: - '@babel/template': 7.29.7 - '@babel/types': 7.29.7 + "@babel/template": 7.29.7 + "@babel/types": 7.29.7 - '@babel/parser@7.29.7': + "@babel/parser@7.29.7": dependencies: - '@babel/types': 7.29.7 + "@babel/types": 7.29.7 - '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': + "@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)": dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 + "@babel/core": 7.29.7 + "@babel/helper-plugin-utils": 7.29.7 - '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': + "@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)": dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 + "@babel/core": 7.29.7 + "@babel/helper-plugin-utils": 7.29.7 - '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': + "@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)": dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 + "@babel/core": 7.29.7 + "@babel/helper-module-transforms": 7.29.7(@babel/core@7.29.7) + "@babel/helper-plugin-utils": 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': + "@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)": dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + "@babel/core": 7.29.7 + "@babel/helper-annotate-as-pure": 7.29.7 + "@babel/helper-create-class-features-plugin": 7.29.7(@babel/core@7.29.7) + "@babel/helper-plugin-utils": 7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": 7.29.7 + "@babel/plugin-syntax-typescript": 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': + "@babel/preset-typescript@7.29.7(@babel/core@7.29.7)": dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) + "@babel/core": 7.29.7 + "@babel/helper-plugin-utils": 7.29.7 + "@babel/helper-validator-option": 7.29.7 + "@babel/plugin-syntax-jsx": 7.29.7(@babel/core@7.29.7) + "@babel/plugin-transform-modules-commonjs": 7.29.7(@babel/core@7.29.7) + "@babel/plugin-transform-typescript": 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - '@babel/runtime@7.29.7': {} + "@babel/runtime@7.29.7": {} - '@babel/template@7.29.7': + "@babel/template@7.29.7": dependencies: - '@babel/code-frame': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + "@babel/code-frame": 7.29.7 + "@babel/parser": 7.29.7 + "@babel/types": 7.29.7 - '@babel/traverse@7.29.7': + "@babel/traverse@7.29.7": dependencies: - '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/helper-globals': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/template': 7.29.7 - '@babel/types': 7.29.7 + "@babel/code-frame": 7.29.7 + "@babel/generator": 7.29.7 + "@babel/helper-globals": 7.29.7 + "@babel/parser": 7.29.7 + "@babel/template": 7.29.7 + "@babel/types": 7.29.7 debug: 4.4.3 transitivePeerDependencies: - supports-color - '@babel/types@7.29.7': + "@babel/types@7.29.7": dependencies: - '@babel/helper-string-parser': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 + "@babel/helper-string-parser": 7.29.7 + "@babel/helper-validator-identifier": 7.29.7 - '@base-ui/react@1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@base-ui/react@1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@babel/runtime': 7.29.7 - '@base-ui/utils': 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@floating-ui/utils': 0.2.11 + "@babel/runtime": 7.29.7 + "@base-ui/utils": 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@floating-ui/react-dom": 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@floating-ui/utils": 0.2.11 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) use-sync-external-store: 1.6.0(react@19.2.7) optionalDependencies: - '@date-fns/tz': 1.5.0 - '@types/react': 19.2.17 + "@date-fns/tz": 1.5.0 + "@types/react": 19.2.17 date-fns: 4.4.0 - '@base-ui/utils@0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@base-ui/utils@0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@babel/runtime': 7.29.7 - '@floating-ui/utils': 0.2.11 + "@babel/runtime": 7.29.7 + "@floating-ui/utils": 0.2.11 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) reselect: 5.2.0 use-sync-external-store: 1.6.0(react@19.2.7) optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@bufbuild/protobuf@1.10.1': {} + "@bufbuild/protobuf@1.10.1": {} - '@codemirror/autocomplete@6.20.3': + "@codemirror/autocomplete@6.20.3": dependencies: - '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.0 - '@codemirror/view': 6.43.4 - '@lezer/common': 1.5.2 + "@codemirror/language": 6.12.4 + "@codemirror/state": 6.7.0 + "@codemirror/view": 6.43.4 + "@lezer/common": 1.5.2 - '@codemirror/commands@6.10.4': + "@codemirror/commands@6.10.4": dependencies: - '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.0 - '@codemirror/view': 6.43.4 - '@lezer/common': 1.5.2 + "@codemirror/language": 6.12.4 + "@codemirror/state": 6.7.0 + "@codemirror/view": 6.43.4 + "@lezer/common": 1.5.2 - '@codemirror/lang-css@6.3.1': + "@codemirror/lang-css@6.3.1": dependencies: - '@codemirror/autocomplete': 6.20.3 - '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.0 - '@lezer/common': 1.5.2 - '@lezer/css': 1.3.4 + "@codemirror/autocomplete": 6.20.3 + "@codemirror/language": 6.12.4 + "@codemirror/state": 6.7.0 + "@lezer/common": 1.5.2 + "@lezer/css": 1.3.4 - '@codemirror/lang-html@6.4.11': + "@codemirror/lang-html@6.4.11": dependencies: - '@codemirror/autocomplete': 6.20.3 - '@codemirror/lang-css': 6.3.1 - '@codemirror/lang-javascript': 6.2.5 - '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.0 - '@codemirror/view': 6.43.4 - '@lezer/common': 1.5.2 - '@lezer/css': 1.3.4 - '@lezer/html': 1.3.13 + "@codemirror/autocomplete": 6.20.3 + "@codemirror/lang-css": 6.3.1 + "@codemirror/lang-javascript": 6.2.5 + "@codemirror/language": 6.12.4 + "@codemirror/state": 6.7.0 + "@codemirror/view": 6.43.4 + "@lezer/common": 1.5.2 + "@lezer/css": 1.3.4 + "@lezer/html": 1.3.13 - '@codemirror/lang-javascript@6.2.5': + "@codemirror/lang-javascript@6.2.5": dependencies: - '@codemirror/autocomplete': 6.20.3 - '@codemirror/language': 6.12.4 - '@codemirror/lint': 6.9.7 - '@codemirror/state': 6.7.0 - '@codemirror/view': 6.43.4 - '@lezer/common': 1.5.2 - '@lezer/javascript': 1.5.4 + "@codemirror/autocomplete": 6.20.3 + "@codemirror/language": 6.12.4 + "@codemirror/lint": 6.9.7 + "@codemirror/state": 6.7.0 + "@codemirror/view": 6.43.4 + "@lezer/common": 1.5.2 + "@lezer/javascript": 1.5.4 - '@codemirror/lang-markdown@6.5.0': + "@codemirror/lang-markdown@6.5.0": dependencies: - '@codemirror/autocomplete': 6.20.3 - '@codemirror/lang-html': 6.4.11 - '@codemirror/language': 6.12.4 - '@codemirror/state': 6.7.0 - '@codemirror/view': 6.43.4 - '@lezer/common': 1.5.2 - '@lezer/markdown': 1.6.4 + "@codemirror/autocomplete": 6.20.3 + "@codemirror/lang-html": 6.4.11 + "@codemirror/language": 6.12.4 + "@codemirror/state": 6.7.0 + "@codemirror/view": 6.43.4 + "@lezer/common": 1.5.2 + "@lezer/markdown": 1.6.4 - '@codemirror/language@6.12.4': + "@codemirror/language@6.12.4": dependencies: - '@codemirror/state': 6.7.0 - '@codemirror/view': 6.43.4 - '@lezer/common': 1.5.2 - '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.10 + "@codemirror/state": 6.7.0 + "@codemirror/view": 6.43.4 + "@lezer/common": 1.5.2 + "@lezer/highlight": 1.2.3 + "@lezer/lr": 1.4.10 style-mod: 4.1.3 - '@codemirror/lint@6.9.7': + "@codemirror/lint@6.9.7": dependencies: - '@codemirror/state': 6.7.0 - '@codemirror/view': 6.43.4 + "@codemirror/state": 6.7.0 + "@codemirror/view": 6.43.4 crelt: 1.0.7 - '@codemirror/state@6.7.0': + "@codemirror/state@6.7.0": dependencies: - '@marijn/find-cluster-break': 1.0.3 + "@marijn/find-cluster-break": 1.0.3 - '@codemirror/view@6.43.4': + "@codemirror/view@6.43.4": dependencies: - '@codemirror/state': 6.7.0 + "@codemirror/state": 6.7.0 crelt: 1.0.7 style-mod: 4.1.3 w3c-keyname: 2.2.8 - '@date-fns/tz@1.5.0': {} + "@date-fns/tz@1.5.0": {} - '@dotenvx/dotenvx@1.75.1': + "@dotenvx/dotenvx@1.75.1": dependencies: - '@dotenvx/primitives': 0.8.0 + "@dotenvx/primitives": 0.8.0 commander: 11.1.0 conf: 10.2.0 dotenv: 17.4.2 @@ -5190,21 +7928,21 @@ snapshots: which: 4.0.0 yocto-spinner: 1.2.0 - '@dotenvx/primitives@0.8.0': {} + "@dotenvx/primitives@0.8.0": {} - '@electron/asar@3.4.1': + "@electron/asar@3.4.1": dependencies: commander: 5.1.0 glob: 7.2.3 minimatch: 3.1.5 - '@electron/fuses@1.8.0': + "@electron/fuses@1.8.0": dependencies: chalk: 4.1.2 fs-extra: 9.1.0 minimist: 1.2.8 - '@electron/get@2.0.3': + "@electron/get@2.0.3": dependencies: debug: 4.4.3 env-paths: 2.2.1 @@ -5218,7 +7956,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/get@3.1.0': + "@electron/get@3.1.0": dependencies: debug: 4.4.3 env-paths: 2.2.1 @@ -5232,7 +7970,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/notarize@2.5.0': + "@electron/notarize@2.5.0": dependencies: debug: 4.4.3 fs-extra: 9.1.0 @@ -5240,7 +7978,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/osx-sign@1.3.3': + "@electron/osx-sign@1.3.3": dependencies: compare-version: 0.1.2 debug: 4.4.3 @@ -5251,9 +7989,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/rebuild@4.1.0': + "@electron/rebuild@4.1.0": dependencies: - '@malept/cross-spawn-promise': 2.0.0 + "@malept/cross-spawn-promise": 2.0.0 debug: 4.4.3 node-abi: 4.33.0 node-api-version: 0.2.1 @@ -5262,10 +8000,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/universal@2.0.3': + "@electron/universal@2.0.3": dependencies: - '@electron/asar': 3.4.1 - '@malept/cross-spawn-promise': 2.0.0 + "@electron/asar": 3.4.1 + "@malept/cross-spawn-promise": 2.0.0 debug: 4.4.3 dir-compare: 4.2.0 fs-extra: 11.3.6 @@ -5274,7 +8012,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/windows-sign@1.2.2': + "@electron/windows-sign@1.2.2": dependencies: cross-dirname: 0.1.0 debug: 4.4.3 @@ -5285,271 +8023,271 @@ snapshots: - supports-color optional: true - '@emnapi/core@1.11.1': + "@emnapi/core@1.11.1": dependencies: - '@emnapi/wasi-threads': 1.2.2 + "@emnapi/wasi-threads": 1.2.2 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.11.1': + "@emnapi/runtime@1.11.1": dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.2': + "@emnapi/wasi-threads@1.2.2": dependencies: tslib: 2.8.1 optional: true - '@esbuild/aix-ppc64@0.25.12': + "@esbuild/aix-ppc64@0.25.12": optional: true - '@esbuild/android-arm64@0.25.12': + "@esbuild/android-arm64@0.25.12": optional: true - '@esbuild/android-arm@0.25.12': + "@esbuild/android-arm@0.25.12": optional: true - '@esbuild/android-x64@0.25.12': + "@esbuild/android-x64@0.25.12": optional: true - '@esbuild/darwin-arm64@0.25.12': + "@esbuild/darwin-arm64@0.25.12": optional: true - '@esbuild/darwin-x64@0.25.12': + "@esbuild/darwin-x64@0.25.12": optional: true - '@esbuild/freebsd-arm64@0.25.12': + "@esbuild/freebsd-arm64@0.25.12": optional: true - '@esbuild/freebsd-x64@0.25.12': + "@esbuild/freebsd-x64@0.25.12": optional: true - '@esbuild/linux-arm64@0.25.12': + "@esbuild/linux-arm64@0.25.12": optional: true - '@esbuild/linux-arm@0.25.12': + "@esbuild/linux-arm@0.25.12": optional: true - '@esbuild/linux-ia32@0.25.12': + "@esbuild/linux-ia32@0.25.12": optional: true - '@esbuild/linux-loong64@0.25.12': + "@esbuild/linux-loong64@0.25.12": optional: true - '@esbuild/linux-mips64el@0.25.12': + "@esbuild/linux-mips64el@0.25.12": optional: true - '@esbuild/linux-ppc64@0.25.12': + "@esbuild/linux-ppc64@0.25.12": optional: true - '@esbuild/linux-riscv64@0.25.12': + "@esbuild/linux-riscv64@0.25.12": optional: true - '@esbuild/linux-s390x@0.25.12': + "@esbuild/linux-s390x@0.25.12": optional: true - '@esbuild/linux-x64@0.25.12': + "@esbuild/linux-x64@0.25.12": optional: true - '@esbuild/netbsd-arm64@0.25.12': + "@esbuild/netbsd-arm64@0.25.12": optional: true - '@esbuild/netbsd-x64@0.25.12': + "@esbuild/netbsd-x64@0.25.12": optional: true - '@esbuild/openbsd-arm64@0.25.12': + "@esbuild/openbsd-arm64@0.25.12": optional: true - '@esbuild/openbsd-x64@0.25.12': + "@esbuild/openbsd-x64@0.25.12": optional: true - '@esbuild/openharmony-arm64@0.25.12': + "@esbuild/openharmony-arm64@0.25.12": optional: true - '@esbuild/sunos-x64@0.25.12': + "@esbuild/sunos-x64@0.25.12": optional: true - '@esbuild/win32-arm64@0.25.12': + "@esbuild/win32-arm64@0.25.12": optional: true - '@esbuild/win32-ia32@0.25.12': + "@esbuild/win32-ia32@0.25.12": optional: true - '@esbuild/win32-x64@0.25.12': + "@esbuild/win32-x64@0.25.12": optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.6.0(jiti@2.7.0))': + "@eslint-community/eslint-utils@4.9.1(eslint@10.6.0(jiti@2.7.0))": dependencies: eslint: 10.6.0(jiti@2.7.0) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.2': {} + "@eslint-community/regexpp@4.12.2": {} - '@eslint/config-array@0.23.5': + "@eslint/config-array@0.23.5": dependencies: - '@eslint/object-schema': 3.0.5 + "@eslint/object-schema": 3.0.5 debug: 4.4.3 minimatch: 10.2.5 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.6.0': + "@eslint/config-helpers@0.6.0": dependencies: - '@eslint/core': 1.2.1 + "@eslint/core": 1.2.1 - '@eslint/core@1.2.1': + "@eslint/core@1.2.1": dependencies: - '@types/json-schema': 7.0.15 + "@types/json-schema": 7.0.15 - '@eslint/js@10.0.1(eslint@10.6.0(jiti@2.7.0))': + "@eslint/js@10.0.1(eslint@10.6.0(jiti@2.7.0))": optionalDependencies: eslint: 10.6.0(jiti@2.7.0) - '@eslint/object-schema@3.0.5': {} + "@eslint/object-schema@3.0.5": {} - '@eslint/plugin-kit@0.7.2': + "@eslint/plugin-kit@0.7.2": dependencies: - '@eslint/core': 1.2.1 + "@eslint/core": 1.2.1 levn: 0.4.1 - '@fallow-cli/darwin-arm64@2.104.0': + "@fallow-cli/darwin-arm64@2.104.0": optional: true - '@fallow-cli/darwin-x64@2.104.0': + "@fallow-cli/darwin-x64@2.104.0": optional: true - '@fallow-cli/linux-arm64-gnu@2.104.0': + "@fallow-cli/linux-arm64-gnu@2.104.0": optional: true - '@fallow-cli/linux-arm64-musl@2.104.0': + "@fallow-cli/linux-arm64-musl@2.104.0": optional: true - '@fallow-cli/linux-x64-gnu@2.104.0': + "@fallow-cli/linux-x64-gnu@2.104.0": optional: true - '@fallow-cli/linux-x64-musl@2.104.0': + "@fallow-cli/linux-x64-musl@2.104.0": optional: true - '@fallow-cli/win32-arm64-msvc@2.104.0': + "@fallow-cli/win32-arm64-msvc@2.104.0": optional: true - '@fallow-cli/win32-x64-msvc@2.104.0': + "@fallow-cli/win32-x64-msvc@2.104.0": optional: true - '@floating-ui/core@1.7.5': + "@floating-ui/core@1.7.5": dependencies: - '@floating-ui/utils': 0.2.11 + "@floating-ui/utils": 0.2.11 - '@floating-ui/dom@1.7.4': + "@floating-ui/dom@1.7.4": dependencies: - '@floating-ui/core': 1.7.5 - '@floating-ui/utils': 0.2.11 + "@floating-ui/core": 1.7.5 + "@floating-ui/utils": 0.2.11 - '@floating-ui/dom@1.7.6': + "@floating-ui/dom@1.7.6": dependencies: - '@floating-ui/core': 1.7.5 - '@floating-ui/utils': 0.2.11 + "@floating-ui/core": 1.7.5 + "@floating-ui/utils": 0.2.11 - '@floating-ui/react-dom@2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@floating-ui/react-dom@2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@floating-ui/dom': 1.7.6 + "@floating-ui/dom": 1.7.6 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - '@floating-ui/utils@0.2.11': {} + "@floating-ui/utils@0.2.11": {} - '@fontsource-variable/inter@5.2.8': {} + "@fontsource-variable/inter@5.2.8": {} - '@fontsource-variable/public-sans@5.2.7': {} + "@fontsource-variable/public-sans@5.2.7": {} - '@hono/node-server@1.19.14(hono@4.12.27)': + "@hono/node-server@1.19.14(hono@4.12.27)": dependencies: hono: 4.12.27 - '@humanfs/core@0.19.2': + "@humanfs/core@0.19.2": dependencies: - '@humanfs/types': 0.15.0 + "@humanfs/types": 0.15.0 - '@humanfs/node@0.16.8': + "@humanfs/node@0.16.8": dependencies: - '@humanfs/core': 0.19.2 - '@humanfs/types': 0.15.0 - '@humanwhocodes/retry': 0.4.3 + "@humanfs/core": 0.19.2 + "@humanfs/types": 0.15.0 + "@humanwhocodes/retry": 0.4.3 - '@humanfs/types@0.15.0': {} + "@humanfs/types@0.15.0": {} - '@humanwhocodes/module-importer@1.0.1': {} + "@humanwhocodes/module-importer@1.0.1": {} - '@humanwhocodes/retry@0.4.3': {} + "@humanwhocodes/retry@0.4.3": {} - '@isaacs/fs-minipass@4.0.1': + "@isaacs/fs-minipass@4.0.1": dependencies: minipass: 7.1.3 - '@jridgewell/gen-mapping@0.3.13': + "@jridgewell/gen-mapping@0.3.13": dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 + "@jridgewell/sourcemap-codec": 1.5.5 + "@jridgewell/trace-mapping": 0.3.31 - '@jridgewell/remapping@2.3.5': + "@jridgewell/remapping@2.3.5": dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 + "@jridgewell/gen-mapping": 0.3.13 + "@jridgewell/trace-mapping": 0.3.31 - '@jridgewell/resolve-uri@3.1.2': {} + "@jridgewell/resolve-uri@3.1.2": {} - '@jridgewell/sourcemap-codec@1.5.5': {} + "@jridgewell/sourcemap-codec@1.5.5": {} - '@jridgewell/trace-mapping@0.3.31': + "@jridgewell/trace-mapping@0.3.31": dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.5.5 - '@lezer/common@1.5.2': {} + "@lezer/common@1.5.2": {} - '@lezer/css@1.3.4': + "@lezer/css@1.3.4": dependencies: - '@lezer/common': 1.5.2 - '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.10 + "@lezer/common": 1.5.2 + "@lezer/highlight": 1.2.3 + "@lezer/lr": 1.4.10 - '@lezer/highlight@1.2.3': + "@lezer/highlight@1.2.3": dependencies: - '@lezer/common': 1.5.2 + "@lezer/common": 1.5.2 - '@lezer/html@1.3.13': + "@lezer/html@1.3.13": dependencies: - '@lezer/common': 1.5.2 - '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.10 + "@lezer/common": 1.5.2 + "@lezer/highlight": 1.2.3 + "@lezer/lr": 1.4.10 - '@lezer/javascript@1.5.4': + "@lezer/javascript@1.5.4": dependencies: - '@lezer/common': 1.5.2 - '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.10 + "@lezer/common": 1.5.2 + "@lezer/highlight": 1.2.3 + "@lezer/lr": 1.4.10 - '@lezer/lr@1.4.10': + "@lezer/lr@1.4.10": dependencies: - '@lezer/common': 1.5.2 + "@lezer/common": 1.5.2 - '@lezer/markdown@1.6.4': + "@lezer/markdown@1.6.4": dependencies: - '@lezer/common': 1.5.2 - '@lezer/highlight': 1.2.3 + "@lezer/common": 1.5.2 + "@lezer/highlight": 1.2.3 - '@livekit/components-core@0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1)': + "@livekit/components-core@0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1)": dependencies: - '@floating-ui/dom': 1.7.4 + "@floating-ui/dom": 1.7.4 livekit-client: 2.20.0(@types/dom-mediacapture-record@1.0.22) loglevel: 1.9.1 rxjs: 7.8.2 tslib: 2.8.1 - '@livekit/components-react@2.9.21(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(tslib@2.8.1)': + "@livekit/components-react@2.9.21(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(tslib@2.8.1)": dependencies: - '@livekit/components-core': 0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1) + "@livekit/components-core": 0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1) clsx: 2.1.1 events: 3.3.0 jose: 6.2.3 @@ -5559,17 +8297,17 @@ snapshots: tslib: 2.8.1 usehooks-ts: 3.1.1(react@19.2.7) - '@livekit/mutex@1.1.1': {} + "@livekit/mutex@1.1.1": {} - '@livekit/protocol@1.46.6': + "@livekit/protocol@1.46.6": dependencies: - '@bufbuild/protobuf': 1.10.1 + "@bufbuild/protobuf": 1.10.1 - '@malept/cross-spawn-promise@2.0.0': + "@malept/cross-spawn-promise@2.0.0": dependencies: cross-spawn: 7.0.6 - '@malept/flatpak-bundler@0.4.0': + "@malept/flatpak-bundler@0.4.0": dependencies: debug: 4.4.3 fs-extra: 9.1.0 @@ -5578,11 +8316,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@marijn/find-cluster-break@1.0.3': {} + "@marijn/find-cluster-break@1.0.3": {} - '@modelcontextprotocol/sdk@1.29.0(zod@3.25.76)': + "@modelcontextprotocol/sdk@1.29.0(zod@3.25.76)": dependencies: - '@hono/node-server': 1.19.14(hono@4.12.27) + "@hono/node-server": 1.19.14(hono@4.12.27) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -5602,205 +8340,205 @@ snapshots: transitivePeerDependencies: - supports-color - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + "@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)": dependencies: - '@emnapi/core': 1.11.1 - '@emnapi/runtime': 1.11.1 - '@tybys/wasm-util': 0.10.3 + "@emnapi/core": 1.11.1 + "@emnapi/runtime": 1.11.1 + "@tybys/wasm-util": 0.10.3 optional: true - '@noble/hashes@1.4.0': {} + "@noble/hashes@1.4.0": {} - '@noble/hashes@2.2.0': {} + "@noble/hashes@2.2.0": {} - '@nodelib/fs.scandir@2.1.5': + "@nodelib/fs.scandir@2.1.5": dependencies: - '@nodelib/fs.stat': 2.0.5 + "@nodelib/fs.stat": 2.0.5 run-parallel: 1.2.0 - '@nodelib/fs.stat@2.0.5': {} + "@nodelib/fs.stat@2.0.5": {} - '@nodelib/fs.walk@1.2.8': + "@nodelib/fs.walk@1.2.8": dependencies: - '@nodelib/fs.scandir': 2.1.5 + "@nodelib/fs.scandir": 2.1.5 fastq: 1.20.1 - '@oxc-project/types@0.138.0': {} + "@oxc-project/types@0.138.0": {} - '@peculiar/asn1-schema@2.8.0': + "@peculiar/asn1-schema@2.8.0": dependencies: - '@peculiar/utils': 2.0.3 + "@peculiar/utils": 2.0.3 asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/json-schema@1.1.12': + "@peculiar/json-schema@1.1.12": dependencies: tslib: 2.8.1 - '@peculiar/utils@2.0.3': + "@peculiar/utils@2.0.3": dependencies: tslib: 2.8.1 - '@peculiar/webcrypto@1.7.1': + "@peculiar/webcrypto@1.7.1": dependencies: - '@peculiar/asn1-schema': 2.8.0 - '@peculiar/json-schema': 1.1.12 - '@peculiar/utils': 2.0.3 + "@peculiar/asn1-schema": 2.8.0 + "@peculiar/json-schema": 1.1.12 + "@peculiar/utils": 2.0.3 tslib: 2.8.1 webcrypto-core: 1.9.2 - '@radix-ui/primitive@1.1.4': {} + "@radix-ui/primitive@1.1.4": {} - '@radix-ui/react-compose-refs@1.1.3(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-compose-refs@1.1.3(@types/react@19.2.17)(react@19.2.7)": dependencies: react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-context@1.1.4(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-context@1.1.4(@types/react@19.2.17)(react@19.2.7)": dependencies: react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-dialog@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@radix-ui/react-dialog@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@radix-ui/primitive': 1.1.4 - '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/primitive": 1.1.4 + "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-context": 1.1.4(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-dismissable-layer": 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-focus-guards": 1.1.4(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-focus-scope": 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-id": 1.1.2(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-portal": 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-presence": 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-slot": 1.3.0(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-use-controllable-state": 1.2.3(@types/react@19.2.17)(react@19.2.7) aria-hidden: 1.2.6 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + "@types/react": 19.2.17 + "@types/react-dom": 19.2.3(@types/react@19.2.17) - '@radix-ui/react-dismissable-layer@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@radix-ui/react-dismissable-layer@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@radix-ui/primitive': 1.1.4 - '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/primitive": 1.1.4 + "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-use-callback-ref": 1.1.2(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-use-effect-event": 0.0.3(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + "@types/react": 19.2.17 + "@types/react-dom": 19.2.3(@types/react@19.2.17) - '@radix-ui/react-focus-guards@1.1.4(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-focus-guards@1.1.4(@types/react@19.2.17)(react@19.2.7)": dependencies: react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-focus-scope@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@radix-ui/react-focus-scope@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-use-callback-ref": 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + "@types/react": 19.2.17 + "@types/react-dom": 19.2.3(@types/react@19.2.17) - '@radix-ui/react-id@1.1.2(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-id@1.1.2(@types/react@19.2.17)(react@19.2.7)": dependencies: - '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-portal@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@radix-ui/react-portal@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + "@types/react": 19.2.17 + "@types/react-dom": 19.2.3(@types/react@19.2.17) - '@radix-ui/react-presence@1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@radix-ui/react-presence@1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + "@types/react": 19.2.17 + "@types/react-dom": 19.2.3(@types/react@19.2.17) - '@radix-ui/react-primitive@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@radix-ui/react-primitive@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-slot": 1.3.0(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + "@types/react": 19.2.17 + "@types/react-dom": 19.2.3(@types/react@19.2.17) - '@radix-ui/react-slot@1.3.0(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-slot@1.3.0(@types/react@19.2.17)(react@19.2.7)": dependencies: - '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-use-callback-ref@1.1.2(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-use-callback-ref@1.1.2(@types/react@19.2.17)(react@19.2.7)": dependencies: react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-use-controllable-state@1.2.3(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-use-controllable-state@1.2.3(@types/react@19.2.17)(react@19.2.7)": dependencies: - '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-use-effect-event": 0.0.3(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.17)(react@19.2.7)": dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-use-effect-event@0.0.3(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-use-effect-event@0.0.3(@types/react@19.2.17)(react@19.2.7)": dependencies: - '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.17)(react@19.2.7)": dependencies: react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@radix-ui/react-use-layout-effect@1.1.2(@types/react@19.2.17)(react@19.2.7)': + "@radix-ui/react-use-layout-effect@1.1.2(@types/react@19.2.17)(react@19.2.7)": dependencies: react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)': + "@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)": dependencies: - '@standard-schema/spec': 1.1.0 - '@standard-schema/utils': 0.3.0 + "@standard-schema/spec": 1.1.0 + "@standard-schema/utils": 0.3.0 immer: 11.1.9 redux: 5.0.1 redux-thunk: 3.1.0(redux@5.0.1) @@ -5809,74 +8547,74 @@ snapshots: react: 19.2.7 react-redux: 9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1) - '@rolldown/binding-android-arm64@1.1.4': + "@rolldown/binding-android-arm64@1.1.4": optional: true - '@rolldown/binding-darwin-arm64@1.1.4': + "@rolldown/binding-darwin-arm64@1.1.4": optional: true - '@rolldown/binding-darwin-x64@1.1.4': + "@rolldown/binding-darwin-x64@1.1.4": optional: true - '@rolldown/binding-freebsd-x64@1.1.4': + "@rolldown/binding-freebsd-x64@1.1.4": optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.1.4': + "@rolldown/binding-linux-arm-gnueabihf@1.1.4": optional: true - '@rolldown/binding-linux-arm64-gnu@1.1.4': + "@rolldown/binding-linux-arm64-gnu@1.1.4": optional: true - '@rolldown/binding-linux-arm64-musl@1.1.4': + "@rolldown/binding-linux-arm64-musl@1.1.4": optional: true - '@rolldown/binding-linux-ppc64-gnu@1.1.4': + "@rolldown/binding-linux-ppc64-gnu@1.1.4": optional: true - '@rolldown/binding-linux-s390x-gnu@1.1.4': + "@rolldown/binding-linux-s390x-gnu@1.1.4": optional: true - '@rolldown/binding-linux-x64-gnu@1.1.4': + "@rolldown/binding-linux-x64-gnu@1.1.4": optional: true - '@rolldown/binding-linux-x64-musl@1.1.4': + "@rolldown/binding-linux-x64-musl@1.1.4": optional: true - '@rolldown/binding-openharmony-arm64@1.1.4': + "@rolldown/binding-openharmony-arm64@1.1.4": optional: true - '@rolldown/binding-wasm32-wasi@1.1.4': + "@rolldown/binding-wasm32-wasi@1.1.4": dependencies: - '@emnapi/core': 1.11.1 - '@emnapi/runtime': 1.11.1 - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + "@emnapi/core": 1.11.1 + "@emnapi/runtime": 1.11.1 + "@napi-rs/wasm-runtime": 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) optional: true - '@rolldown/binding-win32-arm64-msvc@1.1.4': + "@rolldown/binding-win32-arm64-msvc@1.1.4": optional: true - '@rolldown/binding-win32-x64-msvc@1.1.4': + "@rolldown/binding-win32-x64-msvc@1.1.4": optional: true - '@rolldown/pluginutils@1.0.1': {} + "@rolldown/pluginutils@1.0.1": {} - '@sec-ant/readable-stream@0.4.1': {} + "@sec-ant/readable-stream@0.4.1": {} - '@sindresorhus/is@4.6.0': {} + "@sindresorhus/is@4.6.0": {} - '@sindresorhus/merge-streams@4.0.0': {} + "@sindresorhus/merge-streams@4.0.0": {} - '@standard-schema/spec@1.1.0': {} + "@standard-schema/spec@1.1.0": {} - '@standard-schema/utils@0.3.0': {} + "@standard-schema/utils@0.3.0": {} - '@szmarczak/http-timer@4.0.6': + "@szmarczak/http-timer@4.0.6": dependencies: defer-to-connect: 2.0.1 - '@tailwindcss/node@4.3.2': + "@tailwindcss/node@4.3.2": dependencies: - '@jridgewell/remapping': 2.3.5 + "@jridgewell/remapping": 2.3.5 enhanced-resolve: 5.21.6 jiti: 2.7.0 lightningcss: 1.32.0 @@ -5884,187 +8622,187 @@ snapshots: source-map-js: 1.2.1 tailwindcss: 4.3.2 - '@tailwindcss/oxide-android-arm64@4.3.2': + "@tailwindcss/oxide-android-arm64@4.3.2": optional: true - '@tailwindcss/oxide-darwin-arm64@4.3.2': + "@tailwindcss/oxide-darwin-arm64@4.3.2": optional: true - '@tailwindcss/oxide-darwin-x64@4.3.2': + "@tailwindcss/oxide-darwin-x64@4.3.2": optional: true - '@tailwindcss/oxide-freebsd-x64@4.3.2': + "@tailwindcss/oxide-freebsd-x64@4.3.2": optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': + "@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2": optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': + "@tailwindcss/oxide-linux-arm64-gnu@4.3.2": optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.3.2': + "@tailwindcss/oxide-linux-arm64-musl@4.3.2": optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.3.2': + "@tailwindcss/oxide-linux-x64-gnu@4.3.2": optional: true - '@tailwindcss/oxide-linux-x64-musl@4.3.2': + "@tailwindcss/oxide-linux-x64-musl@4.3.2": optional: true - '@tailwindcss/oxide-wasm32-wasi@4.3.2': + "@tailwindcss/oxide-wasm32-wasi@4.3.2": optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': + "@tailwindcss/oxide-win32-arm64-msvc@4.3.2": optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.3.2': + "@tailwindcss/oxide-win32-x64-msvc@4.3.2": optional: true - '@tailwindcss/oxide@4.3.2': + "@tailwindcss/oxide@4.3.2": optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.3.2 - '@tailwindcss/oxide-darwin-arm64': 4.3.2 - '@tailwindcss/oxide-darwin-x64': 4.3.2 - '@tailwindcss/oxide-freebsd-x64': 4.3.2 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2 - '@tailwindcss/oxide-linux-arm64-gnu': 4.3.2 - '@tailwindcss/oxide-linux-arm64-musl': 4.3.2 - '@tailwindcss/oxide-linux-x64-gnu': 4.3.2 - '@tailwindcss/oxide-linux-x64-musl': 4.3.2 - '@tailwindcss/oxide-wasm32-wasi': 4.3.2 - '@tailwindcss/oxide-win32-arm64-msvc': 4.3.2 - '@tailwindcss/oxide-win32-x64-msvc': 4.3.2 + "@tailwindcss/oxide-android-arm64": 4.3.2 + "@tailwindcss/oxide-darwin-arm64": 4.3.2 + "@tailwindcss/oxide-darwin-x64": 4.3.2 + "@tailwindcss/oxide-freebsd-x64": 4.3.2 + "@tailwindcss/oxide-linux-arm-gnueabihf": 4.3.2 + "@tailwindcss/oxide-linux-arm64-gnu": 4.3.2 + "@tailwindcss/oxide-linux-arm64-musl": 4.3.2 + "@tailwindcss/oxide-linux-x64-gnu": 4.3.2 + "@tailwindcss/oxide-linux-x64-musl": 4.3.2 + "@tailwindcss/oxide-wasm32-wasi": 4.3.2 + "@tailwindcss/oxide-win32-arm64-msvc": 4.3.2 + "@tailwindcss/oxide-win32-x64-msvc": 4.3.2 - '@tailwindcss/vite@4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': + "@tailwindcss/vite@4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))": dependencies: - '@tailwindcss/node': 4.3.2 - '@tailwindcss/oxide': 4.3.2 + "@tailwindcss/node": 4.3.2 + "@tailwindcss/oxide": 4.3.2 tailwindcss: 4.3.2 vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) - '@tanstack/devtools-event-client@0.3.5': {} + "@tanstack/devtools-event-client@0.3.5": {} - '@tanstack/devtools-event-client@0.4.4': {} + "@tanstack/devtools-event-client@0.4.4": {} - '@tanstack/history@1.162.0': {} + "@tanstack/history@1.162.0": {} - '@tanstack/pacer@0.21.1': + "@tanstack/pacer@0.21.1": dependencies: - '@tanstack/devtools-event-client': 0.4.4 - '@tanstack/store': 0.11.0 + "@tanstack/devtools-event-client": 0.4.4 + "@tanstack/store": 0.11.0 - '@tanstack/query-core@5.101.2': {} + "@tanstack/query-core@5.101.2": {} - '@tanstack/react-query@5.101.2(react@19.2.7)': + "@tanstack/react-query@5.101.2(react@19.2.7)": dependencies: - '@tanstack/query-core': 5.101.2 + "@tanstack/query-core": 5.101.2 react: 19.2.7 - '@tanstack/react-router@1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@tanstack/react-router@1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@tanstack/history': 1.162.0 - '@tanstack/react-store': 0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tanstack/router-core': 1.171.14 + "@tanstack/history": 1.162.0 + "@tanstack/react-store": 0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@tanstack/router-core": 1.171.14 isbot: 5.1.44 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - '@tanstack/react-store@0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@tanstack/react-store@0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@tanstack/store': 0.9.3 + "@tanstack/store": 0.9.3 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) use-sync-external-store: 1.6.0(react@19.2.7) - '@tanstack/react-virtual@3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + "@tanstack/react-virtual@3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": dependencies: - '@tanstack/virtual-core': 3.17.3 + "@tanstack/virtual-core": 3.17.3 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - '@tanstack/router-core@1.171.14': + "@tanstack/router-core@1.171.14": dependencies: - '@tanstack/history': 1.162.0 + "@tanstack/history": 1.162.0 cookie-es: 3.1.1 seroval: 1.5.4 seroval-plugins: 1.5.4(seroval@1.5.4) - '@tanstack/store@0.11.0': {} + "@tanstack/store@0.11.0": {} - '@tanstack/store@0.9.3': {} + "@tanstack/store@0.9.3": {} - '@tanstack/virtual-core@3.17.3': {} + "@tanstack/virtual-core@3.17.3": {} - '@tauri-apps/api@2.11.1': {} + "@tauri-apps/api@2.11.1": {} - '@tauri-apps/cli-darwin-arm64@2.11.4': + "@tauri-apps/cli-darwin-arm64@2.11.4": optional: true - '@tauri-apps/cli-darwin-x64@2.11.4': + "@tauri-apps/cli-darwin-x64@2.11.4": optional: true - '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': + "@tauri-apps/cli-linux-arm-gnueabihf@2.11.4": optional: true - '@tauri-apps/cli-linux-arm64-gnu@2.11.4': + "@tauri-apps/cli-linux-arm64-gnu@2.11.4": optional: true - '@tauri-apps/cli-linux-arm64-musl@2.11.4': + "@tauri-apps/cli-linux-arm64-musl@2.11.4": optional: true - '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': + "@tauri-apps/cli-linux-riscv64-gnu@2.11.4": optional: true - '@tauri-apps/cli-linux-x64-gnu@2.11.4': + "@tauri-apps/cli-linux-x64-gnu@2.11.4": optional: true - '@tauri-apps/cli-linux-x64-musl@2.11.4': + "@tauri-apps/cli-linux-x64-musl@2.11.4": optional: true - '@tauri-apps/cli-win32-arm64-msvc@2.11.4': + "@tauri-apps/cli-win32-arm64-msvc@2.11.4": optional: true - '@tauri-apps/cli-win32-ia32-msvc@2.11.4': + "@tauri-apps/cli-win32-ia32-msvc@2.11.4": optional: true - '@tauri-apps/cli-win32-x64-msvc@2.11.4': + "@tauri-apps/cli-win32-x64-msvc@2.11.4": optional: true - '@tauri-apps/cli@2.11.4': + "@tauri-apps/cli@2.11.4": optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.11.4 - '@tauri-apps/cli-darwin-x64': 2.11.4 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.11.4 - '@tauri-apps/cli-linux-arm64-gnu': 2.11.4 - '@tauri-apps/cli-linux-arm64-musl': 2.11.4 - '@tauri-apps/cli-linux-riscv64-gnu': 2.11.4 - '@tauri-apps/cli-linux-x64-gnu': 2.11.4 - '@tauri-apps/cli-linux-x64-musl': 2.11.4 - '@tauri-apps/cli-win32-arm64-msvc': 2.11.4 - '@tauri-apps/cli-win32-ia32-msvc': 2.11.4 - '@tauri-apps/cli-win32-x64-msvc': 2.11.4 + "@tauri-apps/cli-darwin-arm64": 2.11.4 + "@tauri-apps/cli-darwin-x64": 2.11.4 + "@tauri-apps/cli-linux-arm-gnueabihf": 2.11.4 + "@tauri-apps/cli-linux-arm64-gnu": 2.11.4 + "@tauri-apps/cli-linux-arm64-musl": 2.11.4 + "@tauri-apps/cli-linux-riscv64-gnu": 2.11.4 + "@tauri-apps/cli-linux-x64-gnu": 2.11.4 + "@tauri-apps/cli-linux-x64-musl": 2.11.4 + "@tauri-apps/cli-win32-arm64-msvc": 2.11.4 + "@tauri-apps/cli-win32-ia32-msvc": 2.11.4 + "@tauri-apps/cli-win32-x64-msvc": 2.11.4 - '@tauri-apps/plugin-barcode-scanner@2.4.5': + "@tauri-apps/plugin-barcode-scanner@2.4.5": dependencies: - '@tauri-apps/api': 2.11.1 + "@tauri-apps/api": 2.11.1 - '@tauri-apps/plugin-deep-link@2.4.9': + "@tauri-apps/plugin-deep-link@2.4.9": dependencies: - '@tauri-apps/api': 2.11.1 + "@tauri-apps/api": 2.11.1 - '@tauri-apps/plugin-log@2.8.0': + "@tauri-apps/plugin-log@2.8.0": dependencies: - '@tauri-apps/api': 2.11.1 + "@tauri-apps/api": 2.11.1 - '@tauri-apps/plugin-notification@2.3.3': + "@tauri-apps/plugin-notification@2.3.3": dependencies: - '@tauri-apps/api': 2.11.1 + "@tauri-apps/api": 2.11.1 - '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3)': + "@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3)": dependencies: - '@base-ui/react': 1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@fontsource-variable/inter': 5.2.8 - '@tauri-apps/api': 2.11.1 + "@base-ui/react": 1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@fontsource-variable/inter": 5.2.8 + "@tauri-apps/api": 2.11.1 class-variance-authority: 0.7.1 clsx: 2.1.1 cmdk: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) @@ -6084,134 +8822,134 @@ snapshots: tw-animate-css: 1.4.0 vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) transitivePeerDependencies: - - '@cfworker/json-schema' - - '@date-fns/tz' - - '@types/react' - - '@types/react-dom' + - "@cfworker/json-schema" + - "@date-fns/tz" + - "@types/react" + - "@types/react-dom" - babel-plugin-macros - react-is - redux - supports-color - typescript - '@ts-morph/common@0.27.0': + "@ts-morph/common@0.27.0": dependencies: fast-glob: 3.3.3 minimatch: 10.2.5 path-browserify: 1.0.1 - '@tybys/wasm-util@0.10.3': + "@tybys/wasm-util@0.10.3": dependencies: tslib: 2.8.1 optional: true - '@types/cacheable-request@6.0.3': + "@types/cacheable-request@6.0.3": dependencies: - '@types/http-cache-semantics': 4.2.0 - '@types/keyv': 3.1.4 - '@types/node': 25.9.4 - '@types/responselike': 1.0.3 + "@types/http-cache-semantics": 4.2.0 + "@types/keyv": 3.1.4 + "@types/node": 25.9.4 + "@types/responselike": 1.0.3 - '@types/chai@5.2.3': + "@types/chai@5.2.3": dependencies: - '@types/deep-eql': 4.0.2 + "@types/deep-eql": 4.0.2 assertion-error: 2.0.1 - '@types/d3-array@3.2.2': {} + "@types/d3-array@3.2.2": {} - '@types/d3-color@3.1.3': {} + "@types/d3-color@3.1.3": {} - '@types/d3-ease@3.0.2': {} + "@types/d3-ease@3.0.2": {} - '@types/d3-interpolate@3.0.4': + "@types/d3-interpolate@3.0.4": dependencies: - '@types/d3-color': 3.1.3 + "@types/d3-color": 3.1.3 - '@types/d3-path@3.1.1': {} + "@types/d3-path@3.1.1": {} - '@types/d3-scale@4.0.9': + "@types/d3-scale@4.0.9": dependencies: - '@types/d3-time': 3.0.4 + "@types/d3-time": 3.0.4 - '@types/d3-shape@3.1.8': + "@types/d3-shape@3.1.8": dependencies: - '@types/d3-path': 3.1.1 + "@types/d3-path": 3.1.1 - '@types/d3-time@3.0.4': {} + "@types/d3-time@3.0.4": {} - '@types/d3-timer@3.0.2': {} + "@types/d3-timer@3.0.2": {} - '@types/debug@4.1.13': + "@types/debug@4.1.13": dependencies: - '@types/ms': 2.1.0 + "@types/ms": 2.1.0 - '@types/deep-eql@4.0.2': {} + "@types/deep-eql@4.0.2": {} - '@types/dom-mediacapture-record@1.0.22': {} + "@types/dom-mediacapture-record@1.0.22": {} - '@types/esrecurse@4.3.1': {} + "@types/esrecurse@4.3.1": {} - '@types/estree@1.0.9': {} + "@types/estree@1.0.9": {} - '@types/fs-extra@9.0.13': + "@types/fs-extra@9.0.13": dependencies: - '@types/node': 26.1.0 + "@types/node": 26.1.0 - '@types/http-cache-semantics@4.2.0': {} + "@types/http-cache-semantics@4.2.0": {} - '@types/json-schema@7.0.15': {} + "@types/json-schema@7.0.15": {} - '@types/keyv@3.1.4': + "@types/keyv@3.1.4": dependencies: - '@types/node': 25.9.4 + "@types/node": 25.9.4 - '@types/ms@2.1.0': {} + "@types/ms@2.1.0": {} - '@types/node@22.20.0': + "@types/node@22.20.0": dependencies: undici-types: 6.21.0 - '@types/node@25.9.4': + "@types/node@25.9.4": dependencies: undici-types: 7.24.6 - '@types/node@26.1.0': + "@types/node@26.1.0": dependencies: undici-types: 8.3.0 - '@types/qrcode@1.5.6': + "@types/qrcode@1.5.6": dependencies: - '@types/node': 26.1.0 + "@types/node": 26.1.0 - '@types/react-dom@19.2.3(@types/react@19.2.17)': + "@types/react-dom@19.2.3(@types/react@19.2.17)": dependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 - '@types/react@19.2.17': + "@types/react@19.2.17": dependencies: csstype: 3.2.3 - '@types/responselike@1.0.3': + "@types/responselike@1.0.3": dependencies: - '@types/node': 25.9.4 + "@types/node": 25.9.4 - '@types/use-sync-external-store@0.0.6': {} + "@types/use-sync-external-store@0.0.6": {} - '@types/validate-npm-package-name@4.0.2': {} + "@types/validate-npm-package-name@4.0.2": {} - '@types/yauzl@2.10.3': + "@types/yauzl@2.10.3": dependencies: - '@types/node': 25.9.4 + "@types/node": 25.9.4 optional: true - '@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + "@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)": dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.62.1 - '@typescript-eslint/type-utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.62.1 + "@eslint-community/regexpp": 4.12.2 + "@typescript-eslint/parser": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + "@typescript-eslint/scope-manager": 8.62.1 + "@typescript-eslint/type-utils": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + "@typescript-eslint/utils": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + "@typescript-eslint/visitor-keys": 8.62.1 eslint: 10.6.0(jiti@2.7.0) ignore: 7.0.5 natural-compare: 1.4.0 @@ -6220,41 +8958,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + "@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)": dependencies: - '@typescript-eslint/scope-manager': 8.62.1 - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.62.1 + "@typescript-eslint/scope-manager": 8.62.1 + "@typescript-eslint/types": 8.62.1 + "@typescript-eslint/typescript-estree": 8.62.1(typescript@6.0.3) + "@typescript-eslint/visitor-keys": 8.62.1 debug: 4.4.3 eslint: 10.6.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.62.1(typescript@6.0.3)': + "@typescript-eslint/project-service@8.62.1(typescript@6.0.3)": dependencies: - '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3) - '@typescript-eslint/types': 8.62.1 + "@typescript-eslint/tsconfig-utils": 8.62.1(typescript@6.0.3) + "@typescript-eslint/types": 8.62.1 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.62.1': + "@typescript-eslint/scope-manager@8.62.1": dependencies: - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/visitor-keys': 8.62.1 + "@typescript-eslint/types": 8.62.1 + "@typescript-eslint/visitor-keys": 8.62.1 - '@typescript-eslint/tsconfig-utils@8.62.1(typescript@6.0.3)': + "@typescript-eslint/tsconfig-utils@8.62.1(typescript@6.0.3)": dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + "@typescript-eslint/type-utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)": dependencies: - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) - '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + "@typescript-eslint/types": 8.62.1 + "@typescript-eslint/typescript-estree": 8.62.1(typescript@6.0.3) + "@typescript-eslint/utils": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) debug: 4.4.3 eslint: 10.6.0(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@6.0.3) @@ -6262,14 +9000,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.62.1': {} + "@typescript-eslint/types@8.62.1": {} - '@typescript-eslint/typescript-estree@8.62.1(typescript@6.0.3)': + "@typescript-eslint/typescript-estree@8.62.1(typescript@6.0.3)": dependencies: - '@typescript-eslint/project-service': 8.62.1(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3) - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/visitor-keys': 8.62.1 + "@typescript-eslint/project-service": 8.62.1(typescript@6.0.3) + "@typescript-eslint/tsconfig-utils": 8.62.1(typescript@6.0.3) + "@typescript-eslint/types": 8.62.1 + "@typescript-eslint/visitor-keys": 8.62.1 debug: 4.4.3 minimatch: 10.2.5 semver: 7.8.5 @@ -6279,69 +9017,69 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + "@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)": dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.62.1 - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) + "@eslint-community/eslint-utils": 4.9.1(eslint@10.6.0(jiti@2.7.0)) + "@typescript-eslint/scope-manager": 8.62.1 + "@typescript-eslint/types": 8.62.1 + "@typescript-eslint/typescript-estree": 8.62.1(typescript@6.0.3) eslint: 10.6.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.62.1': + "@typescript-eslint/visitor-keys@8.62.1": dependencies: - '@typescript-eslint/types': 8.62.1 + "@typescript-eslint/types": 8.62.1 eslint-visitor-keys: 5.0.1 - '@vitejs/plugin-react@6.0.3(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': + "@vitejs/plugin-react@6.0.3(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))": dependencies: - '@rolldown/pluginutils': 1.0.1 + "@rolldown/pluginutils": 1.0.1 vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) - '@vitest/expect@4.1.9': + "@vitest/expect@4.1.9": dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.1.9 - '@vitest/utils': 4.1.9 + "@standard-schema/spec": 1.1.0 + "@types/chai": 5.2.3 + "@vitest/spy": 4.1.9 + "@vitest/utils": 4.1.9 chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0))': + "@vitest/mocker@4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0))": dependencies: - '@vitest/spy': 4.1.9 + "@vitest/spy": 4.1.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) - '@vitest/pretty-format@4.1.9': + "@vitest/pretty-format@4.1.9": dependencies: tinyrainbow: 3.1.0 - '@vitest/runner@4.1.9': + "@vitest/runner@4.1.9": dependencies: - '@vitest/utils': 4.1.9 + "@vitest/utils": 4.1.9 pathe: 2.0.3 - '@vitest/snapshot@4.1.9': + "@vitest/snapshot@4.1.9": dependencies: - '@vitest/pretty-format': 4.1.9 - '@vitest/utils': 4.1.9 + "@vitest/pretty-format": 4.1.9 + "@vitest/utils": 4.1.9 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.9': {} + "@vitest/spy@4.1.9": {} - '@vitest/utils@4.1.9': + "@vitest/utils@4.1.9": dependencies: - '@vitest/pretty-format': 4.1.9 + "@vitest/pretty-format": 4.1.9 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 - '@xmldom/xmldom@0.8.13': {} + "@xmldom/xmldom@0.8.13": {} abbrev@4.0.0: {} @@ -6392,17 +9130,17 @@ snapshots: app-builder-lib@26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3): dependencies: - '@electron/asar': 3.4.1 - '@electron/fuses': 1.8.0 - '@electron/get': 3.1.0 - '@electron/notarize': 2.5.0 - '@electron/osx-sign': 1.3.3 - '@electron/rebuild': 4.1.0 - '@electron/universal': 2.0.3 - '@malept/flatpak-bundler': 0.4.0 - '@noble/hashes': 2.2.0 - '@peculiar/webcrypto': 1.7.1 - '@types/fs-extra': 9.0.13 + "@electron/asar": 3.4.1 + "@electron/fuses": 1.8.0 + "@electron/get": 3.1.0 + "@electron/notarize": 2.5.0 + "@electron/osx-sign": 1.3.3 + "@electron/rebuild": 4.1.0 + "@electron/universal": 2.0.3 + "@malept/flatpak-bundler": 0.4.0 + "@noble/hashes": 2.2.0 + "@peculiar/webcrypto": 1.7.1 + "@types/fs-extra": 9.0.13 ajv: 8.20.0 asn1js: 3.0.10 async-exit-hook: 2.0.1 @@ -6533,7 +9271,7 @@ snapshots: builder-util@26.15.3: dependencies: - '@types/debug': 4.1.13 + "@types/debug": 4.1.13 builder-util-runtime: 9.7.0 chalk: 4.1.2 cross-spawn: 7.0.6 @@ -6633,15 +9371,15 @@ snapshots: cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7) - '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-dialog": 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-id": 1.1.2(@types/react@19.2.17)(react@19.2.7) + "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' + - "@types/react" + - "@types/react-dom" code-block-writer@13.0.3: {} @@ -6904,7 +9642,7 @@ snapshots: electron-publish@26.15.3: dependencies: - '@types/fs-extra': 9.0.13 + "@types/fs-extra": 9.0.13 aws4: 1.13.2 builder-util: 26.15.3 builder-util-runtime: 9.7.0 @@ -6920,20 +9658,20 @@ snapshots: electron-winstaller@5.4.0: dependencies: - '@electron/asar': 3.4.1 + "@electron/asar": 3.4.1 debug: 4.4.3 fs-extra: 7.0.1 lodash: 4.18.1 temp: 0.9.4 optionalDependencies: - '@electron/windows-sign': 1.2.2 + "@electron/windows-sign": 1.2.2 transitivePeerDependencies: - supports-color electron@39.8.10: dependencies: - '@electron/get': 2.0.3 - '@types/node': 22.20.0 + "@electron/get": 2.0.3 + "@types/node": 22.20.0 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -7002,32 +9740,32 @@ snapshots: esbuild@0.25.12: 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 + "@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 escalade@3.2.0: {} @@ -7037,8 +9775,8 @@ snapshots: eslint-plugin-react-hooks@7.1.1(eslint@10.6.0(jiti@2.7.0)): dependencies: - '@babel/core': 7.29.7 - '@babel/parser': 7.29.7 + "@babel/core": 7.29.7 + "@babel/parser": 7.29.7 eslint: 10.6.0(jiti@2.7.0) hermes-parser: 0.25.1 zod: 4.4.3 @@ -7048,8 +9786,8 @@ snapshots: eslint-scope@9.1.2: dependencies: - '@types/esrecurse': 4.3.1 - '@types/estree': 1.0.9 + "@types/esrecurse": 4.3.1 + "@types/estree": 1.0.9 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -7059,16 +9797,16 @@ snapshots: eslint@10.6.0(jiti@2.7.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@2.7.0)) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.23.5 - '@eslint/config-helpers': 0.6.0 - '@eslint/core': 1.2.1 - '@eslint/plugin-kit': 0.7.2 - '@humanfs/node': 0.16.8 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.9 + "@eslint-community/eslint-utils": 4.9.1(eslint@10.6.0(jiti@2.7.0)) + "@eslint-community/regexpp": 4.12.2 + "@eslint/config-array": 0.23.5 + "@eslint/config-helpers": 0.6.0 + "@eslint/core": 1.2.1 + "@eslint/plugin-kit": 0.7.2 + "@humanfs/node": 0.16.8 + "@humanwhocodes/module-importer": 1.0.1 + "@humanwhocodes/retry": 0.4.3 + "@types/estree": 1.0.9 ajv: 6.15.0 cross-spawn: 7.0.6 debug: 4.4.3 @@ -7114,7 +9852,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.9 + "@types/estree": 1.0.9 esutils@2.0.3: {} @@ -7144,7 +9882,7 @@ snapshots: execa@9.6.1: dependencies: - '@sindresorhus/merge-streams': 4.0.0 + "@sindresorhus/merge-streams": 4.0.0 cross-spawn: 7.0.6 figures: 6.1.0 get-stream: 9.0.1 @@ -7205,7 +9943,7 @@ snapshots: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.3 + "@types/yauzl": 2.10.3 transitivePeerDependencies: - supports-color @@ -7213,21 +9951,21 @@ snapshots: dependencies: detect-libc: 2.1.2 optionalDependencies: - '@fallow-cli/darwin-arm64': 2.104.0 - '@fallow-cli/darwin-x64': 2.104.0 - '@fallow-cli/linux-arm64-gnu': 2.104.0 - '@fallow-cli/linux-arm64-musl': 2.104.0 - '@fallow-cli/linux-x64-gnu': 2.104.0 - '@fallow-cli/linux-x64-musl': 2.104.0 - '@fallow-cli/win32-arm64-msvc': 2.104.0 - '@fallow-cli/win32-x64-msvc': 2.104.0 + "@fallow-cli/darwin-arm64": 2.104.0 + "@fallow-cli/darwin-x64": 2.104.0 + "@fallow-cli/linux-arm64-gnu": 2.104.0 + "@fallow-cli/linux-arm64-musl": 2.104.0 + "@fallow-cli/linux-x64-gnu": 2.104.0 + "@fallow-cli/linux-x64-musl": 2.104.0 + "@fallow-cli/win32-arm64-msvc": 2.104.0 + "@fallow-cli/win32-x64-msvc": 2.104.0 fast-deep-equal@3.1.3: {} fast-glob@3.3.3: dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 + "@nodelib/fs.stat": 2.0.5 + "@nodelib/fs.walk": 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.8 @@ -7392,7 +10130,7 @@ snapshots: get-stream@9.0.1: dependencies: - '@sec-ant/readable-stream': 0.4.1 + "@sec-ant/readable-stream": 0.4.1 is-stream: 4.0.1 glob-parent@5.1.2: @@ -7434,10 +10172,10 @@ snapshots: got@11.8.6: dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.3 + "@sindresorhus/is": 4.6.0 + "@szmarczak/http-timer": 4.0.6 + "@types/cacheable-request": 6.0.3 + "@types/responselike": 1.0.3 cacheable-lookup: 5.0.4 cacheable-request: 7.0.4 decompress-response: 6.0.0 @@ -7728,9 +10466,9 @@ snapshots: livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22): dependencies: - '@livekit/mutex': 1.1.1 - '@livekit/protocol': 1.46.6 - '@types/dom-mediacapture-record': 1.0.22 + "@livekit/mutex": 1.1.1 + "@livekit/protocol": 1.46.6 + "@types/dom-mediacapture-record": 1.0.22 events: 3.3.0 jose: 6.2.3 loglevel: 1.9.2 @@ -7781,7 +10519,7 @@ snapshots: magic-string@0.30.21: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + "@jridgewell/sourcemap-codec": 1.5.5 matcher@3.0.0: dependencies: @@ -7857,7 +10595,8 @@ snapshots: ms@2.1.3: {} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz: {} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz: + {} nanoid@3.3.15: {} @@ -8003,7 +10742,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.29.7 + "@babel/code-frame": 7.29.7 error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -8046,7 +10785,7 @@ snapshots: pkijs@3.4.0: dependencies: - '@noble/hashes': 1.4.0 + "@noble/hashes": 1.4.0 asn1js: 3.0.10 bytestreamjs: 2.0.1 pvtsutils: 1.3.6 @@ -8055,7 +10794,7 @@ snapshots: plist@3.1.0: dependencies: - '@xmldom/xmldom': 0.8.13 + "@xmldom/xmldom": 0.8.13 base64-js: 1.5.1 xmlbuilder: 15.1.1 @@ -8153,11 +10892,11 @@ snapshots: react-day-picker@10.0.1(@types/react@19.2.17)(react@19.2.7): dependencies: - '@date-fns/tz': 1.5.0 + "@date-fns/tz": 1.5.0 date-fns: 4.4.0 react: 19.2.7 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 react-dom@19.2.7(react@19.2.7): dependencies: @@ -8168,11 +10907,11 @@ snapshots: react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1): dependencies: - '@types/use-sync-external-store': 0.0.6 + "@types/use-sync-external-store": 0.0.6 react: 19.2.7 use-sync-external-store: 1.6.0(react@19.2.7) optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 redux: 5.0.1 react-remove-scroll-bar@2.3.8(@types/react@19.2.17)(react@19.2.7): @@ -8181,7 +10920,7 @@ snapshots: react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.7) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 react-remove-scroll@2.7.2(@types/react@19.2.17)(react@19.2.7): dependencies: @@ -8192,7 +10931,7 @@ snapshots: use-callback-ref: 1.3.3(@types/react@19.2.17)(react@19.2.7) use-sidecar: 1.1.3(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 react-resizable-panels@4.12.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: @@ -8205,7 +10944,7 @@ snapshots: react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 react@19.2.7: {} @@ -8235,7 +10974,7 @@ snapshots: recharts@3.8.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1): dependencies: - '@reduxjs/toolkit': 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7) + "@reduxjs/toolkit": 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7) clsx: 2.1.1 decimal.js-light: 2.5.1 es-toolkit: 1.49.0 @@ -8250,7 +10989,7 @@ snapshots: use-sync-external-store: 1.6.0(react@19.2.7) victory-vendor: 37.3.6 transitivePeerDependencies: - - '@types/react' + - "@types/react" - redux redux-thunk@3.1.0(redux@5.0.1): @@ -8306,24 +11045,24 @@ snapshots: rolldown@1.1.4: dependencies: - '@oxc-project/types': 0.138.0 - '@rolldown/pluginutils': 1.0.1 + "@oxc-project/types": 0.138.0 + "@rolldown/pluginutils": 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.1.4 - '@rolldown/binding-darwin-arm64': 1.1.4 - '@rolldown/binding-darwin-x64': 1.1.4 - '@rolldown/binding-freebsd-x64': 1.1.4 - '@rolldown/binding-linux-arm-gnueabihf': 1.1.4 - '@rolldown/binding-linux-arm64-gnu': 1.1.4 - '@rolldown/binding-linux-arm64-musl': 1.1.4 - '@rolldown/binding-linux-ppc64-gnu': 1.1.4 - '@rolldown/binding-linux-s390x-gnu': 1.1.4 - '@rolldown/binding-linux-x64-gnu': 1.1.4 - '@rolldown/binding-linux-x64-musl': 1.1.4 - '@rolldown/binding-openharmony-arm64': 1.1.4 - '@rolldown/binding-wasm32-wasi': 1.1.4 - '@rolldown/binding-win32-arm64-msvc': 1.1.4 - '@rolldown/binding-win32-x64-msvc': 1.1.4 + "@rolldown/binding-android-arm64": 1.1.4 + "@rolldown/binding-darwin-arm64": 1.1.4 + "@rolldown/binding-darwin-x64": 1.1.4 + "@rolldown/binding-freebsd-x64": 1.1.4 + "@rolldown/binding-linux-arm-gnueabihf": 1.1.4 + "@rolldown/binding-linux-arm64-gnu": 1.1.4 + "@rolldown/binding-linux-arm64-musl": 1.1.4 + "@rolldown/binding-linux-ppc64-gnu": 1.1.4 + "@rolldown/binding-linux-s390x-gnu": 1.1.4 + "@rolldown/binding-linux-x64-gnu": 1.1.4 + "@rolldown/binding-linux-x64-musl": 1.1.4 + "@rolldown/binding-openharmony-arm64": 1.1.4 + "@rolldown/binding-wasm32-wasi": 1.1.4 + "@rolldown/binding-win32-arm64-msvc": 1.1.4 + "@rolldown/binding-win32-x64-msvc": 1.1.4 router@2.2.0: dependencies: @@ -8414,13 +11153,13 @@ snapshots: shadcn@4.12.0(typescript@6.0.3): dependencies: - '@babel/core': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@dotenvx/dotenvx': 1.75.1 - '@modelcontextprotocol/sdk': 1.29.0(zod@3.25.76) - '@types/validate-npm-package-name': 4.0.2 + "@babel/core": 7.29.7 + "@babel/parser": 7.29.7 + "@babel/plugin-transform-typescript": 7.29.7(@babel/core@7.29.7) + "@babel/preset-typescript": 7.29.7(@babel/core@7.29.7) + "@dotenvx/dotenvx": 1.75.1 + "@modelcontextprotocol/sdk": 1.29.0(zod@3.25.76) + "@types/validate-npm-package-name": 4.0.2 browserslist: 4.28.4 commander: 14.0.3 cosmiconfig: 9.0.2(typescript@6.0.3) @@ -8447,7 +11186,7 @@ snapshots: zod: 3.25.76 zod-to-json-schema: 3.25.2(zod@3.25.76) transitivePeerDependencies: - - '@cfworker/json-schema' + - "@cfworker/json-schema" - babel-plugin-macros - supports-color - typescript @@ -8587,7 +11326,7 @@ snapshots: tar@7.5.19: dependencies: - '@isaacs/fs-minipass': 4.0.1 + "@isaacs/fs-minipass": 4.0.1 chownr: 3.0.0 minipass: 7.1.3 minizlib: 3.1.0 @@ -8595,7 +11334,7 @@ snapshots: tauri-plugin-app-events-api@0.2.0: dependencies: - '@tauri-apps/api': 2.11.1 + "@tauri-apps/api": 2.11.1 temp-file@3.4.0: dependencies: @@ -8646,7 +11385,7 @@ snapshots: ts-morph@26.0.0: dependencies: - '@ts-morph/common': 0.27.0 + "@ts-morph/common": 0.27.0 code-block-writer: 13.0.3 tsconfig-paths@4.2.0: @@ -8678,10 +11417,10 @@ snapshots: typescript-eslint@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/parser': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) - '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + "@typescript-eslint/eslint-plugin": 8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + "@typescript-eslint/parser": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + "@typescript-eslint/typescript-estree": 8.62.1(typescript@6.0.3) + "@typescript-eslint/utils": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.6.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: @@ -8730,7 +11469,7 @@ snapshots: react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 use-sidecar@1.1.3(@types/react@19.2.17)(react@19.2.7): dependencies: @@ -8738,7 +11477,7 @@ snapshots: react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 use-sync-external-store@1.6.0(react@19.2.7): dependencies: @@ -8759,22 +11498,22 @@ snapshots: vaul@1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + "@radix-ui/react-dialog": 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' + - "@types/react" + - "@types/react-dom" victory-vendor@37.3.6: dependencies: - '@types/d3-array': 3.2.2 - '@types/d3-ease': 3.0.2 - '@types/d3-interpolate': 3.0.4 - '@types/d3-scale': 4.0.9 - '@types/d3-shape': 3.1.8 - '@types/d3-time': 3.0.4 - '@types/d3-timer': 3.0.2 + "@types/d3-array": 3.2.2 + "@types/d3-ease": 3.0.2 + "@types/d3-interpolate": 3.0.4 + "@types/d3-scale": 4.0.9 + "@types/d3-shape": 3.1.8 + "@types/d3-time": 3.0.4 + "@types/d3-timer": 3.0.2 d3-array: 3.2.4 d3-ease: 3.0.1 d3-interpolate: 3.0.1 @@ -8791,7 +11530,7 @@ snapshots: rolldown: 1.1.4 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.1.0 + "@types/node": 26.1.0 esbuild: 0.25.12 fsevents: 2.3.3 jiti: 2.7.0 @@ -8799,13 +11538,13 @@ snapshots: vitest@4.1.9(@types/node@26.1.0)(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0)): dependencies: - '@vitest/expect': 4.1.9 - '@vitest/mocker': 4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.9 - '@vitest/runner': 4.1.9 - '@vitest/snapshot': 4.1.9 - '@vitest/spy': 4.1.9 - '@vitest/utils': 4.1.9 + "@vitest/expect": 4.1.9 + "@vitest/mocker": 4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0)) + "@vitest/pretty-format": 4.1.9 + "@vitest/runner": 4.1.9 + "@vitest/snapshot": 4.1.9 + "@vitest/spy": 4.1.9 + "@vitest/utils": 4.1.9 es-module-lexer: 2.3.0 expect-type: 1.4.0 magic-string: 0.30.21 @@ -8820,7 +11559,7 @@ snapshots: vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 26.1.0 + "@types/node": 26.1.0 transitivePeerDependencies: - msw @@ -8828,9 +11567,9 @@ snapshots: webcrypto-core@1.9.2: dependencies: - '@peculiar/asn1-schema': 2.8.0 - '@peculiar/json-schema': 1.1.12 - '@peculiar/utils': 2.0.3 + "@peculiar/asn1-schema": 2.8.0 + "@peculiar/json-schema": 1.1.12 + "@peculiar/utils": 2.0.3 asn1js: 3.0.10 tslib: 2.8.1 @@ -8954,7 +11693,7 @@ snapshots: zustand@5.0.14(@types/react@19.2.17)(immer@11.1.9)(react@19.2.7)(use-sync-external-store@1.6.0(react@19.2.7)): optionalDependencies: - '@types/react': 19.2.17 + "@types/react": 19.2.17 immer: 11.1.9 react: 19.2.7 use-sync-external-store: 1.6.0(react@19.2.7) diff --git a/type-maps.yaml b/type-maps.yaml index b6e68b1..15f49d7 100644 --- a/type-maps.yaml +++ b/type-maps.yaml @@ -71,6 +71,7 @@ type_maps: MessageLive: 59 MessageOtherIota: 60 MessageChunk: 61 + MessageGet: 143 MessagesGet: 62 PushNotification: 63 ReadNotification: 64 From d9bfdb655d96b7d611d0374c557437314a0f2bfe Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 23:25:48 +0200 Subject: [PATCH 64/75] (fix): hot-reloading not working (fix): other stuff --- apps/web/.gitignore | 2 ++ apps/web/vite.config.ts | 48 ++++++++++------------------------- packages/chat/src/context.tsx | 10 -------- packages/chat/src/screen.tsx | 2 +- 4 files changed, 17 insertions(+), 45 deletions(-) diff --git a/apps/web/.gitignore b/apps/web/.gitignore index a547bf3..8952e07 100644 --- a/apps/web/.gitignore +++ b/apps/web/.gitignore @@ -22,3 +22,5 @@ dist-ssr *.njsproj *.sln *.sw? + +.android diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index b3d396e..b0ea9d5 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -3,7 +3,7 @@ import type { IncomingMessage, ServerResponse } from "node:http"; import { dirname, resolve } from "node:path"; import { fileURLToPath } from "node:url"; -import { defineConfig, normalizePath, type Plugin } from "vite"; +import { defineConfig, type Plugin } from "vite"; import react from "@vitejs/plugin-react"; import tailwindcss from "@tailwindcss/vite"; import { mtp } from "mtp/vite"; @@ -51,38 +51,6 @@ function deepFilterAssetHeaders(rootDir: string): Plugin { }; } -function restartOnMtpSourceChange(srcDir: string): Plugin { - const watchedDir = normalizePath(realpathSync(srcDir)); - - return { - name: "restart-on-mtp-source-change", - apply: "serve", - configureServer(server) { - server.watcher.add(watchedDir); - let restartTimer: ReturnType | null = null; - - const restart = (file: string) => { - if (!normalizePath(file).startsWith(`${watchedDir}/`)) { - return; - } - - if (restartTimer) { - clearTimeout(restartTimer); - } - - restartTimer = setTimeout(() => { - restartTimer = null; - void server.restart(); - }, 50); - }; - - server.watcher.on("add", restart); - server.watcher.on("change", restart); - server.watcher.on("unlink", restart); - }, - }; -} - export default defineConfig({ base: "./", clearScreen: false, @@ -141,6 +109,8 @@ export default defineConfig({ : undefined, watch: { ignored: ["**/src-tauri/**"], + usePolling: true, + interval: 100, }, }, envPrefix: ["VITE_", "TAURI_ENV_*"], @@ -181,8 +151,18 @@ export default defineConfig({ }, plugins: [ deepFilterAssetHeaders(resolve(appDir, "public")), - restartOnMtpSourceChange(resolve(appDir, "../../packages/mtp/src")), mtp({ typeMaps: resolve(appDir, "../../type-maps.yaml") }), + { + name: "workspace-realpath-resolution", + enforce: "post", + config() { + return { + resolve: { + preserveSymlinks: false, + }, + }; + }, + }, react(), tailwindcss(), ], diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index e6a2bf2..a2b55ff 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -172,16 +172,6 @@ export default function Provider({ children }: { children: ReactNode }) { return currentChatSecretState.value; }, [currentChatSecretState, userIdValue]); - // Chat secret debugging - useEffect(() => { - if (!currentChatSecret) return; - - const hex = Array.from(currentChatSecret, (b) => - b.toString(16).padStart(2, "0"), - ).join(""); - log(3, "chat", "yellow", "Chat secret (sensitive)", hex); - }, [currentChatSecret]); - useEffect(() => { if (!userIdValue) return; diff --git a/packages/chat/src/screen.tsx b/packages/chat/src/screen.tsx index c1affae..3b1c5e4 100644 --- a/packages/chat/src/screen.tsx +++ b/packages/chat/src/screen.tsx @@ -523,11 +523,11 @@ export default function Screen() { return ( } component={(user) => ( Date: Mon, 6 Jul 2026 23:29:53 +0200 Subject: [PATCH 65/75] (fix): workflows --- apps/electron/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/electron/package.json b/apps/electron/package.json index 16e3e6d..7246c18 100644 --- a/apps/electron/package.json +++ b/apps/electron/package.json @@ -44,6 +44,9 @@ "directories": { "output": "release" }, + "toolsets": { + "appimage": "1.0.3" + }, "files": [ "dist/**/*", "package.json" From f61a77af314e52587f267576cd139d4dd5087ccb Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 6 Jul 2026 23:50:48 +0200 Subject: [PATCH 66/75] (fix): workflows --- apps/electron/package.json | 2 ++ flake.nix | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/apps/electron/package.json b/apps/electron/package.json index 7246c18..f1e948f 100644 --- a/apps/electron/package.json +++ b/apps/electron/package.json @@ -5,6 +5,7 @@ "description": "Tensamin desktop client", "author": "methanium", "homepage": "https://git.methanium.net/tensamin/client", + "desktopName": "Tensamin", "type": "module", "main": "dist/main/main.js", "scripts": { @@ -71,6 +72,7 @@ "executableName": "tensamin", "category": "Network", "maintainer": "Methanium", + "syncDesktopName": true, "desktop": { "entry": { "Name": "Tensamin", diff --git a/flake.nix b/flake.nix index c46fbac..11a53a2 100644 --- a/flake.nix +++ b/flake.nix @@ -207,6 +207,17 @@ }; commonDeps = [rustToolchain pkgs.wasm-pack pkgs.lld]; + appImageToolsArchive = pkgs.fetchurl { + url = "https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage@1.0.3/appimage-tools-runtime-20251108.tar.gz"; + hash = "sha256-hAIaeO4hSub9M6LWKpK6JVQt0QvIa/EXqbLQu6ROdmU="; + }; + appImageTools = pkgs.runCommand "electron-builder-appimage-tools-nix" {nativeBuildInputs = [pkgs.gnutar pkgs.gzip];} '' + mkdir -p "$out" + tar -xzf ${appImageToolsArchive} --strip-components=1 -C "$out" + rm -f "$out/mksquashfs" "$out/desktop-file-validate" + ln -s ${pkgs.squashfsTools}/bin/mksquashfs "$out/mksquashfs" + ln -s ${pkgs.desktop-file-utils}/bin/desktop-file-validate "$out/desktop-file-validate" + ''; in rec { default = electron; @@ -244,6 +255,7 @@ export npm_config_build_from_source=true export USE_SYSTEM_FPM=true export ELECTRON_BUILDER_7ZIP_PATH="${pkgs.p7zip}/bin/7za" + export APPIMAGE_TOOLS_PATH="${appImageTools}" alias electron-install='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && pnpm install' alias electron-build-web='cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" && pnpm run build:web' From 8dd73568ce4b8a591ec7a89945d90c86c124960b Mon Sep 17 00:00:00 2001 From: Alois Date: Tue, 7 Jul 2026 18:13:43 +0200 Subject: [PATCH 67/75] (feat): add message editing (qol): update todos --- packages/chat/src/components/message.tsx | 73 ++++++++- .../src/components/messageContextMenu.tsx | 34 +++- packages/chat/src/context.tsx | 151 +++++++++++++++++- packages/chat/todo.md | 1 + packages/mtp/src/context.tsx | 1 + packages/shared/src/data.ts | 47 ++++++ todo.md | 1 + type-maps.yaml | 8 + 8 files changed, 310 insertions(+), 6 deletions(-) diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index 9848fbf..aa050fd 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -27,6 +27,10 @@ import MessageContextMenu from "./messageContextMenu"; import Media from "./media"; import { useStorage } from "@tensamin/storage/context"; import { useMTP } from "@tensamin/mtp"; +import Input from "@tensamin/markdown/input"; +import { useChat } from "../context"; +import { encryptChatText } from "@tensamin/crypto/chatSecret"; +import { log, toast } from "@tensamin/shared/log"; function MessageComponent({ grouped, @@ -138,6 +142,62 @@ function MessageComponent({ } }, [message.Content]); + // Message editing + const { chatSecret, editMessageContent, userId } = useChat(); + const [editing, setEditing] = useState(false); + const [editDraft, setEditDraft] = useState(message.Content); + useEffect(() => { + if (!editing) { + setEditDraft(message.Content); + } + }, [editing, message.Content]); + const editMessage = useCallback( + async (newContent: string) => { + if (!chatSecret) return; + + const encryptedContent = await encryptChatText( + chatSecret, + newContent, + ).catch((err) => { + toast("error", "Failed to encrypt edit", String(err)); + }); + + if (!encryptedContent) return; + + const previousContent = message.Content; + editMessageContent(message.SendTime, newContent); + + try { + const response = await send("MessageEdit", { + ChatPartnerId: userId, + Content: encryptedContent, + SendTime: message.SendTime, + }); + + if (response.type.startsWith("Error")) { + throw new Error(response.type); + } + } catch (err) { + editMessageContent( + message.SendTime, + previousContent, + message.Edited ?? false, + ); + log(1, "chat", "red", "Failed to edit message", err); + toast("error", "Failed to edit message", String(err)); + } + }, + [ + chatSecret, + editMessageContent, + userId, + message.Content, + message.Edited, + message.SendTime, + send, + ], + ); + return (
    )} - {isValidURL ? ( + {editing ? ( + { + editMessage(editDraft); + setEditing(false); + }} + /> + ) : isValidURL ? ( ) : ( diff --git a/packages/chat/src/components/messageContextMenu.tsx b/packages/chat/src/components/messageContextMenu.tsx index a4be6f7..7d3415e 100644 --- a/packages/chat/src/components/messageContextMenu.tsx +++ b/packages/chat/src/components/messageContextMenu.tsx @@ -17,9 +17,10 @@ import { useIsMobile, } from "@tensamin/ui"; import { Pin, Clipboard, Pen, Reply, Forward, Trash } from "lucide-react"; -import { useMemo, useState } from "react"; +import { useEffect, useMemo, useState } from "react"; import type { ReactElement, ReactNode } from "react"; import { useChat } from "../context"; +import { useStorage } from "@tensamin/storage/context"; async function copyText(text: string) { await navigator.clipboard.writeText(text); @@ -136,6 +137,8 @@ function MessageMenuContent({ messageId, onAddReaction, showReactionItems = true, + onSetEditing, + senderId, }: { components: MenuComponents; content: string; @@ -143,12 +146,20 @@ function MessageMenuContent({ messageId: number; onAddReaction?: () => void | Promise; showReactionItems?: boolean; + onSetEditing: (value: boolean) => void; + senderId: number; }) { const { Content, Group, Item, Separator, Sub, SubContent, SubTrigger } = components; + const { load } = useStorage(); const { setReplyTo } = useChat(); + const [ownId, setOwnId] = useState(0); + useEffect(() => { + load("user_id").then(setOwnId); + }, [load]); + return ( @@ -172,9 +183,16 @@ function MessageMenuContent({ - -

    Edit Message

    -
    + {senderId === ownId && ( + { + onSetEditing(true); + }} + > +

    Edit Message

    +
    + )} { @@ -214,10 +232,14 @@ export default function MessageContextMenu({ children, content, messageId, + onSetEditing, + senderId, }: { children: ReactElement; content: string; messageId: number; + onSetEditing: (value: boolean) => void; + senderId: number; }) { const isMobile = useIsMobile(); const devEnabled = useMemo( @@ -257,6 +279,8 @@ export default function MessageContextMenu({ messageId={messageId} onAddReaction={() => setReactionDrawerOpen(true)} showReactionItems={false} + onSetEditing={onSetEditing} + senderId={senderId} /> @@ -282,6 +306,8 @@ export default function MessageContextMenu({ content={content} devEnabled={devEnabled} messageId={messageId} + onSetEditing={onSetEditing} + senderId={senderId} /> ); diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index a2b55ff..a2ed7b3 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -86,6 +86,39 @@ function updateMessageStateBySendTime< }; } +function updateMessageContentBySendTime< + T extends { SendTime: number; Content: string; Edited?: boolean }, +>( + messages: T[], + sendTime: number, + content: string, + edited = true, +): { next: T[]; updated: boolean } { + let updated = false; + + const next = messages.map((item) => { + if (item.SendTime !== sendTime) { + return item; + } + + if (item.Content === content && item.Edited === edited) { + return item; + } + + updated = true; + return { + ...item, + Content: content, + Edited: edited, + }; + }); + + return { + next, + updated, + }; +} + function assertProtocolSuccess(type: string, response: { type: string }) { if (response.type.startsWith("Error")) { throw new Error(`${type} failed: ${response.type}`); @@ -413,9 +446,112 @@ export default function Provider({ children }: { children: ReactNode }) { setLiveMessagesState([]); }, []); + const editMessageContent = useCallback( + (sendTime: number, content: string, edited = true) => { + setLiveMessagesState((prev) => { + const { next, updated } = updateMessageContentBySendTime( + prev, + sendTime, + content, + edited, + ); + return updated ? next : prev; + }); + + const queryKey = [ + "chat-messages", + String(userIdValue), + currentChatSecret !== null, + ] as const; + queryClient.setQueryData>( + queryKey, + (current) => { + if (!current) { + return current; + } + + let updated = false; + + const pages = current.pages.map((page) => { + const nextPage = updateMessageContentBySendTime( + page, + sendTime, + content, + edited, + ); + + if (nextPage.updated) { + updated = true; + } + + return nextPage.next; + }); + + if (!updated) { + return current; + } + + return { + ...current, + pages, + }; + }, + ); + }, + [currentChatSecret, userIdValue], + ); + // Get live updates for message states useEffect(() => { return subscribePush((message) => { + if (message.type === "MessageEditLive") { + if (!currentChatSecret) return; + + const rawData = message.data as { + ChatPartnerId: unknown; + SendTime: unknown; + Content: string; + }; + + const chatPartnerId = Number(rawData.ChatPartnerId); + const sendTime = Number(rawData.SendTime); + + if (!Number.isFinite(chatPartnerId) || !Number.isFinite(sendTime)) { + log( + 3, + "chat", + "yellow", + "Cancel message edit update due to invalid data", + ); + return; + } + + if (chatPartnerId !== userIdValue) { + log( + 3, + "chat", + "yellow", + "Cancel message edit update due to user ID mismatch", + { + expected: userIdValue, + received: chatPartnerId, + }, + ); + return; + } + + void decryptChatText(currentChatSecret, rawData.Content) + .then((content) => { + editMessageContent(sendTime, content); + }) + .catch((err) => { + log(1, "chat", "red", "Failed to decrypt message edit", err, { + SendTime: sendTime, + }); + }); + return; + } + if (message.type !== "MessageState") return; const rawData = message.data as { @@ -505,7 +641,14 @@ export default function Provider({ children }: { children: ReactNode }) { }, ); }); - }, [addLiveMessage, currentChatSecret, send, subscribePush, userIdValue]); + }, [ + addLiveMessage, + currentChatSecret, + editMessageContent, + send, + subscribePush, + userIdValue, + ]); // Replys const [replyTo, setReplyTo] = useState(undefined); @@ -518,6 +661,7 @@ export default function Provider({ children }: { children: ReactNode }) { getChatSecret, liveMessages: () => liveMessagesState, addLiveMessage, + editMessageContent, clearLiveMessages, chatSecret: currentChatSecret, userId: userIdValue, @@ -541,6 +685,11 @@ type contextType = { addLiveMessage: (message: RawMessage) => { setFailed: (failed: boolean) => void; }; + editMessageContent: ( + sendTime: number, + content: string, + edited?: boolean, + ) => void; clearLiveMessages: () => void; chatSecret: Uint8Array | null; userId: number; diff --git a/packages/chat/todo.md b/packages/chat/todo.md index 4bff343..1bed8c5 100644 --- a/packages/chat/todo.md +++ b/packages/chat/todo.md @@ -3,3 +3,4 @@ - Placeholder image if media fails to load - Signature verifications via ed25519 key - Confirmation when exiting with text in the input box. +- Add arrow up hotkey to edit last message diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index 9f96555..a781c77 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -200,6 +200,7 @@ export function Provider(props: { const unsubscribers = [ "MessageLive", + "MessageEditLive", "MessageState", "CallInvite", "ErrorNoIota", diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 4d1fdb4..5bba99a 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -66,6 +66,11 @@ const callSecretEnvelopeRequest = z.object({ WrappingScheme: z.string(), }); +export const Reaction = z.object({ + Reaction: z.string(), + SenderId: z.number(), +}); + export const Message = z.object({ NotEncrypted: z.boolean().optional(), SenderId: z.number(), @@ -79,6 +84,8 @@ export const Message = z.object({ MessageState: z .enum(["read", "received", "sent", "sending", "awaiting"]) // awaiting for 'internal' use .default("received"), + Edited: z.boolean().optional(), + Reactions: z.array(Reaction).optional(), }); export const failedUser = { @@ -195,6 +202,46 @@ export const mtp = { PingIota: z.number(), }), }, + MessageEditLive: { + request: z.object({}), + response: z.object({ + Content: z.base64(), + ChatPartnerId: z.number(), + SendTime: z.number(), + }), + }, + MessageEdit: { + request: z.object({ + Content: z.base64(), + ChatPartnerId: z.number(), + SendTime: z.number(), + }), + response: z.object({}), + }, + MessageReactionAdd: { + request: z.object({ + Reaction: z.string(), + SendTime: z.number(), + ChatPartnerId: z.number(), + }), + response: z.object(), + }, + MessageReactionRemove: { + request: z.object({ + Reaction: z.string(), + SendTime: z.number(), + ChatPartnerId: z.number(), + }), + response: z.object(), + }, + MessageReactionLive: { + request: z.object(), + response: z.object({ + Reaction: z.string(), + SendTime: z.number(), + ChatPartnerId: z.number(), + }), + }, MessageLive: { request: z.object({}).optional(), response: z.object({ diff --git a/todo.md b/todo.md index 6927b1a..71b7816 100644 --- a/todo.md +++ b/todo.md @@ -1,3 +1,4 @@ - Move legal to extra onboarding package - Add a bunch of tests - Add packages/cache/ to handle caching +- Full accessability diff --git a/type-maps.yaml b/type-maps.yaml index 15f49d7..1e9583b 100644 --- a/type-maps.yaml +++ b/type-maps.yaml @@ -143,6 +143,11 @@ type_maps: GetChatSecret: 140 ChatSecretResponse: 141 ChatSecretForward: 142 + MessageEditLive: 144 + MessageEdit: 145 + MessageReactionAdd: 146 + MessageReactionRemove: 147 + MessageReactionLive: 148 DataTypes: ErrorType: 32 ErrorProtocol: 33 @@ -257,3 +262,6 @@ type_maps: SenderUserId: 152 RecipientUserId: 153 Recipients: 154 + Edited: 155 + Reactions: 156 + Reaction: 157 From a08c41067edcf45c7f8de997c23c8b6f2339528a Mon Sep 17 00:00:00 2001 From: Alois Date: Tue, 7 Jul 2026 18:21:52 +0200 Subject: [PATCH 68/75] (feat): unify message patching into a single interface --- packages/chat/src/components/message.tsx | 19 +-- packages/chat/src/context.tsx | 200 +++++++---------------- 2 files changed, 65 insertions(+), 154 deletions(-) diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index aa050fd..997f42f 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -143,7 +143,7 @@ function MessageComponent({ }, [message.Content]); // Message editing - const { chatSecret, editMessageContent, userId } = useChat(); + const { chatSecret, editMessage, userId } = useChat(); const [editing, setEditing] = useState(false); const [editDraft, setEditDraft] = useState(message.Content); useEffect(() => { @@ -151,7 +151,7 @@ function MessageComponent({ setEditDraft(message.Content); } }, [editing, message.Content]); - const editMessage = useCallback( + const submitEditMessage = useCallback( async (newContent: string) => { if (!chatSecret) return; @@ -165,7 +165,7 @@ function MessageComponent({ if (!encryptedContent) return; const previousContent = message.Content; - editMessageContent(message.SendTime, newContent); + editMessage(message.SendTime, { Content: newContent, Edited: true }); try { const response = await send("MessageEdit", { @@ -178,18 +178,17 @@ function MessageComponent({ throw new Error(response.type); } } catch (err) { - editMessageContent( - message.SendTime, - previousContent, - message.Edited ?? false, - ); + editMessage(message.SendTime, { + Content: previousContent, + Edited: message.Edited ?? false, + }); log(1, "chat", "red", "Failed to edit message", err); toast("error", "Failed to edit message", String(err)); } }, [ chatSecret, - editMessageContent, + editMessage, userId, message.Content, message.Edited, @@ -288,7 +287,7 @@ function MessageComponent({ setValue={setEditDraft} value={editDraft} onSubmit={() => { - editMessage(editDraft); + submitEditMessage(editDraft); setEditing(false); }} /> diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index a2ed7b3..af0226f 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -59,40 +59,15 @@ function bytesFromProtocol(value: unknown): Uint8Array { throw new Error("expected protocol bytes"); } -function updateMessageStateBySendTime< - T extends { SendTime: number; MessageState: RawMessage["MessageState"] }, ->( +type EditableMessage = RawMessage & { failed?: boolean }; +type MessageEdit = Partial< + Pick +>; + +function updateMessagesBySendTime( messages: T[], sendTime: number, - messageState: RawMessage["MessageState"], -): { next: T[]; updated: boolean } { - let updated = false; - - const next = messages.map((item) => { - if (item.SendTime !== sendTime || item.MessageState === messageState) { - return item; - } - - updated = true; - return { - ...item, - MessageState: messageState, - }; - }); - - return { - next, - updated, - }; -} - -function updateMessageContentBySendTime< - T extends { SendTime: number; Content: string; Edited?: boolean }, ->( - messages: T[], - sendTime: number, - content: string, - edited = true, + edit: MessageEdit, ): { next: T[]; updated: boolean } { let updated = false; @@ -101,15 +76,18 @@ function updateMessageContentBySendTime< return item; } - if (item.Content === content && item.Edited === edited) { + const entries = Object.entries(edit) as Array< + [keyof MessageEdit, MessageEdit[keyof MessageEdit]] + >; + + if (entries.every(([key, value]) => item[key] === value)) { return item; } updated = true; return { ...item, - Content: content, - Edited: edited, + ...edit, }; }); @@ -408,52 +386,14 @@ export default function Provider({ children }: { children: ReactNode }) { useEffect(() => { load("user_id").then(setOwnId); }, [load]); - const addLiveMessage = useCallback( - (message: RawMessage) => { - const localId = - globalThis.crypto?.randomUUID?.() ?? - `${Date.now()}-${Math.random().toString(36).slice(2)}`; - if (message.SenderId !== ownId) { - moveUserIdToTop(userIdValue); - } - - setLiveMessagesState((prev) => [ - ...prev, - { - ...message, - localId, - failed: false, - }, - ]); - - return { - setFailed: (failed: boolean) => { - setLiveMessagesState((prev) => - prev.map((liveMessage) => - liveMessage.localId === localId - ? { ...liveMessage, failed } - : liveMessage, - ), - ); - }, - }; - }, - [userIdValue, moveUserIdToTop, ownId], - ); - - const clearLiveMessages = useCallback(() => { - setLiveMessagesState([]); - }, []); - - const editMessageContent = useCallback( - (sendTime: number, content: string, edited = true) => { + const editMessage = useCallback( + (sendTime: number, edit: MessageEdit) => { setLiveMessagesState((prev) => { - const { next, updated } = updateMessageContentBySendTime( + const { next, updated } = updateMessagesBySendTime( prev, sendTime, - content, - edited, + edit, ); return updated ? next : prev; }); @@ -473,12 +413,7 @@ export default function Provider({ children }: { children: ReactNode }) { let updated = false; const pages = current.pages.map((page) => { - const nextPage = updateMessageContentBySendTime( - page, - sendTime, - content, - edited, - ); + const nextPage = updateMessagesBySendTime(page, sendTime, edit); if (nextPage.updated) { updated = true; @@ -501,6 +436,38 @@ export default function Provider({ children }: { children: ReactNode }) { [currentChatSecret, userIdValue], ); + const addLiveMessage = useCallback( + (message: RawMessage) => { + const localId = + globalThis.crypto?.randomUUID?.() ?? + `${Date.now()}-${Math.random().toString(36).slice(2)}`; + + if (message.SenderId !== ownId) { + moveUserIdToTop(userIdValue); + } + + setLiveMessagesState((prev) => [ + ...prev, + { + ...message, + localId, + failed: false, + }, + ]); + + return { + setFailed: (failed: boolean) => { + editMessage(message.SendTime, { failed }); + }, + }; + }, + [editMessage, userIdValue, moveUserIdToTop, ownId], + ); + + const clearLiveMessages = useCallback(() => { + setLiveMessagesState([]); + }, []); + // Get live updates for message states useEffect(() => { return subscribePush((message) => { @@ -542,7 +509,7 @@ export default function Provider({ children }: { children: ReactNode }) { void decryptChatText(currentChatSecret, rawData.Content) .then((content) => { - editMessageContent(sendTime, content); + editMessage(sendTime, { Content: content, Edited: true }); }) .catch((err) => { log(1, "chat", "red", "Failed to decrypt message edit", err, { @@ -593,62 +560,11 @@ export default function Provider({ children }: { children: ReactNode }) { return; } - setLiveMessagesState((prev) => { - const { next, updated } = updateMessageStateBySendTime( - prev, - nextState.SendTime, - nextState.MessageState, - ); - return updated ? next : prev; + editMessage(nextState.SendTime, { + MessageState: nextState.MessageState, }); - - const queryKey = [ - "chat-messages", - String(userIdValue), - currentChatSecret !== null, - ] as const; - queryClient.setQueryData>( - queryKey, - (current) => { - if (!current) { - return current; - } - - let updated = false; - - const pages = current.pages.map((page) => { - const nextPage = updateMessageStateBySendTime( - page, - nextState.SendTime, - nextState.MessageState, - ); - - if (nextPage.updated) { - updated = true; - } - - return nextPage.next; - }); - - if (!updated) { - return current; - } - - return { - ...current, - pages, - }; - }, - ); }); - }, [ - addLiveMessage, - currentChatSecret, - editMessageContent, - send, - subscribePush, - userIdValue, - ]); + }, [currentChatSecret, editMessage, subscribePush, userIdValue]); // Replys const [replyTo, setReplyTo] = useState(undefined); @@ -661,7 +577,7 @@ export default function Provider({ children }: { children: ReactNode }) { getChatSecret, liveMessages: () => liveMessagesState, addLiveMessage, - editMessageContent, + editMessage, clearLiveMessages, chatSecret: currentChatSecret, userId: userIdValue, @@ -685,11 +601,7 @@ type contextType = { addLiveMessage: (message: RawMessage) => { setFailed: (failed: boolean) => void; }; - editMessageContent: ( - sendTime: number, - content: string, - edited?: boolean, - ) => void; + editMessage: (sendTime: number, edit: MessageEdit) => void; clearLiveMessages: () => void; chatSecret: Uint8Array | null; userId: number; From 92e5003989261ff42b03283964c1779523dfeba6 Mon Sep 17 00:00:00 2001 From: Alois Date: Tue, 7 Jul 2026 23:30:40 +0200 Subject: [PATCH 69/75] (feat): improve security page (feat): add missing ReplyId type --- apps/web/src/routes/settings/security.tsx | 29 +++++++++++++++-------- type-maps.yaml | 1 + 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/apps/web/src/routes/settings/security.tsx b/apps/web/src/routes/settings/security.tsx index 5c3d71b..315d4dd 100644 --- a/apps/web/src/routes/settings/security.tsx +++ b/apps/web/src/routes/settings/security.tsx @@ -4,8 +4,8 @@ import { useEffect, useState } from "react"; export default function Page() { const { save, load } = useStorage(); - const [draftMtpUrl, setDraftMtpUrl] = useState(""); - const [currentMtpUrl, setCurrentMtpUrl] = useState(""); + const [draftOmegaUrl, setDraftOmegaUrl] = useState(""); + const [currentOmegaUrl, setCurrentOmegaUrl] = useState(""); const [draftForcedOmikronUrl, setDraftForcedOmikronUrl] = useState(""); const [currentForcedOmikronUrl, setForcedForcedOmikronUrl] = useState(""); @@ -16,8 +16,8 @@ export default function Page() { useEffect(() => { load("omega_url").then((value) => { - setDraftMtpUrl(value); - setCurrentMtpUrl(value); + setDraftOmegaUrl(value); + setCurrentOmegaUrl(value); }); load("forced_omikron_url").then((value) => { setDraftForcedOmikronUrl(value || ""); @@ -39,13 +39,15 @@ export default function Page() {
    setDraftMtpUrl(e.target.value)} + value={draftOmegaUrl} + onChange={(e) => setDraftOmegaUrl(e.target.value)} />
    )} {editing ? ( - { - submitEditMessage(editDraft); - setEditing(false); - }} - /> +
    + { + submitEditMessage(editDraft); + setEditing(false); + }} + /> +
    + + +
    +
    ) : isValidURL ? ( ) : ( diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index af0226f..384f3c6 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -436,6 +436,65 @@ export default function Provider({ children }: { children: ReactNode }) { [currentChatSecret, userIdValue], ); + const deleteMessage = useCallback( + async (sendTime: number) => { + try { + const response = await send("MessageDelete", { + ChatPartnerId: userIdValue, + SendTime: sendTime, + }); + + assertProtocolSuccess("MessageDelete", response); + + setLiveMessagesState((prev) => + prev.filter((message) => message.SendTime !== sendTime), + ); + + const queryKey = [ + "chat-messages", + String(userIdValue), + currentChatSecret !== null, + ] as const; + + queryClient.setQueryData>( + queryKey, + (current) => { + if (!current) { + return current; + } + + let updated = false; + + const pages = current.pages.map((page) => { + const nextPage = page.filter((message) => { + const keep = message.SendTime !== sendTime; + if (!keep) { + updated = true; + } + return keep; + }); + + return nextPage; + }); + + if (!updated) { + return current; + } + + return { + ...current, + pages, + }; + }, + ); + } catch (err) { + log(1, "chat", "red", "Failed to delete message", err); + toast("error", "Failed to delete message", String(err)); + } + }, + [currentChatSecret, send, userIdValue], + ); + const addLiveMessage = useCallback( (message: RawMessage) => { const localId = @@ -578,6 +637,7 @@ export default function Provider({ children }: { children: ReactNode }) { liveMessages: () => liveMessagesState, addLiveMessage, editMessage, + deleteMessage, clearLiveMessages, chatSecret: currentChatSecret, userId: userIdValue, @@ -602,6 +662,7 @@ type contextType = { setFailed: (failed: boolean) => void; }; editMessage: (sendTime: number, edit: MessageEdit) => void; + deleteMessage: (sendTime: number) => void; clearLiveMessages: () => void; chatSecret: Uint8Array | null; userId: number; diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index 5bba99a..e065598 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -202,6 +202,13 @@ export const mtp = { PingIota: z.number(), }), }, + MessageDelete: { + request: z.object({ + ChatPartnerId: z.number(), + SendTime: z.number(), + }), + response: z.object({}), + }, MessageEditLive: { request: z.object({}), response: z.object({ From d57940d1b3177055baad70d9e619dcd2fa04d5ff Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 11 Jul 2026 12:31:17 +0200 Subject: [PATCH 72/75] (feat): chat improvements --- packages/chat/src/components/message.tsx | 43 +--- .../src/components/messageContextMenu.tsx | 226 +++++++++++++++--- type-maps.yaml | 1 + 3 files changed, 210 insertions(+), 60 deletions(-) diff --git a/packages/chat/src/components/message.tsx b/packages/chat/src/components/message.tsx index de819fc..e2785ec 100644 --- a/packages/chat/src/components/message.tsx +++ b/packages/chat/src/components/message.tsx @@ -1,15 +1,7 @@ import * as React from "react"; import type { RawMessage } from "../values"; import Text from "@tensamin/markdown/text"; -import { - AlertTriangle, - Check, - Ellipse, - Forward, - Laugh, - RefreshCw, - Reply, -} from "lucide-react"; +import { AlertTriangle, Check, Ellipse, RefreshCw } from "lucide-react"; import { useCallback, useEffect, useState } from "react"; import type { User } from "@tensamin/user/context"; @@ -18,9 +10,7 @@ import { AvatarFallback, AvatarImage, Button, - Card, cn, - Separator, Skeleton, } from "@tensamin/ui"; import MessageContextMenu from "./messageContextMenu"; @@ -205,9 +195,10 @@ function MessageComponent({ {user && message.Content ? (
    )} -
    - - {[0, 1, 2].map((item) => ( - - ))} - - - - - +
    {!grouped && (

    {user.Display}

    @@ -283,8 +259,9 @@ function MessageComponent({
    )} {editing ? ( -
    +
    Cool item; } +let shiftPressed = false; +const shiftListeners = new Set<() => void>(); + +function setShiftPressed(value: boolean) { + if (shiftPressed === value) return; + + shiftPressed = value; + shiftListeners.forEach((listener) => listener()); +} + +function subscribeToShift(listener: () => void) { + shiftListeners.add(listener); + + if (shiftListeners.size === 1) { + window.addEventListener("keydown", handleShiftKey); + window.addEventListener("keyup", handleShiftKey); + window.addEventListener("blur", handleWindowBlur); + } + + return () => { + shiftListeners.delete(listener); + if (shiftListeners.size === 0) { + window.removeEventListener("keydown", handleShiftKey); + window.removeEventListener("keyup", handleShiftKey); + window.removeEventListener("blur", handleWindowBlur); + shiftPressed = false; + } + }; +} + +function handleShiftKey(event: KeyboardEvent) { + setShiftPressed(event.shiftKey); +} + +function handleWindowBlur() { + setShiftPressed(false); +} + +function useShiftPressed() { + return useSyncExternalStore( + subscribeToShift, + () => shiftPressed, + () => false, + ); +} + +function MiniMessageMenu({ + isOwnMessage, + onDelete, + onEdit, + onOpenMenu, + onReply, + shiftIsPressed, +}: { + isOwnMessage: boolean; + onDelete: () => void; + onEdit: () => void; + onOpenMenu: (event: ReactMouseEvent) => void; + onReply: () => void; + shiftIsPressed: boolean; +}) { + return ( + + {[0, 1, 2].map((item) => ( + + ))} + + + + + + {isOwnMessage && shiftIsPressed ? ( + + ) : ( + + )} + + ); +} + function MessageMenuContent({ components, content, devEnabled, + isOwnMessage, messageId, onAddReaction, showReactionItems = true, onSetEditing, - senderId, }: { components: MenuComponents; content: string; devEnabled: boolean; + isOwnMessage: boolean; messageId: number; onAddReaction?: () => void | Promise; showReactionItems?: boolean; onSetEditing: (value: boolean) => void; - senderId: number; }) { const { Content, Group, Item, Separator, Sub, SubContent, SubTrigger } = components; - const { load } = useStorage(); - const { setReplyTo } = useChat(); - - const [ownId, setOwnId] = useState(0); - useEffect(() => { - load("user_id").then(setOwnId); - }, [load]); + const { deleteMessage, setReplyTo } = useChat(); return ( @@ -183,7 +300,7 @@ function MessageMenuContent({ - {senderId === ownId && ( + {isOwnMessage && ( { @@ -205,12 +322,20 @@ function MessageMenuContent({

    Forward

    - - - -

    Delete Message

    -
    -
    + {isOwnMessage && ( + <> + + + deleteMessage(messageId)} + > +

    Delete Message

    +
    +
    + + )} {devEnabled && ( <> @@ -231,17 +356,21 @@ function MessageMenuContent({ export default function MessageContextMenu({ children, content, + hideMiniMenu = false, + isOwnMessage, messageId, onSetEditing, - senderId, }: { children: ReactElement; content: string; + hideMiniMenu?: boolean; + isOwnMessage: boolean; messageId: number; onSetEditing: (value: boolean) => void; - senderId: number; }) { const isMobile = useIsMobile(); + const shiftIsPressed = useShiftPressed(); + const { deleteMessage, setReplyTo } = useChat(); const devEnabled = useMemo( () => Number(localStorage.getItem("log_level")) >= 3, [], @@ -267,20 +396,50 @@ export default function MessageContextMenu({ [], ); + function renderMessage( + openMenu: (event: ReactMouseEvent) => void, + ) { + return ( +
    + {children} + {!hideMiniMenu && ( + deleteMessage(messageId)} + onEdit={() => onSetEditing(true)} + onOpenMenu={openMenu} + onReply={() => setReplyTo(messageId)} + shiftIsPressed={shiftIsPressed} + /> + )} +
    + ); + } + if (isMobile) { + const child = renderMessage(() => setMainDrawerOpen(true)); + return ( <> - {children} + {cloneElement(child, { + onContextMenu: (event: ReactMouseEvent) => { + child.props.onContextMenu?.(event); + if (event.defaultPrevented) return; + + event.preventDefault(); + setMainDrawerOpen(true); + }, + })} setReactionDrawerOpen(true)} showReactionItems={false} onSetEditing={onSetEditing} - senderId={senderId} /> @@ -298,16 +457,29 @@ export default function MessageContextMenu({ ); } + const child = renderMessage((event) => { + event.preventDefault(); + event.stopPropagation(); + event.currentTarget.dispatchEvent( + new MouseEvent("contextmenu", { + bubbles: true, + button: 2, + clientX: event.clientX, + clientY: event.clientY, + }), + ); + }); + return ( - + ); diff --git a/type-maps.yaml b/type-maps.yaml index dddd7a2..67aa0f3 100644 --- a/type-maps.yaml +++ b/type-maps.yaml @@ -73,6 +73,7 @@ type_maps: MessageChunk: 61 MessageGet: 143 MessagesGet: 62 + MessageDelete: 149 PushNotification: 63 ReadNotification: 64 GetNotifications: 65 From 7ba08090fed19bb76e7fb7525beb4e3994983df0 Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 11 Jul 2026 14:53:12 +0200 Subject: [PATCH 73/75] (wip): add reactions (qol): update todo --- apps/web/src/routes/settings/chat.tsx | 12 +- packages/chat/package.json | 3 +- packages/chat/src/components/emojiPicker.tsx | 29 + packages/chat/src/components/emojiRanks.ts | 95 + packages/chat/src/components/input.tsx | 35 +- packages/chat/src/components/message.tsx | 72 +- .../src/components/messageContextMenu.tsx | 374 +- packages/chat/src/context.tsx | 117 +- packages/chat/src/screen.tsx | 54 +- packages/chat/todo.md | 4 + packages/markdown/package.json | 8 +- packages/markdown/src/emoji.test.ts | 138 + packages/markdown/src/emoji.tsx | 50 + packages/markdown/src/emojiData.ts | 96 + packages/markdown/src/input.tsx | 406 +- packages/markdown/src/markdown.tsx | 63 +- packages/markdown/src/text.tsx | 3 +- packages/mtp/src/context.tsx | 1 + packages/shared/src/data.ts | 6 + pnpm-lock.yaml | 8487 ++++++----------- 20 files changed, 4346 insertions(+), 5707 deletions(-) create mode 100644 packages/chat/src/components/emojiPicker.tsx create mode 100644 packages/chat/src/components/emojiRanks.ts create mode 100644 packages/markdown/src/emoji.test.ts create mode 100644 packages/markdown/src/emoji.tsx create mode 100644 packages/markdown/src/emojiData.ts diff --git a/apps/web/src/routes/settings/chat.tsx b/apps/web/src/routes/settings/chat.tsx index aef03c6..b7a582c 100644 --- a/apps/web/src/routes/settings/chat.tsx +++ b/apps/web/src/routes/settings/chat.tsx @@ -1,7 +1,11 @@ import { List, Switch } from "@/features/settings/components"; -import { Kbd } from "@tensamin/ui"; +import { Button, Kbd } from "@tensamin/ui"; +import { useStorage } from "@tensamin/storage/context"; +import { storageDefaults } from "@tensamin/shared/data"; export default function Page() { + const { save } = useStorage(); + return (
    +
    ); diff --git a/packages/chat/package.json b/packages/chat/package.json index a7fa81e..f262acc 100644 --- a/packages/chat/package.json +++ b/packages/chat/package.json @@ -22,12 +22,13 @@ "@tanstack/react-virtual": "^3.0.0", "@tensamin/crypto": "workspace:*", "@tensamin/markdown": "workspace:*", + "@tensamin/mtp": "workspace:*", "@tensamin/shared": "workspace:*", "@tensamin/storage": "workspace:*", - "@tensamin/mtp": "workspace:*", "@tensamin/ui": "*", "@tensamin/user": "workspace:*", "lucide-react": "^1.14.0", + "motion": "^12.42.2", "react": "^19.2.0", "react-dom": "^19.2.0", "zod": "^4.3.6" diff --git a/packages/chat/src/components/emojiPicker.tsx b/packages/chat/src/components/emojiPicker.tsx new file mode 100644 index 0000000..1cc5574 --- /dev/null +++ b/packages/chat/src/components/emojiPicker.tsx @@ -0,0 +1,29 @@ +import { Button } from "@tensamin/ui"; +import Emoji from "@tensamin/markdown/emoji"; +import { getRecentEmojis, useEmojiRanks } from "./emojiRanks"; + +export default function EmojiPicker({ + onSelect, +}: { + onSelect: (emoji: string) => void; +}) { + const { ranks } = useEmojiRanks(); + const emojis = getRecentEmojis(ranks, 3); + + return ( +
    + {emojis.map((emoji) => ( + + ))} +
    + ); +} diff --git a/packages/chat/src/components/emojiRanks.ts b/packages/chat/src/components/emojiRanks.ts new file mode 100644 index 0000000..874c125 --- /dev/null +++ b/packages/chat/src/components/emojiRanks.ts @@ -0,0 +1,95 @@ +import { useStorage } from "@tensamin/storage/context"; +import { useCallback, useEffect, useState } from "react"; +import { normalizeShortcode } from "@tensamin/markdown/emoji"; + +const RANKS_CHANGED_EVENT = "tensamin-reaction-ranks-changed"; +let recordQueue = Promise.resolve(); + +function normalizeRanks(ranks: Record) { + return Object.entries(ranks).reduce>( + (normalized, [value, frequency]) => { + const shortcode = normalizeShortcode(value); + if (!shortcode || !Number.isFinite(frequency) || frequency <= 0) { + return normalized; + } + + normalized[shortcode] = (normalized[shortcode] ?? 0) + frequency; + return normalized; + }, + {}, + ); +} + +function rankedEmojis(ranks: Record) { + return Object.entries(ranks) + .filter( + ([emoji, frequency]) => + normalizeShortcode(emoji) !== undefined && + Number.isFinite(frequency) && + frequency > 0, + ) + .sort(([emojiA, frequencyA], [emojiB, frequencyB]) => + frequencyB === frequencyA + ? emojiA.localeCompare(emojiB) + : frequencyB - frequencyA, + ) + .flatMap(([emoji]) => { + const shortcode = normalizeShortcode(emoji); + return shortcode ? [shortcode] : []; + }); +} + +export function getRecentEmojis(ranks: Record, amount: number) { + return rankedEmojis(ranks).slice(0, amount); +} + +export function useEmojiRanks() { + const { load, save } = useStorage(); + const [ranks, setRanks] = useState>({}); + + useEffect(() => { + void load("reactions").then((storedRanks) => { + const normalized = normalizeRanks(storedRanks); + setRanks(normalized); + if (JSON.stringify(normalized) !== JSON.stringify(storedRanks)) { + void save("reactions", normalized); + } + }); + + function handleRanksChanged(event: Event) { + setRanks((event as CustomEvent>).detail); + } + + window.addEventListener(RANKS_CHANGED_EVENT, handleRanksChanged); + return () => + window.removeEventListener(RANKS_CHANGED_EVENT, handleRanksChanged); + }, [load, save]); + + return { ranks }; +} + +export function useRecordEmojiUse() { + const { load, save } = useStorage(); + + return useCallback( + (emoji: string) => { + const shortcode = normalizeShortcode(emoji); + if (!shortcode) return; + + recordQueue = recordQueue + .catch(() => undefined) + .then(async () => { + const normalized = normalizeRanks(await load("reactions")); + const next = { + ...normalized, + [shortcode]: (normalized[shortcode] ?? 0) + 1, + }; + await save("reactions", next); + window.dispatchEvent( + new CustomEvent(RANKS_CHANGED_EVENT, { detail: next }), + ); + }); + }, + [load, save], + ); +} diff --git a/packages/chat/src/components/input.tsx b/packages/chat/src/components/input.tsx index 6a5d9c7..fe26bda 100644 --- a/packages/chat/src/components/input.tsx +++ b/packages/chat/src/components/input.tsx @@ -23,6 +23,8 @@ import { encryptChatText } from "@tensamin/crypto/chatSecret"; import { useSession } from "@tensamin/storage/session"; import GifPicker from "./gifPicker"; +import EmojiPicker from "./emojiPicker"; +import { useEmojiRanks, useRecordEmojiUse } from "./emojiRanks"; import Wrapper from "@tensamin/user/wrapper"; import Text from "@tensamin/markdown/text"; @@ -48,6 +50,9 @@ export default function InputComponent({ const { moveUserIdToTop } = useSession(); const gifPopoverRef = useRef(null); const [gifPopoverOpen, setGifPopoverOpen] = useState(false); + const [emojiPopoverOpen, setEmojiPopoverOpen] = useState(false); + const recordUse = useRecordEmojiUse(); + const { ranks: emojiFrequencies } = useEmojiRanks(); const [gifPopoverSize, setGifPopoverSize] = useState<{ width: number; height: number; @@ -257,6 +262,8 @@ export default function InputComponent({ setValue={setValue} onSubmit={handleSubmit} invertEnterBehavior={invertEnterBehavior} + emojiFrequencies={emojiFrequencies} + onEmojiSelect={recordUse} />
    @@ -268,9 +275,31 @@ export default function InputComponent({
    - + + + + + } + /> + + { + setValue(`${value}${shortcode} `); + recordUse(shortcode); + setEmojiPopoverOpen(false); + }} + /> + + { @@ -187,6 +197,39 @@ function MessageComponent({ ], ); + const groupedReactions = Object.entries( + (message.Reactions ?? []).reduce< + Record + >((groups, item) => { + const reaction = normalizeShortcode(item.Reaction); + if (!reaction) return groups; + + const group = groups[reaction] ?? { + count: 0, + reactedByMe: false, + }; + group.count += 1; + group.reactedByMe ||= item.SenderId === ownId; + groups[reaction] = group; + return groups; + }, {}), + ); + + function toggleReaction(reaction: string) { + const reactedByMe = message.Reactions?.some( + (item) => + normalizeShortcode(item.Reaction) === reaction && + item.SenderId === ownId, + ); + + if (reactedByMe) { + return removeReaction(message.SendTime, reaction); + } + + recordUse(reaction); + return addReaction(message.SendTime, reaction); + } + return (
    )} + {groupedReactions.length > 0 && ( +
    + {groupedReactions.map( + ([reaction, { count, reactedByMe }]) => ( + + ), + )} +
    + )}
    @@ -324,6 +392,8 @@ export default React.memo(MessageComponent, (prev, next) => { prev.message.MessageState === next.message.MessageState && prev.message.failed === next.message.failed && prev.message.decryptionFailed === next.message.decryptionFailed && + JSON.stringify(prev.message.Reactions) === + JSON.stringify(next.message.Reactions) && prev.grouped === next.grouped && prev.user === next.user ); diff --git a/packages/chat/src/components/messageContextMenu.tsx b/packages/chat/src/components/messageContextMenu.tsx index cbeb632..6fff9f6 100644 --- a/packages/chat/src/components/messageContextMenu.tsx +++ b/packages/chat/src/components/messageContextMenu.tsx @@ -15,7 +15,13 @@ import { DrawerContent, DrawerDescription, DrawerTitle, + Popover, + PopoverContent, + PopoverTrigger, Separator, + Tooltip, + TooltipContent, + TooltipTrigger, useIsMobile, } from "@tensamin/ui"; import { @@ -23,18 +29,23 @@ import { Ellipsis, Forward, Laugh, + Plus, Pen, Pin, Reply, Trash, } from "lucide-react"; import { cloneElement, useMemo, useState, useSyncExternalStore } from "react"; +import { AnimatePresence, motion } from "motion/react"; import type { MouseEvent as ReactMouseEvent, ReactElement, ReactNode, } from "react"; import { useChat } from "../context"; +import Emoji from "@tensamin/markdown/emoji"; +import EmojiPicker from "./emojiPicker"; +import { getRecentEmojis, useEmojiRanks } from "./emojiRanks"; async function copyText(text: string) { await navigator.clipboard.writeText(text); @@ -140,8 +151,31 @@ function getMobileMenuComponents({ }; } -function ReactionItems({ Item }: { Item: MenuComponents["Item"] }) { - return Cool item; +function ReactionItems({ + Item, + emojis, + onMore, + onSelect, +}: { + Item: MenuComponents["Item"]; + emojis: string[]; + onMore: () => void; + onSelect: (emoji: string) => void; +}) { + return ( + <> + {emojis.map((emoji) => ( + onSelect(emoji)}> + + {emoji} + + ))} + + + More reactions + + + ); } let shiftPressed = false; @@ -190,11 +224,63 @@ function useShiftPressed() { ); } +let activeMiniMenuId: number | null = null; +let clearMiniMenuTimeout: ReturnType | undefined; +const miniMenuListeners = new Set<() => void>(); + +function setActiveMiniMenu(messageId: number | null) { + if (clearMiniMenuTimeout !== undefined) { + clearTimeout(clearMiniMenuTimeout); + clearMiniMenuTimeout = undefined; + } + if (activeMiniMenuId === messageId) return; + + activeMiniMenuId = messageId; + miniMenuListeners.forEach((listener) => listener()); +} + +function scheduleMiniMenuClose() { + clearMiniMenuTimeout = setTimeout(() => { + clearMiniMenuTimeout = undefined; + setActiveMiniMenu(null); + }, 80); +} + +function useActiveMiniMenuId() { + return useSyncExternalStore( + (listener) => { + miniMenuListeners.add(listener); + return () => miniMenuListeners.delete(listener); + }, + () => activeMiniMenuId, + () => null, + ); +} + +function MiniMenuTooltip({ + children, + label, +}: { + children: ReactElement; + label: string; +}) { + return ( + + + {label} + + ); +} + function MiniMessageMenu({ isOwnMessage, onDelete, onEdit, onOpenMenu, + onOpenPicker, + usePickerTrigger, + onReact, + quickReactions, onReply, shiftIsPressed, }: { @@ -202,54 +288,137 @@ function MiniMessageMenu({ onDelete: () => void; onEdit: () => void; onOpenMenu: (event: ReactMouseEvent) => void; + onOpenPicker: () => void; + usePickerTrigger: boolean; + onReact: (emoji: string) => void; + quickReactions: string[]; onReply: () => void; shiftIsPressed: boolean; }) { return ( - - {[0, 1, 2].map((item) => ( - - ))} - - - - - - {isOwnMessage && shiftIsPressed ? ( - - ) : ( - - )} - + + + {quickReactions.map((emoji) => ( + onReact(emoji)} + > + + + } + /> + ))} + + + + + } + /> + ) : ( + + ) + } + /> + + {isOwnMessage ? : } + + } + /> + + + + } + /> + + {isOwnMessage && shiftIsPressed ? ( + + + + } + /> + ) : ( + + + + } + /> + )} + + ); } @@ -260,6 +429,8 @@ function MessageMenuContent({ isOwnMessage, messageId, onAddReaction, + reactionEmojis, + onReact, showReactionItems = true, onSetEditing, }: { @@ -269,6 +440,8 @@ function MessageMenuContent({ isOwnMessage: boolean; messageId: number; onAddReaction?: () => void | Promise; + reactionEmojis: string[]; + onReact: (emoji: string) => void; showReactionItems?: boolean; onSetEditing: (value: boolean) => void; }) { @@ -281,10 +454,17 @@ function MessageMenuContent({ - Add Reaction + + Add Reaction + {showReactionItems && ( - + void onAddReaction?.()} + onSelect={onReact} + /> )} @@ -359,6 +539,7 @@ export default function MessageContextMenu({ hideMiniMenu = false, isOwnMessage, messageId, + onReact, onSetEditing, }: { children: ReactElement; @@ -366,10 +547,12 @@ export default function MessageContextMenu({ hideMiniMenu?: boolean; isOwnMessage: boolean; messageId: number; + onReact: (emoji: string) => void | Promise; onSetEditing: (value: boolean) => void; }) { const isMobile = useIsMobile(); const shiftIsPressed = useShiftPressed(); + const activeMenuId = useActiveMiniMenuId(); const { deleteMessage, setReplyTo } = useChat(); const devEnabled = useMemo( () => Number(localStorage.getItem("log_level")) >= 3, @@ -377,6 +560,16 @@ export default function MessageContextMenu({ ); const [mainDrawerOpen, setMainDrawerOpen] = useState(false); const [reactionDrawerOpen, setReactionDrawerOpen] = useState(false); + const [pickerOpen, setPickerOpen] = useState(false); + const { ranks } = useEmojiRanks(); + const quickReactions = getRecentEmojis(ranks, 3); + const menuReactions = getRecentEmojis(ranks, 5); + + function selectReaction(emoji: string) { + void onReact(emoji); + setReactionDrawerOpen(false); + setPickerOpen(false); + } const mainDrawerComponents = useMemo( () => getMobileMenuComponents({ @@ -400,18 +593,28 @@ export default function MessageContextMenu({ openMenu: (event: ReactMouseEvent) => void, ) { return ( -
    +
    setActiveMiniMenu(messageId)} + onPointerLeave={scheduleMiniMenuClose} + > {children} - {!hideMiniMenu && ( - deleteMessage(messageId)} - onEdit={() => onSetEditing(true)} - onOpenMenu={openMenu} - onReply={() => setReplyTo(messageId)} - shiftIsPressed={shiftIsPressed} - /> - )} + + {!hideMiniMenu && activeMenuId === messageId && ( + deleteMessage(messageId)} + onEdit={() => onSetEditing(true)} + onOpenMenu={openMenu} + onOpenPicker={() => setPickerOpen(true)} + usePickerTrigger={!isMobile} + onReact={selectReaction} + quickReactions={quickReactions} + onReply={() => setReplyTo(messageId)} + shiftIsPressed={shiftIsPressed} + /> + )} +
    ); } @@ -438,6 +641,8 @@ export default function MessageContextMenu({ isOwnMessage={isOwnMessage} messageId={messageId} onAddReaction={() => setReactionDrawerOpen(true)} + onReact={selectReaction} + reactionEmojis={menuReactions} showReactionItems={false} onSetEditing={onSetEditing} /> @@ -449,7 +654,26 @@ export default function MessageContextMenu({ Choose a reaction to add to this message.
    - + { + setReactionDrawerOpen(false); + setPickerOpen(true); + }} + onSelect={selectReaction} + /> +
    + + + + + Choose an emoji + + Choose an emoji to react with. + +
    +
    @@ -471,16 +695,24 @@ export default function MessageContextMenu({ }); return ( - - - - + + + + setPickerOpen(true)} + onReact={selectReaction} + reactionEmojis={menuReactions} + onSetEditing={onSetEditing} + /> + + + + + ); } diff --git a/packages/chat/src/context.tsx b/packages/chat/src/context.tsx index 384f3c6..0136643 100644 --- a/packages/chat/src/context.tsx +++ b/packages/chat/src/context.tsx @@ -61,7 +61,10 @@ function bytesFromProtocol(value: unknown): Uint8Array { type EditableMessage = RawMessage & { failed?: boolean }; type MessageEdit = Partial< - Pick + Pick< + EditableMessage, + "Content" | "Edited" | "MessageState" | "Reactions" | "failed" + > >; function updateMessagesBySendTime( @@ -495,6 +498,91 @@ export default function Provider({ children }: { children: ReactNode }) { [currentChatSecret, send, userIdValue], ); + const setReaction = useCallback( + async (sendTime: number, reaction: string, add: boolean) => { + let previousReactions: RawMessage["Reactions"]; + let foundMessage = false; + + const applyOptimisticUpdate = (message: EditableMessage) => { + const current = message.Reactions ?? []; + previousReactions = current; + foundMessage = true; + + return add + ? [...current, { Reaction: reaction, SenderId: ownId }] + : current.filter( + (item) => item.Reaction !== reaction || item.SenderId !== ownId, + ); + }; + + setLiveMessagesState((current) => + current.map((message) => + message.SendTime === sendTime + ? { ...message, Reactions: applyOptimisticUpdate(message) } + : message, + ), + ); + + const queryKey = [ + "chat-messages", + String(userIdValue), + currentChatSecret !== null, + ] as const; + queryClient.setQueryData>( + queryKey, + (current) => + current + ? { + ...current, + pages: current.pages.map((page) => + page.map((message) => + message.SendTime === sendTime + ? { + ...message, + Reactions: applyOptimisticUpdate(message), + } + : message, + ), + ), + } + : current, + ); + + try { + const response = await send( + add ? "MessageReactionAdd" : "MessageReactionRemove", + { + ChatPartnerId: userIdValue, + Reaction: reaction, + SendTime: sendTime, + }, + ); + assertProtocolSuccess( + add ? "MessageReactionAdd" : "MessageReactionRemove", + response, + ); + } catch (err) { + if (foundMessage) { + editMessage(sendTime, { Reactions: previousReactions }); + } + log(1, "chat", "red", "Failed to update reaction", err); + toast("error", "Failed to update reaction", String(err)); + } + }, + [currentChatSecret, editMessage, ownId, send, userIdValue], + ); + + const addReaction = useCallback( + (sendTime: number, reaction: string) => + setReaction(sendTime, reaction, true), + [setReaction], + ); + const removeReaction = useCallback( + (sendTime: number, reaction: string) => + setReaction(sendTime, reaction, false), + [setReaction], + ); + const addLiveMessage = useCallback( (message: RawMessage) => { const localId = @@ -578,6 +666,27 @@ export default function Provider({ children }: { children: ReactNode }) { return; } + if (message.type === "MessageReactionLive") { + const rawData = message.data as { + ChatPartnerId: unknown; + SendTime: unknown; + }; + const chatPartnerId = Number(rawData.ChatPartnerId); + const sendTime = Number(rawData.SendTime); + + if (chatPartnerId !== userIdValue || !Number.isFinite(sendTime)) return; + + void send("MessageGet", { SendTime: sendTime }) + .then((response) => { + assertProtocolSuccess("MessageGet", response); + editMessage(sendTime, { Reactions: response.data.Reactions ?? [] }); + }) + .catch((err) => { + log(1, "chat", "red", "Failed to refresh message reactions", err); + }); + return; + } + if (message.type !== "MessageState") return; const rawData = message.data as { @@ -623,7 +732,7 @@ export default function Provider({ children }: { children: ReactNode }) { MessageState: nextState.MessageState, }); }); - }, [currentChatSecret, editMessage, subscribePush, userIdValue]); + }, [currentChatSecret, editMessage, send, subscribePush, userIdValue]); // Replys const [replyTo, setReplyTo] = useState(undefined); @@ -638,6 +747,8 @@ export default function Provider({ children }: { children: ReactNode }) { addLiveMessage, editMessage, deleteMessage, + addReaction, + removeReaction, clearLiveMessages, chatSecret: currentChatSecret, userId: userIdValue, @@ -663,6 +774,8 @@ type contextType = { }; editMessage: (sendTime: number, edit: MessageEdit) => void; deleteMessage: (sendTime: number) => void; + addReaction: (sendTime: number, reaction: string) => Promise; + removeReaction: (sendTime: number, reaction: string) => Promise; clearLiveMessages: () => void; chatSecret: Uint8Array | null; userId: number; diff --git a/packages/chat/src/screen.tsx b/packages/chat/src/screen.tsx index 3b1c5e4..707177e 100644 --- a/packages/chat/src/screen.tsx +++ b/packages/chat/src/screen.tsx @@ -186,34 +186,14 @@ export default function Screen() { return [...liveMessageChunks, ...historicalMessageChunks]; }, [historicalMessageChunks, liveMessageChunks]); - const shouldShowConversationStart = - !!messagesQuery.data && !messagesQuery.hasNextPage; - const virtualRowCount = - messageChunks.length + (shouldShowConversationStart ? 1 : 0); + const virtualRowCount = messageChunks.length; const getItemKey = React.useCallback( - (index: number) => { - if (shouldShowConversationStart && index === messageChunks.length) { - return "conversation-start"; - } - - return messageChunks[index]?.key ?? index; - }, - [messageChunks, shouldShowConversationStart], + (index: number) => messageChunks[index]?.key ?? index, + [messageChunks], ); - const estimateSize = React.useCallback( - (index: number) => { - const isConversationStart = - shouldShowConversationStart && index === messageChunks.length; - if (isConversationStart) { - return FALLBACK_MESSAGE_HEIGHT; - } - - return FALLBACK_MESSAGE_HEIGHT; - }, - [messageChunks, shouldShowConversationStart], - ); + const estimateSize = React.useCallback(() => FALLBACK_MESSAGE_HEIGHT, []); // eslint-disable-next-line react-hooks/incompatible-library const virtualizer = useVirtualizer({ @@ -464,32 +444,6 @@ export default function Screen() { className="absolute bottom-0 left-0 h-px w-full" /> {virtualizer.getVirtualItems().map((virtualRow) => { - if ( - shouldShowConversationStart && - virtualRow.index === messageChunks.length - ) { - return ( -
    -
    -
    - Conversation start -
    -
    -
    - ); - } - const chunkIndex = virtualRow.index; const chunk = messageChunks[chunkIndex]; if (!chunk) { diff --git a/packages/chat/todo.md b/packages/chat/todo.md index 1bed8c5..47f595a 100644 --- a/packages/chat/todo.md +++ b/packages/chat/todo.md @@ -1,6 +1,10 @@ - Implement context menu features + - Forward + - Pin Message + - Reply - Add default-emoji-hotkey - Placeholder image if media fails to load - Signature verifications via ed25519 key - Confirmation when exiting with text in the input box. - Add arrow up hotkey to edit last message +- Drop any unique reactions above 10 diff --git a/packages/markdown/package.json b/packages/markdown/package.json index df0c32f..5d3066c 100644 --- a/packages/markdown/package.json +++ b/packages/markdown/package.json @@ -5,7 +5,8 @@ "type": "module", "exports": { "./text": "./src/text.tsx", - "./input": "./src/input.tsx" + "./input": "./src/input.tsx", + "./emoji": "./src/emoji.tsx" }, "scripts": { "format": "pnpm exec prettier --write .", @@ -13,10 +14,15 @@ "build": "tsc -p tsconfig.json --noEmit" }, "dependencies": { + "@codemirror/autocomplete": "^6.20.3", "@codemirror/commands": "^6.10.2", "@codemirror/lang-markdown": "^6.5.0", + "@codemirror/language": "^6.12.4", "@codemirror/state": "^6.5.4", "@codemirror/view": "^6.41.1", + "@tensamin/ui": "*", + "@twemoji/api": "^17.0.3", + "emojibase-data": "^17.0.0", "react": "^19.2.0", "react-dom": "^19.2.0" } diff --git a/packages/markdown/src/emoji.test.ts b/packages/markdown/src/emoji.test.ts new file mode 100644 index 0000000..4eafaac --- /dev/null +++ b/packages/markdown/src/emoji.test.ts @@ -0,0 +1,138 @@ +import { describe, expect, it, vi } from "vitest"; +import type { ReactNode } from "react"; + +vi.mock("@tensamin/ui", () => ({ + Tooltip: ({ children }: { children: ReactNode }) => children, + TooltipContent: ({ children }: { children: ReactNode }) => children, + TooltipTrigger: ({ render }: { render: ReactNode }) => render, +})); +import { EditorState } from "@codemirror/state"; +import { CompletionContext } from "@codemirror/autocomplete"; +import { markdown } from "@codemirror/lang-markdown"; +import { normalizeShortcode, resolveEmoji, searchEmojis } from "./emojiData"; +import { parseEmojiText, parseInlineNodes } from "./markdown"; +import { + createEmojiCompletionSource, + findEmojiRanges, + MAX_RENDERED_EMOJI_OPTIONS, +} from "./input"; + +describe("emoji shortcodes", () => { + it("normalizes aliases to their canonical shortcode", () => { + expect(normalizeShortcode(":flame:")).toBe(":fire:"); + expect(normalizeShortcode("+1")).toBe(":thumbsup:"); + }); + + it("resolves every search result to a Twemoji hexcode", () => { + const results = searchEmojis("fire"); + expect(results[0]?.shortcode).toBe(":fire:"); + expect(results.every((emoji) => emoji.hexcode.length > 0)).toBe(true); + }); + + it("shows all emojis for an empty query", () => { + expect(searchEmojis("").length).toBeGreaterThan(1000); + }); + + it("bounds the number of mounted autocomplete rows", () => { + expect(MAX_RENDERED_EMOJI_OPTIONS).toBeLessThanOrEqual(100); + }); + + it("parses known shortcodes and preserves unknown ones", () => { + expect(parseEmojiText("a :fire: b :not_an_emoji:")).toEqual([ + { type: "text", value: "a " }, + { type: "emoji", shortcode: ":fire:" }, + { type: "text", value: " b :not_an_emoji:" }, + ]); + }); + + it("recognizes a valid shortcode sharing an unknown closing colon", () => { + expect(parseEmojiText(":bla:thumbsup:")).toEqual([ + { type: "text", value: ":bla" }, + { type: "emoji", shortcode: ":thumbsup:" }, + ]); + + const state = EditorState.create({ + doc: ":bla:thumbsup:", + extensions: [markdown()], + }); + expect(findEmojiRanges(state)[0]?.from).toBe(4); + }); + + it("does not parse underscores inside emoji shortcodes as emphasis", () => { + expect(parseInlineNodes("before :white_check_mark: after")).toEqual([ + { type: "text", value: "before " }, + { type: "emoji", shortcode: ":white_check_mark:" }, + { type: "text", value: " after" }, + ]); + }); + + it("contains the picker defaults", () => { + expect(resolveEmoji(":thumbsup:")).toBeDefined(); + expect(resolveEmoji(":white_check_mark:")).toBeDefined(); + }); + + it("finds completed emoji shortcodes in editor state", () => { + const state = EditorState.create({ + doc: "before :fire: after :not_an_emoji:", + extensions: [markdown()], + }); + + expect( + findEmojiRanges(state).map(({ from, shortcode, to }) => ({ + from, + shortcode, + to, + })), + ).toEqual([{ from: 7, shortcode: ":fire:", to: 13 }]); + }); + + it("does not replace emoji shortcodes inside code", () => { + const state = EditorState.create({ + doc: "`:fire:`\n\n```\n:fire:\n```\n\n:fire:", + extensions: [markdown()], + }); + + expect(findEmojiRanges(state)).toHaveLength(1); + expect(findEmojiRanges(state)[0]?.from).toBe(26); + }); + + it("ranks frequently used emojis first for a bare colon", async () => { + const state = EditorState.create({ doc: ":", extensions: [markdown()] }); + const result = await createEmojiCompletionSource({ + ":fire:": 50, + ":thumbsup:": 2, + })(new CompletionContext(state, 1, false)); + + expect(result?.options[0]?.displayLabel).toBe(":fire:"); + expect(result?.options[1]?.displayLabel).toBe(":thumbsup:"); + }); + + it("keeps typed relevance above usage frequency", async () => { + const state = EditorState.create({ + doc: ":fire", + extensions: [markdown()], + }); + const result = await createEmojiCompletionSource({ + ":fire_engine:": 10000, + ":fire:": 1, + })(new CompletionContext(state, 5, false)); + + expect(result?.options[0]?.displayLabel).toBe(":fire:"); + expect(result?.options[0]?.boost).toBeGreaterThan( + result?.options[1]?.boost ?? 0, + ); + }); + + it("merges alias frequencies into canonical completions", async () => { + const state = EditorState.create({ doc: ":", extensions: [markdown()] }); + const result = await createEmojiCompletionSource({ + ":fire:": 2, + ":flame:": 3, + })(new CompletionContext(state, 1, false)); + const fire = result?.options.find( + (option) => option.displayLabel === ":fire:", + ); + + expect(fire?.boost).toBe(15); + }); +}); diff --git a/packages/markdown/src/emoji.tsx b/packages/markdown/src/emoji.tsx new file mode 100644 index 0000000..f86e145 --- /dev/null +++ b/packages/markdown/src/emoji.tsx @@ -0,0 +1,50 @@ +import twemoji from "@twemoji/api"; +import { Tooltip, TooltipContent, TooltipTrigger } from "@tensamin/ui"; +import { resolveEmoji } from "./emojiData"; + +export { + emojis, + findEmojiShortcodes, + normalizeShortcode, + resolveEmoji, + searchEmojis, +} from "./emojiData"; +export type { EmojiDefinition } from "./emojiData"; + +export function getEmojiUrl(shortcode: string): string | undefined { + const emoji = resolveEmoji(shortcode); + return emoji ? `${twemoji.base}svg/${emoji.hexcode}.svg` : undefined; +} + +export default function Emoji({ + className = "h-6 w-6", + shortcode, + tooltip = true, +}: { + className?: string; + shortcode: string; + tooltip?: boolean; +}) { + const emoji = resolveEmoji(shortcode); + if (!emoji) return {shortcode}; + + const image = ( + {emoji.shortcode} + ); + + if (!tooltip) return image; + + return ( + + + {emoji.shortcode} + + ); +} diff --git a/packages/markdown/src/emojiData.ts b/packages/markdown/src/emojiData.ts new file mode 100644 index 0000000..f1ed5ab --- /dev/null +++ b/packages/markdown/src/emojiData.ts @@ -0,0 +1,96 @@ +import shortcodeData from "emojibase-data/en/shortcodes/joypixels.json"; + +type ShortcodeValue = string | string[]; + +export type EmojiDefinition = { + aliases: readonly string[]; + hexcode: string; + name: string; + shortcode: string; +}; + +function normalizeName(value: string) { + return value + .trim() + .replace(/^:+|:+$/g, "") + .toLowerCase(); +} + +export const emojis: readonly EmojiDefinition[] = Object.entries( + shortcodeData as Record, +).map(([hexcode, value]) => { + const aliases = Array.isArray(value) ? value : [value]; + const name = aliases[0]; + + return { + aliases, + hexcode: hexcode.toLowerCase().replaceAll("_", "-"), + name, + shortcode: `:${name}:`, + }; +}); + +const emojiByName = new Map(); +for (const emoji of emojis) { + for (const alias of emoji.aliases) { + emojiByName.set(normalizeName(alias), emoji); + } +} + +export function resolveEmoji(value: string): EmojiDefinition | undefined { + return emojiByName.get(normalizeName(value)); +} + +export function normalizeShortcode(value: string): string | undefined { + return resolveEmoji(value)?.shortcode; +} + +export function findEmojiShortcodes(value: string) { + const matches: Array<{ + emoji: EmojiDefinition; + from: number; + to: number; + }> = []; + let searchFrom = 0; + + while (searchFrom < value.length) { + const from = value.indexOf(":", searchFrom); + if (from === -1) break; + + const candidate = value.slice(from).match(/^:([a-z0-9_+-]+):/i); + if (!candidate) { + searchFrom = from + 1; + continue; + } + + const emoji = resolveEmoji(candidate[1]); + if (!emoji) { + // The closing colon may also open the next valid shortcode. + searchFrom = from + candidate[0].length - 1; + continue; + } + + const to = from + candidate[0].length; + matches.push({ emoji, from, to }); + searchFrom = to; + } + + return matches; +} + +export function searchEmojis(query: string): EmojiDefinition[] { + const normalizedQuery = normalizeName(query); + if (!normalizedQuery) return [...emojis]; + + return emojis + .map((emoji) => { + const names = emoji.aliases.map(normalizeName); + const exact = names.includes(normalizedQuery); + const prefix = names.some((name) => name.startsWith(normalizedQuery)); + const contains = names.some((name) => name.includes(normalizedQuery)); + return { emoji, rank: exact ? 0 : prefix ? 1 : contains ? 2 : 3 }; + }) + .filter(({ rank }) => rank < 3) + .sort((a, b) => a.rank - b.rank || a.emoji.name.localeCompare(b.emoji.name)) + .map(({ emoji }) => emoji); +} diff --git a/packages/markdown/src/input.tsx b/packages/markdown/src/input.tsx index 3222ddf..6b141e0 100644 --- a/packages/markdown/src/input.tsx +++ b/packages/markdown/src/input.tsx @@ -1,7 +1,22 @@ import { markdown } from "@codemirror/lang-markdown"; +import { syntaxTree } from "@codemirror/language"; +import { + acceptCompletion, + autocompletion, + completionStatus, + pickedCompletion, + startCompletion, + type Completion, + type CompletionContext, + type CompletionResult, +} from "@codemirror/autocomplete"; import { EditorState, + EditorSelection, + Annotation, + Compartment, Prec, + Transaction, type Extension, type Range, type SelectionRange, @@ -12,6 +27,7 @@ import { keymap, placeholder, ViewPlugin, + WidgetType, type DecorationSet, type KeyBinding, type ViewUpdate, @@ -24,8 +40,17 @@ import { } from "@codemirror/commands"; import { useEffect, useRef } from "react"; import type { CSSProperties } from "react"; +import { createRoot, type Root } from "react-dom/client"; import { collectInlineRanges, ensureMarkdownStyles } from "./markdown"; +import Emoji, { + findEmojiShortcodes, + getEmojiUrl, + resolveEmoji, + searchEmojis, +} from "./emoji"; + +export const MAX_RENDERED_EMOJI_OPTIONS = 100; export type InputProps = { ref?: HTMLDivElement; @@ -39,6 +64,8 @@ export type InputProps = { paddingX?: CSSProperties["padding"]; paddingY?: CSSProperties["padding"]; className?: string; + emojiFrequencies?: Readonly>; + onEmojiSelect?: (shortcode: string) => void; }; type InputStyle = CSSProperties & { @@ -76,6 +103,180 @@ const delDecoration = Decoration.mark({ class: "tm-md-del" }); const codeDecoration = Decoration.mark({ class: "tm-md-code" }); const linkDecoration = Decoration.mark({ class: "tm-md-link" }); const codeLineDecoration = Decoration.line({ class: "tm-md-code-line" }); +const externalValueSync = Annotation.define(); +const widgetRoots = new WeakMap(); + +type EmojiRange = { + from: number; + shortcode: string; + to: number; + url: string; +}; + +class EmojiWidget extends WidgetType { + readonly shortcode: string; + readonly url: string; + + constructor(shortcode: string, url: string) { + super(); + this.shortcode = shortcode; + this.url = url; + } + + eq(other: EmojiWidget) { + return other.shortcode === this.shortcode && other.url === this.url; + } + + toDOM() { + const container = document.createElement("span"); + const root = createRoot(container); + root.render( + , + ); + widgetRoots.set(container, root); + return container; + } + + destroy(dom: HTMLElement) { + widgetRoots.get(dom)?.unmount(); + widgetRoots.delete(dom); + } + + ignoreEvent() { + return true; + } +} + +function codeRanges(state: EditorState) { + const ranges: Array<{ from: number; to: number }> = []; + + syntaxTree(state).iterate({ + enter(node) { + if ( + node.name === "InlineCode" || + node.name === "FencedCode" || + node.name === "CodeBlock" + ) { + ranges.push({ from: node.from, to: node.to }); + return false; + } + }, + }); + + return ranges; +} + +export function findEmojiRanges(state: EditorState): EmojiRange[] { + const document = state.doc.toString(); + const excluded = codeRanges(state); + const ranges: EmojiRange[] = []; + + for (const match of findEmojiShortcodes(document)) { + const { from, to } = match; + const inCode = excluded.some((range) => from < range.to && to > range.from); + const emoji = inCode ? undefined : match.emoji; + const url = emoji ? getEmojiUrl(emoji.shortcode) : undefined; + + if (emoji && url) { + ranges.push({ from, shortcode: emoji.shortcode, to, url }); + } + } + + return ranges; +} + +class EmojiPluginValue { + decorations: DecorationSet; + ranges: EmojiRange[]; + + constructor(view: EditorView) { + this.ranges = findEmojiRanges(view.state); + this.decorations = this.buildDecorations(); + } + + update(update: ViewUpdate) { + if ( + update.docChanged || + syntaxTree(update.startState) !== syntaxTree(update.state) + ) { + this.ranges = findEmojiRanges(update.state); + this.decorations = this.buildDecorations(); + } + } + + private buildDecorations() { + return Decoration.set( + this.ranges.map((range) => + Decoration.replace({ + inclusive: false, + widget: new EmojiWidget(range.shortcode, range.url), + }).range(range.from, range.to), + ), + true, + ); + } +} + +const emojiDecorations = ViewPlugin.fromClass(EmojiPluginValue, { + decorations: (instance) => instance.decorations, + provide: (plugin) => + EditorView.atomicRanges.of( + (view) => view.plugin(plugin)?.decorations ?? Decoration.none, + ), +}); + +function deleteEmoji(view: EditorView, direction: "backward" | "forward") { + const ranges = view.plugin(emojiDecorations)?.ranges ?? []; + const deletions: Array<{ from: number; to: number }> = []; + + for (const selection of view.state.selection.ranges) { + if (selection.empty) { + const emoji = ranges.find((range) => + direction === "backward" + ? selection.from > range.from && selection.from <= range.to + : selection.from >= range.from && selection.from < range.to, + ); + if (emoji) deletions.push({ from: emoji.from, to: emoji.to }); + continue; + } + + let from = selection.from; + let to = selection.to; + let changed = false; + + for (const emoji of ranges) { + if (from < emoji.to && to > emoji.from) { + from = Math.min(from, emoji.from); + to = Math.max(to, emoji.to); + changed = true; + } + } + + if (changed) deletions.push({ from, to }); + } + + if (deletions.length === 0) return false; + + const merged = deletions + .sort((a, b) => a.from - b.from) + .reduce>((result, deletion) => { + const previous = result.at(-1); + if (previous && deletion.from <= previous.to) { + previous.to = Math.max(previous.to, deletion.to); + } else { + result.push({ ...deletion }); + } + return result; + }, []); + + view.dispatch({ + changes: merged.map((range) => ({ from: range.from, to: range.to })), + selection: EditorSelection.cursor(merged[0].from), + scrollIntoView: true, + userEvent: direction === "backward" ? "delete.backward" : "delete.forward", + }); + return true; +} /** * Builds markdown styling decorations every time the document or cursor selection changes. @@ -115,14 +316,20 @@ export default function Input(props: InputProps) { const elementRef = useRef(null); const viewRef = useRef(undefined); - const ignoreSyncRef = useRef(false); const onSubmitRef = useRef(props.onSubmit); + const onEmojiSelectRef = useRef( + props.onEmojiSelect, + ); const invertEnterBehaviorRef = useRef(Boolean(props.invertEnterBehavior)); + const completionCompartmentRef = useRef(null); + completionCompartmentRef.current ??= new Compartment(); + const completionCompartment = completionCompartmentRef.current; useEffect(() => { onSubmitRef.current = props.onSubmit; + onEmojiSelectRef.current = props.onEmojiSelect; invertEnterBehaviorRef.current = Boolean(props.invertEnterBehavior); - }, [props.onSubmit, props.invertEnterBehavior]); + }, [props.onEmojiSelect, props.onSubmit, props.invertEnterBehavior]); useEffect(() => { if (!elementRef.current) return; @@ -131,12 +338,14 @@ export default function Input(props: InputProps) { doc: props.value, extensions: createEditorExtensions( (value) => { - ignoreSyncRef.current = true; props.setValue(value); }, () => props.placeholder, () => invertEnterBehaviorRef.current, () => onSubmitRef.current?.(), + completionCompartment, + props.emojiFrequencies, + (shortcode) => onEmojiSelectRef.current?.(shortcode), ), }); @@ -160,11 +369,6 @@ export default function Input(props: InputProps) { const next = props.value; const current = editor.state.doc.toString(); - if (ignoreSyncRef.current) { - ignoreSyncRef.current = false; - return; - } - if (next === current) return; editor.dispatch({ @@ -173,9 +377,30 @@ export default function Input(props: InputProps) { to: current.length, insert: next, }, + annotations: [ + externalValueSync.of(true), + Transaction.addToHistory.of(false), + ], + filter: false, }); }, [props.value]); + useEffect(() => { + const editor = viewRef.current; + const compartment = completionCompartmentRef.current; + if (!editor || !compartment) return; + + const wasActive = completionStatus(editor.state) === "active"; + editor.dispatch({ + effects: compartment.reconfigure( + createEmojiAutocomplete(props.emojiFrequencies, (shortcode) => + onEmojiSelectRef.current?.(shortcode), + ), + ), + }); + if (wasActive) startCompletion(editor); + }, [props.emojiFrequencies]); + return (
    string | undefined, getInvertEnterBehavior: () => boolean, onSubmit: () => void, + completionCompartment: Compartment, + emojiFrequencies: Readonly> | undefined, + onEmojiSelect: (shortcode: string) => void, ): Extension[] { const editorKeymap = [ ...defaultKeymap, @@ -217,7 +445,10 @@ function createEditorExtensions( const customEnterKeymap = keymap.of([ { key: "Shift-Enter", - run: () => { + run: (view) => { + if (completionStatus(view.state) === "active") { + return acceptCompletion(view); + } if (!getInvertEnterBehavior()) { return false; } @@ -228,7 +459,10 @@ function createEditorExtensions( }, { key: "Enter", - run: () => { + run: (view) => { + if (completionStatus(view.state) === "active") { + return acceptCompletion(view); + } if (getInvertEnterBehavior()) { return false; } @@ -238,16 +472,48 @@ function createEditorExtensions( }, }, ]); + const completionTabKeymap = keymap.of([ + { + key: "Tab", + run: (view) => + completionStatus(view.state) === "active" + ? acceptCompletion(view) + : false, + }, + ]); + const emojiDeletionKeymap = keymap.of([ + { + key: "Backspace", + run: (view) => deleteEmoji(view, "backward"), + }, + { + key: "Delete", + run: (view) => deleteEmoji(view, "forward"), + }, + ]); return [ history(), markdown(), + completionCompartment.of( + createEmojiAutocomplete(emojiFrequencies, onEmojiSelect), + ), + emojiDecorations, keymap.of(editorKeymap), + Prec.highest(completionTabKeymap), + Prec.highest(emojiDeletionKeymap), Prec.highest(customEnterKeymap), EditorView.lineWrapping, placeholder(getPlaceholder() ?? ""), EditorView.updateListener.of((update: ViewUpdate) => { if (!update.docChanged) return; + if ( + update.transactions.some( + (transaction) => transaction.annotation(externalValueSync) === true, + ) + ) { + return; + } onChange(update.state.doc.toString()); }), EditorView.theme({ @@ -267,6 +533,126 @@ function createEditorExtensions( ]; } +function createEmojiAutocomplete( + frequencies: Readonly> | undefined, + onEmojiSelect: (shortcode: string) => void, +) { + return autocompletion({ + activateOnTyping: true, + addToOptions: [ + { + position: 20, + render(completion) { + const container = document.createElement("span"); + createRoot(container).render( + , + ); + return container; + }, + }, + ], + maxRenderedOptions: MAX_RENDERED_EMOJI_OPTIONS, + override: [createEmojiCompletionSource(frequencies, onEmojiSelect)], + }); +} + +function normalizedFrequencies( + frequencies: Readonly> | undefined, +) { + const normalized = new Map(); + for (const [value, frequency] of Object.entries(frequencies ?? {})) { + const shortcode = resolveEmoji(value)?.shortcode; + if (!shortcode || !Number.isFinite(frequency) || frequency <= 0) continue; + normalized.set(shortcode, (normalized.get(shortcode) ?? 0) + frequency); + } + return normalized; +} + +export function createEmojiCompletionSource( + frequencies?: Readonly>, + onEmojiSelect: (shortcode: string) => void = () => undefined, +) { + const normalized = normalizedFrequencies(frequencies); + const maxFrequency = Math.max(0, ...normalized.values()); + + return (context: CompletionContext): CompletionResult | null => { + const token = context.matchBefore(/:[a-z0-9_+-]*$/i); + if (!token) return null; + if ( + codeRanges(context.state).some( + (range) => token.from < range.to && token.to > range.from, + ) + ) { + return null; + } + + const characterBefore = context.state.sliceDoc( + Math.max(0, token.from - 1), + token.from, + ); + if (characterBefore && /[a-z0-9_]/i.test(characterBefore)) return null; + + const query = token.text.slice(1).toLowerCase(); + const options: Completion[] = searchEmojis(query) + .map((emoji) => { + const aliases = emoji.aliases.map((alias) => alias.toLowerCase()); + const matchedAlias = + aliases.find((alias) => alias === query) ?? + aliases.find((alias) => alias.startsWith(query)) ?? + aliases.find((alias) => alias.includes(query)) ?? + emoji.name; + const relevance = !query + ? 0 + : matchedAlias === query + ? 80 + : matchedAlias.startsWith(query) + ? 40 + : 0; + const frequency = normalized.get(emoji.shortcode) ?? 0; + const usage = + maxFrequency > 0 + ? (15 * Math.log1p(frequency)) / Math.log1p(maxFrequency) + : 0; + + return { + apply(view, completion, from, to) { + view.dispatch({ + annotations: pickedCompletion.of(completion), + changes: { from, insert: `${emoji.shortcode} `, to }, + selection: EditorSelection.cursor( + from + emoji.shortcode.length + 1, + ), + }); + onEmojiSelect(emoji.shortcode); + }, + boost: relevance + usage, + displayLabel: emoji.shortcode, + label: `:${matchedAlias}:`, + type: "text", + frequency, + relevance, + } satisfies Completion & { frequency: number; relevance: number }; + }) + .sort( + (a, b) => + b.relevance - a.relevance || + b.frequency - a.frequency || + (a.displayLabel ?? a.label).localeCompare(b.displayLabel ?? b.label), + ); + + return { + from: token.from, + options, + validFor: /^:[a-z0-9_+-]*$/i, + }; + }; +} + +export const emojiCompletionSource = createEmojiCompletionSource(); + /** * Executes buildDecorations. * @param view Parameter view. diff --git a/packages/markdown/src/markdown.tsx b/packages/markdown/src/markdown.tsx index 976301a..d98e36b 100644 --- a/packages/markdown/src/markdown.tsx +++ b/packages/markdown/src/markdown.tsx @@ -1,7 +1,10 @@ import * as React from "react"; +import Emoji from "./emoji"; +import { findEmojiShortcodes } from "./emojiData"; type InlineNode = | { type: "text"; value: string } + | { type: "emoji"; shortcode: string } | { type: "strong"; value: string } | { type: "em"; value: string } | { type: "del"; value: string } @@ -73,14 +76,14 @@ type MarkdownBlock = | TableBlock; const INLINE_TOKEN_REGEX = - /!\[([^\]]*)\]\(([^)\s]+(?:\s+"[^"]*")?)\)|\[([^\]]+)\]\(([^)\s]+(?:\s+"[^"]*")?)\)|`([^`\n]+)`|~~([^~\n]+)~~|\*\*([^*\n]+)\*\*|__([^_\n]+)__|\*([^*\n]+)\*|_([^_\n]+)_/g; + /!\[([^\]]*)\]\(([^)\s]+(?:\s+"[^"]*")?)\)|\[([^\]]+)\]\(([^)\s]+(?:\s+"[^"]*")?)\)|`([^`\n]+)`|~~([^~\n]+)~~|\*\*([^*\n]+)\*\*|__([^_\n]+)__|\*([^*\n]+)\*|(? cursor) { - nodes.push({ type: "text", value: input.slice(cursor, index) }); + nodes.push(...parseEmojiText(input.slice(cursor, index))); } if (match[1] !== undefined && match[2] !== undefined) { @@ -111,7 +114,7 @@ function parseInlineNodes(input: string): InlineNode[] { } else if (match[9] !== undefined || match[10] !== undefined) { nodes.push({ type: "em", value: match[9] ?? match[10] ?? "" }); } else { - nodes.push({ type: "text", value: raw }); + nodes.push(...parseEmojiText(raw)); } cursor = index + raw.length; @@ -119,13 +122,33 @@ function parseInlineNodes(input: string): InlineNode[] { } if (cursor < input.length) { - nodes.push({ type: "text", value: input.slice(cursor) }); + nodes.push(...parseEmojiText(input.slice(cursor))); } INLINE_TOKEN_REGEX.lastIndex = 0; return nodes; } +export function parseEmojiText(input: string): InlineNode[] { + const nodes: InlineNode[] = []; + let cursor = 0; + + for (const match of findEmojiShortcodes(input)) { + if (match.from > cursor) { + nodes.push({ type: "text", value: input.slice(cursor, match.from) }); + } + + nodes.push({ type: "emoji", shortcode: match.emoji.shortcode }); + cursor = match.to; + } + + if (cursor < input.length) { + nodes.push({ type: "text", value: input.slice(cursor) }); + } + + return nodes; +} + /** * Executes collectInlineRanges. * @param input Parameter input. @@ -375,10 +398,16 @@ function renderInline(nodes: InlineNode[]): React.ReactNode[] { return node.value; } + if (node.type === "emoji") { + return ( + + ); + } + if (node.type === "strong") { return ( - {node.value} + {renderInline(parseEmojiText(node.value))} ); } @@ -386,7 +415,7 @@ function renderInline(nodes: InlineNode[]): React.ReactNode[] { if (node.type === "em") { return ( - {node.value} + {renderInline(parseEmojiText(node.value))} ); } @@ -394,7 +423,7 @@ function renderInline(nodes: InlineNode[]): React.ReactNode[] { if (node.type === "del") { return ( - {node.value} + {renderInline(parseEmojiText(node.value))} ); } @@ -416,7 +445,7 @@ function renderInline(nodes: InlineNode[]): React.ReactNode[] { target="_blank" rel="noreferrer" > - {node.label} + {renderInline(parseEmojiText(node.label))} ); } @@ -637,7 +666,7 @@ function readTable( } const markdownStyles = ` -.tm-md-root { color: hsl(var(--foreground)); line-height: 1.55; font-size: 0.95rem; } +.tm-md-root { color: hsl(var(--foreground)); line-height: 1.65; font-size: 1rem; } .tm-md-heading { margin: 0.2rem 0 0.35rem; font-weight: 700; line-height: 1.25; } .tm-md-h1 { font-size: 1.65rem; } .tm-md-h2 { font-size: 1.45rem; } @@ -655,6 +684,7 @@ const markdownStyles = ` .tm-md-del { text-decoration: line-through; } .tm-md-link { color: hsl(var(--primary)); text-decoration: underline; text-underline-offset: 0.14rem; } .tm-md-image { display: block; max-width: 100%; border-radius: 0.4rem; margin: 0.5rem 0; } +.tm-md-emoji { display: inline-block; width: 1.15em; height: 1.15em; vertical-align: -0.18em; } .tm-md-ul, .tm-md-ol { margin: 0.3rem 0 0.35rem 1.2rem; padding: 0; } .tm-md-li { margin: 0.2rem 0; } .tm-md-checkbox { margin-right: 0.5rem; vertical-align: middle; } @@ -670,8 +700,21 @@ const markdownStyles = ` .cm-editor.tm-md-editor .cm-content { caret-color: var(--foreground); } .cm-editor.tm-md-editor .cm-content { padding: var(--tm-md-content-padding, 0.25rem 0.625rem); min-height: 2rem; } .cm-editor.tm-md-editor .cm-line { padding: 0; color: hsl(var(--foreground)); } +.cm-editor.tm-md-editor .tm-md-editor-emoji { display: inline-block; width: 1.15em; height: 1.15em; vertical-align: -0.18em; object-fit: contain; pointer-events: none; } .cm-editor.tm-md-editor .tm-md-hidden-token { color: transparent; opacity: 0; font-size: inherit; } .cm-editor.tm-md-editor .tm-md-code-line { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; background: hsl(var(--muted)); border-radius: 0.3rem; } +.cm-tooltip.cm-tooltip-autocomplete { min-width: 18rem; max-width: min(26rem, calc(100vw - 1rem)); overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: var(--popover); color: var(--popover-foreground); box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); font-family: "Public Sans Variable", sans-serif; font-size: 0.875rem; } +.cm-editor.tm-md-editor .cm-tooltip.cm-tooltip-autocomplete > ul { max-height: min(20rem, 45vh); padding: 0.25rem; font-family: "Public Sans Variable", sans-serif; scrollbar-width: thin; scrollbar-color: var(--border) transparent; } +.cm-tooltip.cm-tooltip-autocomplete > ul::-webkit-scrollbar { width: 6px; height: 6px; } +.cm-tooltip.cm-tooltip-autocomplete > ul::-webkit-scrollbar-track { background: transparent; } +.cm-tooltip.cm-tooltip-autocomplete > ul::-webkit-scrollbar-thumb { border-radius: 9999px; background: var(--border); } +.cm-tooltip.cm-tooltip-autocomplete > ul > li { display: flex; min-height: 2.25rem; align-items: center; border-radius: calc(var(--radius) * 0.8); padding: 0.3rem 0.5rem; color: var(--popover-foreground); } +.cm-tooltip.cm-tooltip-autocomplete > ul > li:hover, +.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected] { background: var(--accent); color: var(--accent-foreground); } +.cm-tooltip.cm-tooltip-autocomplete .cm-completionIcon { display: none; } +.cm-tooltip.cm-tooltip-autocomplete .cm-completionLabel { overflow: hidden; text-overflow: ellipsis; } +.cm-tooltip.cm-tooltip-autocomplete .cm-completionMatchedText { color: inherit; text-decoration: none; font-weight: 600; } +.cm-tooltip-autocomplete .tm-md-completion-emoji { display: inline-block; width: 1.35rem; height: 1.35rem; flex: 0 0 auto; margin-right: 0.5rem; vertical-align: middle; } `; /** diff --git a/packages/markdown/src/text.tsx b/packages/markdown/src/text.tsx index 07e1bb8..2add8d7 100644 --- a/packages/markdown/src/text.tsx +++ b/packages/markdown/src/text.tsx @@ -22,6 +22,7 @@ export default function Text(props: TextProps) { () => parseMarkdownBlocks(props.value), [props.value], ); + const renderedBlocks = React.useMemo(() => renderBlocks(blocks), [blocks]); - return
    {renderBlocks(blocks)}
    ; + return
    {renderedBlocks}
    ; } diff --git a/packages/mtp/src/context.tsx b/packages/mtp/src/context.tsx index a781c77..1da68e3 100644 --- a/packages/mtp/src/context.tsx +++ b/packages/mtp/src/context.tsx @@ -201,6 +201,7 @@ export function Provider(props: { const unsubscribers = [ "MessageLive", "MessageEditLive", + "MessageReactionLive", "MessageState", "CallInvite", "ErrorNoIota", diff --git a/packages/shared/src/data.ts b/packages/shared/src/data.ts index e065598..2e69a35 100644 --- a/packages/shared/src/data.ts +++ b/packages/shared/src/data.ts @@ -442,6 +442,7 @@ export interface Storage extends SettingsStorageDefaults { width: number; height: number; } | null; + reactions: Record; } export const storageDefaults: Storage = { @@ -513,6 +514,11 @@ export const storageDefaults: Storage = { chat_picker_saved_media: [], chat_picker_last_tab: "gif", chat_picker_size: null, + reactions: { + ":thumbsup:": 3, + ":fire:": 2, + ":white_check_mark:": 1, + }, }; // User Status diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 269de17..18c677e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,17 +1,18 @@ -lockfileVersion: "9.0" +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false overrides: - "@tensamin/ui": https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + '@tensamin/ui': https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz mtp: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz importers: + .: dependencies: - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) mtp: @@ -21,19 +22,19 @@ importers: specifier: ^2.0.7 version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7) devDependencies: - "@eslint/js": + '@eslint/js': specifier: ^10.0.1 version: 10.0.1(eslint@10.6.0(jiti@2.7.0)) - "@types/node": + '@types/node': specifier: ^26.1.0 version: 26.1.0 - "@types/react": + '@types/react': specifier: ^19.2.14 version: 19.2.17 - "@types/react-dom": + '@types/react-dom': specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.17) - "@typescript-eslint/parser": + '@typescript-eslint/parser': specifier: ^8.59.1 version: 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) eslint: @@ -69,7 +70,7 @@ importers: apps/electron: devDependencies: - "@types/node": + '@types/node': specifier: ^25.9.1 version: 25.9.4 electron: @@ -87,25 +88,25 @@ importers: apps/tauri: dependencies: - "@tauri-apps/api": + '@tauri-apps/api': specifier: ^2 version: 2.11.1 - "@tauri-apps/plugin-barcode-scanner": + '@tauri-apps/plugin-barcode-scanner': specifier: ~2 version: 2.4.5 - "@tauri-apps/plugin-deep-link": + '@tauri-apps/plugin-deep-link': specifier: ~2 version: 2.4.9 - "@tauri-apps/plugin-log": + '@tauri-apps/plugin-log': specifier: ~2 version: 2.8.0 - "@tauri-apps/plugin-notification": + '@tauri-apps/plugin-notification': specifier: ~2 version: 2.3.3 - "@tensamin/shared": + '@tensamin/shared': specifier: workspace:* version: link:../../packages/shared - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) react: @@ -115,160 +116,160 @@ importers: specifier: ^19.2.0 version: 19.2.7(react@19.2.7) devDependencies: - "@tauri-apps/cli": + '@tauri-apps/cli': specifier: ^2 version: 2.11.4 - "@types/node": + '@types/node': specifier: ^25.9.1 version: 25.9.4 apps/web: dependencies: - "@babel/runtime": + '@babel/runtime': specifier: ^7.29.2 version: 7.29.7 - "@base-ui/react": + '@base-ui/react': specifier: ^1.0.0 version: 1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@base-ui/utils": + '@base-ui/utils': specifier: 0.3.1 version: 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@floating-ui/core": + '@floating-ui/core': specifier: ^1.7.0 version: 1.7.5 - "@floating-ui/dom": + '@floating-ui/dom': specifier: ^1.7.0 version: 1.7.6 - "@floating-ui/react-dom": + '@floating-ui/react-dom': specifier: ^2.1.8 version: 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@floating-ui/utils": + '@floating-ui/utils': specifier: ^0.2.11 version: 0.2.11 - "@fontsource-variable/inter": + '@fontsource-variable/inter': specifier: ^5.2.8 version: 5.2.8 - "@fontsource-variable/public-sans": + '@fontsource-variable/public-sans': specifier: ^5.2.7 version: 5.2.7 - "@radix-ui/primitive": + '@radix-ui/primitive': specifier: ^1.1.0 version: 1.1.4 - "@radix-ui/react-compose-refs": + '@radix-ui/react-compose-refs': specifier: ^1.1.1 version: 1.1.3(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-context": + '@radix-ui/react-context': specifier: ^1.1.4 version: 1.1.4(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-dialog": + '@radix-ui/react-dialog': specifier: ^1.1.6 version: 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-dismissable-layer": + '@radix-ui/react-dismissable-layer': specifier: ^1.1.11 version: 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-focus-guards": + '@radix-ui/react-focus-guards': specifier: ^1.1.4 version: 1.1.4(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-focus-scope": + '@radix-ui/react-focus-scope': specifier: ^1.1.11 version: 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-id": + '@radix-ui/react-id': specifier: ^1.1.0 version: 1.1.2(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-portal": + '@radix-ui/react-portal': specifier: ^1.1.13 version: 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-presence": + '@radix-ui/react-presence': specifier: ^1.1.6 version: 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-primitive": + '@radix-ui/react-primitive': specifier: ^2.0.2 version: 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-slot": + '@radix-ui/react-slot': specifier: ^1.1.2 version: 1.3.0(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-use-callback-ref": + '@radix-ui/react-use-callback-ref': specifier: ^1.1.1 version: 1.1.2(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-use-controllable-state": + '@radix-ui/react-use-controllable-state': specifier: ^1.2.3 version: 1.2.3(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-use-effect-event": + '@radix-ui/react-use-effect-event': specifier: ^0.0.2 version: 0.0.2(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-use-layout-effect": + '@radix-ui/react-use-layout-effect': specifier: ^1.1.0 version: 1.1.2(@types/react@19.2.17)(react@19.2.7) - "@reduxjs/toolkit": + '@reduxjs/toolkit': specifier: ^2.0.0 version: 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7) - "@tailwindcss/vite": + '@tailwindcss/vite': specifier: ^4.2.4 version: 4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) - "@tanstack/devtools-event-client": + '@tanstack/devtools-event-client': specifier: ^0.3.0 version: 0.3.5 - "@tanstack/history": + '@tanstack/history': specifier: 1.162.0 version: 1.162.0 - "@tanstack/query-core": + '@tanstack/query-core': specifier: ^5.0.0 version: 5.101.2 - "@tanstack/react-router": + '@tanstack/react-router': specifier: ^1.169.1 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@tanstack/react-store": + '@tanstack/react-store': specifier: ^0.9.3 version: 0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@tanstack/react-virtual": + '@tanstack/react-virtual': specifier: ^3.13.24 version: 3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@tanstack/router-core": + '@tanstack/router-core': specifier: ^1.169.1 version: 1.171.14 - "@tanstack/store": + '@tanstack/store': specifier: ^0.9.3 version: 0.9.3 - "@tanstack/virtual-core": + '@tanstack/virtual-core': specifier: ^3.13.24 version: 3.17.3 - "@tauri-apps/api": + '@tauri-apps/api': specifier: ^2 version: 2.11.1 - "@tensamin/call": + '@tensamin/call': specifier: workspace:* version: link:../../packages/call - "@tensamin/chat": + '@tensamin/chat': specifier: workspace:* version: link:../../packages/chat - "@tensamin/crypto": + '@tensamin/crypto': specifier: workspace:* version: link:../../packages/crypto - "@tensamin/markdown": + '@tensamin/markdown': specifier: workspace:* version: link:../../packages/markdown - "@tensamin/mtp": + '@tensamin/mtp': specifier: workspace:* version: link:../../packages/mtp - "@tensamin/notifications": + '@tensamin/notifications': specifier: workspace:* version: link:../../packages/notifications - "@tensamin/shared": + '@tensamin/shared': specifier: workspace:* version: link:../../packages/shared - "@tensamin/storage": + '@tensamin/storage': specifier: workspace:* version: link:../../packages/storage - "@tensamin/tauri": + '@tensamin/tauri': specifier: workspace:* version: link:../tauri - "@tensamin/tauth": + '@tensamin/tauth': specifier: workspace:* version: link:../../packages/tauth - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - "@tensamin/user": + '@tensamin/user': specifier: workspace:* version: link:../../packages/user aria-hidden: @@ -464,19 +465,19 @@ importers: specifier: ^4.3.6 version: 4.4.3 devDependencies: - "@eslint/js": + '@eslint/js': specifier: ^10.0.1 version: 10.0.1(eslint@10.6.0(jiti@2.7.0)) - "@types/qrcode": + '@types/qrcode': specifier: ^1.5.6 version: 1.5.6 - "@types/react": + '@types/react': specifier: ^19.2.2 version: 19.2.17 - "@types/react-dom": + '@types/react-dom': specifier: ^19.2.2 version: 19.2.3(@types/react@19.2.17) - "@vitejs/plugin-react": + '@vitejs/plugin-react': specifier: ^6.0.1 version: 6.0.3(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0)) esbuild: @@ -500,31 +501,31 @@ importers: packages/call: dependencies: - "@livekit/components-react": + '@livekit/components-react': specifier: ^2.9.20 version: 2.9.21(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(tslib@2.8.1) - "@tanstack/react-router": + '@tanstack/react-router': specifier: ^1.169.1 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@tauri-apps/api": + '@tauri-apps/api': specifier: ^2 version: 2.11.1 - "@tensamin/crypto": + '@tensamin/crypto': specifier: workspace:* version: link:../crypto - "@tensamin/mtp": + '@tensamin/mtp': specifier: workspace:* version: link:../mtp - "@tensamin/shared": + '@tensamin/shared': specifier: workspace:* version: link:../shared - "@tensamin/storage": + '@tensamin/storage': specifier: workspace:* version: link:../storage - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - "@tensamin/user": + '@tensamin/user': specifier: workspace:* version: link:../user deepfilternet3-noise-filter: @@ -554,42 +555,45 @@ importers: packages/chat: dependencies: - "@tanstack/pacer": + '@tanstack/pacer': specifier: ^0.21.1 version: 0.21.1 - "@tanstack/react-query": + '@tanstack/react-query': specifier: ^5.0.0 version: 5.101.2(react@19.2.7) - "@tanstack/react-router": + '@tanstack/react-router': specifier: ^1.0.0 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@tanstack/react-virtual": + '@tanstack/react-virtual': specifier: ^3.0.0 version: 3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@tensamin/crypto": + '@tensamin/crypto': specifier: workspace:* version: link:../crypto - "@tensamin/markdown": + '@tensamin/markdown': specifier: workspace:* version: link:../markdown - "@tensamin/mtp": + '@tensamin/mtp': specifier: workspace:* version: link:../mtp - "@tensamin/shared": + '@tensamin/shared': specifier: workspace:* version: link:../shared - "@tensamin/storage": + '@tensamin/storage': specifier: workspace:* version: link:../storage - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - "@tensamin/user": + '@tensamin/user': specifier: workspace:* version: link:../user lucide-react: specifier: ^1.14.0 version: 1.23.0(react@19.2.7) + motion: + specifier: ^12.42.2 + version: 12.42.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: specifier: ^19.2.0 version: 19.2.7 @@ -611,18 +615,33 @@ importers: packages/markdown: dependencies: - "@codemirror/commands": + '@codemirror/autocomplete': + specifier: ^6.20.3 + version: 6.20.3 + '@codemirror/commands': specifier: ^6.10.2 version: 6.10.4 - "@codemirror/lang-markdown": + '@codemirror/lang-markdown': specifier: ^6.5.0 version: 6.5.0 - "@codemirror/state": + '@codemirror/language': + specifier: ^6.12.4 + version: 6.12.4 + '@codemirror/state': specifier: ^6.5.4 version: 6.7.0 - "@codemirror/view": + '@codemirror/view': specifier: ^6.41.1 version: 6.43.4 + '@tensamin/ui': + specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz + version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) + '@twemoji/api': + specifier: ^17.0.3 + version: 17.0.3 + emojibase-data: + specifier: ^17.0.0 + version: 17.0.0(emojibase@17.0.0) react: specifier: ^19.2.0 version: 19.2.7 @@ -632,19 +651,19 @@ importers: packages/mtp: dependencies: - "@tauri-apps/api": + '@tauri-apps/api': specifier: ^2 version: 2.11.1 - "@tensamin/crypto": + '@tensamin/crypto': specifier: workspace:* version: link:../crypto - "@tensamin/shared": + '@tensamin/shared': specifier: workspace:* version: link:../shared - "@tensamin/storage": + '@tensamin/storage': specifier: workspace:* version: link:../storage - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) lucide-react: @@ -672,31 +691,31 @@ importers: packages/notifications: dependencies: - "@tanstack/react-router": + '@tanstack/react-router': specifier: ^1.169.1 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@tauri-apps/api": + '@tauri-apps/api': specifier: ^2.11.0 version: 2.11.1 - "@tensamin/chat": + '@tensamin/chat': specifier: workspace:* version: link:../chat - "@tensamin/crypto": + '@tensamin/crypto': specifier: workspace:* version: link:../crypto - "@tensamin/mtp": + '@tensamin/mtp': specifier: workspace:* version: link:../mtp - "@tensamin/shared": + '@tensamin/shared': specifier: workspace:* version: link:../shared - "@tensamin/storage": + '@tensamin/storage': specifier: workspace:* version: link:../storage - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - "@tensamin/user": + '@tensamin/user': specifier: workspace:* version: link:../user react: @@ -714,7 +733,7 @@ importers: packages/shared: dependencies: - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) lucide-react: @@ -732,13 +751,13 @@ importers: packages/storage: dependencies: - "@tensamin/mtp": + '@tensamin/mtp': specifier: workspace:* version: link:../mtp - "@tensamin/shared": + '@tensamin/shared': specifier: workspace:* version: link:../shared - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) react: @@ -750,31 +769,31 @@ importers: packages/tauth: dependencies: - "@tanstack/react-router": + '@tanstack/react-router': specifier: ^1.0.0 version: 1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@tauri-apps/api": + '@tauri-apps/api': specifier: ^2.10.1 version: 2.11.1 - "@tensamin/crypto": + '@tensamin/crypto': specifier: workspace:* version: link:../crypto - "@tensamin/mtp": + '@tensamin/mtp': specifier: workspace:* version: link:../mtp - "@tensamin/shared": + '@tensamin/shared': specifier: workspace:* version: link:../shared - "@tensamin/storage": + '@tensamin/storage': specifier: workspace:* version: link:../storage - "@tensamin/tauri": + '@tensamin/tauri': specifier: workspace:* version: link:../../apps/tauri - "@tensamin/ui": + '@tensamin/ui': specifier: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz version: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3) - "@tensamin/user": + '@tensamin/user': specifier: workspace:* version: link:../user lucide-react: @@ -789,13 +808,13 @@ importers: packages/user: dependencies: - "@tensamin/mtp": + '@tensamin/mtp': specifier: workspace:* version: link:../mtp - "@tensamin/shared": + '@tensamin/shared': specifier: workspace:* version: link:../shared - "@tensamin/storage": + '@tensamin/storage': specifier: workspace:* version: link:../storage react: @@ -809,1345 +828,857 @@ importers: version: 4.4.3 packages: - "@babel/code-frame@7.29.7": - resolution: - { - integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==, - } - engines: { node: ">=6.9.0" } - "@babel/compat-data@7.29.7": - resolution: - { - integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==, - } - engines: { node: ">=6.9.0" } + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} - "@babel/core@7.29.7": - resolution: - { - integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==, - } - engines: { node: ">=6.9.0" } + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} - "@babel/generator@7.29.7": - resolution: - { - integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==, - } - engines: { node: ">=6.9.0" } + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} - "@babel/helper-annotate-as-pure@7.29.7": - resolution: - { - integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==, - } - engines: { node: ">=6.9.0" } + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} - "@babel/helper-compilation-targets@7.29.7": - resolution: - { - integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} + engines: {node: '>=6.9.0'} - "@babel/helper-create-class-features-plugin@7.29.7": - resolution: - { - integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 + '@babel/core': ^7.0.0 - "@babel/helper-globals@7.29.7": - resolution: - { - integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} - "@babel/helper-member-expression-to-functions@7.29.7": - resolution: - { - integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} + engines: {node: '>=6.9.0'} - "@babel/helper-module-imports@7.29.7": - resolution: - { - integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} - "@babel/helper-module-transforms@7.29.7": - resolution: - { - integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 + '@babel/core': ^7.0.0 - "@babel/helper-optimise-call-expression@7.29.7": - resolution: - { - integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} + engines: {node: '>=6.9.0'} - "@babel/helper-plugin-utils@7.29.7": - resolution: - { - integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} - "@babel/helper-replace-supers@7.29.7": - resolution: - { - integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 + '@babel/core': ^7.0.0 - "@babel/helper-skip-transparent-expression-wrappers@7.29.7": - resolution: - { - integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} + engines: {node: '>=6.9.0'} - "@babel/helper-string-parser@7.29.7": - resolution: - { - integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} - "@babel/helper-validator-identifier@7.29.7": - resolution: - { - integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} - "@babel/helper-validator-option@7.29.7": - resolution: - { - integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==, - } - engines: { node: ">=6.9.0" } + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} - "@babel/helpers@7.29.7": - resolution: - { - integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==, - } - engines: { node: ">=6.9.0" } + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} - "@babel/parser@7.29.7": - resolution: - { - integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==, - } - engines: { node: ">=6.0.0" } + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + engines: {node: '>=6.0.0'} hasBin: true - "@babel/plugin-syntax-jsx@7.29.7": - resolution: - { - integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==, - } - engines: { node: ">=6.9.0" } + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 - "@babel/plugin-syntax-typescript@7.29.7": - resolution: - { - integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==, - } - engines: { node: ">=6.9.0" } + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 - "@babel/plugin-transform-modules-commonjs@7.29.7": - resolution: - { - integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==, - } - engines: { node: ">=6.9.0" } + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 - "@babel/plugin-transform-typescript@7.29.7": - resolution: - { - integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==, - } - engines: { node: ">=6.9.0" } + '@babel/plugin-transform-typescript@7.29.7': + resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 - "@babel/preset-typescript@7.29.7": - resolution: - { - integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==, - } - engines: { node: ">=6.9.0" } + '@babel/preset-typescript@7.29.7': + resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 - "@babel/runtime@7.29.7": - resolution: - { - integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==, - } - engines: { node: ">=6.9.0" } + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} - "@babel/template@7.29.7": - resolution: - { - integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==, - } - engines: { node: ">=6.9.0" } + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} - "@babel/traverse@7.29.7": - resolution: - { - integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==, - } - engines: { node: ">=6.9.0" } + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + engines: {node: '>=6.9.0'} - "@babel/types@7.29.7": - resolution: - { - integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==, - } - engines: { node: ">=6.9.0" } + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} - "@base-ui/react@1.6.0": - resolution: - { - integrity: sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw==, - } - engines: { node: ">=14.0.0" } + '@base-ui/react@1.6.0': + resolution: {integrity: sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw==} + engines: {node: '>=14.0.0'} peerDependencies: - "@date-fns/tz": ^1.2.0 - "@types/react": ^17 || ^18 || ^19 + '@date-fns/tz': ^1.2.0 + '@types/react': ^17 || ^18 || ^19 date-fns: ^4.0.0 react: ^17 || ^18 || ^19 react-dom: ^17 || ^18 || ^19 peerDependenciesMeta: - "@date-fns/tz": + '@date-fns/tz': optional: true - "@types/react": + '@types/react': optional: true date-fns: optional: true - "@base-ui/utils@0.3.1": - resolution: - { - integrity: sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg==, - } + '@base-ui/utils@0.3.1': + resolution: {integrity: sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg==} peerDependencies: - "@types/react": ^17 || ^18 || ^19 + '@types/react': ^17 || ^18 || ^19 react: ^17 || ^18 || ^19 react-dom: ^17 || ^18 || ^19 peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@bufbuild/protobuf@1.10.1": - resolution: - { - integrity: sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==, - } + '@bufbuild/protobuf@1.10.1': + resolution: {integrity: sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==} - "@codemirror/autocomplete@6.20.3": - resolution: - { - integrity: sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g==, - } + '@codemirror/autocomplete@6.20.3': + resolution: {integrity: sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g==} - "@codemirror/commands@6.10.4": - resolution: - { - integrity: sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg==, - } + '@codemirror/commands@6.10.4': + resolution: {integrity: sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg==} - "@codemirror/lang-css@6.3.1": - resolution: - { - integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==, - } + '@codemirror/lang-css@6.3.1': + resolution: {integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==} - "@codemirror/lang-html@6.4.11": - resolution: - { - integrity: sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==, - } + '@codemirror/lang-html@6.4.11': + resolution: {integrity: sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==} - "@codemirror/lang-javascript@6.2.5": - resolution: - { - integrity: sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==, - } + '@codemirror/lang-javascript@6.2.5': + resolution: {integrity: sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==} - "@codemirror/lang-markdown@6.5.0": - resolution: - { - integrity: sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw==, - } + '@codemirror/lang-markdown@6.5.0': + resolution: {integrity: sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw==} - "@codemirror/language@6.12.4": - resolution: - { - integrity: sha512-1q4PaT+o6PbgpkJt4Q8Fv5XJxTy4FUZ4MWETtyiDw3J0Pyr9E2vqcKL+k9wcvjNTIsauxvE7OfmWj3FRPHQ76A==, - } + '@codemirror/language@6.12.4': + resolution: {integrity: sha512-1q4PaT+o6PbgpkJt4Q8Fv5XJxTy4FUZ4MWETtyiDw3J0Pyr9E2vqcKL+k9wcvjNTIsauxvE7OfmWj3FRPHQ76A==} - "@codemirror/lint@6.9.7": - resolution: - { - integrity: sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg==, - } + '@codemirror/lint@6.9.7': + resolution: {integrity: sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg==} - "@codemirror/state@6.7.0": - resolution: - { - integrity: sha512-Zbl9NyscLMZkfXPQnNAIIAFftidrA1UbcJEIMp24C0Bukc2I5T8wJS0wsXYsnDOqCFJUeJ1BITGNs5CqPDSmSg==, - } + '@codemirror/state@6.7.0': + resolution: {integrity: sha512-Zbl9NyscLMZkfXPQnNAIIAFftidrA1UbcJEIMp24C0Bukc2I5T8wJS0wsXYsnDOqCFJUeJ1BITGNs5CqPDSmSg==} - "@codemirror/view@6.43.4": - resolution: - { - integrity: sha512-YImu23iyKfncJzT7sRy+rEqEhSc8RhOHqDxwy4WzXRKJwYm6iwf/9OJk5ctCAdZ6yi2ZqaGEvmf55fSVqMDrgg==, - } + '@codemirror/view@6.43.4': + resolution: {integrity: sha512-YImu23iyKfncJzT7sRy+rEqEhSc8RhOHqDxwy4WzXRKJwYm6iwf/9OJk5ctCAdZ6yi2ZqaGEvmf55fSVqMDrgg==} - "@date-fns/tz@1.5.0": - resolution: - { - integrity: sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==, - } + '@date-fns/tz@1.5.0': + resolution: {integrity: sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==} - "@dotenvx/dotenvx@1.75.1": - resolution: - { - integrity: sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ==, - } + '@dotenvx/dotenvx@1.75.1': + resolution: {integrity: sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ==} hasBin: true - "@dotenvx/primitives@0.8.0": - resolution: - { - integrity: sha512-VYJy0uhFm9zTJ1TxBaW/pA8bjbOM/OttaNMwZ1RHG4JKyRG7DhSdiqD1ipQoAyoD22olUtxbP78W9xY3Wd11bg==, - } + '@dotenvx/primitives@0.8.0': + resolution: {integrity: sha512-VYJy0uhFm9zTJ1TxBaW/pA8bjbOM/OttaNMwZ1RHG4JKyRG7DhSdiqD1ipQoAyoD22olUtxbP78W9xY3Wd11bg==} - "@electron/asar@3.4.1": - resolution: - { - integrity: sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==, - } - engines: { node: ">=10.12.0" } + '@electron/asar@3.4.1': + resolution: {integrity: sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==} + engines: {node: '>=10.12.0'} hasBin: true - "@electron/fuses@1.8.0": - resolution: - { - integrity: sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==, - } + '@electron/fuses@1.8.0': + resolution: {integrity: sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==} hasBin: true - "@electron/get@2.0.3": - resolution: - { - integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==, - } - engines: { node: ">=12" } + '@electron/get@2.0.3': + resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} + engines: {node: '>=12'} - "@electron/get@3.1.0": - resolution: - { - integrity: sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==, - } - engines: { node: ">=14" } + '@electron/get@3.1.0': + resolution: {integrity: sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==} + engines: {node: '>=14'} - "@electron/notarize@2.5.0": - resolution: - { - integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==, - } - engines: { node: ">= 10.0.0" } + '@electron/notarize@2.5.0': + resolution: {integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==} + engines: {node: '>= 10.0.0'} - "@electron/osx-sign@1.3.3": - resolution: - { - integrity: sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==, - } - engines: { node: ">=12.0.0" } + '@electron/osx-sign@1.3.3': + resolution: {integrity: sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==} + engines: {node: '>=12.0.0'} hasBin: true - "@electron/rebuild@4.1.0": - resolution: - { - integrity: sha512-GFky+1JeO8fpSqtZCh+2wFRN/MVbAhm7tXI2M7BA1Os79OR8LEoxRtAbRPyxvmKWhEMF/p10rNJkkgP1klI13g==, - } - engines: { node: ">=22.12.0" } + '@electron/rebuild@4.1.0': + resolution: {integrity: sha512-GFky+1JeO8fpSqtZCh+2wFRN/MVbAhm7tXI2M7BA1Os79OR8LEoxRtAbRPyxvmKWhEMF/p10rNJkkgP1klI13g==} + engines: {node: '>=22.12.0'} hasBin: true - "@electron/universal@2.0.3": - resolution: - { - integrity: sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==, - } - engines: { node: ">=16.4" } + '@electron/universal@2.0.3': + resolution: {integrity: sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==} + engines: {node: '>=16.4'} - "@electron/windows-sign@1.2.2": - resolution: - { - integrity: sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==, - } - engines: { node: ">=14.14" } + '@electron/windows-sign@1.2.2': + resolution: {integrity: sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==} + engines: {node: '>=14.14'} hasBin: true - "@emnapi/core@1.11.1": - resolution: - { - integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==, - } + '@emnapi/core@1.11.1': + resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} - "@emnapi/runtime@1.11.1": - resolution: - { - integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==, - } + '@emnapi/runtime@1.11.1': + resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} - "@emnapi/wasi-threads@1.2.2": - resolution: - { - integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==, - } + '@emnapi/wasi-threads@1.2.2': + resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} - "@esbuild/aix-ppc64@0.25.12": - resolution: - { - integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==, - } - engines: { node: ">=18" } + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - "@esbuild/android-arm64@0.25.12": - resolution: - { - integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==, - } - engines: { node: ">=18" } + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - "@esbuild/android-arm@0.25.12": - resolution: - { - integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==, - } - engines: { node: ">=18" } + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} cpu: [arm] os: [android] - "@esbuild/android-x64@0.25.12": - resolution: - { - integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==, - } - engines: { node: ">=18" } + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} cpu: [x64] os: [android] - "@esbuild/darwin-arm64@0.25.12": - resolution: - { - integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==, - } - engines: { node: ">=18" } + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - "@esbuild/darwin-x64@0.25.12": - resolution: - { - integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==, - } - engines: { node: ">=18" } + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - "@esbuild/freebsd-arm64@0.25.12": - resolution: - { - integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==, - } - engines: { node: ">=18" } + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - "@esbuild/freebsd-x64@0.25.12": - resolution: - { - integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==, - } - engines: { node: ">=18" } + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - "@esbuild/linux-arm64@0.25.12": - resolution: - { - integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==, - } - engines: { node: ">=18" } + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - "@esbuild/linux-arm@0.25.12": - resolution: - { - integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==, - } - engines: { node: ">=18" } + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - "@esbuild/linux-ia32@0.25.12": - resolution: - { - integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==, - } - engines: { node: ">=18" } + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - "@esbuild/linux-loong64@0.25.12": - resolution: - { - integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==, - } - engines: { node: ">=18" } + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - "@esbuild/linux-mips64el@0.25.12": - resolution: - { - integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==, - } - engines: { node: ">=18" } + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - "@esbuild/linux-ppc64@0.25.12": - resolution: - { - integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==, - } - engines: { node: ">=18" } + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - "@esbuild/linux-riscv64@0.25.12": - resolution: - { - integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==, - } - engines: { node: ">=18" } + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - "@esbuild/linux-s390x@0.25.12": - resolution: - { - integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==, - } - engines: { node: ">=18" } + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - "@esbuild/linux-x64@0.25.12": - resolution: - { - integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==, - } - engines: { node: ">=18" } + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - "@esbuild/netbsd-arm64@0.25.12": - resolution: - { - integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==, - } - engines: { node: ">=18" } + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - "@esbuild/netbsd-x64@0.25.12": - resolution: - { - integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==, - } - engines: { node: ">=18" } + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - "@esbuild/openbsd-arm64@0.25.12": - resolution: - { - integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==, - } - engines: { node: ">=18" } + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - "@esbuild/openbsd-x64@0.25.12": - resolution: - { - integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==, - } - engines: { node: ">=18" } + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - "@esbuild/openharmony-arm64@0.25.12": - resolution: - { - integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==, - } - engines: { node: ">=18" } + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - "@esbuild/sunos-x64@0.25.12": - resolution: - { - integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==, - } - engines: { node: ">=18" } + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - "@esbuild/win32-arm64@0.25.12": - resolution: - { - integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==, - } - engines: { node: ">=18" } + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - "@esbuild/win32-ia32@0.25.12": - resolution: - { - integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==, - } - engines: { node: ">=18" } + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - "@esbuild/win32-x64@0.25.12": - resolution: - { - integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==, - } - engines: { node: ">=18" } + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - "@eslint-community/eslint-utils@4.9.1": - resolution: - { - integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - "@eslint-community/regexpp@4.12.2": - resolution: - { - integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - "@eslint/config-array@0.23.5": - resolution: - { - integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - "@eslint/config-helpers@0.6.0": - resolution: - { - integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + '@eslint/config-helpers@0.6.0': + resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - "@eslint/core@1.2.1": - resolution: - { - integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - "@eslint/js@10.0.1": - resolution: - { - integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: eslint: ^10.0.0 peerDependenciesMeta: eslint: optional: true - "@eslint/object-schema@3.0.5": - resolution: - { - integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - "@eslint/plugin-kit@0.7.2": - resolution: - { - integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + '@eslint/plugin-kit@0.7.2': + resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - "@fallow-cli/darwin-arm64@2.104.0": - resolution: - { - integrity: sha512-5kKt3JuoYVz5/9PpHdu8u41vOZ6CzIu+5SqNBR8MktGLVMBSERm85+NN63XqgbZrVwIC/5uiP8eHQ0RYw0qhHg==, - } + '@fallow-cli/darwin-arm64@2.104.0': + resolution: {integrity: sha512-5kKt3JuoYVz5/9PpHdu8u41vOZ6CzIu+5SqNBR8MktGLVMBSERm85+NN63XqgbZrVwIC/5uiP8eHQ0RYw0qhHg==} cpu: [arm64] os: [darwin] - "@fallow-cli/darwin-x64@2.104.0": - resolution: - { - integrity: sha512-BEwwYccutb8RxyAm3uE8vwCJ3JSLYYeREj3fpLPFFCjh9eXBBo3Q1Mu5pxBjjUeehfbR6r/FLJb9JV28bCia9g==, - } + '@fallow-cli/darwin-x64@2.104.0': + resolution: {integrity: sha512-BEwwYccutb8RxyAm3uE8vwCJ3JSLYYeREj3fpLPFFCjh9eXBBo3Q1Mu5pxBjjUeehfbR6r/FLJb9JV28bCia9g==} cpu: [x64] os: [darwin] - "@fallow-cli/linux-arm64-gnu@2.104.0": - resolution: - { - integrity: sha512-IyIkmwxm0AfVKXfHYuSBO6Fzt6fgZsRE0arbtObeDlKSv7zZMzqHZPpbSGZxPEmVODBMScdSxxaFSli9xFHBTA==, - } + '@fallow-cli/linux-arm64-gnu@2.104.0': + resolution: {integrity: sha512-IyIkmwxm0AfVKXfHYuSBO6Fzt6fgZsRE0arbtObeDlKSv7zZMzqHZPpbSGZxPEmVODBMScdSxxaFSli9xFHBTA==} cpu: [arm64] os: [linux] - "@fallow-cli/linux-arm64-musl@2.104.0": - resolution: - { - integrity: sha512-YskAeLCUUPnbwqtMC452ksI+miw6hN4K6peTFRJ0j2gSpkTriJfUgkudFB1+JX2/YqV41yDAqe5XeDYhuXxjOA==, - } + '@fallow-cli/linux-arm64-musl@2.104.0': + resolution: {integrity: sha512-YskAeLCUUPnbwqtMC452ksI+miw6hN4K6peTFRJ0j2gSpkTriJfUgkudFB1+JX2/YqV41yDAqe5XeDYhuXxjOA==} cpu: [arm64] os: [linux] - "@fallow-cli/linux-x64-gnu@2.104.0": - resolution: - { - integrity: sha512-v3Um0fXwTPg7kGRD1hKeS36A7P/3J7h3TiQ2KAzE8ThKkDViHYjKGEkajtGGSIj/Tv+GVnJBOvJ7i752/6iSBA==, - } + '@fallow-cli/linux-x64-gnu@2.104.0': + resolution: {integrity: sha512-v3Um0fXwTPg7kGRD1hKeS36A7P/3J7h3TiQ2KAzE8ThKkDViHYjKGEkajtGGSIj/Tv+GVnJBOvJ7i752/6iSBA==} cpu: [x64] os: [linux] - "@fallow-cli/linux-x64-musl@2.104.0": - resolution: - { - integrity: sha512-wMVyeSp5uHvzVUgNHk6xuTCisVOAUv8FTC6z1swANdLQlQgd4Trnu8GYwhJhO7cU9RuL85yn1XksCs6+PkRM8A==, - } + '@fallow-cli/linux-x64-musl@2.104.0': + resolution: {integrity: sha512-wMVyeSp5uHvzVUgNHk6xuTCisVOAUv8FTC6z1swANdLQlQgd4Trnu8GYwhJhO7cU9RuL85yn1XksCs6+PkRM8A==} cpu: [x64] os: [linux] - "@fallow-cli/win32-arm64-msvc@2.104.0": - resolution: - { - integrity: sha512-qDRn7zoRKVAHVz+BqKUnUPa8H4gD/g26Fs/hqH9futbthecgjXmPyRJwycE8HTQBNlVwck5d5w36a+PEPsCYaQ==, - } + '@fallow-cli/win32-arm64-msvc@2.104.0': + resolution: {integrity: sha512-qDRn7zoRKVAHVz+BqKUnUPa8H4gD/g26Fs/hqH9futbthecgjXmPyRJwycE8HTQBNlVwck5d5w36a+PEPsCYaQ==} cpu: [arm64] os: [win32] - "@fallow-cli/win32-x64-msvc@2.104.0": - resolution: - { - integrity: sha512-irER9HuZ9DXunl4H9RNsWQ9AvGmHs/Zp1+Yr2ATmgSNumERPXvgXa2IiGtCvKFqI72639TlhUj8+2WqIXZ54WQ==, - } + '@fallow-cli/win32-x64-msvc@2.104.0': + resolution: {integrity: sha512-irER9HuZ9DXunl4H9RNsWQ9AvGmHs/Zp1+Yr2ATmgSNumERPXvgXa2IiGtCvKFqI72639TlhUj8+2WqIXZ54WQ==} cpu: [x64] os: [win32] - "@floating-ui/core@1.7.5": - resolution: - { - integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==, - } + '@floating-ui/core@1.7.5': + resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} - "@floating-ui/dom@1.7.4": - resolution: - { - integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==, - } + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} - "@floating-ui/dom@1.7.6": - resolution: - { - integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==, - } + '@floating-ui/dom@1.7.6': + resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} - "@floating-ui/react-dom@2.1.8": - resolution: - { - integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==, - } + '@floating-ui/react-dom@2.1.8': + resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==} peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" + react: '>=16.8.0' + react-dom: '>=16.8.0' - "@floating-ui/utils@0.2.11": - resolution: - { - integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==, - } + '@floating-ui/utils@0.2.11': + resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} - "@fontsource-variable/inter@5.2.8": - resolution: - { - integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==, - } + '@fontsource-variable/inter@5.2.8': + resolution: {integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==} - "@fontsource-variable/public-sans@5.2.7": - resolution: - { - integrity: sha512-4mvade2J3slKkvwRkS+p8T3szet/0vhWoSnuUJTVU81Uo2pRpSZY/Y8bSLRqpSwzIPxjVmRJ53oq6JKP/l/PSg==, - } + '@fontsource-variable/public-sans@5.2.7': + resolution: {integrity: sha512-4mvade2J3slKkvwRkS+p8T3szet/0vhWoSnuUJTVU81Uo2pRpSZY/Y8bSLRqpSwzIPxjVmRJ53oq6JKP/l/PSg==} - "@hono/node-server@1.19.14": - resolution: - { - integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==, - } - engines: { node: ">=18.14.1" } + '@hono/node-server@1.19.14': + resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} + engines: {node: '>=18.14.1'} peerDependencies: hono: ^4 - "@humanfs/core@0.19.2": - resolution: - { - integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==, - } - engines: { node: ">=18.18.0" } + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} - "@humanfs/node@0.16.8": - resolution: - { - integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==, - } - engines: { node: ">=18.18.0" } + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} - "@humanfs/types@0.15.0": - resolution: - { - integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==, - } - engines: { node: ">=18.18.0" } + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} - "@humanwhocodes/module-importer@1.0.1": - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: ">=12.22" } + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} - "@humanwhocodes/retry@0.4.3": - resolution: - { - integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==, - } - engines: { node: ">=18.18" } + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} - "@isaacs/fs-minipass@4.0.1": - resolution: - { - integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==, - } - engines: { node: ">=18.0.0" } + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} - "@jridgewell/gen-mapping@0.3.13": - resolution: - { - integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==, - } + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - "@jridgewell/remapping@2.3.5": - resolution: - { - integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==, - } + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - "@jridgewell/resolve-uri@3.1.2": - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: ">=6.0.0" } + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} - "@jridgewell/sourcemap-codec@1.5.5": - resolution: - { - integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, - } + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - "@jridgewell/trace-mapping@0.3.31": - resolution: - { - integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==, - } + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - "@lezer/common@1.5.2": - resolution: - { - integrity: sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==, - } + '@lezer/common@1.5.2': + resolution: {integrity: sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==} - "@lezer/css@1.3.4": - resolution: - { - integrity: sha512-N+tn9tej2hPvyKgHEApMOQfHczDJCwxrRFS3SPn9QjYN+uwHvEDnCgKRrb3mxDYxRS8sKMM8fhC3+lc04Abz5Q==, - } + '@lezer/css@1.3.4': + resolution: {integrity: sha512-N+tn9tej2hPvyKgHEApMOQfHczDJCwxrRFS3SPn9QjYN+uwHvEDnCgKRrb3mxDYxRS8sKMM8fhC3+lc04Abz5Q==} - "@lezer/highlight@1.2.3": - resolution: - { - integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==, - } + '@lezer/highlight@1.2.3': + resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==} - "@lezer/html@1.3.13": - resolution: - { - integrity: sha512-oI7n6NJml729m7pjm9lvLvmXbdoMoi2f+1pwSDJkl9d68zGr7a9Btz8NdHTGQZtW2DA25ybeuv/SyDb9D5tseg==, - } + '@lezer/html@1.3.13': + resolution: {integrity: sha512-oI7n6NJml729m7pjm9lvLvmXbdoMoi2f+1pwSDJkl9d68zGr7a9Btz8NdHTGQZtW2DA25ybeuv/SyDb9D5tseg==} - "@lezer/javascript@1.5.4": - resolution: - { - integrity: sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==, - } + '@lezer/javascript@1.5.4': + resolution: {integrity: sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==} - "@lezer/lr@1.4.10": - resolution: - { - integrity: sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==, - } + '@lezer/lr@1.4.10': + resolution: {integrity: sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==} - "@lezer/markdown@1.6.4": - resolution: - { - integrity: sha512-N0SxazMj4k65DBfaf1azqtMZd6u7MqluP84/NZnB/io8Td9aleFmAhz9hcbvSfsxT5tdYlJ5qgv5aMJGY4zEtA==, - } + '@lezer/markdown@1.6.4': + resolution: {integrity: sha512-N0SxazMj4k65DBfaf1azqtMZd6u7MqluP84/NZnB/io8Td9aleFmAhz9hcbvSfsxT5tdYlJ5qgv5aMJGY4zEtA==} - "@livekit/components-core@0.12.13": - resolution: - { - integrity: sha512-DQmi84afHoHjZ62wm8y+XPNIDHTwFHAltjd3lmyXj8UZHOY7wcza4vFt1xnghJOD5wLRY58L1dkAgAw59MgWvw==, - } - engines: { node: ">=18" } + '@livekit/components-core@0.12.13': + resolution: {integrity: sha512-DQmi84afHoHjZ62wm8y+XPNIDHTwFHAltjd3lmyXj8UZHOY7wcza4vFt1xnghJOD5wLRY58L1dkAgAw59MgWvw==} + engines: {node: '>=18'} peerDependencies: livekit-client: ^2.17.2 tslib: ^2.6.2 - "@livekit/components-react@2.9.21": - resolution: - { - integrity: sha512-6hU9VucJJL+gAhilNGe4MBCDCZVk64qyjP9Ck86krvOIdVU76WeWksddg1MYUP10AlUwwrfD7davz41pJTcMJw==, - } - engines: { node: ">=18" } + '@livekit/components-react@2.9.21': + resolution: {integrity: sha512-6hU9VucJJL+gAhilNGe4MBCDCZVk64qyjP9Ck86krvOIdVU76WeWksddg1MYUP10AlUwwrfD7davz41pJTcMJw==} + engines: {node: '>=18'} peerDependencies: - "@livekit/krisp-noise-filter": ^0.2.12 || ^0.3.0 + '@livekit/krisp-noise-filter': ^0.2.12 || ^0.3.0 livekit-client: ^2.18.2 - react: ">=18" - react-dom: ">=18" + react: '>=18' + react-dom: '>=18' tslib: ^2.6.2 peerDependenciesMeta: - "@livekit/krisp-noise-filter": + '@livekit/krisp-noise-filter': optional: true - "@livekit/mutex@1.1.1": - resolution: - { - integrity: sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw==, - } + '@livekit/mutex@1.1.1': + resolution: {integrity: sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw==} - "@livekit/protocol@1.46.6": - resolution: - { - integrity: sha512-upzlHP1vi/kZ/QqALZTFskQ0ifqc2f15RKucHYOsIHJsaXvEYanG75mAb7o+Yomfs4XhQ4BaRsdY+TFHXpaqrg==, - } + '@livekit/protocol@1.46.6': + resolution: {integrity: sha512-upzlHP1vi/kZ/QqALZTFskQ0ifqc2f15RKucHYOsIHJsaXvEYanG75mAb7o+Yomfs4XhQ4BaRsdY+TFHXpaqrg==} - "@malept/cross-spawn-promise@2.0.0": - resolution: - { - integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==, - } - engines: { node: ">= 12.13.0" } + '@malept/cross-spawn-promise@2.0.0': + resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} + engines: {node: '>= 12.13.0'} - "@malept/flatpak-bundler@0.4.0": - resolution: - { - integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==, - } - engines: { node: ">= 10.0.0" } + '@malept/flatpak-bundler@0.4.0': + resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} + engines: {node: '>= 10.0.0'} - "@marijn/find-cluster-break@1.0.3": - resolution: - { - integrity: sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==, - } + '@marijn/find-cluster-break@1.0.3': + resolution: {integrity: sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==} - "@modelcontextprotocol/sdk@1.29.0": - resolution: - { - integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==, - } - engines: { node: ">=18" } + '@modelcontextprotocol/sdk@1.29.0': + resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==} + engines: {node: '>=18'} peerDependencies: - "@cfworker/json-schema": ^4.1.1 + '@cfworker/json-schema': ^4.1.1 zod: ^3.25 || ^4.0 peerDependenciesMeta: - "@cfworker/json-schema": + '@cfworker/json-schema': optional: true - "@napi-rs/wasm-runtime@1.1.6": - resolution: - { - integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==, - } + '@napi-rs/wasm-runtime@1.1.6': + resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} peerDependencies: - "@emnapi/core": ^1.7.1 - "@emnapi/runtime": ^1.7.1 + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 - "@noble/hashes@1.4.0": - resolution: - { - integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==, - } - engines: { node: ">= 16" } + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} - "@noble/hashes@2.2.0": - resolution: - { - integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==, - } - engines: { node: ">= 20.19.0" } + '@noble/hashes@2.2.0': + resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==} + engines: {node: '>= 20.19.0'} - "@nodelib/fs.scandir@2.1.5": - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: ">= 8" } + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} - "@nodelib/fs.stat@2.0.5": - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: ">= 8" } + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} - "@nodelib/fs.walk@1.2.8": - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: ">= 8" } + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} - "@oxc-project/types@0.138.0": - resolution: - { - integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==, - } + '@oxc-project/types@0.138.0': + resolution: {integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==} - "@peculiar/asn1-schema@2.8.0": - resolution: - { - integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==, - } + '@peculiar/asn1-schema@2.8.0': + resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==} - "@peculiar/json-schema@1.1.12": - resolution: - { - integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==, - } - engines: { node: ">=8.0.0" } + '@peculiar/json-schema@1.1.12': + resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} + engines: {node: '>=8.0.0'} - "@peculiar/utils@2.0.3": - resolution: - { - integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==, - } + '@peculiar/utils@2.0.3': + resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} - "@peculiar/webcrypto@1.7.1": - resolution: - { - integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==, - } - engines: { node: ">=14.18.0" } + '@peculiar/webcrypto@1.7.1': + resolution: {integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==} + engines: {node: '>=14.18.0'} - "@radix-ui/primitive@1.1.4": - resolution: - { - integrity: sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==, - } + '@radix-ui/primitive@1.1.4': + resolution: {integrity: sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==} - "@radix-ui/react-compose-refs@1.1.3": - resolution: - { - integrity: sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA==, - } + '@radix-ui/react-compose-refs@1.1.3': + resolution: {integrity: sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-context@1.1.4": - resolution: - { - integrity: sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg==, - } + '@radix-ui/react-context@1.1.4': + resolution: {integrity: sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-dialog@1.1.18": - resolution: - { - integrity: sha512-apa28mldjMgORmE6g/w3sCcA0Y9UAVeeDVoozN4i7kOw12mLl9RBchfzK3Nn6qxOWjrZhK1Lfy7f07kyzxtnBw==, - } + '@radix-ui/react-dialog@1.1.18': + resolution: {integrity: sha512-apa28mldjMgORmE6g/w3sCcA0Y9UAVeeDVoozN4i7kOw12mLl9RBchfzK3Nn6qxOWjrZhK1Lfy7f07kyzxtnBw==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-dismissable-layer@1.1.14": - resolution: - { - integrity: sha512-4lUhWTWAjbDIqFrAPWJ3WqBOpO5YchVZ88X3nh6H9Lu5AFi5nCUeTPj3D8FSDmabmFeRe9ME0BDA4MwKTha5GQ==, - } + '@radix-ui/react-dismissable-layer@1.1.14': + resolution: {integrity: sha512-4lUhWTWAjbDIqFrAPWJ3WqBOpO5YchVZ88X3nh6H9Lu5AFi5nCUeTPj3D8FSDmabmFeRe9ME0BDA4MwKTha5GQ==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-focus-guards@1.1.4": - resolution: - { - integrity: sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q==, - } + '@radix-ui/react-focus-guards@1.1.4': + resolution: {integrity: sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-focus-scope@1.1.11": - resolution: - { - integrity: sha512-Mn88Vg2whaRocGJNOH+DKFqYm6ySFPQaiwHNxZPyjn99B52KAEJWWY9NP83+nWdk2HM3rdov+STu9AG471Rt9w==, - } + '@radix-ui/react-focus-scope@1.1.11': + resolution: {integrity: sha512-Mn88Vg2whaRocGJNOH+DKFqYm6ySFPQaiwHNxZPyjn99B52KAEJWWY9NP83+nWdk2HM3rdov+STu9AG471Rt9w==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-id@1.1.2": - resolution: - { - integrity: sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA==, - } + '@radix-ui/react-id@1.1.2': + resolution: {integrity: sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-portal@1.1.13": - resolution: - { - integrity: sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA==, - } + '@radix-ui/react-portal@1.1.13': + resolution: {integrity: sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-presence@1.1.6": - resolution: - { - integrity: sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ==, - } + '@radix-ui/react-presence@1.1.6': + resolution: {integrity: sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-primitive@2.1.7": - resolution: - { - integrity: sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ==, - } + '@radix-ui/react-primitive@2.1.7': + resolution: {integrity: sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-slot@1.3.0": - resolution: - { - integrity: sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA==, - } + '@radix-ui/react-slot@1.3.0': + resolution: {integrity: sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-callback-ref@1.1.2": - resolution: - { - integrity: sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw==, - } + '@radix-ui/react-use-callback-ref@1.1.2': + resolution: {integrity: sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-controllable-state@1.2.3": - resolution: - { - integrity: sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA==, - } + '@radix-ui/react-use-controllable-state@1.2.3': + resolution: {integrity: sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-effect-event@0.0.2": - resolution: - { - integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==, - } + '@radix-ui/react-use-effect-event@0.0.2': + resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-effect-event@0.0.3": - resolution: - { - integrity: sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA==, - } + '@radix-ui/react-use-effect-event@0.0.3': + resolution: {integrity: sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-layout-effect@1.1.1": - resolution: - { - integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==, - } + '@radix-ui/react-use-layout-effect@1.1.1': + resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-layout-effect@1.1.2": - resolution: - { - integrity: sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA==, - } + '@radix-ui/react-use-layout-effect@1.1.2': + resolution: {integrity: sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@reduxjs/toolkit@2.12.0": - resolution: - { - integrity: sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==, - } + '@reduxjs/toolkit@2.12.0': + resolution: {integrity: sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==} peerDependencies: react: ^16.9.0 || ^17.0.0 || ^18 || ^19 react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 @@ -2157,895 +1688,558 @@ packages: react-redux: optional: true - "@rolldown/binding-android-arm64@1.1.4": - resolution: - { - integrity: sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-android-arm64@1.1.4': + resolution: {integrity: sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - "@rolldown/binding-darwin-arm64@1.1.4": - resolution: - { - integrity: sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-darwin-arm64@1.1.4': + resolution: {integrity: sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - "@rolldown/binding-darwin-x64@1.1.4": - resolution: - { - integrity: sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-darwin-x64@1.1.4': + resolution: {integrity: sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - "@rolldown/binding-freebsd-x64@1.1.4": - resolution: - { - integrity: sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-freebsd-x64@1.1.4': + resolution: {integrity: sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - "@rolldown/binding-linux-arm-gnueabihf@1.1.4": - resolution: - { - integrity: sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-arm-gnueabihf@1.1.4': + resolution: {integrity: sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - "@rolldown/binding-linux-arm64-gnu@1.1.4": - resolution: - { - integrity: sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-arm64-gnu@1.1.4': + resolution: {integrity: sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - "@rolldown/binding-linux-arm64-musl@1.1.4": - resolution: - { - integrity: sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-arm64-musl@1.1.4': + resolution: {integrity: sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - "@rolldown/binding-linux-ppc64-gnu@1.1.4": - resolution: - { - integrity: sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-ppc64-gnu@1.1.4': + resolution: {integrity: sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - "@rolldown/binding-linux-s390x-gnu@1.1.4": - resolution: - { - integrity: sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-s390x-gnu@1.1.4': + resolution: {integrity: sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - "@rolldown/binding-linux-x64-gnu@1.1.4": - resolution: - { - integrity: sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-x64-gnu@1.1.4': + resolution: {integrity: sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - "@rolldown/binding-linux-x64-musl@1.1.4": - resolution: - { - integrity: sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-x64-musl@1.1.4': + resolution: {integrity: sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - "@rolldown/binding-openharmony-arm64@1.1.4": - resolution: - { - integrity: sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-openharmony-arm64@1.1.4': + resolution: {integrity: sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - "@rolldown/binding-wasm32-wasi@1.1.4": - resolution: - { - integrity: sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-wasm32-wasi@1.1.4': + resolution: {integrity: sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - "@rolldown/binding-win32-arm64-msvc@1.1.4": - resolution: - { - integrity: sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-win32-arm64-msvc@1.1.4': + resolution: {integrity: sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - "@rolldown/binding-win32-x64-msvc@1.1.4": - resolution: - { - integrity: sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-win32-x64-msvc@1.1.4': + resolution: {integrity: sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - "@rolldown/pluginutils@1.0.1": - resolution: - { - integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==, - } + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - "@sec-ant/readable-stream@0.4.1": - resolution: - { - integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==, - } + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - "@sindresorhus/is@4.6.0": - resolution: - { - integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==, - } - engines: { node: ">=10" } + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} - "@sindresorhus/merge-streams@4.0.0": - resolution: - { - integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==, - } - engines: { node: ">=18" } + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} - "@standard-schema/spec@1.1.0": - resolution: - { - integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==, - } + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - "@standard-schema/utils@0.3.0": - resolution: - { - integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==, - } + '@standard-schema/utils@0.3.0': + resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} - "@szmarczak/http-timer@4.0.6": - resolution: - { - integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==, - } - engines: { node: ">=10" } + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} - "@tailwindcss/node@4.3.2": - resolution: - { - integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==, - } + '@tailwindcss/node@4.3.2': + resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==} - "@tailwindcss/oxide-android-arm64@4.3.2": - resolution: - { - integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-android-arm64@4.3.2': + resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==} + engines: {node: '>= 20'} cpu: [arm64] os: [android] - "@tailwindcss/oxide-darwin-arm64@4.3.2": - resolution: - { - integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-darwin-arm64@4.3.2': + resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==} + engines: {node: '>= 20'} cpu: [arm64] os: [darwin] - "@tailwindcss/oxide-darwin-x64@4.3.2": - resolution: - { - integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-darwin-x64@4.3.2': + resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==} + engines: {node: '>= 20'} cpu: [x64] os: [darwin] - "@tailwindcss/oxide-freebsd-x64@4.3.2": - resolution: - { - integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-freebsd-x64@4.3.2': + resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==} + engines: {node: '>= 20'} cpu: [x64] os: [freebsd] - "@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2": - resolution: - { - integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': + resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==} + engines: {node: '>= 20'} cpu: [arm] os: [linux] - "@tailwindcss/oxide-linux-arm64-gnu@4.3.2": - resolution: - { - integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': + resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==} + engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [glibc] - "@tailwindcss/oxide-linux-arm64-musl@4.3.2": - resolution: - { - integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-linux-arm64-musl@4.3.2': + resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==} + engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [musl] - "@tailwindcss/oxide-linux-x64-gnu@4.3.2": - resolution: - { - integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-linux-x64-gnu@4.3.2': + resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==} + engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [glibc] - "@tailwindcss/oxide-linux-x64-musl@4.3.2": - resolution: - { - integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-linux-x64-musl@4.3.2': + resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==} + engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [musl] - "@tailwindcss/oxide-wasm32-wasi@4.3.2": - resolution: - { - integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==, - } - engines: { node: ">=14.0.0" } + '@tailwindcss/oxide-wasm32-wasi@4.3.2': + resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==} + engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: - - "@napi-rs/wasm-runtime" - - "@emnapi/core" - - "@emnapi/runtime" - - "@tybys/wasm-util" - - "@emnapi/wasi-threads" + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' - tslib - "@tailwindcss/oxide-win32-arm64-msvc@4.3.2": - resolution: - { - integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': + resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==} + engines: {node: '>= 20'} cpu: [arm64] os: [win32] - "@tailwindcss/oxide-win32-x64-msvc@4.3.2": - resolution: - { - integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide-win32-x64-msvc@4.3.2': + resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==} + engines: {node: '>= 20'} cpu: [x64] os: [win32] - "@tailwindcss/oxide@4.3.2": - resolution: - { - integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==, - } - engines: { node: ">= 20" } + '@tailwindcss/oxide@4.3.2': + resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==} + engines: {node: '>= 20'} - "@tailwindcss/vite@4.3.2": - resolution: - { - integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==, - } + '@tailwindcss/vite@4.3.2': + resolution: {integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==} peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 - "@tanstack/devtools-event-client@0.3.5": - resolution: - { - integrity: sha512-RL1f5ZlfZMpghrCIdzl6mLOFLTuhqmPNblZgBaeKfdtk5rfbjykurv+VfYydOFXj0vxVIoA2d/zT7xfD7Ph8fw==, - } - engines: { node: ">=18" } + '@tanstack/devtools-event-client@0.3.5': + resolution: {integrity: sha512-RL1f5ZlfZMpghrCIdzl6mLOFLTuhqmPNblZgBaeKfdtk5rfbjykurv+VfYydOFXj0vxVIoA2d/zT7xfD7Ph8fw==} + engines: {node: '>=18'} - "@tanstack/devtools-event-client@0.4.4": - resolution: - { - integrity: sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw==, - } - engines: { node: ">=18" } + '@tanstack/devtools-event-client@0.4.4': + resolution: {integrity: sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw==} + engines: {node: '>=18'} hasBin: true - "@tanstack/history@1.162.0": - resolution: - { - integrity: sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA==, - } - engines: { node: ">=20.19" } + '@tanstack/history@1.162.0': + resolution: {integrity: sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA==} + engines: {node: '>=20.19'} - "@tanstack/pacer@0.21.1": - resolution: - { - integrity: sha512-hB01dd4rlsYcTCNP7wK186jgAe6K5qimgM1Y5Jtvz+9PUaILvpmeLLjmQNUNSO1l23lIt+CeQR6mO1mjlPvRtQ==, - } - engines: { node: ">=18" } + '@tanstack/pacer@0.21.1': + resolution: {integrity: sha512-hB01dd4rlsYcTCNP7wK186jgAe6K5qimgM1Y5Jtvz+9PUaILvpmeLLjmQNUNSO1l23lIt+CeQR6mO1mjlPvRtQ==} + engines: {node: '>=18'} - "@tanstack/query-core@5.101.2": - resolution: - { - integrity: sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw==, - } + '@tanstack/query-core@5.101.2': + resolution: {integrity: sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw==} - "@tanstack/react-query@5.101.2": - resolution: - { - integrity: sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg==, - } + '@tanstack/react-query@5.101.2': + resolution: {integrity: sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg==} peerDependencies: react: ^18 || ^19 - "@tanstack/react-router@1.170.17": - resolution: - { - integrity: sha512-ppLkjCfSMaeug9rmFRYzOd4TIqWV+yTE7tzIny7alJsSnM7w4lzEZm6eqCehG0SPetpZ0R3K+UnanSmBgOAVcQ==, - } - engines: { node: ">=20.19" } + '@tanstack/react-router@1.170.17': + resolution: {integrity: sha512-ppLkjCfSMaeug9rmFRYzOd4TIqWV+yTE7tzIny7alJsSnM7w4lzEZm6eqCehG0SPetpZ0R3K+UnanSmBgOAVcQ==} + engines: {node: '>=20.19'} peerDependencies: - react: ">=18.0.0 || >=19.0.0" - react-dom: ">=18.0.0 || >=19.0.0" + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' - "@tanstack/react-store@0.9.3": - resolution: - { - integrity: sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==, - } + '@tanstack/react-store@0.9.3': + resolution: {integrity: sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - "@tanstack/react-virtual@3.14.5": - resolution: - { - integrity: sha512-4EKRXh7zBLkbKbFmG3AUVkircuHd+7OdT1pocJSepxtfBd3qnrJgJ5rtPkRYyo9fmyVb2+pI2xPy5oYvMLQy6A==, - } + '@tanstack/react-virtual@3.14.5': + resolution: {integrity: sha512-4EKRXh7zBLkbKbFmG3AUVkircuHd+7OdT1pocJSepxtfBd3qnrJgJ5rtPkRYyo9fmyVb2+pI2xPy5oYvMLQy6A==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - "@tanstack/router-core@1.171.14": - resolution: - { - integrity: sha512-Mo3hwx0qB0cJsVYGDjG0+Ouf7VV74h/vsoDMGztdlyzDanp4gBA2s7IVvm6hFrmQM6GpD9F0Z7SqD7OldfLE7g==, - } - engines: { node: ">=20.19" } + '@tanstack/router-core@1.171.14': + resolution: {integrity: sha512-Mo3hwx0qB0cJsVYGDjG0+Ouf7VV74h/vsoDMGztdlyzDanp4gBA2s7IVvm6hFrmQM6GpD9F0Z7SqD7OldfLE7g==} + engines: {node: '>=20.19'} - "@tanstack/store@0.11.0": - resolution: - { - integrity: sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw==, - } + '@tanstack/store@0.11.0': + resolution: {integrity: sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw==} - "@tanstack/store@0.9.3": - resolution: - { - integrity: sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==, - } + '@tanstack/store@0.9.3': + resolution: {integrity: sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==} - "@tanstack/virtual-core@3.17.3": - resolution: - { - integrity: sha512-8Np/TFELpI0ySuJoVmjvOrQYXH/8sTX0Biv9szhFhY39xOdAAY+smrMxjxOum/ux3eM8MUJQsEJ0/R0UpvC8dw==, - } + '@tanstack/virtual-core@3.17.3': + resolution: {integrity: sha512-8Np/TFELpI0ySuJoVmjvOrQYXH/8sTX0Biv9szhFhY39xOdAAY+smrMxjxOum/ux3eM8MUJQsEJ0/R0UpvC8dw==} - "@tauri-apps/api@2.11.1": - resolution: - { - integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==, - } + '@tauri-apps/api@2.11.1': + resolution: {integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==} - "@tauri-apps/cli-darwin-arm64@2.11.4": - resolution: - { - integrity: sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-darwin-arm64@2.11.4': + resolution: {integrity: sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==} + engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - "@tauri-apps/cli-darwin-x64@2.11.4": - resolution: - { - integrity: sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-darwin-x64@2.11.4': + resolution: {integrity: sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==} + engines: {node: '>= 10'} cpu: [x64] os: [darwin] - "@tauri-apps/cli-linux-arm-gnueabihf@2.11.4": - resolution: - { - integrity: sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': + resolution: {integrity: sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==} + engines: {node: '>= 10'} cpu: [arm] os: [linux] - "@tauri-apps/cli-linux-arm64-gnu@2.11.4": - resolution: - { - integrity: sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-linux-arm64-gnu@2.11.4': + resolution: {integrity: sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - "@tauri-apps/cli-linux-arm64-musl@2.11.4": - resolution: - { - integrity: sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-linux-arm64-musl@2.11.4': + resolution: {integrity: sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - "@tauri-apps/cli-linux-riscv64-gnu@2.11.4": - resolution: - { - integrity: sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': + resolution: {integrity: sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==} + engines: {node: '>= 10'} cpu: [riscv64] os: [linux] libc: [glibc] - "@tauri-apps/cli-linux-x64-gnu@2.11.4": - resolution: - { - integrity: sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-linux-x64-gnu@2.11.4': + resolution: {integrity: sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - "@tauri-apps/cli-linux-x64-musl@2.11.4": - resolution: - { - integrity: sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-linux-x64-musl@2.11.4': + resolution: {integrity: sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - "@tauri-apps/cli-win32-arm64-msvc@2.11.4": - resolution: - { - integrity: sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-win32-arm64-msvc@2.11.4': + resolution: {integrity: sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==} + engines: {node: '>= 10'} cpu: [arm64] os: [win32] - "@tauri-apps/cli-win32-ia32-msvc@2.11.4": - resolution: - { - integrity: sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-win32-ia32-msvc@2.11.4': + resolution: {integrity: sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==} + engines: {node: '>= 10'} cpu: [ia32] os: [win32] - "@tauri-apps/cli-win32-x64-msvc@2.11.4": - resolution: - { - integrity: sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli-win32-x64-msvc@2.11.4': + resolution: {integrity: sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==} + engines: {node: '>= 10'} cpu: [x64] os: [win32] - "@tauri-apps/cli@2.11.4": - resolution: - { - integrity: sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==, - } - engines: { node: ">= 10" } + '@tauri-apps/cli@2.11.4': + resolution: {integrity: sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==} + engines: {node: '>= 10'} hasBin: true - "@tauri-apps/plugin-barcode-scanner@2.4.5": - resolution: - { - integrity: sha512-sIPRYEfxww8/y8skZ2LcAp/h5bwvlHkQiq+3w6QEl+2BHs13xnpn7hP+pv4fkBs8DyDfpUbOBIYS5YBwP7x1QQ==, - } + '@tauri-apps/plugin-barcode-scanner@2.4.5': + resolution: {integrity: sha512-sIPRYEfxww8/y8skZ2LcAp/h5bwvlHkQiq+3w6QEl+2BHs13xnpn7hP+pv4fkBs8DyDfpUbOBIYS5YBwP7x1QQ==} - "@tauri-apps/plugin-deep-link@2.4.9": - resolution: - { - integrity: sha512-u0SKOUHnJ1wqeqXsDFq2+kASCBj9xxbG0g9XZWPy9SOmU4wXtp6b/wiYpm6oH6/5fBTQsLqnLhIvqLBRpgHJlA==, - } + '@tauri-apps/plugin-deep-link@2.4.9': + resolution: {integrity: sha512-u0SKOUHnJ1wqeqXsDFq2+kASCBj9xxbG0g9XZWPy9SOmU4wXtp6b/wiYpm6oH6/5fBTQsLqnLhIvqLBRpgHJlA==} - "@tauri-apps/plugin-log@2.8.0": - resolution: - { - integrity: sha512-a+7rOq3MJwpTOLLKbL8d0qGZ85hgHw5pNOWusA9o3cf7cEgtYHiGY/+O8fj8MvywQIGqFv0da2bYQDlrqLE7rw==, - } + '@tauri-apps/plugin-log@2.8.0': + resolution: {integrity: sha512-a+7rOq3MJwpTOLLKbL8d0qGZ85hgHw5pNOWusA9o3cf7cEgtYHiGY/+O8fj8MvywQIGqFv0da2bYQDlrqLE7rw==} - "@tauri-apps/plugin-notification@2.3.3": - resolution: - { - integrity: sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==, - } + '@tauri-apps/plugin-notification@2.3.3': + resolution: {integrity: sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==} - "@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz": - resolution: - { - integrity: sha512-xyzw3/XAYKczV1cYQ2QuzhFzFYbU9U2U/gi/TMU/U7MC0vp1xHCVssTcB1kot8yk9YEIEcDBK2X49Ftzj6bJeQ==, - tarball: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz, - } + '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz': + resolution: {integrity: sha512-xyzw3/XAYKczV1cYQ2QuzhFzFYbU9U2U/gi/TMU/U7MC0vp1xHCVssTcB1kot8yk9YEIEcDBK2X49Ftzj6bJeQ==, tarball: https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz} version: 0.0.40 peerDependencies: react: ^19.2.7 react-dom: ^19.2.7 - "@ts-morph/common@0.27.0": - resolution: - { - integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==, - } + '@ts-morph/common@0.27.0': + resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} - "@tybys/wasm-util@0.10.3": - resolution: - { - integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==, - } + '@twemoji/api@17.0.3': + resolution: {integrity: sha512-iwERjxY0QgPGVwT6b1OKG0Oa9nIfHhJw+Ij1TapTBMKTvVCU6qdXPXX/XKwxKx5QZIJW5GwELUCtw8wlaIQ2ug==} - "@types/cacheable-request@6.0.3": - resolution: - { - integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==, - } + '@twemoji/parser@17.0.2': + resolution: {integrity: sha512-X/P7pHsGOxnrupQYUVetIeuxBGgffFu8CLwoPMMjH9CWmQvlXiCpbTW/BXxMOCWXQojgHdmgdvm6IsCqAQ5nxA==} - "@types/chai@5.2.3": - resolution: - { - integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==, - } + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} - "@types/d3-array@3.2.2": - resolution: - { - integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==, - } + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - "@types/d3-color@3.1.3": - resolution: - { - integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==, - } + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - "@types/d3-ease@3.0.2": - resolution: - { - integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==, - } + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} - "@types/d3-interpolate@3.0.4": - resolution: - { - integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==, - } + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - "@types/d3-path@3.1.1": - resolution: - { - integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==, - } + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - "@types/d3-scale@4.0.9": - resolution: - { - integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==, - } + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - "@types/d3-shape@3.1.8": - resolution: - { - integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==, - } + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} - "@types/d3-time@3.0.4": - resolution: - { - integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==, - } + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - "@types/d3-timer@3.0.2": - resolution: - { - integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==, - } + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} - "@types/debug@4.1.13": - resolution: - { - integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==, - } + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} - "@types/deep-eql@4.0.2": - resolution: - { - integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==, - } + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - "@types/dom-mediacapture-record@1.0.22": - resolution: - { - integrity: sha512-mUMZLK3NvwRLcAAT9qmcK+9p7tpU2FHdDsntR3YI4+GY88XrgG4XiE7u1Q2LAN2/FZOz/tdMDC3GQCR4T8nFuw==, - } + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} - "@types/esrecurse@4.3.1": - resolution: - { - integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==, - } + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - "@types/estree@1.0.9": - resolution: - { - integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==, - } + '@types/dom-mediacapture-record@1.0.22': + resolution: {integrity: sha512-mUMZLK3NvwRLcAAT9qmcK+9p7tpU2FHdDsntR3YI4+GY88XrgG4XiE7u1Q2LAN2/FZOz/tdMDC3GQCR4T8nFuw==} - "@types/fs-extra@9.0.13": - resolution: - { - integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==, - } + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} - "@types/http-cache-semantics@4.2.0": - resolution: - { - integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==, - } + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - "@types/json-schema@7.0.15": - resolution: - { - integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, - } + '@types/fs-extra@9.0.13': + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} - "@types/keyv@3.1.4": - resolution: - { - integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==, - } + '@types/http-cache-semantics@4.2.0': + resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} - "@types/ms@2.1.0": - resolution: - { - integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==, - } + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - "@types/node@22.20.0": - resolution: - { - integrity: sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==, - } + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - "@types/node@25.9.4": - resolution: - { - integrity: sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g==, - } + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - "@types/node@26.1.0": - resolution: - { - integrity: sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==, - } + '@types/node@22.20.0': + resolution: {integrity: sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==} - "@types/qrcode@1.5.6": - resolution: - { - integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==, - } + '@types/node@25.9.4': + resolution: {integrity: sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g==} - "@types/react-dom@19.2.3": - resolution: - { - integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==, - } + '@types/node@26.1.0': + resolution: {integrity: sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==} + + '@types/qrcode@1.5.6': + resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==} + + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: - "@types/react": ^19.2.0 + '@types/react': ^19.2.0 - "@types/react@19.2.17": - resolution: - { - integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==, - } + '@types/react@19.2.17': + resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} - "@types/responselike@1.0.3": - resolution: - { - integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==, - } + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - "@types/use-sync-external-store@0.0.6": - resolution: - { - integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==, - } + '@types/use-sync-external-store@0.0.6': + resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} - "@types/validate-npm-package-name@4.0.2": - resolution: - { - integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==, - } + '@types/validate-npm-package-name@4.0.2': + resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} - "@types/yauzl@2.10.3": - resolution: - { - integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==, - } + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - "@typescript-eslint/eslint-plugin@8.62.1": - resolution: - { - integrity: sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/eslint-plugin@8.62.1': + resolution: {integrity: sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - "@typescript-eslint/parser": ^8.62.1 + '@typescript-eslint/parser': ^8.62.1 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" + typescript: '>=4.8.4 <6.1.0' - "@typescript-eslint/parser@8.62.1": - resolution: - { - integrity: sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/parser@8.62.1': + resolution: {integrity: sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" + typescript: '>=4.8.4 <6.1.0' - "@typescript-eslint/project-service@8.62.1": - resolution: - { - integrity: sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/project-service@8.62.1': + resolution: {integrity: sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.1.0" + typescript: '>=4.8.4 <6.1.0' - "@typescript-eslint/scope-manager@8.62.1": - resolution: - { - integrity: sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/scope-manager@8.62.1': + resolution: {integrity: sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - "@typescript-eslint/tsconfig-utils@8.62.1": - resolution: - { - integrity: sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/tsconfig-utils@8.62.1': + resolution: {integrity: sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.1.0" + typescript: '>=4.8.4 <6.1.0' - "@typescript-eslint/type-utils@8.62.1": - resolution: - { - integrity: sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/type-utils@8.62.1': + resolution: {integrity: sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" + typescript: '>=4.8.4 <6.1.0' - "@typescript-eslint/types@8.62.1": - resolution: - { - integrity: sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/types@8.62.1': + resolution: {integrity: sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - "@typescript-eslint/typescript-estree@8.62.1": - resolution: - { - integrity: sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/typescript-estree@8.62.1': + resolution: {integrity: sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.1.0" + typescript: '>=4.8.4 <6.1.0' - "@typescript-eslint/utils@8.62.1": - resolution: - { - integrity: sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/utils@8.62.1': + resolution: {integrity: sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" + typescript: '>=4.8.4 <6.1.0' - "@typescript-eslint/visitor-keys@8.62.1": - resolution: - { - integrity: sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/visitor-keys@8.62.1': + resolution: {integrity: sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - "@vitejs/plugin-react@6.0.3": - resolution: - { - integrity: sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@vitejs/plugin-react@6.0.3': + resolution: {integrity: sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg==} + engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - "@rolldown/plugin-babel": ^0.1.7 || ^0.2.0 + '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 vite: ^8.0.0 peerDependenciesMeta: - "@rolldown/plugin-babel": + '@rolldown/plugin-babel': optional: true babel-plugin-react-compiler: optional: true - "@vitest/expect@4.1.9": - resolution: - { - integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==, - } + '@vitest/expect@4.1.9': + resolution: {integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==} - "@vitest/mocker@4.1.9": - resolution: - { - integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==, - } + '@vitest/mocker@4.1.9': + resolution: {integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3055,85 +2249,49 @@ packages: vite: optional: true - "@vitest/pretty-format@4.1.9": - resolution: - { - integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==, - } + '@vitest/pretty-format@4.1.9': + resolution: {integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==} - "@vitest/runner@4.1.9": - resolution: - { - integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==, - } + '@vitest/runner@4.1.9': + resolution: {integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==} - "@vitest/snapshot@4.1.9": - resolution: - { - integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==, - } + '@vitest/snapshot@4.1.9': + resolution: {integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==} - "@vitest/spy@4.1.9": - resolution: - { - integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==, - } + '@vitest/spy@4.1.9': + resolution: {integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==} - "@vitest/utils@4.1.9": - resolution: - { - integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==, - } + '@vitest/utils@4.1.9': + resolution: {integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==} - "@xmldom/xmldom@0.8.13": - resolution: - { - integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==, - } - engines: { node: ">=10.0.0" } + '@xmldom/xmldom@0.8.13': + resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==} + engines: {node: '>=10.0.0'} abbrev@4.0.0: - resolution: - { - integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==, - } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} + engines: {node: ^20.17.0 || >=22.9.0} accepts@2.0.0: - resolution: - { - integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} + engines: {node: '>= 0.6'} acorn-jsx@5.3.2: - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn@8.17.0: - resolution: - { - integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==, - } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} + engines: {node: '>=0.4.0'} hasBin: true agent-base@7.1.4: - resolution: - { - integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==, - } - engines: { node: ">= 14" } + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} ajv-formats@2.1.1: - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -3141,10 +2299,7 @@ packages: optional: true ajv-formats@3.0.1: - resolution: - { - integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==, - } + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -3152,713 +2307,404 @@ packages: optional: true ajv@6.15.0: - resolution: - { - integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==, - } + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} ajv@8.20.0: - resolution: - { - integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==, - } + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} ansi-colors@4.1.3: - resolution: - { - integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} ansi-regex@6.2.2: - resolution: - { - integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} app-builder-lib@26.15.3: - resolution: - { - integrity: sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow==, - } - engines: { node: ">=14.0.0" } + resolution: {integrity: sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow==} + engines: {node: '>=14.0.0'} peerDependencies: dmg-builder: 26.15.3 electron-builder-squirrel-windows: 26.15.3 argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} aria-hidden@1.2.6: - resolution: - { - integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} asn1js@3.0.10: - resolution: - { - integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} + engines: {node: '>=12.0.0'} assertion-error@2.0.1: - resolution: - { - integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} ast-types@0.16.1: - resolution: - { - integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} async-exit-hook@2.0.1: - resolution: - { - integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==, - } - engines: { node: ">=0.12.0" } + resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} + engines: {node: '>=0.12.0'} async@3.2.6: - resolution: - { - integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==, - } + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} asynckit@0.4.0: - resolution: - { - integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, - } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} at-least-node@1.0.0: - resolution: - { - integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, - } - engines: { node: ">= 4.0.0" } + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} atomically@1.7.0: - resolution: - { - integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==, - } - engines: { node: ">=10.12.0" } + resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} + engines: {node: '>=10.12.0'} aws4@1.13.2: - resolution: - { - integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==, - } + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} balanced-match@4.0.4: - resolution: - { - integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==, - } - engines: { node: 18 || 20 || >=22 } + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} baseline-browser-mapping@2.10.41: - resolution: - { - integrity: sha512-WwS7MHhqGHHlaVsqRZnhvCEMS0owDX+SxRlve7JkuH7My1Ara3ZriTmCQupPfYjxMZ8I/tgxtJYr2t7taHaH4A==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-WwS7MHhqGHHlaVsqRZnhvCEMS0owDX+SxRlve7JkuH7My1Ara3ZriTmCQupPfYjxMZ8I/tgxtJYr2t7taHaH4A==} + engines: {node: '>=6.0.0'} hasBin: true bluebird@3.7.2: - resolution: - { - integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, - } + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} body-parser@2.3.0: - resolution: - { - integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} + engines: {node: '>=18'} boolean@3.2.0: - resolution: - { - integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, - } + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. brace-expansion@1.1.15: - resolution: - { - integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==, - } + resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} brace-expansion@2.1.1: - resolution: - { - integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==, - } + resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} brace-expansion@5.0.7: - resolution: - { - integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==, - } - engines: { node: 18 || 20 || >=22 } + resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==} + engines: {node: 18 || 20 || >=22} braces@3.0.3: - resolution: - { - integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} browserslist@4.28.4: - resolution: - { - integrity: sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true buffer-crc32@0.2.13: - resolution: - { - integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, - } + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} builder-util-runtime@9.7.0: - resolution: - { - integrity: sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw==} + engines: {node: '>=12.0.0'} builder-util@26.15.3: - resolution: - { - integrity: sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw==, - } - engines: { node: ">=14.0.0" } + resolution: {integrity: sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw==} + engines: {node: '>=14.0.0'} bundle-name@4.1.0: - resolution: - { - integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} bytes@3.1.2: - resolution: - { - integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} bytestreamjs@2.0.1: - resolution: - { - integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} + engines: {node: '>=6.0.0'} cacheable-lookup@5.0.4: - resolution: - { - integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==, - } - engines: { node: ">=10.6.0" } + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} cacheable-request@7.0.4: - resolution: - { - integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} call-bind-apply-helpers@1.0.2: - resolution: - { - integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} call-bound@1.0.4: - resolution: - { - integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} camelcase@5.3.1: - resolution: - { - integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} caniuse-lite@1.0.30001800: - resolution: - { - integrity: sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==, - } + resolution: {integrity: sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==} chai@6.2.2: - resolution: - { - integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} chalk@5.6.2: - resolution: - { - integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==, - } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} chownr@3.0.0: - resolution: - { - integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} chromium-pickle-js@0.2.0: - resolution: - { - integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==, - } + resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} ci-info@4.3.1: - resolution: - { - integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} + engines: {node: '>=8'} ci-info@4.4.0: - resolution: - { - integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} + engines: {node: '>=8'} class-variance-authority@0.7.1: - resolution: - { - integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==, - } + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} cli-cursor@5.0.0: - resolution: - { - integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} cli-spinners@2.9.2: - resolution: - { - integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} cliui@6.0.0: - resolution: - { - integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==, - } + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} clone-response@1.0.3: - resolution: - { - integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==, - } + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} clsx@2.1.1: - resolution: - { - integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} cmdk@1.1.1: - resolution: - { - integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==, - } + resolution: {integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc code-block-writer@13.0.3: - resolution: - { - integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==, - } + resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} combined-stream@1.0.8: - resolution: - { - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} commander@11.1.0: - resolution: - { - integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==, - } - engines: { node: ">=16" } + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} commander@14.0.3: - resolution: - { - integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==, - } - engines: { node: ">=20" } + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} commander@5.1.0: - resolution: - { - integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} compare-version@0.1.2: - resolution: - { - integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} + engines: {node: '>=0.10.0'} concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} conf@10.2.0: - resolution: - { - integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} + engines: {node: '>=12'} content-disposition@1.1.0: - resolution: - { - integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} + engines: {node: '>=18'} content-type@1.0.5: - resolution: - { - integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} content-type@2.0.0: - resolution: - { - integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} cookie-es@3.1.1: - resolution: - { - integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==, - } + resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} cookie-signature@1.2.2: - resolution: - { - integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==, - } - engines: { node: ">=6.6.0" } + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} + engines: {node: '>=6.6.0'} cookie@0.7.2: - resolution: - { - integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} core-util-is@1.0.3: - resolution: - { - integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, - } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} cors@2.8.6: - resolution: - { - integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==, - } - engines: { node: ">= 0.10" } + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} + engines: {node: '>= 0.10'} cosmiconfig@9.0.2: - resolution: - { - integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==, - } - engines: { node: ">=14" } + resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} + engines: {node: '>=14'} peerDependencies: - typescript: ">=4.9.5" + typescript: '>=4.9.5' peerDependenciesMeta: typescript: optional: true crelt@1.0.7: - resolution: - { - integrity: sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==, - } + resolution: {integrity: sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==} cross-dirname@0.1.0: - resolution: - { - integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==, - } + resolution: {integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==} cross-spawn@7.0.6: - resolution: - { - integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, - } - engines: { node: ">= 8" } + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} cssesc@3.0.0: - resolution: - { - integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} hasBin: true csstype@3.2.3: - resolution: - { - integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==, - } + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} d3-array@3.2.4: - resolution: - { - integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} d3-color@3.1.0: - resolution: - { - integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} d3-ease@3.0.1: - resolution: - { - integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} d3-format@3.1.2: - resolution: - { - integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} + engines: {node: '>=12'} d3-interpolate@3.0.1: - resolution: - { - integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} d3-path@3.1.0: - resolution: - { - integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} d3-scale@4.0.2: - resolution: - { - integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} d3-shape@3.2.0: - resolution: - { - integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} d3-time-format@4.1.0: - resolution: - { - integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} d3-time@3.1.0: - resolution: - { - integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} d3-timer@3.0.1: - resolution: - { - integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} date-fns@4.4.0: - resolution: - { - integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==, - } + resolution: {integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==} debounce-fn@4.0.0: - resolution: - { - integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} + engines: {node: '>=10'} debug@4.4.3: - resolution: - { - integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, - } - engines: { node: ">=6.0" } + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} peerDependencies: - supports-color: "*" + supports-color: '*' peerDependenciesMeta: supports-color: optional: true decamelize@1.2.0: - resolution: - { - integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} decimal.js-light@2.5.1: - resolution: - { - integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==, - } + resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} decompress-response@6.0.0: - resolution: - { - integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} dedent@1.7.2: - resolution: - { - integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==, - } + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -3866,618 +2712,360 @@ packages: optional: true deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} deepfilternet3-noise-filter@1.2.1: - resolution: - { - integrity: sha512-OAyrHTDlUHH+AhfpVNKYEOhVqb9cZpu0fdNThplA/tB/Ts4PF/UsI+abl2n1IbSxUkhiF0OqDejEhk1n42Oqpw==, - } - engines: { node: ">=18.0.0" } + resolution: {integrity: sha512-OAyrHTDlUHH+AhfpVNKYEOhVqb9cZpu0fdNThplA/tB/Ts4PF/UsI+abl2n1IbSxUkhiF0OqDejEhk1n42Oqpw==} + engines: {node: '>=18.0.0'} peerDependencies: livekit-client: ^2.0.0 deepmerge@4.3.1: - resolution: - { - integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} default-browser-id@5.0.1: - resolution: - { - integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} default-browser@5.5.0: - resolution: - { - integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + engines: {node: '>=18'} defer-to-connect@2.0.1: - resolution: - { - integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} define-data-property@1.1.4: - resolution: - { - integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} define-lazy-prop@2.0.0: - resolution: - { - integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} define-lazy-prop@3.0.0: - resolution: - { - integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} define-properties@1.2.1: - resolution: - { - integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} delayed-stream@1.0.0: - resolution: - { - integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, - } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} detect-libc@2.1.2: - resolution: - { - integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} detect-node-es@1.1.0: - resolution: - { - integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==, - } + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} detect-node@2.1.0: - resolution: - { - integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==, - } + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} diff@8.0.4: - resolution: - { - integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==, - } - engines: { node: ">=0.3.1" } + resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} + engines: {node: '>=0.3.1'} dijkstrajs@1.0.3: - resolution: - { - integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==, - } + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} dir-compare@4.2.0: - resolution: - { - integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==, - } + resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} dmg-builder@26.15.3: - resolution: - { - integrity: sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ==, - } + resolution: {integrity: sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ==} dot-prop@6.0.1: - resolution: - { - integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} dotenv-expand@11.0.7: - resolution: - { - integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} dotenv@16.6.1: - resolution: - { - integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} + engines: {node: '>=12'} dotenv@17.4.2: - resolution: - { - integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} + engines: {node: '>=12'} dunder-proto@1.0.1: - resolution: - { - integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} duplexer2@0.1.4: - resolution: - { - integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==, - } + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} ee-first@1.1.1: - resolution: - { - integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, - } + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} ejs@3.1.10: - resolution: - { - integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} hasBin: true electron-builder-squirrel-windows@26.15.3: - resolution: - { - integrity: sha512-Jc19XPV9y9+2bAdZPkXuVNGNIEFBq9poHC61l8Kv6FdK7DRG3+Ic0rerC0DXOaeHNz8yW0fg/JnF8GQROOF5MA==, - } + resolution: {integrity: sha512-Jc19XPV9y9+2bAdZPkXuVNGNIEFBq9poHC61l8Kv6FdK7DRG3+Ic0rerC0DXOaeHNz8yW0fg/JnF8GQROOF5MA==} electron-builder@26.15.3: - resolution: - { - integrity: sha512-a1KM5heqS3gQCZzizXEI8RjJy3QVogULPdeSknt76uLDpBIW/HDGsMg/XgP0riP6PI9COsRvFITKKGDqA8fJxA==, - } - engines: { node: ">=14.0.0" } + resolution: {integrity: sha512-a1KM5heqS3gQCZzizXEI8RjJy3QVogULPdeSknt76uLDpBIW/HDGsMg/XgP0riP6PI9COsRvFITKKGDqA8fJxA==} + engines: {node: '>=14.0.0'} hasBin: true electron-publish@26.15.3: - resolution: - { - integrity: sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q==, - } + resolution: {integrity: sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q==} electron-to-chromium@1.5.385: - resolution: - { - integrity: sha512-78sa/M08MNAYHQfjoWMvOlKQqZ0ElhSm/L5HNUc96VZ3b+KvDVnngFm8sYQy0XrhTRgAhggHr5abA7yTvRdo4Q==, - } + resolution: {integrity: sha512-78sa/M08MNAYHQfjoWMvOlKQqZ0ElhSm/L5HNUc96VZ3b+KvDVnngFm8sYQy0XrhTRgAhggHr5abA7yTvRdo4Q==} electron-winstaller@5.4.0: - resolution: - { - integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==, - } - engines: { node: ">=8.0.0" } + resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} + engines: {node: '>=8.0.0'} electron@39.8.10: - resolution: - { - integrity: sha512-zbYtGPYUI7PzqLAzkk21Rk6j67WN0hxn0Mq/njErZo1d0HSf33is4f8ICI5fMLy5vYe0JtCtM5sYunNOaochSQ==, - } - engines: { node: ">= 12.20.55" } + resolution: {integrity: sha512-zbYtGPYUI7PzqLAzkk21Rk6j67WN0hxn0Mq/njErZo1d0HSf33is4f8ICI5fMLy5vYe0JtCtM5sYunNOaochSQ==} + engines: {node: '>= 12.20.55'} hasBin: true embla-carousel-react@8.6.0: - resolution: - { - integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==, - } + resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} peerDependencies: react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc embla-carousel-reactive-utils@8.6.0: - resolution: - { - integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==, - } + resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} peerDependencies: embla-carousel: 8.6.0 embla-carousel@8.6.0: - resolution: - { - integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==, - } + resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} emoji-regex@10.6.0: - resolution: - { - integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==, - } + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emojibase-data@17.0.0: + resolution: {integrity: sha512-Yvgb5AWoHViHV/gq1qr5ZAarcBip+B27/ZLRsUJkbgAEaLlZ/fof9g882LTpmEpyhBNEC0m2SEmItljHsTygjA==} + peerDependencies: + emojibase: '*' + + emojibase@17.0.0: + resolution: {integrity: sha512-bXdpf4HPY3p41zK5swVKZdC/VynsMZ4LoLxdYDE+GucqkFwzcM1GVc4ODfYAlwoKaf2U2oNNUoOO78N96ovpBA==} + engines: {node: '>=18.12.0'} encodeurl@2.0.0: - resolution: - { - integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} end-of-stream@1.4.5: - resolution: - { - integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==, - } + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} enhanced-resolve@5.21.6: - resolution: - { - integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==, - } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==} + engines: {node: '>=10.13.0'} enquirer@2.4.1: - resolution: - { - integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==, - } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} env-paths@2.2.1: - resolution: - { - integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} err-code@2.0.3: - resolution: - { - integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==, - } + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} error-ex@1.3.4: - resolution: - { - integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==, - } + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} es-define-property@1.0.1: - resolution: - { - integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} es-errors@1.3.0: - resolution: - { - integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} es-module-lexer@2.3.0: - resolution: - { - integrity: sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==, - } + resolution: {integrity: sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==} es-object-atoms@1.1.2: - resolution: - { - integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: - resolution: - { - integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} es-toolkit@1.49.0: - resolution: - { - integrity: sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g==, - } + resolution: {integrity: sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g==} es6-error@4.1.1: - resolution: - { - integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, - } + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} esbuild@0.25.12: - resolution: - { - integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} hasBin: true escalade@3.2.0: - resolution: - { - integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} escape-html@1.0.3: - resolution: - { - integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, - } + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} eslint-plugin-react-hooks@7.1.1: - resolution: - { - integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==} + engines: {node: '>=18'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 eslint-scope@9.1.2: - resolution: - { - integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint-visitor-keys@5.0.1: - resolution: - { - integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint@10.6.0: - resolution: - { - integrity: sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: - jiti: "*" + jiti: '*' peerDependenciesMeta: jiti: optional: true espree@11.2.0: - resolution: - { - integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} esprima@4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true esquery@1.7.0: - resolution: - { - integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==, - } - engines: { node: ">=0.10" } + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} etag@1.8.1: - resolution: - { - integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} eventemitter3@5.0.4: - resolution: - { - integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==, - } + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: ">=0.8.x" } + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} eventsource-parser@3.1.0: - resolution: - { - integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==, - } - engines: { node: ">=18.0.0" } + resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==} + engines: {node: '>=18.0.0'} eventsource@3.0.7: - resolution: - { - integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==, - } - engines: { node: ">=18.0.0" } + resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} + engines: {node: '>=18.0.0'} execa@5.1.1: - resolution: - { - integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} execa@9.6.1: - resolution: - { - integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==, - } - engines: { node: ^18.19.0 || >=20.5.0 } + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} + engines: {node: ^18.19.0 || >=20.5.0} expect-type@1.4.0: - resolution: - { - integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} + engines: {node: '>=12.0.0'} exponential-backoff@3.1.3: - resolution: - { - integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==, - } + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} express-rate-limit@8.5.2: - resolution: - { - integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==, - } - engines: { node: ">= 16" } + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} + engines: {node: '>= 16'} peerDependencies: - express: ">= 4.11" + express: '>= 4.11' express@5.2.1: - resolution: - { - integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==, - } - engines: { node: ">= 18" } + resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} + engines: {node: '>= 18'} extract-zip@2.0.1: - resolution: - { - integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==, - } - engines: { node: ">= 10.17.0" } + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} hasBin: true fallow@2.104.0: - resolution: - { - integrity: sha512-UX6Q10Feyb7epe5tTI0sHCHPReOhuKOtxdVpkbqr1lLSZirv2PJiLTTrJr7gKeLHbztE9CHR1y7YARSe0rNYag==, - } - engines: { node: ">=16" } + resolution: {integrity: sha512-UX6Q10Feyb7epe5tTI0sHCHPReOhuKOtxdVpkbqr1lLSZirv2PJiLTTrJr7gKeLHbztE9CHR1y7YARSe0rNYag==} + engines: {node: '>=16'} hasBin: true fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} fast-glob@3.3.3: - resolution: - { - integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==, - } - engines: { node: ">=8.6.0" } + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} fast-uri@3.1.3: - resolution: - { - integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==, - } + resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==} fastq@1.20.1: - resolution: - { - integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==, - } + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} fd-slicer@1.1.0: - resolution: - { - integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==, - } + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} fdir@6.5.0: - resolution: - { - integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -4485,2815 +3073,1663 @@ packages: optional: true figures@6.1.0: - resolution: - { - integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} file-entry-cache@8.0.0: - resolution: - { - integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, - } - engines: { node: ">=16.0.0" } + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} filelist@1.0.6: - resolution: - { - integrity: sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==, - } + resolution: {integrity: sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==} fill-range@7.1.1: - resolution: - { - integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} finalhandler@2.1.1: - resolution: - { - integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==, - } - engines: { node: ">= 18.0.0" } + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} find-up@3.0.0: - resolution: - { - integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} find-up@4.1.0: - resolution: - { - integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} flat-cache@4.0.1: - resolution: - { - integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, - } - engines: { node: ">=16" } + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatted@3.4.2: - resolution: - { - integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==, - } + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} form-data@4.0.6: - resolution: - { - integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} + engines: {node: '>= 6'} forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + framer-motion@12.42.2: + resolution: {integrity: sha512-5XY9luDiu0oHfHBjpDthFMh0ES+122w6p/papSJBweMkO8Sn+PW2QaEgRblQBpWFnuvZS5qvarpt/hO2pjGmnw==} + 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 fresh@2.0.0: - resolution: - { - integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} fs-extra@10.1.0: - resolution: - { - integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} fs-extra@11.3.1: - resolution: - { - integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==, - } - engines: { node: ">=14.14" } + resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} + engines: {node: '>=14.14'} fs-extra@11.3.6: - resolution: - { - integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==, - } - engines: { node: ">=14.14" } + resolution: {integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==} + engines: {node: '>=14.14'} fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: ">=6 <7 || >=8" } + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} fs-extra@8.1.0: - resolution: - { - integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==, - } - engines: { node: ">=6 <7 || >=8" } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} fs-extra@9.1.0: - resolution: - { - integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} fuzzysort@3.1.0: - resolution: - { - integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==, - } + resolution: {integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==} gensync@1.0.0-beta.2: - resolution: - { - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} get-east-asian-width@1.6.0: - resolution: - { - integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} + engines: {node: '>=18'} get-intrinsic@1.3.0: - resolution: - { - integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} get-nonce@1.0.1: - resolution: - { - integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} get-own-enumerable-keys@1.0.0: - resolution: - { - integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==, - } - engines: { node: ">=14.16" } + resolution: {integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==} + engines: {node: '>=14.16'} get-proto@1.0.1: - resolution: - { - integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} get-stream@5.2.0: - resolution: - { - integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} get-stream@6.0.1: - resolution: - { - integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} get-stream@9.0.1: - resolution: - { - integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 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 global-agent@3.0.0: - resolution: - { - integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==, - } - engines: { node: ">=10.0" } + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} globals@17.7.0: - resolution: - { - integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==} + engines: {node: '>=18'} globalthis@1.0.4: - resolution: - { - integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} gopd@1.2.0: - resolution: - { - integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} got@11.8.6: - resolution: - { - integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==, - } - engines: { node: ">=10.19.0" } + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} has-property-descriptors@1.0.2: - resolution: - { - integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, - } + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} has-symbols@1.1.0: - resolution: - { - integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} has-tostringtag@1.0.2: - resolution: - { - integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} hasown@2.0.4: - resolution: - { - integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} hermes-estree@0.25.1: - resolution: - { - integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==, - } + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} hermes-parser@0.25.1: - resolution: - { - integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==, - } + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} hono@4.12.27: - resolution: - { - integrity: sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==, - } - engines: { node: ">=16.9.0" } + resolution: {integrity: sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==} + engines: {node: '>=16.9.0'} hosted-git-info@4.1.0: - resolution: - { - integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} http-cache-semantics@4.2.0: - resolution: - { - integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==, - } + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} http-errors@2.0.1: - resolution: - { - integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} http-proxy-agent@7.0.2: - resolution: - { - integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==, - } - engines: { node: ">= 14" } + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} http2-wrapper@1.0.3: - resolution: - { - integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==, - } - engines: { node: ">=10.19.0" } + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} https-proxy-agent@7.0.6: - resolution: - { - integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==, - } - engines: { node: ">= 14" } + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} human-signals@2.1.0: - resolution: - { - integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, - } - engines: { node: ">=10.17.0" } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} human-signals@8.0.1: - resolution: - { - integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==, - } - engines: { node: ">=18.18.0" } + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} iconv-lite@0.7.2: - resolution: - { - integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} + engines: {node: '>=0.10.0'} ignore@5.3.2: - resolution: - { - integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, - } - engines: { node: ">= 4" } + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} ignore@7.0.5: - resolution: - { - integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==, - } - engines: { node: ">= 4" } + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} immer@10.2.0: - resolution: - { - integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==, - } + resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==} immer@11.1.9: - resolution: - { - integrity: sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA==, - } + resolution: {integrity: sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA==} import-fresh@3.3.1: - resolution: - { - integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} input-otp@1.4.2: - resolution: - { - integrity: sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA==, - } + resolution: {integrity: sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc internmap@2.0.3: - resolution: - { - integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} ip-address@10.2.0: - resolution: - { - integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==, - } - engines: { node: ">= 12" } + resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} + engines: {node: '>= 12'} ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: ">= 0.10" } + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} is-arrayish@0.2.1: - resolution: - { - integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, - } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} is-docker@2.2.1: - resolution: - { - integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true is-docker@3.0.0: - resolution: - { - integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} is-in-ssh@1.0.0: - resolution: - { - integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==, - } - engines: { node: ">=20" } + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} + engines: {node: '>=20'} is-inside-container@1.0.0: - resolution: - { - integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==, - } - engines: { node: ">=14.16" } + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} hasBin: true is-interactive@2.0.0: - resolution: - { - integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: ">=0.12.0" } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} is-obj@2.0.0: - resolution: - { - integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} is-obj@3.0.0: - resolution: - { - integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} + engines: {node: '>=12'} is-plain-obj@4.1.0: - resolution: - { - integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} is-promise@4.0.0: - resolution: - { - integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==, - } + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} is-regexp@3.1.0: - resolution: - { - integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} + engines: {node: '>=12'} is-stream@2.0.1: - resolution: - { - integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} is-stream@4.0.1: - resolution: - { - integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} is-unicode-supported@1.3.0: - resolution: - { - integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} is-unicode-supported@2.1.0: - resolution: - { - integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} is-wsl@2.2.0: - resolution: - { - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} is-wsl@3.1.1: - resolution: - { - integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==, - } - engines: { node: ">=16" } + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} isarray@1.0.0: - resolution: - { - integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, - } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} isbinaryfile@4.0.10: - resolution: - { - integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==, - } - engines: { node: ">= 8.0.0" } + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} isbinaryfile@5.0.7: - resolution: - { - integrity: sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==, - } - engines: { node: ">= 18.0.0" } + resolution: {integrity: sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==} + engines: {node: '>= 18.0.0'} isbot@5.1.44: - resolution: - { - integrity: sha512-PGEHtwMnKbZpeSEXW2Utx+/JWed7dp6DiH0WWg33vGSDA7RUvpUeJSVlLrVkQ1RCpvDOUc/eH9ql7VsdbBZ8pA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-PGEHtwMnKbZpeSEXW2Utx+/JWed7dp6DiH0WWg33vGSDA7RUvpUeJSVlLrVkQ1RCpvDOUc/eH9ql7VsdbBZ8pA==} + engines: {node: '>=18'} isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} isexe@3.1.5: - resolution: - { - integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} + engines: {node: '>=18'} isexe@4.0.0: - resolution: - { - integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==, - } - engines: { node: ">=20" } + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} jake@10.9.4: - resolution: - { - integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==} + engines: {node: '>=10'} hasBin: true jiti@2.7.0: - resolution: - { - integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==, - } + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true jose@6.2.3: - resolution: - { - integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==, - } + resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==} js-tokens@4.0.0: - resolution: - { - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, - } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} js-yaml@4.3.0: - resolution: - { - integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==, - } + resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} hasBin: true jsesc@3.1.0: - resolution: - { - integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} hasBin: true json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} json-parse-even-better-errors@2.3.1: - resolution: - { - integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, - } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} json-schema-typed@7.0.3: - resolution: - { - integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==, - } + resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} json-schema-typed@8.0.2: - resolution: - { - integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==, - } + resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==} json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} json-stringify-safe@5.0.1: - resolution: - { - integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==, - } + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true jsonc-parser@3.3.1: - resolution: - { - integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==, - } + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@5.0.0: + resolution: {integrity: sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==} jsonfile@6.2.1: - resolution: - { - integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==, - } + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kleur@3.0.3: - resolution: - { - integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} kleur@4.1.5: - resolution: - { - integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} lazy-val@1.0.5: - resolution: - { - integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==, - } + resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} lightningcss-android-arm64@1.32.0: - resolution: - { - integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] lightningcss-darwin-arm64@1.32.0: - resolution: - { - integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] lightningcss-darwin-x64@1.32.0: - resolution: - { - integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] lightningcss-freebsd-x64@1.32.0: - resolution: - { - integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: - { - integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] lightningcss-linux-arm64-gnu@1.32.0: - resolution: - { - integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [glibc] lightningcss-linux-arm64-musl@1.32.0: - resolution: - { - integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [musl] lightningcss-linux-x64-gnu@1.32.0: - resolution: - { - integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [glibc] lightningcss-linux-x64-musl@1.32.0: - resolution: - { - integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] lightningcss-win32-arm64-msvc@1.32.0: - resolution: - { - integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] lightningcss-win32-x64-msvc@1.32.0: - resolution: - { - integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] lightningcss@1.32.0: - resolution: - { - integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} lines-and-columns@1.2.4: - resolution: - { - integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, - } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} livekit-client@2.20.0: - resolution: - { - integrity: sha512-RIJcpvBmOmwz3jTj3rmdY6Dzr55HrhcaJjMgY+HSmoEM+yIRyA40m7r8UKv0hnZWM3z/AYhP1q8C8ciz5UWFKQ==, - } + resolution: {integrity: sha512-RIJcpvBmOmwz3jTj3rmdY6Dzr55HrhcaJjMgY+HSmoEM+yIRyA40m7r8UKv0hnZWM3z/AYhP1q8C8ciz5UWFKQ==} peerDependencies: - "@types/dom-mediacapture-record": ^1 + '@types/dom-mediacapture-record': ^1 locate-path@3.0.0: - resolution: - { - integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} locate-path@5.0.0: - resolution: - { - integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} lodash.debounce@4.0.8: - resolution: - { - integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==, - } + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} lodash@4.18.1: - resolution: - { - integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==, - } + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} log-symbols@6.0.0: - resolution: - { - integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} loglevel@1.9.1: - resolution: - { - integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==, - } - engines: { node: ">= 0.6.0" } + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} loglevel@1.9.2: - resolution: - { - integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==, - } - engines: { node: ">= 0.6.0" } + resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} + engines: {node: '>= 0.6.0'} lowercase-keys@2.0.0: - resolution: - { - integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} lru-cache@5.1.1: - resolution: - { - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, - } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} lucide-react@1.23.0: - resolution: - { - integrity: sha512-38BpJcD0JhFosxHApP/BYsBetLpQFRoTRzEzstM/XCc3jsAG7wqaY1lgVwxiUe3xqYE+lNxo2PkCmYwXWrwwIw==, - } + resolution: {integrity: sha512-38BpJcD0JhFosxHApP/BYsBetLpQFRoTRzEzstM/XCc3jsAG7wqaY1lgVwxiUe3xqYE+lNxo2PkCmYwXWrwwIw==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 magic-string@0.30.21: - resolution: - { - integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, - } + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} matcher@3.0.0: - resolution: - { - integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} math-intrinsics@1.1.0: - resolution: - { - integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} media-typer@1.1.0: - resolution: - { - integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} + engines: {node: '>= 0.8'} merge-descriptors@2.0.0: - resolution: - { - integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} + engines: {node: '>=18'} merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} merge2@1.4.1: - resolution: - { - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, - } - engines: { node: ">= 8" } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} micromatch@4.0.8: - resolution: - { - integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, - } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} mime-db@1.54.0: - resolution: - { - integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} mime-types@3.0.2: - resolution: - { - integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} mime@2.6.0: - resolution: - { - integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, - } - engines: { node: ">=4.0.0" } + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} hasBin: true mimic-fn@2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} mimic-fn@3.1.0: - resolution: - { - integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} mimic-function@5.0.1: - resolution: - { - integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} mimic-response@1.0.1: - resolution: - { - integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} mimic-response@3.1.0: - resolution: - { - integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} minimatch@10.2.5: - resolution: - { - integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==, - } - engines: { node: 18 || 20 || >=22 } + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} minimatch@3.1.5: - resolution: - { - integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==, - } + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} minimatch@5.1.9: - resolution: - { - integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} + engines: {node: '>=10'} minimatch@9.0.9: - resolution: - { - integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==, - } - engines: { node: ">=16 || 14 >=14.17" } + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} minipass@7.1.3: - resolution: - { - integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==, - } - engines: { node: ">=16 || 14 >=14.17" } + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} minizlib@3.1.0: - resolution: - { - integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==, - } - engines: { node: ">= 18" } + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} mkdirp@0.5.6: - resolution: - { - integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, - } + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true + motion-dom@12.42.2: + resolution: {integrity: sha512-5gIMWLp/PycBtJRJWRgjxke5n8dlvkSn2DrYW+tr3XcqAZY1xZh6BJyooJXCM8wdfM7wfMjkBJNLge1CKPUIRA==} + + motion-utils@12.39.0: + resolution: {integrity: sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==} + + motion@12.42.2: + resolution: {integrity: sha512-Atvv11yUKIid41cVrRBDVX5m8tF8kNpExRSlbpt6APClhDjtwQssgFHhQzejxw7/7YYbjHSPKBVbHo05BuJT5Q==} + 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 + ms@2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz: - resolution: - { - integrity: sha512-A2SN971Er728ibaemcL1qu1PGJuOZxNGY8ssgld3ETF94tVJ3GeBHQERcbQNdj9fExPEmnjkq/o1tt8W+Vdcvw==, - tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz, - } + resolution: {integrity: sha512-A2SN971Er728ibaemcL1qu1PGJuOZxNGY8ssgld3ETF94tVJ3GeBHQERcbQNdj9fExPEmnjkq/o1tt8W+Vdcvw==, tarball: https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz} version: 0.1.0 nanoid@3.3.15: - resolution: - { - integrity: sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} negotiator@1.0.0: - resolution: - { - integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} next-themes@0.4.6: - resolution: - { - integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==, - } + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} peerDependencies: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc node-abi@4.33.0: - resolution: - { - integrity: sha512-vLBWCKb+7LWsX+TbfzWOkw0W81m377tyx3hOweBTjO43CXZnRGS1/JPWs20fr0PgZyDXk6ROYrylsEycK8raDA==, - } - engines: { node: ">=22.12.0" } + resolution: {integrity: sha512-vLBWCKb+7LWsX+TbfzWOkw0W81m377tyx3hOweBTjO43CXZnRGS1/JPWs20fr0PgZyDXk6ROYrylsEycK8raDA==} + engines: {node: '>=22.12.0'} node-api-version@0.2.1: - resolution: - { - integrity: sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==, - } + resolution: {integrity: sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==} node-gyp@12.4.0: - resolution: - { - integrity: sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==, - } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true node-int64@0.4.0: - resolution: - { - integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, - } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} node-releases@2.0.50: - resolution: - { - integrity: sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==} + engines: {node: '>=18'} nopt@9.0.0: - resolution: - { - integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==, - } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true normalize-url@6.1.0: - resolution: - { - integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} npm-run-path@6.0.0: - resolution: - { - integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} object-assign@4.1.1: - resolution: - { - integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} object-inspect@1.13.4: - resolution: - { - integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} object-keys@1.1.1: - resolution: - { - integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} object-treeify@1.1.33: - resolution: - { - integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==, - } - engines: { node: ">= 10" } + resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} + engines: {node: '>= 10'} obug@2.1.3: - resolution: - { - integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==, - } - engines: { node: ">=12.20.0" } + resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} + engines: {node: '>=12.20.0'} on-finished@2.4.1: - resolution: - { - integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} onetime@5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} onetime@7.0.0: - resolution: - { - integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} open@11.0.0: - resolution: - { - integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==, - } - engines: { node: ">=20" } + resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} + engines: {node: '>=20'} open@8.4.2: - resolution: - { - integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} optionator@0.9.4: - resolution: - { - integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} ora@8.2.0: - resolution: - { - integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} + engines: {node: '>=18'} p-cancelable@2.1.1: - resolution: - { - integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} p-limit@2.3.0: - resolution: - { - integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} p-locate@3.0.0: - resolution: - { - integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} p-locate@4.1.0: - resolution: - { - integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} p-try@2.2.0: - resolution: - { - integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} parse-json@5.2.0: - resolution: - { - integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} parse-ms@4.0.0: - resolution: - { - integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} parseurl@1.3.3: - resolution: - { - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} path-browserify@1.0.1: - resolution: - { - integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==, - } + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} path-exists@3.0.0: - resolution: - { - integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} path-to-regexp@8.4.2: - resolution: - { - integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==, - } + resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} pathe@2.0.3: - resolution: - { - integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, - } + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} pe-library@0.4.1: - resolution: - { - integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==, - } - engines: { node: ">=12", npm: ">=6" } + resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} + engines: {node: '>=12', npm: '>=6'} pend@1.2.0: - resolution: - { - integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==, - } + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} picocolors@1.1.1: - resolution: - { - integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, - } + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.2: - resolution: - { - integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==, - } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} picomatch@4.0.5: - resolution: - { - integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} pkce-challenge@5.0.1: - resolution: - { - integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==, - } - engines: { node: ">=16.20.0" } + resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} + engines: {node: '>=16.20.0'} pkg-up@3.1.0: - resolution: - { - integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} pkijs@3.4.0: - resolution: - { - integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==, - } - engines: { node: ">=16.0.0" } + resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} + engines: {node: '>=16.0.0'} plist@3.1.0: - resolution: - { - integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==, - } - engines: { node: ">=10.4.0" } + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} pngjs@5.0.0: - resolution: - { - integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==, - } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} postcss-selector-parser@7.1.4: - resolution: - { - integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} + engines: {node: '>=4'} postcss@8.5.16: - resolution: - { - integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==} + engines: {node: ^10 || ^12 || >=14} postject@1.0.0-alpha.6: - resolution: - { - integrity: sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==, - } - engines: { node: ">=14.0.0" } + resolution: {integrity: sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==} + engines: {node: '>=14.0.0'} hasBin: true powershell-utils@0.1.0: - resolution: - { - integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==, - } - engines: { node: ">=20" } + resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} + engines: {node: '>=20'} prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} prettier@3.9.4: - resolution: - { - integrity: sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==, - } - engines: { node: ">=14" } + resolution: {integrity: sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==} + engines: {node: '>=14'} hasBin: true pretty-ms@9.3.0: - resolution: - { - integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} proc-log@6.1.0: - resolution: - { - integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==, - } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} + engines: {node: ^20.17.0 || >=22.9.0} process-nextick-args@2.0.1: - resolution: - { - integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, - } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} progress@2.0.3: - resolution: - { - integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, - } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} promise-retry@2.0.1: - resolution: - { - integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} prompts@2.4.2: - resolution: - { - integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} proper-lockfile@4.1.2: - resolution: - { - integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==, - } + resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: ">= 0.10" } + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} pump@3.0.4: - resolution: - { - integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==, - } + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} pvtsutils@1.3.6: - resolution: - { - integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==, - } + resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} pvutils@1.1.5: - resolution: - { - integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==, - } - engines: { node: ">=16.0.0" } + resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} + engines: {node: '>=16.0.0'} qrcode@1.5.4: - resolution: - { - integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==, - } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} + engines: {node: '>=10.13.0'} hasBin: true qs@6.15.3: - resolution: - { - integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==, - } - engines: { node: ">=0.6" } + resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} + engines: {node: '>=0.6'} queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} quick-lru@5.1.1: - resolution: - { - integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} range-parser@1.3.0: - resolution: - { - integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} + engines: {node: '>= 0.6'} raw-body@3.0.2: - resolution: - { - integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==, - } - engines: { node: ">= 0.10" } + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} react-day-picker@10.0.1: - resolution: - { - integrity: sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w==} + engines: {node: '>=18'} peerDependencies: - "@types/react": ">=16.8.0" - react: ">=16.8.0" + '@types/react': '>=16.8.0' + react: '>=16.8.0' peerDependenciesMeta: - "@types/react": + '@types/react': optional: true react-dom@19.2.7: - resolution: - { - integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==, - } + resolution: {integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==} peerDependencies: react: ^19.2.7 react-is@19.2.7: - resolution: - { - integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==, - } + resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==} react-redux@9.3.0: - resolution: - { - integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==, - } + resolution: {integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==} peerDependencies: - "@types/react": ^18.2.25 || ^19 + '@types/react': ^18.2.25 || ^19 react: ^18.0 || ^19 redux: ^5.0.0 peerDependenciesMeta: - "@types/react": + '@types/react': optional: true redux: optional: true react-remove-scroll-bar@2.3.8: - resolution: - { - integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: - "@types/react": + '@types/react': optional: true react-remove-scroll@2.7.2: - resolution: - { - integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true react-resizable-panels@4.12.0: - resolution: - { - integrity: sha512-t/Gp57qSCxGQ52ckhz+8lM7dnuymeU95TEzl2U203qEbGkSLHrtm7US2/ANzq/zOlja3CwPTAfCDuh1unv9mfw==, - } + resolution: {integrity: sha512-t/Gp57qSCxGQ52ckhz+8lM7dnuymeU95TEzl2U203qEbGkSLHrtm7US2/ANzq/zOlja3CwPTAfCDuh1unv9mfw==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 react-style-singleton@2.2.3: - resolution: - { - integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true react@19.2.7: - resolution: - { - integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} + engines: {node: '>=0.10.0'} read-binary-file-arch@1.0.6: - resolution: - { - integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==, - } + resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} hasBin: true readable-stream@2.3.8: - resolution: - { - integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, - } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} recast@0.23.12: - resolution: - { - integrity: sha512-dEWRjcINDu/F4l2dYx57ugBtD7HV9KXESyxhzw/MqWLeglJrsjJKqACPyUPg+6AF8mIgm+Zi0dZ3ACoIg+QtpA==, - } - engines: { node: ">= 4" } + resolution: {integrity: sha512-dEWRjcINDu/F4l2dYx57ugBtD7HV9KXESyxhzw/MqWLeglJrsjJKqACPyUPg+6AF8mIgm+Zi0dZ3ACoIg+QtpA==} + engines: {node: '>= 4'} recharts@3.8.1: - resolution: - { - integrity: sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==} + engines: {node: '>=18'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-is: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 redux-thunk@3.1.0: - resolution: - { - integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==, - } + resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} peerDependencies: redux: ^5.0.0 redux@5.0.1: - resolution: - { - integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==, - } + resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} require-main-filename@2.0.0: - resolution: - { - integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==, - } + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} resedit@1.7.2: - resolution: - { - integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==, - } - engines: { node: ">=12", npm: ">=6" } + resolution: {integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==} + engines: {node: '>=12', npm: '>=6'} reselect@5.1.1: - resolution: - { - integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==, - } + resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} reselect@5.2.0: - resolution: - { - integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==, - } + resolution: {integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==} resolve-alpn@1.2.1: - resolution: - { - integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==, - } + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} responselike@2.0.1: - resolution: - { - integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==, - } + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} restore-cursor@5.1.0: - resolution: - { - integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} retry@0.12.0: - resolution: - { - integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==, - } - engines: { node: ">= 4" } + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} reusify@1.1.0: - resolution: - { - integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==, - } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rimraf@2.6.3: - resolution: - { - integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==, - } + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true roarr@2.15.4: - resolution: - { - integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==, - } - engines: { node: ">=8.0" } + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} rolldown@1.1.4: - resolution: - { - integrity: sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + resolution: {integrity: sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true router@2.2.0: - resolution: - { - integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==, - } - engines: { node: ">= 18" } + resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} + engines: {node: '>= 18'} run-applescript@7.1.0: - resolution: - { - integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} rxjs@7.8.2: - resolution: - { - integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==, - } + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} safe-buffer@5.1.2: - resolution: - { - integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, - } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safer-buffer@2.1.2: - resolution: - { - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, - } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} sanitize-filename@1.6.4: - resolution: - { - integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==, - } + resolution: {integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==} sax@1.6.0: - resolution: - { - integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==, - } - engines: { node: ">=11.0.0" } + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} scheduler@0.27.0: - resolution: - { - integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==, - } + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} sdp-transform@2.15.0: - resolution: - { - integrity: sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==, - } + resolution: {integrity: sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==} hasBin: true sdp@3.2.2: - resolution: - { - integrity: sha512-xZocWwfyp4hkbN4hLWxMjmv2Q8aNa9MhmOZ7L9aCZPT+dZsgRr6wZRrSYE3HTdyk/2pZKPSgqI7ns7Een1xMSA==, - } + resolution: {integrity: sha512-xZocWwfyp4hkbN4hLWxMjmv2Q8aNa9MhmOZ7L9aCZPT+dZsgRr6wZRrSYE3HTdyk/2pZKPSgqI7ns7Een1xMSA==} semver-compare@1.0.0: - resolution: - { - integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, - } + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} semver@5.7.2: - resolution: - { - integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, - } + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true semver@6.3.1: - resolution: - { - integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, - } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true semver@7.7.4: - resolution: - { - integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} hasBin: true semver@7.8.5: - resolution: - { - integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} hasBin: true send@1.2.1: - resolution: - { - integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==, - } - engines: { node: ">= 18" } + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} + engines: {node: '>= 18'} serialize-error@7.0.1: - resolution: - { - integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} seroval-plugins@1.5.4: - resolution: - { - integrity: sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw==} + engines: {node: '>=10'} peerDependencies: seroval: ^1.0 seroval@1.5.4: - resolution: - { - integrity: sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw==} + engines: {node: '>=10'} serve-static@2.2.1: - resolution: - { - integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==, - } - engines: { node: ">= 18" } + resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} + engines: {node: '>= 18'} set-blocking@2.0.0: - resolution: - { - integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, - } + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} shadcn@4.12.0: - resolution: - { - integrity: sha512-o781ieQziCnXH2FKsEqxp1fnbHdbgAPO9inTSPeZ59hQfsZXuMGp3ul8oFSV5KQS4nbUK9b+DrDE6C7OvfKKQQ==, - } - engines: { node: ">=20.18.1" } + resolution: {integrity: sha512-o781ieQziCnXH2FKsEqxp1fnbHdbgAPO9inTSPeZ59hQfsZXuMGp3ul8oFSV5KQS4nbUK9b+DrDE6C7OvfKKQQ==} + engines: {node: '>=20.18.1'} hasBin: true shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} side-channel-list@1.0.1: - resolution: - { - integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} side-channel-map@1.0.1: - resolution: - { - integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} side-channel-weakmap@1.0.2: - resolution: - { - integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} side-channel@1.1.1: - resolution: - { - integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} signal-exit@3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} simple-update-notifier@2.0.0: - resolution: - { - integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} sisteransi@1.0.5: - resolution: - { - integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, - } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} sonner@2.0.7: - resolution: - { - integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==, - } + resolution: {integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==} peerDependencies: react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc source-map-js@1.2.1: - resolution: - { - integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} source-map-support@0.5.21: - resolution: - { - integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, - } + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} sprintf-js@1.1.3: - resolution: - { - integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==, - } + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} stat-mode@1.0.0: - resolution: - { - integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} + engines: {node: '>= 6'} statuses@2.0.2: - resolution: - { - integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} std-env@4.1.0: - resolution: - { - integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==, - } + resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} stdin-discarder@0.2.2: - resolution: - { - integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} string-width@7.2.0: - resolution: - { - integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} string_decoder@1.1.1: - resolution: - { - integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, - } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} stringify-object@5.0.0: - resolution: - { - integrity: sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==, - } - engines: { node: ">=14.16" } + resolution: {integrity: sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==} + engines: {node: '>=14.16'} strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} strip-ansi@7.2.0: - resolution: - { - integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} strip-final-newline@2.0.0: - resolution: - { - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} strip-final-newline@4.0.0: - resolution: - { - integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} style-mod@4.1.3: - resolution: - { - integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==, - } + resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==} sumchecker@3.0.1: - resolution: - { - integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==, - } - engines: { node: ">= 8.0" } + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} systeminformation@5.31.11: - resolution: - { - integrity: sha512-I6O7iaUj23AXRgCPDDnvi3xHvdOLp4+1YMbF+X194lJwY1NeWojgHJPhslVKcmTtrLTguRk3QJK+xEdTiI3P0w==, - } - engines: { node: ">=8.0.0" } + resolution: {integrity: sha512-I6O7iaUj23AXRgCPDDnvi3xHvdOLp4+1YMbF+X194lJwY1NeWojgHJPhslVKcmTtrLTguRk3QJK+xEdTiI3P0w==} + engines: {node: '>=8.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true tailwind-merge@3.6.0: - resolution: - { - integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==, - } + resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==} tailwind-scrollbar-hide@4.0.0: - resolution: - { - integrity: sha512-gobtvVcThB2Dxhy0EeYSS1RKQJ5baDFkamkhwBvzvevwX6L4XQfpZ3me9s25Ss1ecFVT5jPYJ50n+7xTBJG9WQ==, - } + resolution: {integrity: sha512-gobtvVcThB2Dxhy0EeYSS1RKQJ5baDFkamkhwBvzvevwX6L4XQfpZ3me9s25Ss1ecFVT5jPYJ50n+7xTBJG9WQ==} peerDependencies: - tailwindcss: ">=3.0.0 || >= 4.0.0 || >= 4.0.0-beta.8 || >= 4.0.0-alpha.20" + tailwindcss: '>=3.0.0 || >= 4.0.0 || >= 4.0.0-beta.8 || >= 4.0.0-alpha.20' tailwindcss@4.3.2: - resolution: - { - integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==, - } + resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==} tapable@2.3.3: - resolution: - { - integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} tar@7.5.19: - resolution: - { - integrity: sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw==} + engines: {node: '>=18'} tauri-plugin-app-events-api@0.2.0: - resolution: - { - integrity: sha512-CnlAeucWhT+Rgx6CCsqUpq2D3pqgx0fhjSPKomH7O2t1rGVu5kGLMkYvaCX6gqVTUYpIWX5BLV7LGY2DRri0QA==, - } + resolution: {integrity: sha512-CnlAeucWhT+Rgx6CCsqUpq2D3pqgx0fhjSPKomH7O2t1rGVu5kGLMkYvaCX6gqVTUYpIWX5BLV7LGY2DRri0QA==} temp-file@3.4.0: - resolution: - { - integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==, - } + resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} temp@0.9.4: - resolution: - { - integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} + engines: {node: '>=6.0.0'} tiny-async-pool@1.3.0: - resolution: - { - integrity: sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==, - } + resolution: {integrity: sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==} tiny-invariant@1.3.3: - resolution: - { - integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==, - } + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} tinybench@2.9.0: - resolution: - { - integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, - } + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinyexec@1.2.4: - resolution: - { - integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} + engines: {node: '>=18'} tinyglobby@0.2.17: - resolution: - { - integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} tinyrainbow@3.1.0: - resolution: - { - integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==, - } - engines: { node: ">=14.0.0" } + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + engines: {node: '>=14.0.0'} tmp-promise@3.0.3: - resolution: - { - integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==, - } + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} tmp@0.2.7: - resolution: - { - integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==, - } - engines: { node: ">=14.14" } + resolution: {integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==} + engines: {node: '>=14.14'} to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: ">=8.0" } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: ">=0.6" } + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} truncate-utf8-bytes@1.0.2: - resolution: - { - integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==, - } + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} ts-api-utils@2.5.0: - resolution: - { - integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==, - } - engines: { node: ">=18.12" } + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} peerDependencies: - typescript: ">=4.8.4" + typescript: '>=4.8.4' ts-morph@26.0.0: - resolution: - { - integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==, - } + resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==} tsconfig-paths@4.2.0: - resolution: - { - integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} tslib@2.8.1: - resolution: - { - integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, - } + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} tw-animate-css@1.4.0: - resolution: - { - integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==, - } + resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==} type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} type-fest@0.13.1: - resolution: - { - integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} type-is@2.1.0: - resolution: - { - integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==, - } - engines: { node: ">= 18" } + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-emitter@2.1.0: - resolution: - { - integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==, - } + resolution: {integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==} typescript-eslint@8.62.1: - resolution: - { - integrity: sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" + typescript: '>=4.8.4 <6.1.0' typescript@6.0.3: - resolution: - { - integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==, - } - engines: { node: ">=14.17" } + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} hasBin: true undici-types@6.21.0: - resolution: - { - integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==, - } + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} undici-types@7.24.6: - resolution: - { - integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==, - } + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} undici-types@8.3.0: - resolution: - { - integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==, - } + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} undici@6.27.0: - resolution: - { - integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==, - } - engines: { node: ">=18.17" } + resolution: {integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==} + engines: {node: '>=18.17'} undici@7.28.0: - resolution: - { - integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==, - } - engines: { node: ">=20.18.1" } + resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==} + engines: {node: '>=20.18.1'} unicorn-magic@0.3.0: - resolution: - { - integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: ">= 4.0.0" } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} universalify@2.0.1: - resolution: - { - integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, - } - engines: { node: ">= 10.0.0" } + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} unpipe@1.0.0: - resolution: - { - integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} unzipper@0.12.5: - resolution: - { - integrity: sha512-tXYOi9R57Uj/2Z25SOs5RRSzq886MBQj2gY8dPL+xl/kv6s6SvByoKfAtvfVeEuhntWDgjd2o9p2lb4TVPAz0A==, - } + resolution: {integrity: sha512-tXYOi9R57Uj/2Z25SOs5RRSzq886MBQj2gY8dPL+xl/kv6s6SvByoKfAtvfVeEuhntWDgjd2o9p2lb4TVPAz0A==} update-browserslist-db@1.2.3: - resolution: - { - integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==, - } + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true peerDependencies: - browserslist: ">= 4.21.0" + browserslist: '>= 4.21.0' uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} use-callback-ref@1.3.3: - resolution: - { - integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true use-sidecar@1.1.3: - resolution: - { - integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true use-sync-external-store@1.6.0: - resolution: - { - integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==, - } + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 usehooks-ts@3.1.1: - resolution: - { - integrity: sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==, - } - engines: { node: ">=16.15.0" } + resolution: {integrity: sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==} + engines: {node: '>=16.15.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc utf8-byte-length@1.0.5: - resolution: - { - integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==, - } + resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} validate-npm-package-name@7.0.2: - resolution: - { - integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==, - } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==} + engines: {node: ^20.17.0 || >=22.9.0} vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} vaul@1.1.2: - resolution: - { - integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==, - } + resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc victory-vendor@37.3.6: - resolution: - { - integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==, - } + resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==} vite@8.1.3: - resolution: - { - integrity: sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + resolution: {integrity: sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - "@types/node": ^20.19.0 || >=22.12.0 - "@vitejs/devtools": ^0.3.0 + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.3.0 esbuild: ^0.27.0 || ^0.28.0 - jiti: ">=1.21.0" + jiti: '>=1.21.0' less: ^4.0.0 sass: ^1.70.0 sass-embedded: ^1.70.0 - stylus: ">=0.54.8" + stylus: '>=0.54.8' sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@vitejs/devtools": + '@vitejs/devtools': optional: true esbuild: optional: true @@ -7317,43 +4753,40 @@ packages: optional: true vitest@4.1.9: - resolution: - { - integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==, - } - engines: { node: ^20.0.0 || ^22.0.0 || >=24.0.0 } + resolution: {integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: - "@edge-runtime/vm": "*" - "@opentelemetry/api": ^1.9.0 - "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.1.9 - "@vitest/browser-preview": 4.1.9 - "@vitest/browser-webdriverio": 4.1.9 - "@vitest/coverage-istanbul": 4.1.9 - "@vitest/coverage-v8": 4.1.9 - "@vitest/ui": 4.1.9 - happy-dom: "*" - jsdom: "*" + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.9 + '@vitest/browser-preview': 4.1.9 + '@vitest/browser-webdriverio': 4.1.9 + '@vitest/coverage-istanbul': 4.1.9 + '@vitest/coverage-v8': 4.1.9 + '@vitest/ui': 4.1.9 + happy-dom: '*' + jsdom: '*' vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: - "@edge-runtime/vm": + '@edge-runtime/vm': optional: true - "@opentelemetry/api": + '@opentelemetry/api': optional: true - "@types/node": + '@types/node': optional: true - "@vitest/browser-playwright": + '@vitest/browser-playwright': optional: true - "@vitest/browser-preview": + '@vitest/browser-preview': optional: true - "@vitest/browser-webdriverio": + '@vitest/browser-webdriverio': optional: true - "@vitest/coverage-istanbul": + '@vitest/coverage-istanbul': optional: true - "@vitest/coverage-v8": + '@vitest/coverage-v8': optional: true - "@vitest/ui": + '@vitest/ui': optional: true happy-dom: optional: true @@ -7361,248 +4794,146 @@ packages: optional: true w3c-keyname@2.2.8: - resolution: - { - integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==, - } + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} webcrypto-core@1.9.2: - resolution: - { - integrity: sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==, - } + resolution: {integrity: sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==} webrtc-adapter@9.0.5: - resolution: - { - integrity: sha512-U9vjByy/sK2OMXu5mmfuZFKTMIUQe34c0JXRO+oDrxJTsntdYT2iIFwYMOV7HhMTuktcZLGf2W1N/OcSf9ssWg==, - } - engines: { node: ">=6.0.0", npm: ">=3.10.0" } + resolution: {integrity: sha512-U9vjByy/sK2OMXu5mmfuZFKTMIUQe34c0JXRO+oDrxJTsntdYT2iIFwYMOV7HhMTuktcZLGf2W1N/OcSf9ssWg==} + engines: {node: '>=6.0.0', npm: '>=3.10.0'} which-module@2.0.1: - resolution: - { - integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==, - } + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true which@4.0.0: - resolution: - { - integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==, - } - engines: { node: ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} hasBin: true which@5.0.0: - resolution: - { - integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==, - } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true which@6.0.1: - resolution: - { - integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==, - } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true why-is-node-running@2.3.0: - resolution: - { - integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} hasBin: true word-wrap@1.2.5: - resolution: - { - integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} wrap-ansi@6.2.0: - resolution: - { - integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} wsl-utils@0.3.1: - resolution: - { - integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==, - } - engines: { node: ">=20" } + resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} + engines: {node: '>=20'} xmlbuilder@15.1.1: - resolution: - { - integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==, - } - engines: { node: ">=8.0" } + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} y18n@4.0.3: - resolution: - { - integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==, - } + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} yallist@3.1.1: - resolution: - { - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, - } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} yallist@5.0.0: - resolution: - { - integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} yaml@2.9.0: - resolution: - { - integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==, - } - engines: { node: ">= 14.6" } + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} hasBin: true yargs-parser@18.1.3: - resolution: - { - integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} yargs@15.4.1: - resolution: - { - integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} yargs@17.7.3: - resolution: - { - integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} + engines: {node: '>=12'} yauzl@2.10.0: - resolution: - { - integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==, - } + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} yocto-spinner@1.2.0: - resolution: - { - integrity: sha512-Yw0hUB6UA3o4YUgKy3oSe9a4cxoaZ9sBfYDw+JSxo6Id0KoJGoxzPA24qqUXYKBWABs/zDSGTz9kww7t3F0XGw==, - } - engines: { node: ">=18.19" } + resolution: {integrity: sha512-Yw0hUB6UA3o4YUgKy3oSe9a4cxoaZ9sBfYDw+JSxo6Id0KoJGoxzPA24qqUXYKBWABs/zDSGTz9kww7t3F0XGw==} + engines: {node: '>=18.19'} yoctocolors@2.1.2: - resolution: - { - integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} zod-to-json-schema@3.25.2: - resolution: - { - integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==, - } + resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} peerDependencies: zod: ^3.25.28 || ^4 zod-validation-error@4.0.2: - resolution: - { - integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==, - } - engines: { node: ">=18.0.0" } + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} peerDependencies: zod: ^3.25.0 || ^4.0.0 zod@3.25.76: - resolution: - { - integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==, - } + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} zod@4.4.3: - resolution: - { - integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==, - } + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} zustand@5.0.14: - resolution: - { - integrity: sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==, - } - engines: { node: ">=12.20.0" } + resolution: {integrity: sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==} + engines: {node: '>=12.20.0'} peerDependencies: - "@types/react": ">=18.0.0" - immer: ">=9.0.6" - react: ">=18.0.0" - use-sync-external-store: ">=1.2.0" + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' peerDependenciesMeta: - "@types/react": + '@types/react': optional: true immer: optional: true @@ -7612,26 +4943,27 @@ packages: optional: true snapshots: - "@babel/code-frame@7.29.7": + + '@babel/code-frame@7.29.7': dependencies: - "@babel/helper-validator-identifier": 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - "@babel/compat-data@7.29.7": {} + '@babel/compat-data@7.29.7': {} - "@babel/core@7.29.7": + '@babel/core@7.29.7': dependencies: - "@babel/code-frame": 7.29.7 - "@babel/generator": 7.29.7 - "@babel/helper-compilation-targets": 7.29.7 - "@babel/helper-module-transforms": 7.29.7(@babel/core@7.29.7) - "@babel/helpers": 7.29.7 - "@babel/parser": 7.29.7 - "@babel/template": 7.29.7 - "@babel/traverse": 7.29.7 - "@babel/types": 7.29.7 - "@jridgewell/remapping": 2.3.5 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3 gensync: 1.0.0-beta.2 @@ -7640,278 +4972,278 @@ snapshots: transitivePeerDependencies: - supports-color - "@babel/generator@7.29.7": + '@babel/generator@7.29.7': dependencies: - "@babel/parser": 7.29.7 - "@babel/types": 7.29.7 - "@jridgewell/gen-mapping": 0.3.13 - "@jridgewell/trace-mapping": 0.3.31 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - "@babel/helper-annotate-as-pure@7.29.7": + '@babel/helper-annotate-as-pure@7.29.7': dependencies: - "@babel/types": 7.29.7 + '@babel/types': 7.29.7 - "@babel/helper-compilation-targets@7.29.7": + '@babel/helper-compilation-targets@7.29.7': dependencies: - "@babel/compat-data": 7.29.7 - "@babel/helper-validator-option": 7.29.7 + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 browserslist: 4.28.4 lru-cache: 5.1.1 semver: 6.3.1 - "@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)": + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': dependencies: - "@babel/core": 7.29.7 - "@babel/helper-annotate-as-pure": 7.29.7 - "@babel/helper-member-expression-to-functions": 7.29.7 - "@babel/helper-optimise-call-expression": 7.29.7 - "@babel/helper-replace-supers": 7.29.7(@babel/core@7.29.7) - "@babel/helper-skip-transparent-expression-wrappers": 7.29.7 - "@babel/traverse": 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/traverse': 7.29.7 semver: 6.3.1 transitivePeerDependencies: - supports-color - "@babel/helper-globals@7.29.7": {} + '@babel/helper-globals@7.29.7': {} - "@babel/helper-member-expression-to-functions@7.29.7": + '@babel/helper-member-expression-to-functions@7.29.7': dependencies: - "@babel/traverse": 7.29.7 - "@babel/types": 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - "@babel/helper-module-imports@7.29.7": + '@babel/helper-module-imports@7.29.7': dependencies: - "@babel/traverse": 7.29.7 - "@babel/types": 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - "@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)": + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': dependencies: - "@babel/core": 7.29.7 - "@babel/helper-module-imports": 7.29.7 - "@babel/helper-validator-identifier": 7.29.7 - "@babel/traverse": 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - "@babel/helper-optimise-call-expression@7.29.7": + '@babel/helper-optimise-call-expression@7.29.7': dependencies: - "@babel/types": 7.29.7 + '@babel/types': 7.29.7 - "@babel/helper-plugin-utils@7.29.7": {} + '@babel/helper-plugin-utils@7.29.7': {} - "@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)": + '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': dependencies: - "@babel/core": 7.29.7 - "@babel/helper-member-expression-to-functions": 7.29.7 - "@babel/helper-optimise-call-expression": 7.29.7 - "@babel/traverse": 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.7 transitivePeerDependencies: - supports-color - "@babel/helper-skip-transparent-expression-wrappers@7.29.7": + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': dependencies: - "@babel/traverse": 7.29.7 - "@babel/types": 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - "@babel/helper-string-parser@7.29.7": {} + '@babel/helper-string-parser@7.29.7': {} - "@babel/helper-validator-identifier@7.29.7": {} + '@babel/helper-validator-identifier@7.29.7': {} - "@babel/helper-validator-option@7.29.7": {} + '@babel/helper-validator-option@7.29.7': {} - "@babel/helpers@7.29.7": + '@babel/helpers@7.29.7': dependencies: - "@babel/template": 7.29.7 - "@babel/types": 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 - "@babel/parser@7.29.7": + '@babel/parser@7.29.7': dependencies: - "@babel/types": 7.29.7 + '@babel/types': 7.29.7 - "@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)": + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': dependencies: - "@babel/core": 7.29.7 - "@babel/helper-plugin-utils": 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - "@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)": + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': dependencies: - "@babel/core": 7.29.7 - "@babel/helper-plugin-utils": 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - "@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)": + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': dependencies: - "@babel/core": 7.29.7 - "@babel/helper-module-transforms": 7.29.7(@babel/core@7.29.7) - "@babel/helper-plugin-utils": 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - "@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)": + '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': dependencies: - "@babel/core": 7.29.7 - "@babel/helper-annotate-as-pure": 7.29.7 - "@babel/helper-create-class-features-plugin": 7.29.7(@babel/core@7.29.7) - "@babel/helper-plugin-utils": 7.29.7 - "@babel/helper-skip-transparent-expression-wrappers": 7.29.7 - "@babel/plugin-syntax-typescript": 7.29.7(@babel/core@7.29.7) + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - "@babel/preset-typescript@7.29.7(@babel/core@7.29.7)": + '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': dependencies: - "@babel/core": 7.29.7 - "@babel/helper-plugin-utils": 7.29.7 - "@babel/helper-validator-option": 7.29.7 - "@babel/plugin-syntax-jsx": 7.29.7(@babel/core@7.29.7) - "@babel/plugin-transform-modules-commonjs": 7.29.7(@babel/core@7.29.7) - "@babel/plugin-transform-typescript": 7.29.7(@babel/core@7.29.7) + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) transitivePeerDependencies: - supports-color - "@babel/runtime@7.29.7": {} + '@babel/runtime@7.29.7': {} - "@babel/template@7.29.7": + '@babel/template@7.29.7': dependencies: - "@babel/code-frame": 7.29.7 - "@babel/parser": 7.29.7 - "@babel/types": 7.29.7 + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 - "@babel/traverse@7.29.7": + '@babel/traverse@7.29.7': dependencies: - "@babel/code-frame": 7.29.7 - "@babel/generator": 7.29.7 - "@babel/helper-globals": 7.29.7 - "@babel/parser": 7.29.7 - "@babel/template": 7.29.7 - "@babel/types": 7.29.7 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 debug: 4.4.3 transitivePeerDependencies: - supports-color - "@babel/types@7.29.7": + '@babel/types@7.29.7': dependencies: - "@babel/helper-string-parser": 7.29.7 - "@babel/helper-validator-identifier": 7.29.7 + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 - "@base-ui/react@1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@base-ui/react@1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@babel/runtime": 7.29.7 - "@base-ui/utils": 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@floating-ui/react-dom": 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@floating-ui/utils": 0.2.11 + '@babel/runtime': 7.29.7 + '@base-ui/utils': 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@floating-ui/utils': 0.2.11 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) use-sync-external-store: 1.6.0(react@19.2.7) optionalDependencies: - "@date-fns/tz": 1.5.0 - "@types/react": 19.2.17 + '@date-fns/tz': 1.5.0 + '@types/react': 19.2.17 date-fns: 4.4.0 - "@base-ui/utils@0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@base-ui/utils@0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@babel/runtime": 7.29.7 - "@floating-ui/utils": 0.2.11 + '@babel/runtime': 7.29.7 + '@floating-ui/utils': 0.2.11 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) reselect: 5.2.0 use-sync-external-store: 1.6.0(react@19.2.7) optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@bufbuild/protobuf@1.10.1": {} + '@bufbuild/protobuf@1.10.1': {} - "@codemirror/autocomplete@6.20.3": + '@codemirror/autocomplete@6.20.3': dependencies: - "@codemirror/language": 6.12.4 - "@codemirror/state": 6.7.0 - "@codemirror/view": 6.43.4 - "@lezer/common": 1.5.2 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 - "@codemirror/commands@6.10.4": + '@codemirror/commands@6.10.4': dependencies: - "@codemirror/language": 6.12.4 - "@codemirror/state": 6.7.0 - "@codemirror/view": 6.43.4 - "@lezer/common": 1.5.2 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 - "@codemirror/lang-css@6.3.1": + '@codemirror/lang-css@6.3.1': dependencies: - "@codemirror/autocomplete": 6.20.3 - "@codemirror/language": 6.12.4 - "@codemirror/state": 6.7.0 - "@lezer/common": 1.5.2 - "@lezer/css": 1.3.4 + '@codemirror/autocomplete': 6.20.3 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@lezer/common': 1.5.2 + '@lezer/css': 1.3.4 - "@codemirror/lang-html@6.4.11": + '@codemirror/lang-html@6.4.11': dependencies: - "@codemirror/autocomplete": 6.20.3 - "@codemirror/lang-css": 6.3.1 - "@codemirror/lang-javascript": 6.2.5 - "@codemirror/language": 6.12.4 - "@codemirror/state": 6.7.0 - "@codemirror/view": 6.43.4 - "@lezer/common": 1.5.2 - "@lezer/css": 1.3.4 - "@lezer/html": 1.3.13 + '@codemirror/autocomplete': 6.20.3 + '@codemirror/lang-css': 6.3.1 + '@codemirror/lang-javascript': 6.2.5 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + '@lezer/css': 1.3.4 + '@lezer/html': 1.3.13 - "@codemirror/lang-javascript@6.2.5": + '@codemirror/lang-javascript@6.2.5': dependencies: - "@codemirror/autocomplete": 6.20.3 - "@codemirror/language": 6.12.4 - "@codemirror/lint": 6.9.7 - "@codemirror/state": 6.7.0 - "@codemirror/view": 6.43.4 - "@lezer/common": 1.5.2 - "@lezer/javascript": 1.5.4 + '@codemirror/autocomplete': 6.20.3 + '@codemirror/language': 6.12.4 + '@codemirror/lint': 6.9.7 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + '@lezer/javascript': 1.5.4 - "@codemirror/lang-markdown@6.5.0": + '@codemirror/lang-markdown@6.5.0': dependencies: - "@codemirror/autocomplete": 6.20.3 - "@codemirror/lang-html": 6.4.11 - "@codemirror/language": 6.12.4 - "@codemirror/state": 6.7.0 - "@codemirror/view": 6.43.4 - "@lezer/common": 1.5.2 - "@lezer/markdown": 1.6.4 + '@codemirror/autocomplete': 6.20.3 + '@codemirror/lang-html': 6.4.11 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + '@lezer/markdown': 1.6.4 - "@codemirror/language@6.12.4": + '@codemirror/language@6.12.4': dependencies: - "@codemirror/state": 6.7.0 - "@codemirror/view": 6.43.4 - "@lezer/common": 1.5.2 - "@lezer/highlight": 1.2.3 - "@lezer/lr": 1.4.10 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 style-mod: 4.1.3 - "@codemirror/lint@6.9.7": + '@codemirror/lint@6.9.7': dependencies: - "@codemirror/state": 6.7.0 - "@codemirror/view": 6.43.4 + '@codemirror/state': 6.7.0 + '@codemirror/view': 6.43.4 crelt: 1.0.7 - "@codemirror/state@6.7.0": + '@codemirror/state@6.7.0': dependencies: - "@marijn/find-cluster-break": 1.0.3 + '@marijn/find-cluster-break': 1.0.3 - "@codemirror/view@6.43.4": + '@codemirror/view@6.43.4': dependencies: - "@codemirror/state": 6.7.0 + '@codemirror/state': 6.7.0 crelt: 1.0.7 style-mod: 4.1.3 w3c-keyname: 2.2.8 - "@date-fns/tz@1.5.0": {} + '@date-fns/tz@1.5.0': {} - "@dotenvx/dotenvx@1.75.1": + '@dotenvx/dotenvx@1.75.1': dependencies: - "@dotenvx/primitives": 0.8.0 + '@dotenvx/primitives': 0.8.0 commander: 11.1.0 conf: 10.2.0 dotenv: 17.4.2 @@ -7928,21 +5260,21 @@ snapshots: which: 4.0.0 yocto-spinner: 1.2.0 - "@dotenvx/primitives@0.8.0": {} + '@dotenvx/primitives@0.8.0': {} - "@electron/asar@3.4.1": + '@electron/asar@3.4.1': dependencies: commander: 5.1.0 glob: 7.2.3 minimatch: 3.1.5 - "@electron/fuses@1.8.0": + '@electron/fuses@1.8.0': dependencies: chalk: 4.1.2 fs-extra: 9.1.0 minimist: 1.2.8 - "@electron/get@2.0.3": + '@electron/get@2.0.3': dependencies: debug: 4.4.3 env-paths: 2.2.1 @@ -7956,7 +5288,7 @@ snapshots: transitivePeerDependencies: - supports-color - "@electron/get@3.1.0": + '@electron/get@3.1.0': dependencies: debug: 4.4.3 env-paths: 2.2.1 @@ -7970,7 +5302,7 @@ snapshots: transitivePeerDependencies: - supports-color - "@electron/notarize@2.5.0": + '@electron/notarize@2.5.0': dependencies: debug: 4.4.3 fs-extra: 9.1.0 @@ -7978,7 +5310,7 @@ snapshots: transitivePeerDependencies: - supports-color - "@electron/osx-sign@1.3.3": + '@electron/osx-sign@1.3.3': dependencies: compare-version: 0.1.2 debug: 4.4.3 @@ -7989,9 +5321,9 @@ snapshots: transitivePeerDependencies: - supports-color - "@electron/rebuild@4.1.0": + '@electron/rebuild@4.1.0': dependencies: - "@malept/cross-spawn-promise": 2.0.0 + '@malept/cross-spawn-promise': 2.0.0 debug: 4.4.3 node-abi: 4.33.0 node-api-version: 0.2.1 @@ -8000,10 +5332,10 @@ snapshots: transitivePeerDependencies: - supports-color - "@electron/universal@2.0.3": + '@electron/universal@2.0.3': dependencies: - "@electron/asar": 3.4.1 - "@malept/cross-spawn-promise": 2.0.0 + '@electron/asar': 3.4.1 + '@malept/cross-spawn-promise': 2.0.0 debug: 4.4.3 dir-compare: 4.2.0 fs-extra: 11.3.6 @@ -8012,7 +5344,7 @@ snapshots: transitivePeerDependencies: - supports-color - "@electron/windows-sign@1.2.2": + '@electron/windows-sign@1.2.2': dependencies: cross-dirname: 0.1.0 debug: 4.4.3 @@ -8023,271 +5355,271 @@ snapshots: - supports-color optional: true - "@emnapi/core@1.11.1": + '@emnapi/core@1.11.1': dependencies: - "@emnapi/wasi-threads": 1.2.2 + '@emnapi/wasi-threads': 1.2.2 tslib: 2.8.1 optional: true - "@emnapi/runtime@1.11.1": + '@emnapi/runtime@1.11.1': dependencies: tslib: 2.8.1 optional: true - "@emnapi/wasi-threads@1.2.2": + '@emnapi/wasi-threads@1.2.2': dependencies: tslib: 2.8.1 optional: true - "@esbuild/aix-ppc64@0.25.12": + '@esbuild/aix-ppc64@0.25.12': optional: true - "@esbuild/android-arm64@0.25.12": + '@esbuild/android-arm64@0.25.12': optional: true - "@esbuild/android-arm@0.25.12": + '@esbuild/android-arm@0.25.12': optional: true - "@esbuild/android-x64@0.25.12": + '@esbuild/android-x64@0.25.12': optional: true - "@esbuild/darwin-arm64@0.25.12": + '@esbuild/darwin-arm64@0.25.12': optional: true - "@esbuild/darwin-x64@0.25.12": + '@esbuild/darwin-x64@0.25.12': optional: true - "@esbuild/freebsd-arm64@0.25.12": + '@esbuild/freebsd-arm64@0.25.12': optional: true - "@esbuild/freebsd-x64@0.25.12": + '@esbuild/freebsd-x64@0.25.12': optional: true - "@esbuild/linux-arm64@0.25.12": + '@esbuild/linux-arm64@0.25.12': optional: true - "@esbuild/linux-arm@0.25.12": + '@esbuild/linux-arm@0.25.12': optional: true - "@esbuild/linux-ia32@0.25.12": + '@esbuild/linux-ia32@0.25.12': optional: true - "@esbuild/linux-loong64@0.25.12": + '@esbuild/linux-loong64@0.25.12': optional: true - "@esbuild/linux-mips64el@0.25.12": + '@esbuild/linux-mips64el@0.25.12': optional: true - "@esbuild/linux-ppc64@0.25.12": + '@esbuild/linux-ppc64@0.25.12': optional: true - "@esbuild/linux-riscv64@0.25.12": + '@esbuild/linux-riscv64@0.25.12': optional: true - "@esbuild/linux-s390x@0.25.12": + '@esbuild/linux-s390x@0.25.12': optional: true - "@esbuild/linux-x64@0.25.12": + '@esbuild/linux-x64@0.25.12': optional: true - "@esbuild/netbsd-arm64@0.25.12": + '@esbuild/netbsd-arm64@0.25.12': optional: true - "@esbuild/netbsd-x64@0.25.12": + '@esbuild/netbsd-x64@0.25.12': optional: true - "@esbuild/openbsd-arm64@0.25.12": + '@esbuild/openbsd-arm64@0.25.12': optional: true - "@esbuild/openbsd-x64@0.25.12": + '@esbuild/openbsd-x64@0.25.12': optional: true - "@esbuild/openharmony-arm64@0.25.12": + '@esbuild/openharmony-arm64@0.25.12': optional: true - "@esbuild/sunos-x64@0.25.12": + '@esbuild/sunos-x64@0.25.12': optional: true - "@esbuild/win32-arm64@0.25.12": + '@esbuild/win32-arm64@0.25.12': optional: true - "@esbuild/win32-ia32@0.25.12": + '@esbuild/win32-ia32@0.25.12': optional: true - "@esbuild/win32-x64@0.25.12": + '@esbuild/win32-x64@0.25.12': optional: true - "@eslint-community/eslint-utils@4.9.1(eslint@10.6.0(jiti@2.7.0))": + '@eslint-community/eslint-utils@4.9.1(eslint@10.6.0(jiti@2.7.0))': dependencies: eslint: 10.6.0(jiti@2.7.0) eslint-visitor-keys: 3.4.3 - "@eslint-community/regexpp@4.12.2": {} + '@eslint-community/regexpp@4.12.2': {} - "@eslint/config-array@0.23.5": + '@eslint/config-array@0.23.5': dependencies: - "@eslint/object-schema": 3.0.5 + '@eslint/object-schema': 3.0.5 debug: 4.4.3 minimatch: 10.2.5 transitivePeerDependencies: - supports-color - "@eslint/config-helpers@0.6.0": + '@eslint/config-helpers@0.6.0': dependencies: - "@eslint/core": 1.2.1 + '@eslint/core': 1.2.1 - "@eslint/core@1.2.1": + '@eslint/core@1.2.1': dependencies: - "@types/json-schema": 7.0.15 + '@types/json-schema': 7.0.15 - "@eslint/js@10.0.1(eslint@10.6.0(jiti@2.7.0))": + '@eslint/js@10.0.1(eslint@10.6.0(jiti@2.7.0))': optionalDependencies: eslint: 10.6.0(jiti@2.7.0) - "@eslint/object-schema@3.0.5": {} + '@eslint/object-schema@3.0.5': {} - "@eslint/plugin-kit@0.7.2": + '@eslint/plugin-kit@0.7.2': dependencies: - "@eslint/core": 1.2.1 + '@eslint/core': 1.2.1 levn: 0.4.1 - "@fallow-cli/darwin-arm64@2.104.0": + '@fallow-cli/darwin-arm64@2.104.0': optional: true - "@fallow-cli/darwin-x64@2.104.0": + '@fallow-cli/darwin-x64@2.104.0': optional: true - "@fallow-cli/linux-arm64-gnu@2.104.0": + '@fallow-cli/linux-arm64-gnu@2.104.0': optional: true - "@fallow-cli/linux-arm64-musl@2.104.0": + '@fallow-cli/linux-arm64-musl@2.104.0': optional: true - "@fallow-cli/linux-x64-gnu@2.104.0": + '@fallow-cli/linux-x64-gnu@2.104.0': optional: true - "@fallow-cli/linux-x64-musl@2.104.0": + '@fallow-cli/linux-x64-musl@2.104.0': optional: true - "@fallow-cli/win32-arm64-msvc@2.104.0": + '@fallow-cli/win32-arm64-msvc@2.104.0': optional: true - "@fallow-cli/win32-x64-msvc@2.104.0": + '@fallow-cli/win32-x64-msvc@2.104.0': optional: true - "@floating-ui/core@1.7.5": + '@floating-ui/core@1.7.5': dependencies: - "@floating-ui/utils": 0.2.11 + '@floating-ui/utils': 0.2.11 - "@floating-ui/dom@1.7.4": + '@floating-ui/dom@1.7.4': dependencies: - "@floating-ui/core": 1.7.5 - "@floating-ui/utils": 0.2.11 + '@floating-ui/core': 1.7.5 + '@floating-ui/utils': 0.2.11 - "@floating-ui/dom@1.7.6": + '@floating-ui/dom@1.7.6': dependencies: - "@floating-ui/core": 1.7.5 - "@floating-ui/utils": 0.2.11 + '@floating-ui/core': 1.7.5 + '@floating-ui/utils': 0.2.11 - "@floating-ui/react-dom@2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@floating-ui/react-dom@2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@floating-ui/dom": 1.7.6 + '@floating-ui/dom': 1.7.6 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - "@floating-ui/utils@0.2.11": {} + '@floating-ui/utils@0.2.11': {} - "@fontsource-variable/inter@5.2.8": {} + '@fontsource-variable/inter@5.2.8': {} - "@fontsource-variable/public-sans@5.2.7": {} + '@fontsource-variable/public-sans@5.2.7': {} - "@hono/node-server@1.19.14(hono@4.12.27)": + '@hono/node-server@1.19.14(hono@4.12.27)': dependencies: hono: 4.12.27 - "@humanfs/core@0.19.2": + '@humanfs/core@0.19.2': dependencies: - "@humanfs/types": 0.15.0 + '@humanfs/types': 0.15.0 - "@humanfs/node@0.16.8": + '@humanfs/node@0.16.8': dependencies: - "@humanfs/core": 0.19.2 - "@humanfs/types": 0.15.0 - "@humanwhocodes/retry": 0.4.3 + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 - "@humanfs/types@0.15.0": {} + '@humanfs/types@0.15.0': {} - "@humanwhocodes/module-importer@1.0.1": {} + '@humanwhocodes/module-importer@1.0.1': {} - "@humanwhocodes/retry@0.4.3": {} + '@humanwhocodes/retry@0.4.3': {} - "@isaacs/fs-minipass@4.0.1": + '@isaacs/fs-minipass@4.0.1': dependencies: minipass: 7.1.3 - "@jridgewell/gen-mapping@0.3.13": + '@jridgewell/gen-mapping@0.3.13': dependencies: - "@jridgewell/sourcemap-codec": 1.5.5 - "@jridgewell/trace-mapping": 0.3.31 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 - "@jridgewell/remapping@2.3.5": + '@jridgewell/remapping@2.3.5': dependencies: - "@jridgewell/gen-mapping": 0.3.13 - "@jridgewell/trace-mapping": 0.3.31 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - "@jridgewell/resolve-uri@3.1.2": {} + '@jridgewell/resolve-uri@3.1.2': {} - "@jridgewell/sourcemap-codec@1.5.5": {} + '@jridgewell/sourcemap-codec@1.5.5': {} - "@jridgewell/trace-mapping@0.3.31": + '@jridgewell/trace-mapping@0.3.31': dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.5.5 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 - "@lezer/common@1.5.2": {} + '@lezer/common@1.5.2': {} - "@lezer/css@1.3.4": + '@lezer/css@1.3.4': dependencies: - "@lezer/common": 1.5.2 - "@lezer/highlight": 1.2.3 - "@lezer/lr": 1.4.10 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 - "@lezer/highlight@1.2.3": + '@lezer/highlight@1.2.3': dependencies: - "@lezer/common": 1.5.2 + '@lezer/common': 1.5.2 - "@lezer/html@1.3.13": + '@lezer/html@1.3.13': dependencies: - "@lezer/common": 1.5.2 - "@lezer/highlight": 1.2.3 - "@lezer/lr": 1.4.10 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 - "@lezer/javascript@1.5.4": + '@lezer/javascript@1.5.4': dependencies: - "@lezer/common": 1.5.2 - "@lezer/highlight": 1.2.3 - "@lezer/lr": 1.4.10 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 - "@lezer/lr@1.4.10": + '@lezer/lr@1.4.10': dependencies: - "@lezer/common": 1.5.2 + '@lezer/common': 1.5.2 - "@lezer/markdown@1.6.4": + '@lezer/markdown@1.6.4': dependencies: - "@lezer/common": 1.5.2 - "@lezer/highlight": 1.2.3 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 - "@livekit/components-core@0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1)": + '@livekit/components-core@0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1)': dependencies: - "@floating-ui/dom": 1.7.4 + '@floating-ui/dom': 1.7.4 livekit-client: 2.20.0(@types/dom-mediacapture-record@1.0.22) loglevel: 1.9.1 rxjs: 7.8.2 tslib: 2.8.1 - "@livekit/components-react@2.9.21(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(tslib@2.8.1)": + '@livekit/components-react@2.9.21(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(tslib@2.8.1)': dependencies: - "@livekit/components-core": 0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1) + '@livekit/components-core': 0.12.13(livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22))(tslib@2.8.1) clsx: 2.1.1 events: 3.3.0 jose: 6.2.3 @@ -8297,17 +5629,17 @@ snapshots: tslib: 2.8.1 usehooks-ts: 3.1.1(react@19.2.7) - "@livekit/mutex@1.1.1": {} + '@livekit/mutex@1.1.1': {} - "@livekit/protocol@1.46.6": + '@livekit/protocol@1.46.6': dependencies: - "@bufbuild/protobuf": 1.10.1 + '@bufbuild/protobuf': 1.10.1 - "@malept/cross-spawn-promise@2.0.0": + '@malept/cross-spawn-promise@2.0.0': dependencies: cross-spawn: 7.0.6 - "@malept/flatpak-bundler@0.4.0": + '@malept/flatpak-bundler@0.4.0': dependencies: debug: 4.4.3 fs-extra: 9.1.0 @@ -8316,11 +5648,11 @@ snapshots: transitivePeerDependencies: - supports-color - "@marijn/find-cluster-break@1.0.3": {} + '@marijn/find-cluster-break@1.0.3': {} - "@modelcontextprotocol/sdk@1.29.0(zod@3.25.76)": + '@modelcontextprotocol/sdk@1.29.0(zod@3.25.76)': dependencies: - "@hono/node-server": 1.19.14(hono@4.12.27) + '@hono/node-server': 1.19.14(hono@4.12.27) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -8340,205 +5672,205 @@ snapshots: transitivePeerDependencies: - supports-color - "@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)": + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': dependencies: - "@emnapi/core": 1.11.1 - "@emnapi/runtime": 1.11.1 - "@tybys/wasm-util": 0.10.3 + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@tybys/wasm-util': 0.10.3 optional: true - "@noble/hashes@1.4.0": {} + '@noble/hashes@1.4.0': {} - "@noble/hashes@2.2.0": {} + '@noble/hashes@2.2.0': {} - "@nodelib/fs.scandir@2.1.5": + '@nodelib/fs.scandir@2.1.5': dependencies: - "@nodelib/fs.stat": 2.0.5 + '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - "@nodelib/fs.stat@2.0.5": {} + '@nodelib/fs.stat@2.0.5': {} - "@nodelib/fs.walk@1.2.8": + '@nodelib/fs.walk@1.2.8': dependencies: - "@nodelib/fs.scandir": 2.1.5 + '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - "@oxc-project/types@0.138.0": {} + '@oxc-project/types@0.138.0': {} - "@peculiar/asn1-schema@2.8.0": + '@peculiar/asn1-schema@2.8.0': dependencies: - "@peculiar/utils": 2.0.3 + '@peculiar/utils': 2.0.3 asn1js: 3.0.10 tslib: 2.8.1 - "@peculiar/json-schema@1.1.12": + '@peculiar/json-schema@1.1.12': dependencies: tslib: 2.8.1 - "@peculiar/utils@2.0.3": + '@peculiar/utils@2.0.3': dependencies: tslib: 2.8.1 - "@peculiar/webcrypto@1.7.1": + '@peculiar/webcrypto@1.7.1': dependencies: - "@peculiar/asn1-schema": 2.8.0 - "@peculiar/json-schema": 1.1.12 - "@peculiar/utils": 2.0.3 + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/json-schema': 1.1.12 + '@peculiar/utils': 2.0.3 tslib: 2.8.1 webcrypto-core: 1.9.2 - "@radix-ui/primitive@1.1.4": {} + '@radix-ui/primitive@1.1.4': {} - "@radix-ui/react-compose-refs@1.1.3(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-compose-refs@1.1.3(@types/react@19.2.17)(react@19.2.7)': dependencies: react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-context@1.1.4(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-context@1.1.4(@types/react@19.2.17)(react@19.2.7)': dependencies: react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-dialog@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@radix-ui/react-dialog@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@radix-ui/primitive": 1.1.4 - "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-context": 1.1.4(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-dismissable-layer": 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-focus-guards": 1.1.4(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-focus-scope": 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-id": 1.1.2(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-portal": 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-presence": 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-slot": 1.3.0(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-use-controllable-state": 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/primitive': 1.1.4 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7) aria-hidden: 1.2.6 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - "@types/react": 19.2.17 - "@types/react-dom": 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - "@radix-ui/react-dismissable-layer@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@radix-ui/react-dismissable-layer@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@radix-ui/primitive": 1.1.4 - "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-use-callback-ref": 1.1.2(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-use-effect-event": 0.0.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/primitive': 1.1.4 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - "@types/react": 19.2.17 - "@types/react-dom": 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - "@radix-ui/react-focus-guards@1.1.4(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-focus-guards@1.1.4(@types/react@19.2.17)(react@19.2.7)': dependencies: react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-focus-scope@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@radix-ui/react-focus-scope@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-use-callback-ref": 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - "@types/react": 19.2.17 - "@types/react-dom": 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - "@radix-ui/react-id@1.1.2(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-id@1.1.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-portal@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@radix-ui/react-portal@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - "@types/react": 19.2.17 - "@types/react-dom": 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - "@radix-ui/react-presence@1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@radix-ui/react-presence@1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - "@types/react": 19.2.17 - "@types/react-dom": 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - "@radix-ui/react-primitive@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@radix-ui/react-primitive@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@radix-ui/react-slot": 1.3.0(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) optionalDependencies: - "@types/react": 19.2.17 - "@types/react-dom": 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - "@radix-ui/react-slot@1.3.0(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-slot@1.3.0(@types/react@19.2.17)(react@19.2.7)': dependencies: - "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-use-callback-ref@1.1.2(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-use-callback-ref@1.1.2(@types/react@19.2.17)(react@19.2.7)': dependencies: react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-use-controllable-state@1.2.3(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-use-controllable-state@1.2.3(@types/react@19.2.17)(react@19.2.7)': dependencies: - "@radix-ui/react-use-effect-event": 0.0.3(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-use-effect-event@0.0.3(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-use-effect-event@0.0.3(@types/react@19.2.17)(react@19.2.7)': dependencies: - "@radix-ui/react-use-layout-effect": 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7) react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@radix-ui/react-use-layout-effect@1.1.2(@types/react@19.2.17)(react@19.2.7)": + '@radix-ui/react-use-layout-effect@1.1.2(@types/react@19.2.17)(react@19.2.7)': dependencies: react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)": + '@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)': dependencies: - "@standard-schema/spec": 1.1.0 - "@standard-schema/utils": 0.3.0 + '@standard-schema/spec': 1.1.0 + '@standard-schema/utils': 0.3.0 immer: 11.1.9 redux: 5.0.1 redux-thunk: 3.1.0(redux@5.0.1) @@ -8547,74 +5879,74 @@ snapshots: react: 19.2.7 react-redux: 9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1) - "@rolldown/binding-android-arm64@1.1.4": + '@rolldown/binding-android-arm64@1.1.4': optional: true - "@rolldown/binding-darwin-arm64@1.1.4": + '@rolldown/binding-darwin-arm64@1.1.4': optional: true - "@rolldown/binding-darwin-x64@1.1.4": + '@rolldown/binding-darwin-x64@1.1.4': optional: true - "@rolldown/binding-freebsd-x64@1.1.4": + '@rolldown/binding-freebsd-x64@1.1.4': optional: true - "@rolldown/binding-linux-arm-gnueabihf@1.1.4": + '@rolldown/binding-linux-arm-gnueabihf@1.1.4': optional: true - "@rolldown/binding-linux-arm64-gnu@1.1.4": + '@rolldown/binding-linux-arm64-gnu@1.1.4': optional: true - "@rolldown/binding-linux-arm64-musl@1.1.4": + '@rolldown/binding-linux-arm64-musl@1.1.4': optional: true - "@rolldown/binding-linux-ppc64-gnu@1.1.4": + '@rolldown/binding-linux-ppc64-gnu@1.1.4': optional: true - "@rolldown/binding-linux-s390x-gnu@1.1.4": + '@rolldown/binding-linux-s390x-gnu@1.1.4': optional: true - "@rolldown/binding-linux-x64-gnu@1.1.4": + '@rolldown/binding-linux-x64-gnu@1.1.4': optional: true - "@rolldown/binding-linux-x64-musl@1.1.4": + '@rolldown/binding-linux-x64-musl@1.1.4': optional: true - "@rolldown/binding-openharmony-arm64@1.1.4": + '@rolldown/binding-openharmony-arm64@1.1.4': optional: true - "@rolldown/binding-wasm32-wasi@1.1.4": + '@rolldown/binding-wasm32-wasi@1.1.4': dependencies: - "@emnapi/core": 1.11.1 - "@emnapi/runtime": 1.11.1 - "@napi-rs/wasm-runtime": 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) optional: true - "@rolldown/binding-win32-arm64-msvc@1.1.4": + '@rolldown/binding-win32-arm64-msvc@1.1.4': optional: true - "@rolldown/binding-win32-x64-msvc@1.1.4": + '@rolldown/binding-win32-x64-msvc@1.1.4': optional: true - "@rolldown/pluginutils@1.0.1": {} + '@rolldown/pluginutils@1.0.1': {} - "@sec-ant/readable-stream@0.4.1": {} + '@sec-ant/readable-stream@0.4.1': {} - "@sindresorhus/is@4.6.0": {} + '@sindresorhus/is@4.6.0': {} - "@sindresorhus/merge-streams@4.0.0": {} + '@sindresorhus/merge-streams@4.0.0': {} - "@standard-schema/spec@1.1.0": {} + '@standard-schema/spec@1.1.0': {} - "@standard-schema/utils@0.3.0": {} + '@standard-schema/utils@0.3.0': {} - "@szmarczak/http-timer@4.0.6": + '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 - "@tailwindcss/node@4.3.2": + '@tailwindcss/node@4.3.2': dependencies: - "@jridgewell/remapping": 2.3.5 + '@jridgewell/remapping': 2.3.5 enhanced-resolve: 5.21.6 jiti: 2.7.0 lightningcss: 1.32.0 @@ -8622,187 +5954,187 @@ snapshots: source-map-js: 1.2.1 tailwindcss: 4.3.2 - "@tailwindcss/oxide-android-arm64@4.3.2": + '@tailwindcss/oxide-android-arm64@4.3.2': optional: true - "@tailwindcss/oxide-darwin-arm64@4.3.2": + '@tailwindcss/oxide-darwin-arm64@4.3.2': optional: true - "@tailwindcss/oxide-darwin-x64@4.3.2": + '@tailwindcss/oxide-darwin-x64@4.3.2': optional: true - "@tailwindcss/oxide-freebsd-x64@4.3.2": + '@tailwindcss/oxide-freebsd-x64@4.3.2': optional: true - "@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2": + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': optional: true - "@tailwindcss/oxide-linux-arm64-gnu@4.3.2": + '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': optional: true - "@tailwindcss/oxide-linux-arm64-musl@4.3.2": + '@tailwindcss/oxide-linux-arm64-musl@4.3.2': optional: true - "@tailwindcss/oxide-linux-x64-gnu@4.3.2": + '@tailwindcss/oxide-linux-x64-gnu@4.3.2': optional: true - "@tailwindcss/oxide-linux-x64-musl@4.3.2": + '@tailwindcss/oxide-linux-x64-musl@4.3.2': optional: true - "@tailwindcss/oxide-wasm32-wasi@4.3.2": + '@tailwindcss/oxide-wasm32-wasi@4.3.2': optional: true - "@tailwindcss/oxide-win32-arm64-msvc@4.3.2": + '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': optional: true - "@tailwindcss/oxide-win32-x64-msvc@4.3.2": + '@tailwindcss/oxide-win32-x64-msvc@4.3.2': optional: true - "@tailwindcss/oxide@4.3.2": + '@tailwindcss/oxide@4.3.2': optionalDependencies: - "@tailwindcss/oxide-android-arm64": 4.3.2 - "@tailwindcss/oxide-darwin-arm64": 4.3.2 - "@tailwindcss/oxide-darwin-x64": 4.3.2 - "@tailwindcss/oxide-freebsd-x64": 4.3.2 - "@tailwindcss/oxide-linux-arm-gnueabihf": 4.3.2 - "@tailwindcss/oxide-linux-arm64-gnu": 4.3.2 - "@tailwindcss/oxide-linux-arm64-musl": 4.3.2 - "@tailwindcss/oxide-linux-x64-gnu": 4.3.2 - "@tailwindcss/oxide-linux-x64-musl": 4.3.2 - "@tailwindcss/oxide-wasm32-wasi": 4.3.2 - "@tailwindcss/oxide-win32-arm64-msvc": 4.3.2 - "@tailwindcss/oxide-win32-x64-msvc": 4.3.2 + '@tailwindcss/oxide-android-arm64': 4.3.2 + '@tailwindcss/oxide-darwin-arm64': 4.3.2 + '@tailwindcss/oxide-darwin-x64': 4.3.2 + '@tailwindcss/oxide-freebsd-x64': 4.3.2 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.2 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.2 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.2 + '@tailwindcss/oxide-linux-x64-musl': 4.3.2 + '@tailwindcss/oxide-wasm32-wasi': 4.3.2 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.2 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.2 - "@tailwindcss/vite@4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))": + '@tailwindcss/vite@4.3.2(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - "@tailwindcss/node": 4.3.2 - "@tailwindcss/oxide": 4.3.2 + '@tailwindcss/node': 4.3.2 + '@tailwindcss/oxide': 4.3.2 tailwindcss: 4.3.2 vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) - "@tanstack/devtools-event-client@0.3.5": {} + '@tanstack/devtools-event-client@0.3.5': {} - "@tanstack/devtools-event-client@0.4.4": {} + '@tanstack/devtools-event-client@0.4.4': {} - "@tanstack/history@1.162.0": {} + '@tanstack/history@1.162.0': {} - "@tanstack/pacer@0.21.1": + '@tanstack/pacer@0.21.1': dependencies: - "@tanstack/devtools-event-client": 0.4.4 - "@tanstack/store": 0.11.0 + '@tanstack/devtools-event-client': 0.4.4 + '@tanstack/store': 0.11.0 - "@tanstack/query-core@5.101.2": {} + '@tanstack/query-core@5.101.2': {} - "@tanstack/react-query@5.101.2(react@19.2.7)": + '@tanstack/react-query@5.101.2(react@19.2.7)': dependencies: - "@tanstack/query-core": 5.101.2 + '@tanstack/query-core': 5.101.2 react: 19.2.7 - "@tanstack/react-router@1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@tanstack/react-router@1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@tanstack/history": 1.162.0 - "@tanstack/react-store": 0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@tanstack/router-core": 1.171.14 + '@tanstack/history': 1.162.0 + '@tanstack/react-store': 0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/router-core': 1.171.14 isbot: 5.1.44 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - "@tanstack/react-store@0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@tanstack/react-store@0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@tanstack/store": 0.9.3 + '@tanstack/store': 0.9.3 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) use-sync-external-store: 1.6.0(react@19.2.7) - "@tanstack/react-virtual@3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7)": + '@tanstack/react-virtual@3.14.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - "@tanstack/virtual-core": 3.17.3 + '@tanstack/virtual-core': 3.17.3 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - "@tanstack/router-core@1.171.14": + '@tanstack/router-core@1.171.14': dependencies: - "@tanstack/history": 1.162.0 + '@tanstack/history': 1.162.0 cookie-es: 3.1.1 seroval: 1.5.4 seroval-plugins: 1.5.4(seroval@1.5.4) - "@tanstack/store@0.11.0": {} + '@tanstack/store@0.11.0': {} - "@tanstack/store@0.9.3": {} + '@tanstack/store@0.9.3': {} - "@tanstack/virtual-core@3.17.3": {} + '@tanstack/virtual-core@3.17.3': {} - "@tauri-apps/api@2.11.1": {} + '@tauri-apps/api@2.11.1': {} - "@tauri-apps/cli-darwin-arm64@2.11.4": + '@tauri-apps/cli-darwin-arm64@2.11.4': optional: true - "@tauri-apps/cli-darwin-x64@2.11.4": + '@tauri-apps/cli-darwin-x64@2.11.4': optional: true - "@tauri-apps/cli-linux-arm-gnueabihf@2.11.4": + '@tauri-apps/cli-linux-arm-gnueabihf@2.11.4': optional: true - "@tauri-apps/cli-linux-arm64-gnu@2.11.4": + '@tauri-apps/cli-linux-arm64-gnu@2.11.4': optional: true - "@tauri-apps/cli-linux-arm64-musl@2.11.4": + '@tauri-apps/cli-linux-arm64-musl@2.11.4': optional: true - "@tauri-apps/cli-linux-riscv64-gnu@2.11.4": + '@tauri-apps/cli-linux-riscv64-gnu@2.11.4': optional: true - "@tauri-apps/cli-linux-x64-gnu@2.11.4": + '@tauri-apps/cli-linux-x64-gnu@2.11.4': optional: true - "@tauri-apps/cli-linux-x64-musl@2.11.4": + '@tauri-apps/cli-linux-x64-musl@2.11.4': optional: true - "@tauri-apps/cli-win32-arm64-msvc@2.11.4": + '@tauri-apps/cli-win32-arm64-msvc@2.11.4': optional: true - "@tauri-apps/cli-win32-ia32-msvc@2.11.4": + '@tauri-apps/cli-win32-ia32-msvc@2.11.4': optional: true - "@tauri-apps/cli-win32-x64-msvc@2.11.4": + '@tauri-apps/cli-win32-x64-msvc@2.11.4': optional: true - "@tauri-apps/cli@2.11.4": + '@tauri-apps/cli@2.11.4': optionalDependencies: - "@tauri-apps/cli-darwin-arm64": 2.11.4 - "@tauri-apps/cli-darwin-x64": 2.11.4 - "@tauri-apps/cli-linux-arm-gnueabihf": 2.11.4 - "@tauri-apps/cli-linux-arm64-gnu": 2.11.4 - "@tauri-apps/cli-linux-arm64-musl": 2.11.4 - "@tauri-apps/cli-linux-riscv64-gnu": 2.11.4 - "@tauri-apps/cli-linux-x64-gnu": 2.11.4 - "@tauri-apps/cli-linux-x64-musl": 2.11.4 - "@tauri-apps/cli-win32-arm64-msvc": 2.11.4 - "@tauri-apps/cli-win32-ia32-msvc": 2.11.4 - "@tauri-apps/cli-win32-x64-msvc": 2.11.4 + '@tauri-apps/cli-darwin-arm64': 2.11.4 + '@tauri-apps/cli-darwin-x64': 2.11.4 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.11.4 + '@tauri-apps/cli-linux-arm64-gnu': 2.11.4 + '@tauri-apps/cli-linux-arm64-musl': 2.11.4 + '@tauri-apps/cli-linux-riscv64-gnu': 2.11.4 + '@tauri-apps/cli-linux-x64-gnu': 2.11.4 + '@tauri-apps/cli-linux-x64-musl': 2.11.4 + '@tauri-apps/cli-win32-arm64-msvc': 2.11.4 + '@tauri-apps/cli-win32-ia32-msvc': 2.11.4 + '@tauri-apps/cli-win32-x64-msvc': 2.11.4 - "@tauri-apps/plugin-barcode-scanner@2.4.5": + '@tauri-apps/plugin-barcode-scanner@2.4.5': dependencies: - "@tauri-apps/api": 2.11.1 + '@tauri-apps/api': 2.11.1 - "@tauri-apps/plugin-deep-link@2.4.9": + '@tauri-apps/plugin-deep-link@2.4.9': dependencies: - "@tauri-apps/api": 2.11.1 + '@tauri-apps/api': 2.11.1 - "@tauri-apps/plugin-log@2.8.0": + '@tauri-apps/plugin-log@2.8.0': dependencies: - "@tauri-apps/api": 2.11.1 + '@tauri-apps/api': 2.11.1 - "@tauri-apps/plugin-notification@2.3.3": + '@tauri-apps/plugin-notification@2.3.3': dependencies: - "@tauri-apps/api": 2.11.1 + '@tauri-apps/api': 2.11.1 - "@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3)": + '@tensamin/ui@https://git.methanium.net/tensamin/ui/releases/download/0.0.40/tensamin-ui.tgz(@date-fns/tz@1.5.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1)(typescript@6.0.3)': dependencies: - "@base-ui/react": 1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@fontsource-variable/inter": 5.2.8 - "@tauri-apps/api": 2.11.1 + '@base-ui/react': 1.6.0(@date-fns/tz@1.5.0)(@types/react@19.2.17)(date-fns@4.4.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@fontsource-variable/inter': 5.2.8 + '@tauri-apps/api': 2.11.1 class-variance-authority: 0.7.1 clsx: 2.1.1 cmdk: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) @@ -8822,134 +6154,143 @@ snapshots: tw-animate-css: 1.4.0 vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) transitivePeerDependencies: - - "@cfworker/json-schema" - - "@date-fns/tz" - - "@types/react" - - "@types/react-dom" + - '@cfworker/json-schema' + - '@date-fns/tz' + - '@types/react' + - '@types/react-dom' - babel-plugin-macros - react-is - redux - supports-color - typescript - "@ts-morph/common@0.27.0": + '@ts-morph/common@0.27.0': dependencies: fast-glob: 3.3.3 minimatch: 10.2.5 path-browserify: 1.0.1 - "@tybys/wasm-util@0.10.3": + '@twemoji/api@17.0.3': + dependencies: + '@twemoji/parser': 17.0.2 + fs-extra: 8.1.0 + jsonfile: 5.0.0 + universalify: 0.1.2 + + '@twemoji/parser@17.0.2': {} + + '@tybys/wasm-util@0.10.3': dependencies: tslib: 2.8.1 optional: true - "@types/cacheable-request@6.0.3": + '@types/cacheable-request@6.0.3': dependencies: - "@types/http-cache-semantics": 4.2.0 - "@types/keyv": 3.1.4 - "@types/node": 25.9.4 - "@types/responselike": 1.0.3 + '@types/http-cache-semantics': 4.2.0 + '@types/keyv': 3.1.4 + '@types/node': 25.9.4 + '@types/responselike': 1.0.3 - "@types/chai@5.2.3": + '@types/chai@5.2.3': dependencies: - "@types/deep-eql": 4.0.2 + '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 - "@types/d3-array@3.2.2": {} + '@types/d3-array@3.2.2': {} - "@types/d3-color@3.1.3": {} + '@types/d3-color@3.1.3': {} - "@types/d3-ease@3.0.2": {} + '@types/d3-ease@3.0.2': {} - "@types/d3-interpolate@3.0.4": + '@types/d3-interpolate@3.0.4': dependencies: - "@types/d3-color": 3.1.3 + '@types/d3-color': 3.1.3 - "@types/d3-path@3.1.1": {} + '@types/d3-path@3.1.1': {} - "@types/d3-scale@4.0.9": + '@types/d3-scale@4.0.9': dependencies: - "@types/d3-time": 3.0.4 + '@types/d3-time': 3.0.4 - "@types/d3-shape@3.1.8": + '@types/d3-shape@3.1.8': dependencies: - "@types/d3-path": 3.1.1 + '@types/d3-path': 3.1.1 - "@types/d3-time@3.0.4": {} + '@types/d3-time@3.0.4': {} - "@types/d3-timer@3.0.2": {} + '@types/d3-timer@3.0.2': {} - "@types/debug@4.1.13": + '@types/debug@4.1.13': dependencies: - "@types/ms": 2.1.0 + '@types/ms': 2.1.0 - "@types/deep-eql@4.0.2": {} + '@types/deep-eql@4.0.2': {} - "@types/dom-mediacapture-record@1.0.22": {} + '@types/dom-mediacapture-record@1.0.22': {} - "@types/esrecurse@4.3.1": {} + '@types/esrecurse@4.3.1': {} - "@types/estree@1.0.9": {} + '@types/estree@1.0.9': {} - "@types/fs-extra@9.0.13": + '@types/fs-extra@9.0.13': dependencies: - "@types/node": 26.1.0 + '@types/node': 26.1.0 - "@types/http-cache-semantics@4.2.0": {} + '@types/http-cache-semantics@4.2.0': {} - "@types/json-schema@7.0.15": {} + '@types/json-schema@7.0.15': {} - "@types/keyv@3.1.4": + '@types/keyv@3.1.4': dependencies: - "@types/node": 25.9.4 + '@types/node': 25.9.4 - "@types/ms@2.1.0": {} + '@types/ms@2.1.0': {} - "@types/node@22.20.0": + '@types/node@22.20.0': dependencies: undici-types: 6.21.0 - "@types/node@25.9.4": + '@types/node@25.9.4': dependencies: undici-types: 7.24.6 - "@types/node@26.1.0": + '@types/node@26.1.0': dependencies: undici-types: 8.3.0 - "@types/qrcode@1.5.6": + '@types/qrcode@1.5.6': dependencies: - "@types/node": 26.1.0 + '@types/node': 26.1.0 - "@types/react-dom@19.2.3(@types/react@19.2.17)": + '@types/react-dom@19.2.3(@types/react@19.2.17)': dependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 - "@types/react@19.2.17": + '@types/react@19.2.17': dependencies: csstype: 3.2.3 - "@types/responselike@1.0.3": + '@types/responselike@1.0.3': dependencies: - "@types/node": 25.9.4 + '@types/node': 25.9.4 - "@types/use-sync-external-store@0.0.6": {} + '@types/use-sync-external-store@0.0.6': {} - "@types/validate-npm-package-name@4.0.2": {} + '@types/validate-npm-package-name@4.0.2': {} - "@types/yauzl@2.10.3": + '@types/yauzl@2.10.3': dependencies: - "@types/node": 25.9.4 + '@types/node': 25.9.4 optional: true - "@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)": + '@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - "@eslint-community/regexpp": 4.12.2 - "@typescript-eslint/parser": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - "@typescript-eslint/scope-manager": 8.62.1 - "@typescript-eslint/type-utils": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - "@typescript-eslint/utils": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - "@typescript-eslint/visitor-keys": 8.62.1 + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.62.1 + '@typescript-eslint/type-utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.62.1 eslint: 10.6.0(jiti@2.7.0) ignore: 7.0.5 natural-compare: 1.4.0 @@ -8958,41 +6299,41 @@ snapshots: transitivePeerDependencies: - supports-color - "@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)": + '@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - "@typescript-eslint/scope-manager": 8.62.1 - "@typescript-eslint/types": 8.62.1 - "@typescript-eslint/typescript-estree": 8.62.1(typescript@6.0.3) - "@typescript-eslint/visitor-keys": 8.62.1 + '@typescript-eslint/scope-manager': 8.62.1 + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.62.1 debug: 4.4.3 eslint: 10.6.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/project-service@8.62.1(typescript@6.0.3)": + '@typescript-eslint/project-service@8.62.1(typescript@6.0.3)': dependencies: - "@typescript-eslint/tsconfig-utils": 8.62.1(typescript@6.0.3) - "@typescript-eslint/types": 8.62.1 + '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3) + '@typescript-eslint/types': 8.62.1 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/scope-manager@8.62.1": + '@typescript-eslint/scope-manager@8.62.1': dependencies: - "@typescript-eslint/types": 8.62.1 - "@typescript-eslint/visitor-keys": 8.62.1 + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/visitor-keys': 8.62.1 - "@typescript-eslint/tsconfig-utils@8.62.1(typescript@6.0.3)": + '@typescript-eslint/tsconfig-utils@8.62.1(typescript@6.0.3)': dependencies: typescript: 6.0.3 - "@typescript-eslint/type-utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)": + '@typescript-eslint/type-utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - "@typescript-eslint/types": 8.62.1 - "@typescript-eslint/typescript-estree": 8.62.1(typescript@6.0.3) - "@typescript-eslint/utils": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) debug: 4.4.3 eslint: 10.6.0(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@6.0.3) @@ -9000,14 +6341,14 @@ snapshots: transitivePeerDependencies: - supports-color - "@typescript-eslint/types@8.62.1": {} + '@typescript-eslint/types@8.62.1': {} - "@typescript-eslint/typescript-estree@8.62.1(typescript@6.0.3)": + '@typescript-eslint/typescript-estree@8.62.1(typescript@6.0.3)': dependencies: - "@typescript-eslint/project-service": 8.62.1(typescript@6.0.3) - "@typescript-eslint/tsconfig-utils": 8.62.1(typescript@6.0.3) - "@typescript-eslint/types": 8.62.1 - "@typescript-eslint/visitor-keys": 8.62.1 + '@typescript-eslint/project-service': 8.62.1(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3) + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/visitor-keys': 8.62.1 debug: 4.4.3 minimatch: 10.2.5 semver: 7.8.5 @@ -9017,69 +6358,69 @@ snapshots: transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)": + '@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - "@eslint-community/eslint-utils": 4.9.1(eslint@10.6.0(jiti@2.7.0)) - "@typescript-eslint/scope-manager": 8.62.1 - "@typescript-eslint/types": 8.62.1 - "@typescript-eslint/typescript-estree": 8.62.1(typescript@6.0.3) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.62.1 + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) eslint: 10.6.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/visitor-keys@8.62.1": + '@typescript-eslint/visitor-keys@8.62.1': dependencies: - "@typescript-eslint/types": 8.62.1 + '@typescript-eslint/types': 8.62.1 eslint-visitor-keys: 5.0.1 - "@vitejs/plugin-react@6.0.3(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))": + '@vitejs/plugin-react@6.0.3(vite@8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - "@rolldown/pluginutils": 1.0.1 + '@rolldown/pluginutils': 1.0.1 vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) - "@vitest/expect@4.1.9": + '@vitest/expect@4.1.9': dependencies: - "@standard-schema/spec": 1.1.0 - "@types/chai": 5.2.3 - "@vitest/spy": 4.1.9 - "@vitest/utils": 4.1.9 + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 chai: 6.2.2 tinyrainbow: 3.1.0 - "@vitest/mocker@4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0))": + '@vitest/mocker@4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - "@vitest/spy": 4.1.9 + '@vitest/spy': 4.1.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) - "@vitest/pretty-format@4.1.9": + '@vitest/pretty-format@4.1.9': dependencies: tinyrainbow: 3.1.0 - "@vitest/runner@4.1.9": + '@vitest/runner@4.1.9': dependencies: - "@vitest/utils": 4.1.9 + '@vitest/utils': 4.1.9 pathe: 2.0.3 - "@vitest/snapshot@4.1.9": + '@vitest/snapshot@4.1.9': dependencies: - "@vitest/pretty-format": 4.1.9 - "@vitest/utils": 4.1.9 + '@vitest/pretty-format': 4.1.9 + '@vitest/utils': 4.1.9 magic-string: 0.30.21 pathe: 2.0.3 - "@vitest/spy@4.1.9": {} + '@vitest/spy@4.1.9': {} - "@vitest/utils@4.1.9": + '@vitest/utils@4.1.9': dependencies: - "@vitest/pretty-format": 4.1.9 + '@vitest/pretty-format': 4.1.9 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 - "@xmldom/xmldom@0.8.13": {} + '@xmldom/xmldom@0.8.13': {} abbrev@4.0.0: {} @@ -9130,17 +6471,17 @@ snapshots: app-builder-lib@26.15.3(dmg-builder@26.15.3)(electron-builder-squirrel-windows@26.15.3): dependencies: - "@electron/asar": 3.4.1 - "@electron/fuses": 1.8.0 - "@electron/get": 3.1.0 - "@electron/notarize": 2.5.0 - "@electron/osx-sign": 1.3.3 - "@electron/rebuild": 4.1.0 - "@electron/universal": 2.0.3 - "@malept/flatpak-bundler": 0.4.0 - "@noble/hashes": 2.2.0 - "@peculiar/webcrypto": 1.7.1 - "@types/fs-extra": 9.0.13 + '@electron/asar': 3.4.1 + '@electron/fuses': 1.8.0 + '@electron/get': 3.1.0 + '@electron/notarize': 2.5.0 + '@electron/osx-sign': 1.3.3 + '@electron/rebuild': 4.1.0 + '@electron/universal': 2.0.3 + '@malept/flatpak-bundler': 0.4.0 + '@noble/hashes': 2.2.0 + '@peculiar/webcrypto': 1.7.1 + '@types/fs-extra': 9.0.13 ajv: 8.20.0 asn1js: 3.0.10 async-exit-hook: 2.0.1 @@ -9271,7 +6612,7 @@ snapshots: builder-util@26.15.3: dependencies: - "@types/debug": 4.1.13 + '@types/debug': 4.1.13 builder-util-runtime: 9.7.0 chalk: 4.1.2 cross-spawn: 7.0.6 @@ -9371,15 +6712,15 @@ snapshots: cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - "@radix-ui/react-compose-refs": 1.1.3(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-dialog": 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - "@radix-ui/react-id": 1.1.2(@types/react@19.2.17)(react@19.2.7) - "@radix-ui/react-primitive": 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) transitivePeerDependencies: - - "@types/react" - - "@types/react-dom" + - '@types/react' + - '@types/react-dom' code-block-writer@13.0.3: {} @@ -9642,7 +6983,7 @@ snapshots: electron-publish@26.15.3: dependencies: - "@types/fs-extra": 9.0.13 + '@types/fs-extra': 9.0.13 aws4: 1.13.2 builder-util: 26.15.3 builder-util-runtime: 9.7.0 @@ -9658,20 +6999,20 @@ snapshots: electron-winstaller@5.4.0: dependencies: - "@electron/asar": 3.4.1 + '@electron/asar': 3.4.1 debug: 4.4.3 fs-extra: 7.0.1 lodash: 4.18.1 temp: 0.9.4 optionalDependencies: - "@electron/windows-sign": 1.2.2 + '@electron/windows-sign': 1.2.2 transitivePeerDependencies: - supports-color electron@39.8.10: dependencies: - "@electron/get": 2.0.3 - "@types/node": 22.20.0 + '@electron/get': 2.0.3 + '@types/node': 22.20.0 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -9692,6 +7033,12 @@ snapshots: emoji-regex@8.0.0: {} + emojibase-data@17.0.0(emojibase@17.0.0): + dependencies: + emojibase: 17.0.0 + + emojibase@17.0.0: {} + encodeurl@2.0.0: {} end-of-stream@1.4.5: @@ -9740,32 +7087,32 @@ snapshots: esbuild@0.25.12: 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 + '@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 escalade@3.2.0: {} @@ -9775,8 +7122,8 @@ snapshots: eslint-plugin-react-hooks@7.1.1(eslint@10.6.0(jiti@2.7.0)): dependencies: - "@babel/core": 7.29.7 - "@babel/parser": 7.29.7 + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 eslint: 10.6.0(jiti@2.7.0) hermes-parser: 0.25.1 zod: 4.4.3 @@ -9786,8 +7133,8 @@ snapshots: eslint-scope@9.1.2: dependencies: - "@types/esrecurse": 4.3.1 - "@types/estree": 1.0.9 + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.9 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -9797,16 +7144,16 @@ snapshots: eslint@10.6.0(jiti@2.7.0): dependencies: - "@eslint-community/eslint-utils": 4.9.1(eslint@10.6.0(jiti@2.7.0)) - "@eslint-community/regexpp": 4.12.2 - "@eslint/config-array": 0.23.5 - "@eslint/config-helpers": 0.6.0 - "@eslint/core": 1.2.1 - "@eslint/plugin-kit": 0.7.2 - "@humanfs/node": 0.16.8 - "@humanwhocodes/module-importer": 1.0.1 - "@humanwhocodes/retry": 0.4.3 - "@types/estree": 1.0.9 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@2.7.0)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.6.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.9 ajv: 6.15.0 cross-spawn: 7.0.6 debug: 4.4.3 @@ -9852,7 +7199,7 @@ snapshots: estree-walker@3.0.3: dependencies: - "@types/estree": 1.0.9 + '@types/estree': 1.0.9 esutils@2.0.3: {} @@ -9882,7 +7229,7 @@ snapshots: execa@9.6.1: dependencies: - "@sindresorhus/merge-streams": 4.0.0 + '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.6 figures: 6.1.0 get-stream: 9.0.1 @@ -9943,7 +7290,7 @@ snapshots: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - "@types/yauzl": 2.10.3 + '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color @@ -9951,21 +7298,21 @@ snapshots: dependencies: detect-libc: 2.1.2 optionalDependencies: - "@fallow-cli/darwin-arm64": 2.104.0 - "@fallow-cli/darwin-x64": 2.104.0 - "@fallow-cli/linux-arm64-gnu": 2.104.0 - "@fallow-cli/linux-arm64-musl": 2.104.0 - "@fallow-cli/linux-x64-gnu": 2.104.0 - "@fallow-cli/linux-x64-musl": 2.104.0 - "@fallow-cli/win32-arm64-msvc": 2.104.0 - "@fallow-cli/win32-x64-msvc": 2.104.0 + '@fallow-cli/darwin-arm64': 2.104.0 + '@fallow-cli/darwin-x64': 2.104.0 + '@fallow-cli/linux-arm64-gnu': 2.104.0 + '@fallow-cli/linux-arm64-musl': 2.104.0 + '@fallow-cli/linux-x64-gnu': 2.104.0 + '@fallow-cli/linux-x64-musl': 2.104.0 + '@fallow-cli/win32-arm64-msvc': 2.104.0 + '@fallow-cli/win32-x64-msvc': 2.104.0 fast-deep-equal@3.1.3: {} fast-glob@3.3.3: dependencies: - "@nodelib/fs.stat": 2.0.5 - "@nodelib/fs.walk": 1.2.8 + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.8 @@ -10046,6 +7393,15 @@ snapshots: forwarded@0.2.0: {} + framer-motion@12.42.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + motion-dom: 12.42.2 + motion-utils: 12.39.0 + tslib: 2.8.1 + optionalDependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + fresh@2.0.0: {} fs-extra@10.1.0: @@ -10130,7 +7486,7 @@ snapshots: get-stream@9.0.1: dependencies: - "@sec-ant/readable-stream": 0.4.1 + '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 glob-parent@5.1.2: @@ -10172,10 +7528,10 @@ snapshots: got@11.8.6: dependencies: - "@sindresorhus/is": 4.6.0 - "@szmarczak/http-timer": 4.0.6 - "@types/cacheable-request": 6.0.3 - "@types/responselike": 1.0.3 + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 cacheable-lookup: 5.0.4 cacheable-request: 7.0.4 decompress-response: 6.0.0 @@ -10392,6 +7748,12 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonfile@5.0.0: + dependencies: + universalify: 0.1.2 + optionalDependencies: + graceful-fs: 4.2.11 + jsonfile@6.2.1: dependencies: universalify: 2.0.1 @@ -10466,9 +7828,9 @@ snapshots: livekit-client@2.20.0(@types/dom-mediacapture-record@1.0.22): dependencies: - "@livekit/mutex": 1.1.1 - "@livekit/protocol": 1.46.6 - "@types/dom-mediacapture-record": 1.0.22 + '@livekit/mutex': 1.1.1 + '@livekit/protocol': 1.46.6 + '@types/dom-mediacapture-record': 1.0.22 events: 3.3.0 jose: 6.2.3 loglevel: 1.9.2 @@ -10519,7 +7881,7 @@ snapshots: magic-string@0.30.21: dependencies: - "@jridgewell/sourcemap-codec": 1.5.5 + '@jridgewell/sourcemap-codec': 1.5.5 matcher@3.0.0: dependencies: @@ -10593,10 +7955,23 @@ snapshots: dependencies: minimist: 1.2.8 + motion-dom@12.42.2: + dependencies: + motion-utils: 12.39.0 + + motion-utils@12.39.0: {} + + motion@12.42.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + dependencies: + framer-motion: 12.42.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + tslib: 2.8.1 + optionalDependencies: + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + ms@2.1.3: {} - mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz: - {} + mtp@https://git.methanium.net/methanium/mtp/releases/download/0.1.0-dev-40e9423/mtp-0.1.0.tgz: {} nanoid@3.3.15: {} @@ -10742,7 +8117,7 @@ snapshots: parse-json@5.2.0: dependencies: - "@babel/code-frame": 7.29.7 + '@babel/code-frame': 7.29.7 error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -10785,7 +8160,7 @@ snapshots: pkijs@3.4.0: dependencies: - "@noble/hashes": 1.4.0 + '@noble/hashes': 1.4.0 asn1js: 3.0.10 bytestreamjs: 2.0.1 pvtsutils: 1.3.6 @@ -10794,7 +8169,7 @@ snapshots: plist@3.1.0: dependencies: - "@xmldom/xmldom": 0.8.13 + '@xmldom/xmldom': 0.8.13 base64-js: 1.5.1 xmlbuilder: 15.1.1 @@ -10892,11 +8267,11 @@ snapshots: react-day-picker@10.0.1(@types/react@19.2.17)(react@19.2.7): dependencies: - "@date-fns/tz": 1.5.0 + '@date-fns/tz': 1.5.0 date-fns: 4.4.0 react: 19.2.7 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 react-dom@19.2.7(react@19.2.7): dependencies: @@ -10907,11 +8282,11 @@ snapshots: react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1): dependencies: - "@types/use-sync-external-store": 0.0.6 + '@types/use-sync-external-store': 0.0.6 react: 19.2.7 use-sync-external-store: 1.6.0(react@19.2.7) optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 redux: 5.0.1 react-remove-scroll-bar@2.3.8(@types/react@19.2.17)(react@19.2.7): @@ -10920,7 +8295,7 @@ snapshots: react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.7) tslib: 2.8.1 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 react-remove-scroll@2.7.2(@types/react@19.2.17)(react@19.2.7): dependencies: @@ -10931,7 +8306,7 @@ snapshots: use-callback-ref: 1.3.3(@types/react@19.2.17)(react@19.2.7) use-sidecar: 1.1.3(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 react-resizable-panels@4.12.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: @@ -10944,7 +8319,7 @@ snapshots: react: 19.2.7 tslib: 2.8.1 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 react@19.2.7: {} @@ -10974,7 +8349,7 @@ snapshots: recharts@3.8.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@19.2.7)(react@19.2.7)(redux@5.0.1): dependencies: - "@reduxjs/toolkit": 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7) + '@reduxjs/toolkit': 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7) clsx: 2.1.1 decimal.js-light: 2.5.1 es-toolkit: 1.49.0 @@ -10989,7 +8364,7 @@ snapshots: use-sync-external-store: 1.6.0(react@19.2.7) victory-vendor: 37.3.6 transitivePeerDependencies: - - "@types/react" + - '@types/react' - redux redux-thunk@3.1.0(redux@5.0.1): @@ -11045,24 +8420,24 @@ snapshots: rolldown@1.1.4: dependencies: - "@oxc-project/types": 0.138.0 - "@rolldown/pluginutils": 1.0.1 + '@oxc-project/types': 0.138.0 + '@rolldown/pluginutils': 1.0.1 optionalDependencies: - "@rolldown/binding-android-arm64": 1.1.4 - "@rolldown/binding-darwin-arm64": 1.1.4 - "@rolldown/binding-darwin-x64": 1.1.4 - "@rolldown/binding-freebsd-x64": 1.1.4 - "@rolldown/binding-linux-arm-gnueabihf": 1.1.4 - "@rolldown/binding-linux-arm64-gnu": 1.1.4 - "@rolldown/binding-linux-arm64-musl": 1.1.4 - "@rolldown/binding-linux-ppc64-gnu": 1.1.4 - "@rolldown/binding-linux-s390x-gnu": 1.1.4 - "@rolldown/binding-linux-x64-gnu": 1.1.4 - "@rolldown/binding-linux-x64-musl": 1.1.4 - "@rolldown/binding-openharmony-arm64": 1.1.4 - "@rolldown/binding-wasm32-wasi": 1.1.4 - "@rolldown/binding-win32-arm64-msvc": 1.1.4 - "@rolldown/binding-win32-x64-msvc": 1.1.4 + '@rolldown/binding-android-arm64': 1.1.4 + '@rolldown/binding-darwin-arm64': 1.1.4 + '@rolldown/binding-darwin-x64': 1.1.4 + '@rolldown/binding-freebsd-x64': 1.1.4 + '@rolldown/binding-linux-arm-gnueabihf': 1.1.4 + '@rolldown/binding-linux-arm64-gnu': 1.1.4 + '@rolldown/binding-linux-arm64-musl': 1.1.4 + '@rolldown/binding-linux-ppc64-gnu': 1.1.4 + '@rolldown/binding-linux-s390x-gnu': 1.1.4 + '@rolldown/binding-linux-x64-gnu': 1.1.4 + '@rolldown/binding-linux-x64-musl': 1.1.4 + '@rolldown/binding-openharmony-arm64': 1.1.4 + '@rolldown/binding-wasm32-wasi': 1.1.4 + '@rolldown/binding-win32-arm64-msvc': 1.1.4 + '@rolldown/binding-win32-x64-msvc': 1.1.4 router@2.2.0: dependencies: @@ -11153,13 +8528,13 @@ snapshots: shadcn@4.12.0(typescript@6.0.3): dependencies: - "@babel/core": 7.29.7 - "@babel/parser": 7.29.7 - "@babel/plugin-transform-typescript": 7.29.7(@babel/core@7.29.7) - "@babel/preset-typescript": 7.29.7(@babel/core@7.29.7) - "@dotenvx/dotenvx": 1.75.1 - "@modelcontextprotocol/sdk": 1.29.0(zod@3.25.76) - "@types/validate-npm-package-name": 4.0.2 + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@dotenvx/dotenvx': 1.75.1 + '@modelcontextprotocol/sdk': 1.29.0(zod@3.25.76) + '@types/validate-npm-package-name': 4.0.2 browserslist: 4.28.4 commander: 14.0.3 cosmiconfig: 9.0.2(typescript@6.0.3) @@ -11186,7 +8561,7 @@ snapshots: zod: 3.25.76 zod-to-json-schema: 3.25.2(zod@3.25.76) transitivePeerDependencies: - - "@cfworker/json-schema" + - '@cfworker/json-schema' - babel-plugin-macros - supports-color - typescript @@ -11326,7 +8701,7 @@ snapshots: tar@7.5.19: dependencies: - "@isaacs/fs-minipass": 4.0.1 + '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 minipass: 7.1.3 minizlib: 3.1.0 @@ -11334,7 +8709,7 @@ snapshots: tauri-plugin-app-events-api@0.2.0: dependencies: - "@tauri-apps/api": 2.11.1 + '@tauri-apps/api': 2.11.1 temp-file@3.4.0: dependencies: @@ -11385,7 +8760,7 @@ snapshots: ts-morph@26.0.0: dependencies: - "@ts-morph/common": 0.27.0 + '@ts-morph/common': 0.27.0 code-block-writer: 13.0.3 tsconfig-paths@4.2.0: @@ -11417,10 +8792,10 @@ snapshots: typescript-eslint@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - "@typescript-eslint/eslint-plugin": 8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - "@typescript-eslint/parser": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - "@typescript-eslint/typescript-estree": 8.62.1(typescript@6.0.3) - "@typescript-eslint/utils": 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/eslint-plugin': 8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.6.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: @@ -11469,7 +8844,7 @@ snapshots: react: 19.2.7 tslib: 2.8.1 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 use-sidecar@1.1.3(@types/react@19.2.17)(react@19.2.7): dependencies: @@ -11477,7 +8852,7 @@ snapshots: react: 19.2.7 tslib: 2.8.1 optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 use-sync-external-store@1.6.0(react@19.2.7): dependencies: @@ -11498,22 +8873,22 @@ snapshots: vaul@1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - "@radix-ui/react-dialog": 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) transitivePeerDependencies: - - "@types/react" - - "@types/react-dom" + - '@types/react' + - '@types/react-dom' victory-vendor@37.3.6: dependencies: - "@types/d3-array": 3.2.2 - "@types/d3-ease": 3.0.2 - "@types/d3-interpolate": 3.0.4 - "@types/d3-scale": 4.0.9 - "@types/d3-shape": 3.1.8 - "@types/d3-time": 3.0.4 - "@types/d3-timer": 3.0.2 + '@types/d3-array': 3.2.2 + '@types/d3-ease': 3.0.2 + '@types/d3-interpolate': 3.0.4 + '@types/d3-scale': 4.0.9 + '@types/d3-shape': 3.1.8 + '@types/d3-time': 3.0.4 + '@types/d3-timer': 3.0.2 d3-array: 3.2.4 d3-ease: 3.0.1 d3-interpolate: 3.0.1 @@ -11530,7 +8905,7 @@ snapshots: rolldown: 1.1.4 tinyglobby: 0.2.17 optionalDependencies: - "@types/node": 26.1.0 + '@types/node': 26.1.0 esbuild: 0.25.12 fsevents: 2.3.3 jiti: 2.7.0 @@ -11538,13 +8913,13 @@ snapshots: vitest@4.1.9(@types/node@26.1.0)(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0)): dependencies: - "@vitest/expect": 4.1.9 - "@vitest/mocker": 4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0)) - "@vitest/pretty-format": 4.1.9 - "@vitest/runner": 4.1.9 - "@vitest/snapshot": 4.1.9 - "@vitest/spy": 4.1.9 - "@vitest/utils": 4.1.9 + '@vitest/expect': 4.1.9 + '@vitest/mocker': 4.1.9(vite@8.1.3(@types/node@26.1.0)(jiti@2.7.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.9 + '@vitest/runner': 4.1.9 + '@vitest/snapshot': 4.1.9 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 es-module-lexer: 2.3.0 expect-type: 1.4.0 magic-string: 0.30.21 @@ -11559,7 +8934,7 @@ snapshots: vite: 8.1.3(@types/node@26.1.0)(esbuild@0.25.12)(jiti@2.7.0)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - "@types/node": 26.1.0 + '@types/node': 26.1.0 transitivePeerDependencies: - msw @@ -11567,9 +8942,9 @@ snapshots: webcrypto-core@1.9.2: dependencies: - "@peculiar/asn1-schema": 2.8.0 - "@peculiar/json-schema": 1.1.12 - "@peculiar/utils": 2.0.3 + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/json-schema': 1.1.12 + '@peculiar/utils': 2.0.3 asn1js: 3.0.10 tslib: 2.8.1 @@ -11693,7 +9068,7 @@ snapshots: zustand@5.0.14(@types/react@19.2.17)(immer@11.1.9)(react@19.2.7)(use-sync-external-store@1.6.0(react@19.2.7)): optionalDependencies: - "@types/react": 19.2.17 + '@types/react': 19.2.17 immer: 11.1.9 react: 19.2.7 use-sync-external-store: 1.6.0(react@19.2.7) From 19ef13f068cc4de13e6e5b39b348b87281f2716c Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 11 Jul 2026 14:54:04 +0200 Subject: [PATCH 74/75] (qol): update todo --- packages/chat/todo.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/chat/todo.md b/packages/chat/todo.md index 47f595a..fd2fa5f 100644 --- a/packages/chat/todo.md +++ b/packages/chat/todo.md @@ -8,3 +8,4 @@ - Confirmation when exiting with text in the input box. - Add arrow up hotkey to edit last message - Drop any unique reactions above 10 +- Make the emoji picker not get moved with the mini context menu From f898da653b05c2ed98e114ab155c6c8fbbec0aae Mon Sep 17 00:00:00 2001 From: Alois Date: Sat, 11 Jul 2026 19:57:43 +0200 Subject: [PATCH 75/75] (feat): remove mini context menu bounce animation --- .../src/components/messageContextMenu.tsx | 55 ++++++------------- 1 file changed, 16 insertions(+), 39 deletions(-) diff --git a/packages/chat/src/components/messageContextMenu.tsx b/packages/chat/src/components/messageContextMenu.tsx index 6fff9f6..8893ff1 100644 --- a/packages/chat/src/components/messageContextMenu.tsx +++ b/packages/chat/src/components/messageContextMenu.tsx @@ -36,7 +36,6 @@ import { Trash, } from "lucide-react"; import { cloneElement, useMemo, useState, useSyncExternalStore } from "react"; -import { AnimatePresence, motion } from "motion/react"; import type { MouseEvent as ReactMouseEvent, ReactElement, @@ -296,27 +295,7 @@ function MiniMessageMenu({ shiftIsPressed: boolean; }) { return ( - +
    {quickReactions.map((emoji) => ( )} - +
    ); } @@ -599,22 +578,20 @@ export default function MessageContextMenu({ onPointerLeave={scheduleMiniMenuClose} > {children} - - {!hideMiniMenu && activeMenuId === messageId && ( - deleteMessage(messageId)} - onEdit={() => onSetEditing(true)} - onOpenMenu={openMenu} - onOpenPicker={() => setPickerOpen(true)} - usePickerTrigger={!isMobile} - onReact={selectReaction} - quickReactions={quickReactions} - onReply={() => setReplyTo(messageId)} - shiftIsPressed={shiftIsPressed} - /> - )} - + {!hideMiniMenu && activeMenuId === messageId && ( + deleteMessage(messageId)} + onEdit={() => onSetEditing(true)} + onOpenMenu={openMenu} + onOpenPicker={() => setPickerOpen(true)} + usePickerTrigger={!isMobile} + onReact={selectReaction} + quickReactions={quickReactions} + onReply={() => setReplyTo(messageId)} + shiftIsPressed={shiftIsPressed} + /> + )}
    ); }

    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

  • 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