From 22073b71e1b9e9c64ae3c9282eadff20e832d795 Mon Sep 17 00:00:00 2001 From: Rokas Puzonas Date: Sun, 12 Mar 2023 19:31:06 +0200 Subject: [PATCH] create manager adding form --- lab1/Lab1.mdzip | Bin 0 -> 159805 bytes lab1/Lab1.sql | 481 ++++ lab1/README.md | 9 + lab1/script.ddl | 155 ++ lab2/.env | 1 + lab2/.gitignore | 1 + lab2/.vscode/extensions.json | 7 + lab2/README.md | 7 + lab2/database.sqlite | Bin 0 -> 143360 bytes lab2/index.html | 13 + lab2/package.json | 32 + lab2/pnpm-lock.yaml | 1586 ++++++++++++ lab2/src-tauri/.gitignore | 4 + lab2/src-tauri/Cargo.lock | 4167 ++++++++++++++++++++++++++++++ lab2/src-tauri/Cargo.toml | 26 + lab2/src-tauri/build.rs | 3 + lab2/src-tauri/rustfmt.toml | 1 + lab2/src-tauri/src/main.rs | 83 + lab2/src-tauri/tauri.conf.json | 49 + lab2/src/.gitignore | 24 + lab2/src/App.svelte | 29 + lab2/src/lib/Greet.svelte | 21 + lab2/src/main.ts | 9 + lab2/src/routes/Factories.svelte | 1 + lab2/src/routes/Home.svelte | 2 + lab2/src/routes/Managers.svelte | 34 + lab2/src/vite-env.d.ts | 2 + lab2/tsconfig.json | 21 + lab2/tsconfig.node.json | 8 + lab2/unocss.config.ts | 14 + lab2/vite.config.ts | 47 + 31 files changed, 6837 insertions(+) create mode 100644 lab1/Lab1.mdzip create mode 100644 lab1/Lab1.sql create mode 100644 lab1/README.md create mode 100644 lab1/script.ddl create mode 100644 lab2/.env create mode 100644 lab2/.gitignore create mode 100644 lab2/.vscode/extensions.json create mode 100644 lab2/README.md create mode 100644 lab2/database.sqlite create mode 100644 lab2/index.html create mode 100644 lab2/package.json create mode 100644 lab2/pnpm-lock.yaml create mode 100644 lab2/src-tauri/.gitignore create mode 100644 lab2/src-tauri/Cargo.lock create mode 100644 lab2/src-tauri/Cargo.toml create mode 100644 lab2/src-tauri/build.rs create mode 100644 lab2/src-tauri/rustfmt.toml create mode 100644 lab2/src-tauri/src/main.rs create mode 100644 lab2/src-tauri/tauri.conf.json create mode 100644 lab2/src/.gitignore create mode 100644 lab2/src/App.svelte create mode 100644 lab2/src/lib/Greet.svelte create mode 100644 lab2/src/main.ts create mode 100644 lab2/src/routes/Factories.svelte create mode 100644 lab2/src/routes/Home.svelte create mode 100644 lab2/src/routes/Managers.svelte create mode 100644 lab2/src/vite-env.d.ts create mode 100644 lab2/tsconfig.json create mode 100644 lab2/tsconfig.node.json create mode 100644 lab2/unocss.config.ts create mode 100644 lab2/vite.config.ts diff --git a/lab1/Lab1.mdzip b/lab1/Lab1.mdzip new file mode 100644 index 0000000000000000000000000000000000000000..c673a8b8d17b76cc566e57d9a3518a1a30fd75e9 GIT binary patch literal 159805 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
x9f0JHi=%w-WSe&@$M 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 z zn!#{v5Q=Md#L>uFJ5LjSd1s;6U*FKrD_rZviEXe7StIp5aV+Uh-%1tUH#yDhQj5?> zvS_00ts6B$-Bc_DrsGFzy;X(=rSbUpy$FS@lM7Q#Wp*^0Sg&u&e*VSZm4+;GyDP=q z`@Nzng7d2JxAi_Gheh&MWYhyPN<&;%HWCpu2$SGU^V-tXChnBX@Hm>RWi)HBh$_Ed^ zb>6k@nHoVNT4rct={$gR_1hrCI7L;Rz%`+m(V6?nI|JjRkB&1J`}$?ajI8GCi)N4} zl`?4h`-rwYx*T88QrV!bm%&iD`eQ+;mrSdvsfT*=%JH32(Ra1a`4PiuS~<+r%!zw= z;BSEruw_g)ue7Jd#UERL+Di>~KGhwsF3%H>)nXlJn%VQ)zTjBCLx|DmQFLb@{Aypo z55uSd77w=X#W`OXc;Oir6dDTRbc0CyEA3^cNyh*aJ`$}IlXT4;<-Ig&&Lqyjj_hNx z^X)S*^s$9*w0jG(?C{AWnv$l#^aF#XviY$^L%P>Nsz7XX#w}(ZD7P081gol=fu~nF ziS?89)Cb6pA}b+vWGm5NFa_>QZ}t+EOwp&6Czmsgtkd6y>qCMBL$c%h3%y{_Y45on~!?Zpch;xv!m%cA$fW(F*D{RcIorbN8dy zh|r0i#3D0|cPltMHIK~v6064?h7C{zWdM00wmHN`B~S@D06L6(hR9;LX)Ij8c#(}% z^7(|s(G$P#Q6NO}#aTVIkELi5SFhdin)t@I^tA;WMQR)Co<#9)*%NS$$Cru((fb0Z z^a;K>vbd%;0Oo<%eFfFt-6+rV^F4c&HPwb65BbRc3onvLIp}20N#=UL4~(Awu%r1*8I02cPbigzl%QH?PSC#8-W^B$_cZZeKzf&bX@lp0$hL~jCU^1%ah7J%_ z8-p4Tc$f(?1EBy$aOx}frJwS@-{!6i zmd2_&LIg{))$^-;;$e`iH^;X0_iwSa_cG(G?){c9SBe~(_^JCn$$Pv)FWf1)DVuKkPMI)?0WqeLjWtY%fRRe(yEzZXW=2+sda~yFedr zbEVp~gUM?G#R%S@{`y>GUC#{nH~4E+Vo4P+<1?)2;_m#G&{PkSx#EWOYiUSnAX|{X za2hB<2T|HXBqJ8=XGt!wZxZR8!ox6oO>#=SOunA^#fFxYY6W!WA4Vd=5SLVgZtRfY zisX-4u-)WH@09{PnXSc|BcSc>O}k{0?kBP|bMJncr2c%UeZBYr2%Jt0Yx%TfK7U(9 z)%S`S1)YZI>Lm>3T5N)weglqm+Y`e-!HTh3pN77JhZwUiy10C&xM2CaxSvCU=CYg( zgEw1V8_rxS+K=POdaqONY9127IwL)0o#LvAfFKWAkDH3nTES(%o@|!&$e3jElHo~*srB}u@hV*4^ACD zknjvOSHjg=dE>>l+{w^p38FT3tEHCWO+iW;zpfi)QoFt{B-nz((kVt697Ci6VXE%ck9YUKpFbO!osSEDaI8g=tF6!gc!%U(Feg+ z6tlEGi<#gJf=`7kv=r8NY<1?fMeR*U@t=TWy43fx-dDOij_=olxmz4%t$fHNY+KT0 zjsdIAvsY`@$M)ijGP2s0?We1Lf!5J67y}Ne7GW*(omkq2nXAOZvry=fdA_(((KYDq zWRWeFLvkd>Yl4zLQ>)oAQZ)jAr7@x9v3gdIxO&MEt-MiQk^T(Loy`~bwOBw#Ve;76(z z>;T7!=SC!dLq?*m14xjiMTyT&q>R}vT73XoT^NP=tGq)>EiZw81FvY^vmF3GzX@{A z$#LG3S_xDaiBJqjSdEriYDS!4<77>rz#wr+?l+49ll%9?CTizHz|TR`y8R^V>oL|h zO>^I;PP(9pVn*mHH9fb>f!a}lzRKJ%k62`s23FR-eD0sZHvaH@(Y730pJu`c&zb^BM|u@ z{lpu-iaG zblh=f!P*&;wfW{ze+STF=_+d79$9Yk599L@qYzq0&~{l5{6?TgY_m*oiDI!OTJ_h5 z7GkVq!8C>4wh#PP&gay6W2h^m7OBgJpYg=CStWK_{8VbZG9!T?`I*0EvY=8A^9kiR zE-=@#P1_5 zLOKJ!13!QA568t&s?GM}tH>ISPoR$~f9kph4-+L-W+`Ie@9yaS^63>C;Y;JU zJ8~DNH>RytY@_yg-xc&Z`P>L!z8U{k?eP@}>!xK#eiGhuGErJGgc4tf;frt6My|%H zuQozR40fm;zlLp(1Q94Qox{-I_*$wO8;>MJzHsA!AG_YI=D+@fd;V&j2UL8*>^n9y zmu-K$Cm9XL_Wt?~nDc5`)^{nW!+dUO4M&!_efyEx)^^1H3TbF$7^$JzVS>D=QCwKr zdw-(qOfIt3vnSEtbCfg8>$qyj08M?(Gzp;ejlB`RRPF@2*dQIFQq=&LpJLQLFU3(g zj+@5ut@4j@y*b&?BMt9BTT)F{1C@^v@6SL^XDu2D?}x;k7hmudPB7KL1cudMafB!D zm+)@_%cQ)j;&%H{D?bYUyR8!meBzy8+P#DhGBRgjO!84w;T-|SJk&p%%K3mhBu>~i zRW>kC;rd-Ec-ENGIYg%me9+unl5nRhUP2wmBW573fhUA#PUDq{Ln*(eJU7f`C7^TW zxvpbA9*UI;hI#Wf$v7xpl|C!R;grc(ng&1B;f4pEo1akdm$yCNb(>!wH>{pynTy~F ztybg~ur{Fia`Ultao4_>N~l*1nv?e&BVE;7fCc%0WN)u?FK3u4MQSP($G7=YS$_lO;5k3H!Khj_wfhMbZ#>5emtH{l}Ux?&OQw z>i4r*YpEdr*4cS1%L-(Rb*>0~2?M;FC<0q}SNIv;7v6roxVKxcpY+T?qmxw-aVW^# zdo4(IVxFcDYKp17V$iP5gzPUjJhb=$8l72xdC-&vxvLYOES=5SD4#97$*tuM6 z7sv}RGlGF1?XNX%*`j^R(aDIhJnUDawW(fr7+%_=1 zu_w_+s+$}{_~AWko9@%Q0Yjp5uXST@LO*v9-cEfy@Hpu?O4?4bc{8q=Q3Y8vqP7q^ z<+PtpCp8C7_Wd5>L%1!b1%6`tNb^a48)pusJgt%ti$bV5N1EHtSJOLljFq}DX6hxV zl0KvjAATTtCp#7kO-sddEMH<)q2bRl(QF3LwT`$Iu}ZG4Fflm|faGuiL&D#U#dn zCYb%$%`&5z$n9Sn0HtgGf9w5)v~pz`I=xBoSKJev_O>7vU(Gc-#Z(=sq@D&nk^VxG z4?OY^%Ppf_tXjc4TKJ}Qar_b}h9b=mRaoVM(u{ouKaUKGIzQFm&}jLf8-e1@r%V(n z&ZMkwooMuqEz5$D%1L#%#0cH`qr4632E9njV9@Pp@)_ zxEhR?UJy^J@($2%HWsBvTWE1uAK-P}zt6u6N3CC9PUp}3dY~t59L_y{II?AGiTZ)O zQ89Cq5gmEqDm%aYkqrs04y_Rz6@io|LOz0e`ln5NDSqN0XXKeBs_b#2KqtvG@%TVc zt`-llU*y7l)VWkEmmOkuq`~((9};*`o`<7YG+rD4p1_VLQ|kvGzn`xz6XU0ns&-Di zvY}tZ{9taubOJ3HHgCI-4KoI7bT7M=D*pI3k#QHjY>q5Acs>?;p zgQ{Bcd$>EhtO;pOf8K_T;D8M)7&7uU{Lk9k+M~H*@*c!Fh6H(P2~%hQP{h0Xcu;k$pmxm`LSHOx58u7o5(=_I z5nG;yLCGvG0;@yt@4yCQO#%u!lWvXJvMGnDyRFmr0J4wz0*weu`WWNvq<-Z!H?DBo z_W{odZntDeiCG)IUVKgoi2?Cog(0g>l~+AuI(%8O9laPaKh{|7<8Wy*kdGzOs7KQwVZHp|kBbK@@t{y7<5W`r^bNJ)ezb~`V zzfwNAjv+akaMSx~))4w|q}3lcxK$*s{^Bjm=Zc;&>R4X>!T9CyS%I0xyh8;;zgh%M zyLX_N9DxoZ$GhIQGzgZ_42AgAnY0A6j()0*~S=$+>2@4%7UO1|%z3Cr!PbIfoIduX{ORcBssX0pdSY8ixTF<;;j z|Dt4r>5blq+Jb+GGy|pXF<2K&KYHc;BilQ zJ!m0z=eA}ew4?h|e$XDh3JKRRjMJyIUO68cEJ>BGwby-JJo4O6U|T2n+*aNGPg5F z&hX#OrMx7uyMgXIL);VvaLqRg^NOIO?pXKndt!iIMHDyf`(rdqeGyZXi^KP}f6RlH zCyV*VJm`g`-7sXH!8Fq#tCgFlx)eOVBpF$F#rnuqE)ub9k-q>55MNX#zUjNQX2iUkG2Rga?}INc6MS+hAqB3(BO^_ic6mv05X`nt63lE7 zZy`UhzAro6jz81RkUea;`3ahZ4+6zdI0&^r?jGTiKOZy5dNb)f=O^??99S2I3cbMn z!@XqY+{j8<$XkKI(%4e?x!xW*3T&3lU|HmjfohL1=VxFQnRM(H$#UVKYUp4uRWcE$ z<|Ai8yBk}3_o6iB)LpmoUE7sxy+`uJP(Cdd;y~+ ziDgy2gXKyN-dnZ?gMVes&9Cm6?^CMNb;5N{ik8vr19z0~WeJq>>{QW1_e(Q%3DFb$ z;a7DyGt+qQYip=IbgOx7G$n1uJrxTSqQR3QGRwC2DZr-f1kKJ=b-*v`GDizc^D&bC zCE!<3Nj4M0HUvXx>i3jn-|p{mo6uJeDADBxeBF zeWC}7jsL+A-#Pzulsg8HfA!DaH_UkTz}`<;l=lT;H#+|s?odMx3RcS#ls-04>x+Y9 z)eL*{t=0|Y&ok&tjSFazZiaHf&fB`v#-UxPK%p?KNa)5Pu@eP6a9$WpuQTt?Wykk! zrKpUV$4nnxP{FsNGVapO1$eiaXxO>eP!q+on=Tof6;`(bUl3*>#8Pw}%hD$AJ9SEY zMCB^U{$_!f0618p7vLxiRkEU<^J&2z1d_S&N+)4qnbYZ}LK_2G-P!9$oyNB1HUBUK zcmR9z_mo5>iu-SOV>Af3EKsQNr2Rj57b7kQs1e{;>|KBJV42E`{iVXMjtE@a;X=Kc zlRj&Xh3NZG^Ow49iX)>YX69x5Uvz%M4VyFH%tUNL%s|W^rWyCHe-TQ|PTBGO4lax^ z`B@ybWIry!%ceApNmn9KS~vn{ zze-r^`Xe~bySyNZJ)? z5e;Piw*G>|X6-m0u4lLUGi`w%DB*45Klq)4Q`<>W&G+-xl!+cc(+B^&^fQK_k2!-@ zcq(8Mcz?Wb$}QDj87j&CD9h%a3gHt;6Hx_EQ_fAQY)NiHFicQfDUKVZVQoAa91fLE z54ZWZ*$~~DXnc`#OJTf9r|vI_0Q1XHAvpXNLBA8`OU&ytpV$_?F8aody3DAoQ5A|@ z%M)Mq3#v>vTsGhK#SQz}G@ddvvcFza+=0@tibzW*b~)iS`I%ZUy9NPT&Q^aN!T5U6 znZyN}Tr2;4FR7A=Py+)_qsr<4i;s0*H!wFh&_`QFz2_$E8bEO}^En~jUN3R(p}I36 zqlTX+f^MVA`8M|1x!TC3ZGscqL5%Bw5nlPw{Z{X`E*wlA^5NLcGakdR^|Z%MOnG)= z_y2nsuy&4dD@5*N?y&j`Uv^UOT7R&`D3<7U`g?qr;nrqjfhywQO6VlUc^fD8Lz92u z3_m?$`%spn0$H=6gu*FRY9IYDF-_UOZ%BwjNjo^l6xt$_dsrXVtNyeWn%O|#au`U; z&#rS+jPhZaY@2kov8X(Y3XA3ht=L{(llG*sg&k8mnV72|!PiZ@fo)mH_DHCR7jfl1D$`?mhJ998xrA1th*4 zbynB^n@hD#D&?=M_b9)&71zisv6g@@FJf+D@*|LZFXt0?%eth%)wBM$yiA^M!l3S=vv7uXX}VhHUlU=ou#~ z`N9-YX@qPuLLRRt4nx21}wzi4rQB&%D34_RFsmw+s+MiIk__ z7?AseKqlh0gjt?d2_D(ULRPdYun&fY@pSzqfL|&EC~q5saD}NdW6T+>BM+)-X~RhU z{8;@(&nvLaIz`*+mmYRPpsI$6zEvHHQC)WZ`AlrkMz zrjO5&yFX=tKc#LFM*5~%qyuZq#$m!rk-6Q%v#dvut>3gAxrb7Dock2*h z1?=XSHc=#CkZD3rDtyuN`0K{a4i`0=i~1Y48t}f^7%}_w?C=RCi`+Q0W$>aOl z#QsQR9*S>6oPReD`K7MjAOyc$XgSe6$)%)Jeg>RtUt662*=LcWJBgU|WXUak@cgK+ z>Uw9kP!*dO$cpL@trY!Y`Hr%BB=?;*rRgbMC@pT1q9ad%B!8%vjh5?Ozy5 z0<4hhxKtm^gdMEcD!+p#2|?Q$R{h9|Lg|oWL66aC={*H~t`!61oxAGUZ7WtT1nub6 zKdRi+1)!Hfg*(xnj%9b}H?(=bP3bXRT6CP)zj1G_-AY6<+x{ujA9H1q@f4^yVm)8i zz7SimATYGg`cSPanE9MEv%@?@n*G&7P`(FW=w4Q#7qCM3)B2DPzU6}zXXD+lwM3ha zN|6{^kY=>^>*fpKY@wQY4f=ho@^3B{qbnY4S$UW)(-~x=0V!VzOZ$4wFN(c(VA%7M z+@tQpWd~fnY5BpVcPFZQwVrrU92H+l~k!(1ATMJy02=quX`x&H^zUU1*!@1{$E99%+jf+^*Ivww0dSlf%sw``1kvv9ZR{J^@_I8p2C6;0 zr$3~>ogAY=9D0mfTGLHB@>&lPgNSA20wXI>$_lZnZ1-?Kf-D*L)n9rf?xN_9tP?I$ zVxt}*r19bEm7#nEuwgOFBeg!sXm-l_#e9d!s2<7O9T7P!2Cv@DV8bmK7KgEdrn~Wu zWRZTeI;KEG2d!8>AV>+kQ$>OP_|uQz<49MP>N}Iw)L+feEt-T7N)~EcI_ghWQS0ey71|Vn+m{m;K z@7j#P#D&Wv{z7N_jo`WC&FtF@#{a&X=@5K+#Y!o}`-O7898)~~w8V!-VhDV%|0`of z^?0}%{ytGHvK74$rK#O`8z#%^L#jIM-6LwI4 zL63PsALRBbg3zl6x9tw%sWET8Qys%&vWQ2(fxmZ1#tp2A4OIQLJJYZ%KF&prQJJc4 z;Lvkb=d>3s06Uq>Xu6GqDV|Od*+0$pt@RT8`IVUi(I&^?zB~ z2$}_HozI{2A@2hD>kev$nf5SYfVcS3s3WWYvahCo2d3Bv=orn31OI+&i~nA-)@?Ku z`c-PAWkXeJ7EW!g0LSNj3y$!tpsxALSCmH2`?-N>NJUPAj3n$prsIQBHQ~$T>a2_x z`Z3DtsKPb)`!x`enER^yk|YeLQ>I-ppf--@4V>OPMcYP+kXg&6TYWpyjUc={<+ESI z>`=I9jJ~u<3xQyS1kX%3--6#`J;#LMK?3&l9_WDIhWnNrD!wWX589GFn0QB)e2?>Qy0{c9n0%q3n{2$!-NUp&uD(u6yu60kE9nQ4d2lvVz{ z(+uiTB<1#T;iMjYB**MnmT3smPo*5dh|^FQ7omkA*rg@4r=m@_sz)WDJl`H<9rD1VnPTDl)mJM!oY2(m#b!zEA-om7D($N4eR4Cg0m z&Db87aFeD?$LD3RbMq#MY~Jzs0Bd<#GwS~J zuNr=LjW&A?C&P=HRmuCnHcqMTMUi(C3pK|zPTG4>g>=A(-_RyvzLs&l&cAJ|qZ;bt z;~+Mu9bN)8?_SuXAeWH_{?)@FQ*Qf|&3`A#V#_6%hz+yt^M+*Je|pJ4#FlWF3jiMe z!?vv2+tJQqGmvX&So**pAM7x`;Bm9aMn_ZkYCR85W@MRS#=`}ix_2f^by7b|73;gnx){^1ZEKWbT$bv_LS zZ%+pFI~;YAhRH4b$)|g~x6a+W=y-rGa6KX83Qs750Al+R9MrPjBF@@bZN*L!yxFgP zlA`YQ2gRDme@3>TF||EiXGnCX$YQ$llTa(W>@9q>qpFs_+0_CPC|#M#>LpdLxv4Wi z7jPK}h9RG|n=VZ|VeL>2`hC@T9}5Sw-+Pl6ZIEu0rSaTgtTe1_OP`rCmKTd0iuzQ> zmh)4=ma$T1zU2*LBnW@KM`0el>dJYVj&1628rIajo^)|fT6Egrs2?M|7IuwkZ^dMr zojZ0PR;_frt9QE_Z2}mO%jTQ38uK!C?%j6&6zdcywm5s?0F2dnDh85$a^_~{wK7qj zOpWyER&bJbS0q?{SOsvwoN8gsU<$T)ewo^nAi;@g!bYO&mC)Yi|5P`tX9i&V*Um6x zesVSZcs5C!DW~HXdSw8xgW|t`R5uI>d)`mXGj@O8bAAqdK>tH}KhV6q_woV)3NQWN zxbhbNNbmo^?XGTgmNo_eOI_Xn0_;gmS&RW30A^-ZeKvL@ra#R39QuYF0OLQb#te)c z?7H?w4mM8q21dI7*zcr<|K-G!8XB098d@1S0<3HdjVwtG|BHktHFU5B*gBZnI4-H1 z+3b&^e|;CeA&`mQc!73wW~`i{L(NKu{Dvtkc_OW-o!A|OG02ELTzE9Y{ijU$W|^+?t||j?b-|{lf1@#`XUwZIB6Mn=&kpE+-fJTZJj_d` z?4F~tL2A^)#id|TgTzseXUrp*wOPRdT{>*}dfTDQD7S{rm4_x-oPd*oy8}aOO=bfH_h!UW+6I}s?B^C&sjDDZg3pTbp|$R_IfOX z&(Sr1b-6HFoR-MQr1(>NTY_9fD3^cPC~QXsuTmx-LLdvQl8G?!0LMhxHA zH6ZzC%mohRdV;ki=9Q(g9!>=JS$Owav2@!T5Yqj2!Q@jzNcQQ-SrTa>SGg;S?!vDP z^v=B@L3slKP#iIW`!@xt@_f)IV^)b4w$us_D7D}*72-k1u$t&lG&93>tx6}s84w3r z_PB0M)E3Ic zgQ8S|DcZ&(?0D`a#`oEv;g%YBchi0~+daEsfvzk#g=L=R^^kVX=099{bdUc-h0*&) zennMdi3%K#9OMadW-g-|Zi1t{P|TpNz#j=Og1{Aifa-a~Hkz87|3)md$XD{nxIfrrs^$% zI~xeGOkmRgH ztfE3zR87QUG!#*E+Gv7Oc2teml5ol&zu8-N`_LJ;koo9NFIPozdnI3~ri;3@sty{V zl-%N01c2ff!iq1Ftu;C-4wvgw6<6ZwYf67>u041h1gJ6(o56mojNujBb}By09{h^&)0`S4M?Q_aEVa#5xPRC` zCJUX`VYcL(R>l9G>sz2a%&2SR`^|!Wt=y{M1v{-xC1$UL+pyyp%AeqYsgF&afSL~IxqvCqG{jp-Gy`5$3}-Chh5s>)yNIJ z7iUYrIo18EPTOW~+32N6$mgX*BUemz?4VwF6CZXCAXp`-9O2GB!#jQ zln^T$87^65a{46agh*v#DRFdtNy2gDBvT^k12tyeRe-`XF{U-@$qV9nC30YUhOt64 z)&iq_>WulxfhDk9d( zMy`7L6ybknFs6U^;REHR!s51yr`Z+bEt^y?PF1C1 zry)*=iQ+~}gZf=TO6DRFyc%x$f$+(2FWJdrVaXl8a}W8TXDrX?V*kq=HWC*K@GFhH z-l=)SvDJhfvg*Tzt`ZZr;xDcu0Ip(5Q*gYi7~Up1m)C_mb9+;_mP>n)1fM^NkK$_vynT}QB;U-< z^6$GcA$pADgi7}ljJf*OE#1dTvy=B?Htb|NsX97|<*C=wd7Hks10hLG$I~pljTW=V zAlUPbx@%E8{`s#^g95*~$l^i)l$%sk?BxtGv#?(`cX8?W<&f6y{*-ax z%l5;Q&{74~RHQqbDTKD-_Li8PvnD~$=Le^Lv_sYeMW=f!%K4;4eD%dE z4kZ4_-Nh_g54;2Ld-7gRrA zkLH(3QP0mSLR_DR1|&PLL5=+zX$2{O^6Ma_r?JZE+aU|S#}?LLmR4Kr(Lo&I%ceTm zSz9RA?0W_aux-a#jjaCCg1F;q7*fed5f*6<=W$a$B)K_ssz-Kagn5xEaH9a`>kWJ2 zHptX1-YmWDAyYJiQYT%LD3%bf<=_)3W#3wb;G_DKCcEQsy9OvWY_FD$d{id9u?BS8PfCE-&05y*@#fhB z|CRA3o_WV(|MX^z3c<7|Qw*@VJ4xNttxhBISf2x3t$yQ|tv>sXgUlRVF5=X;wltRIkPcl1;Md@Nt1+-|&( zwbe@_;;#I8w_0Gh-kI54*x`kJVH+Um>(n|7RCAecB4mvkvSm1o#uV3`AXgb7B%Ts- z2zS2ErtGYs#KzT;SBNg$<-KQvuDgN23g~XjX`0qpUR=bxhANv>{ft(z;R{vm+2XQu zPO0jbw~k>5wC4Z{Lb`}m+=$i9Fab;bNjtf#CmJP`(B9kz6)j>9rxF{URbyR$GP6P4 zMea4^&XAQwcYf|8mD}p@@p~#I(|Iip#~P_bcywyDfwDv#Ni^A#FqF}kQ80w-o*^i* z6a3UXa7bO!q`kMX*_6rK@s|s>Za!89iE|v-Ji`{ZuIo$zu4r{mdCgdAeL~B+#^Ks| z6nH0C>Wccb>uJzv5k3@^UfXheVwXpeO`%_Dbl zFC)5}V*YJHf|=efI2wsq0T*AG1zcEi zY$HA~44gBJp!4<6L@e6);})vO=>uD^ILSOxmerg?r;I-jZlUu`X)-od|eYX1QrP7(4h)kE{$XMw}u&hgh z|1zKghdI}Z2ls3-caoA&#U_heXHTM#9t8+_IFgEgw24mMA5~6*uEtB!L zAnml9ww?;E3Tt2~G2)>#Ts@&2%+iWS+*QucY`a&xex&rPKhcBC_|{7w2efIk?w*;U_=!B${HLif zU*04n*AE&zUKSDH0og2e&d#=%{%Zn+Ot09D%{3#`y&crlxpCUHeo?q^6SM4xH0@8| zpTRYiiF5wA{9d=JE?=ZIR*~n294pgA#ktJEJTn`p~D3q126 zkzz*Zb&#y;me6K}5#54TCG8$c+KZHvskY0iY(|jt)w|2CY%C&iJ~9_2hRo#0dc9kv ztQQxqR*o}T!K+>^`11tXxFZC2Omt^azGqkoU(tMRc1fbw)Z9UIN&7505i>Zsib=@9 zi51-$4b-DfU`%33evEvRJen^mW&_q{->s76R+j&4*7AmaW2kw0I$mciuWY%LcyDQ&qxXLJXkT1F z4#|7^&GISjP2Tjp{wl*ayHSVT`?{M~psl*V$s&@;<&>{J|y)g z4aNzM%PxSFB-5D+G)roo*53N;I%;y{V5A@{ii39ps!Tcu;93z2o5}loX=n4+F31p- z1BM8{;tQ&aq$J!%7%b7h_|JAZ^25iog(4mF+jX_8b=UY-F@uM4t$NLTAsV4K%akNH z?J(=`O7Ae<0whfdA!;)2J`%AvM;)hbOfPo*PJyJG=x}%WG32d%{M1Im&<9Gr0p8)a z00Oi`WZT_It=QQC5pChOF*)!ef)B%t90 zjSa0-H7@%L!V8CdRI(nszzw9M-~LKtTHJ_3D`q+q+7pMvt25|(_HNNAXFA%p(YpK{ zS#s?md(zRv64M*!pptqrTwZ?Kbrt4V=Z3iG#U%4D=8VL3ieN@HC}eImTdFY1Ws2x5 zQ0+%RHm{f;tk!egQYzM~hyu3=gWwWT`dU6!b^g>JSDMTO@XgHrn-lO{9 zHqwu4g>(jcCG=w@^*|$z)GENlkU9dkDyM9HiUP*|_X=VFK6g@i`4DdLwM_f$TUmVf zo~xz2pP7Zt_~n62&14=QnO_v!V@B5#J+dHaiU9wi{sWC#8T;dNK%Hj9Jq>l@+qEm6 z94u015C|;El(8(o+Ea1Y#aKJQ;6Pymp|Iwc{qN?YqJlUK?{ekQEp$yt=g2^B%jZ{( zOA6xO;(YLk3yI968+YQ{700adL?Q0xdX7~zT??Ip^LLAxy6R9i?dtb35fRA)90&{Y z22f>GZ~mjETuVj2x`=s%w{YLK>bcWm#=&2j|CV6vC~L&0!M9|8SXCTX7rxw??PP9h zEcbUSuLb_YPttc&PP(Y7wok6KE355s!weGRC^)mabTG-nS%RkpB)HRoEI~YwJRq+w z&}mjbMEK_$^fd_Im8n6?STeOEPkf_wiH;Ee(nFVS^}>v4Ton+x1@7O2Q(rzB^_hM` zY137xbt*A5_@$+5Vx{V?Rgy<0qY4Kwp2Fto6+Bfi4Ll^CuT$$fCv(m(-7><~za(i= z5>g;dx{95)aB8T51{!d`Zo?1m(Tzpw6bfE8J;pnweUUU(44^mbevmlX6s#O#msVt! zCn}t30NDcq%h1&fLIq27*_UvkAx}#OHiTV@g^HYtD6qfauj2Ab+@bIWh4rVF2K8#s zW2{c{R%iJjjFza4Jd!gt-pevzH`}A%P?V3RU%j}0B|jBoWJaQ@$kel)O;M*8XeSUU ziwX)+!Rek9(3kYhq@+L80LGQ-IRDy&${l^;gB z;ki7D+V30#D_JwHu#olnw)Ebbme`f!6(i5i>dbkMiD3sh$M-XiHJIdpLC zPZlXMc;CP8C9OM%bzvEH*_v$R?bO(!TV6Av@+4o_g_YoE&6-hyx^b`Exs)-Ub*!*@ zp88`biOMHMo&Berr`F&rU^8bV#wLqq??p%Nh=vCt)Y+vU496HOBuZ-Ub4g6ypGGCo ze1GVpPpGmdDCo8Pg@}-{V_3S)$zm;tZecDS20XF?HUj^Oi&?%8S-ml!0h&HkXEh3@ zQ)#My9$Vv1rsUAJl6hC{oCNMJQpFDSr<`gxXWs>U5@!nMUidCk76{cx4PS3Ze>?tI z`cPW%YjH{-fBRaa-600_BMn4wCzHN^xh)T~kYyMTmo0@0pU%Oz1#WXQW%zPI!$!aw z=Eeb_dlpozk>Zg!*5Me3(<^w%pbD`o*uC_E)yM)s8bK+AFEsiT0m*>|@AFg8@ZSXl z<&^C(8Od@tL6E<4u|l0_k|iRohZ1`o3a?p+zk#2V-hOE0$<|mr;m`xPOK5*bsB8E* z9maQNgZAX3yOk8~LTt5vh;c1#!Win32~aJFjBOYG1x^MV72eftS&T`T_K1~Addire zpzyHS^Jg|$8QGXmcD?a3L7U+GI#%?Cha&K`k`Zk~H=3F-NO?wQN55N zF;!Y33g-)c3$0FAu6OsSxk0HnO@!)pF2p65Ua|dWuR{;Vfte7lHkAIN!$4v=h-#(E zu0_x$4E?6sq){HSmm;4E#^lNSm!x<5{9qyeF7 zvz%+x1pT~0yfxlpM=E_K@4mxEAQ||6UM_-YUFb$rvXo?um;06F z?NwBCwzEvJvqQ3KQIJBODH5wlxkqBCP*Yp{YO}ErcM-n+2;qYdJHMVXhAS^>#ZmCXP;S z8o&nk02B%r6wacg{Zzqx+rSu)1g*SHrP6uL?~B;{qI!FGX&xABekmxdx#G&+A_O)~ z%Rg0JL2;P?(Mwfk{vO4oE1Ii(wIkM`jPA3c0-YoKbXy4ek3mPTo5quMp*LGBj8T@eG zy(F@TUi8m+FfUHZ@Haa)UUIVntob&D2KP((;F=VYARpv_MgA$w@*k4Z*ux=FCmpJ_ zeg9H9&(2>pIw=%;;jme>jK@MbVd92L8H)krmq+ za9Z)=Dq6Iaf)LqGNsQmtKM}gTLY)=V5dA+Zk>R2=A&H#4X-_^J%Db zXX|+Seqy9E!sp2J*kHhI?~nH)K8l9Z`q*ky4?s68wy22feGVy=QB-&m7wyePaq9|2 zs2smSd4m@TG=ysw&WJ6M$t);WKcq|tgh4!(7YW8BY>n5WUrq(lX{V66;=rwFs@0@b zf8FZj?mC08p0rg({+>8a@(z{*LFG`wYCo90t|MM<$9t=BLYOpg(rPezy7>@!7>EL% zv+UUN9M-O<^{&BS>A*$EQ>7n&8d`a*$MxBmmnVz^p%T?>wHet=-i>#lvGw%%10b$a zgWh`%x17cM$FOqk8O)ICa{Q|p%=5gN@-}4Q>pdlU$6nfwlUVvl4J>oVE zAT4s5h4Y@6^;I9-^Se)c`S*$@C=K&Zbl~ zZ{&04W~>L3XLLhQ|&YrNEeEAM>`0pHH{dye(VW#{L^^)k(O&5$?|JoNr0 za(2w;jazpoF1)Ue4um)}0qL11q=|W4lc9%Cqsc-n>W@gUJ=ueI9-j?E4 z6YN682B`$~*4pDW!rGx1>mK%qVFAOxyqniN)xw=25`}+2VWE;IL`+L!+N7=Gf7CQ? zJj_iHv`rL9k_=+>}ahE~>tF;Jv4uF0++UD{vE;pVgNRC{>lP z**XIvn1y`aE$a7)GT18qSq?ZG%xZx@U>vqB09dwCy8v_vNCB*pdB`BJd^iIwVH_80 z>#czCbXaW1mAPIqqG8g$Ks%w*T?wpUJLzDBm)a|Zhl)e8=7kGx*?~Jn>lc!mvgKW1 z3RIYaC;Z(OQku;X0pls^&+Zpo<2}s%*dNTd31&}t`;ETBNk3M?91MZvraDAYelT!w zbS>gyR7EjtYDSDzv9WbMRJUZKG1AKX4*CHV9iWI-!ztJbek-99Fmph4JO~n%FUb&J zUaxsH+)g zK*@3|dR|5o+!S`8GlwLlf|`VXBQ<1xBeQV5(`huvJQz{^+-fmU@9i2?0caQG5_x*e#t?Yt19>Kr-GL*lteP8y(A?9?EJczTQckxOZiIJ62Y|B?S(G z(0uHby_*Ls2VX)AHvP=3@J>)4*DtXW+^YQ}a*ZGh)jm6Hpy;yR>aIe!!yi7AEVaw% z9K7vi{twgD4^KXhoA@&A%LB4X2oQ8|%=19h!~r34QvxQBzzehlSC?IDrR}!6QkSkx z%UVoEHDw0SZAAbW$UBLUX6xmPgGfelj%KGHqdZm^)!d+1RE9O@sESTC`m;;3WyG8Z z?M8AHt>(#=hek0}J|dI|`!8JP+&P;yy0s;H9pwJCYL>yO=M}aWMQPJG;n3cG{oCSS zoCIn^O>K6DRr&6xO`;acc6DwRsvM?|&tc=|JMo5qfLG5agO8#qXL)`tq;X1E&iFk2 zb~&kMmDsKRB(@6-rIGG_4sQ>ASVK0R! z_b&L!vjd}${OPe}_IXVDi)-8FJNt?!A0Vb}x6aEd27>R*ZbS6m8IM z4m&}VYp0*6a#mVyRjwPg%W##0K^3MNhZnw!!;a-)hocxtik+`d^VLg!Pveu<%>TCf9;Xi%Pt;f@+3-kM z<;KSte~l#@IMErNyv2DO85Fhixk5;mJ}^NgY4^5^GMAvj5RvT%2S|WK#0)xV+M`;# zy}waSB$z%8oU3P6g1WJ2eVKuKeq;Pccw!L98|VIsPBhW~COjVhqwpBA8?zZO0QCO= z7&!oJ#>N0HjC?QU9krqNx8zdE9dR+G6m6M9o+clp>JH$`)JZ zfKc|AF$^G@cei!y9$2TLP z*Y=2)C8*X!d!Q4>i~D;_b_Q-E8_s%CmwyMf$F$T4Q&VVx$qd`MGEuL-X2DICv=Clu z9-M3oz9h;;Hv^R(P^>8$NSXyDeVrTr`U`@K&*nDwQ|xeN8r2nJA30Ak)s=MiRAC5| zXaZKcso!SBD(T#x>~x}5tv21g3zOGm0cIv|zMqdN%mN1eOsFuV{8VZwjsih|M=eAV z2Fwmq!^q+wxx@~Jh29P-IW*15n#kY~w1K#`099V}p~OEaYre32R!6m-vi3qrWoX)s zq_4jUcAoYT7jXhI*9SuKkBTc?H2RN{=|?*JqEe9aSu7>=%4EF7!(27~r2MC3EQVR1 zbhl1Szva%4GEO`=y?rQU?E;W(r=?BxuRQpipn;V^2hhrS`p}{g{r|`mA;TkwF84Yz zR`EDIEP_^64(;}DFPZ5b68;|<6Di$|F2LLlrQY$Fbu9CS0qL8pUSNJEpIF2--Y%+! z!M7ExldJadeZ`ybe+iR`q>kBX*6A9|=;bK95%NItsNrPM%sgbAB|RKo5uZO4M2v!* z$HLGeK4za3P>>I6>y?mLCMAhzAPpP*Q7>D@E z{Xv1tKUJ5XX`4bdjHLUpKG&Md8Wkl|lW@^g|94M2Zh!yOhUtrPA6J!{cj@m&g86m1I@Elw)>mnq`fFxkZS-#j)m@PV9n$ob%BNOrusu1p{oCx% zo-tsW5%Mt=I@1vjTOmX2CPio|%2r&gr^xjEWTNVkl;PF@V=ex>=%yc=(=M(Y$y;zK zgBhc!(6F_9Z*61mO_sB$lbsjp9p?YS8k?ox$X;VzJY;tz$)1JntN6!uMMFXN{^zEF zH|9wRN+YTS~s`dCLls&C8lwsK0h z>fp$@G8hU?6m63Kg&`dp?EY^!t1HK)2~|dL&WKZkT|{8n%N#2XkdsE2Vdd@sQ}ndv>-6?OV+9egVUQrUq~ZsE5QBmmS?scl)ro*%{#o#c zX<=K`$LnyAryKc09K39L2^Za{%V7L{_`FC#E+VXP^VR`Fi_B{_x=!_;jQ4O1vJn#3 zi!b#G^|HOK$Gf@mU`Fo$s77g1L`h}oQsbYf?6Ul;u(KJJ#!ZY6e&T}hq!W76w+Hq| zx@R~S3hW^CCCuB>N21gwnf}CWTV=m`=G-mE#(J5A35cW2$}~oCKQg zw5yYwp(fgxRoI~E-mB|vtW5~K-9dW)!2BofOUd$j%KnS{w%Gq$+_(DwJMRB~4tZ)= zIIMG{e|Ix|5HNQ(e8AOOz9n0&i?@+B67h?fF1VR+3nqu57$|NWK3}|uHMcDx#_Q~e zL&R1(OgmV|1Px`lAS?iF-Lc;l+}8SANPyqPic}NGz|;I45G_%3dwJgZac7Dsz?q&8 z@P3ZQFaGWmltRwUmDsBjH|N8#!Mwg~&qRd|8bKx3_*IHVyXGot9n=z+N zUmhr&K27}Vg#OAcb@BGjIbHestJ_1(u5zR%vvFnt-6m6}LswRIUG&pYNq|mP?Q%u| zs?vXO{oCzEsKQR(>GzBwG+qVj#^NKlgjU447J-4jyikR24rEu@wa_(uAEBw3$|aRG zJ+_wxJy>Z-lG)*Xu0OZTg4^WQOH9yU3*<$|6eb12i{=!+Yq5OlFVc7!aS;$R#T>WsCn7Xpj_H0W>decE7cR5Su{-%MG0s;LedjxL_nPQoP5*XE zpZX6<>rN)A>WE7e4Sicpt|mNimLCo`M1)tmj_NEP+;MDlP&eCCQmFA;RSlV|$@JC8 z-7W9x77D+5W(W%3AveVJx>(ENt(EFg5v#20X33pKbqi{(8g$Cvt2{d=&pRx-7T&@u z0oVPuzqTA>bv8Enn}*xmDNtFrO~?i(Mr07iTbXY3Gh88PGYGE&U3PLIW8zXJKk`Ye zQe;onrQn!w1PO_WQyrsC+uy)51-8g!yzXF~?MnqUTK5w0_$kXHI<2H$dhIGp?uo+S4cE z-fff%N$fU`#YXAv)^?i8VIhomPD4ki9_iAI1FLj5QpYRB+(qhtkEwnpu)Nw^GqpG| zVhwiKO|;n{h@IMz{Qb9xjUz`3MglfLPY=) zU$)RLE6&U0f@&=o+79GgF!6rvSV`4lj)cw#AxY+C*;2NmYrj#OH=tWvoBQ48+5SP8 zK1ql>f4y8`B)qd>dhE%PoWNq9Z1zFVg#q+M=4y}iq<`ruHrgd{+@4p+J#od@g?f$VjOloCw~MT5e(Os@Z|tR zmXa(jim>Kn>rv6k4VkVARm*A(V{W$+@j8?1b7v#A}U%) z-r8`hJQj-sF%1^>(R+x3Xnp=6Scb0@UmhO7@U(GtuLNd; z4XQjRSgiC*o2xL};X4c0lA-fhuJ{sjb&>XXdfskO5_~YZM*cB4M8>}4oYA3uAh=?5 zCZ@S)uF)1JpK2B=4q%)f%0_FpW!Q3c=2OFA{|#}SBP;C)jg}8v{$H%UbBty2*XCR7 zvTfV8ZQD3yR~Nf%+qP}13thHtyUV)Ozc(|P%$>ZG+}!imPR>sD&e=F?eb@7Ro*1rH zNG83#m~f%G0o@oi1XsiTRK+`oJ42ljjN>>C?n_>)51NNRo-qmCCc`{rqxz+$iC7h( zF3lAnz-mlK(k@Y0wHfRzkc&34H@5_1Bel>s_)%RNl0H;;U(e=4%abq5c2bTPI~FIH zO&1soX%sVPpNY7=S>0r4-fJK`ix<_OnvXq;7A|#k($fu3ED!CGz4tY1yqjyDRSk3Q z#>Dk4$AY?xRo1^lFLjZ*$?t9&B0!g|i7 zyPy8FB#<6^ZMF#7yrWYDi^-0wuEpz*`8dzgt5sR!7wfB+?DXf48L6e!`STZ92pH5~ zI7MGHYhw@lt;VzlUMm#+>SgHPve?IKW0~f|hN27=f=8qJTm~!L_invOdV(hXJF(L! z&SwXaaPE!{tQ=hoimZ1d^dZEoqq`??7!6914Ke7s_;MnZUpt(y1^bQLLu~|g7DY>d5tTpC=1Yk5)fE36P}Af3=hHKp zyEaNG(z^t(p3JG0!=s)cXW(Lkokq-%l27U;{kbt+K|4rJV}BT6AP<4@=cB6-%VL(Z z!r!MoBdoqKN}#)Ms;iK!?C1kUu~u3z?QyV!S^|PJhH=;-#~4V5PdC}rtPG*`sFZ2^ zD^q88^-+)^nF6K>W~r3o5D_uxzRA{eg&nk=pwZvd97RhjL@x$QQbGiqV2DK`r^-qE zqf1E(Aty+9Q1z%vk+u>wOD&FWL_H^BA}C%Bc{F>DumxKC15}{uokTyqIR)Qx+9L?S z*jTn=-44ozE?yH+7iojTq*7I{cZxM7m{>qn4o0W+T~V_);2yZMK8!rP!^pVPfd9b_ z1M?*2SV1AAJD>_XZTM)O(2#5CrBl(AhsXrCMg@ zTW`$u6R^+_R!6L?oB3~t8R*B9mT8fjY{2G z9E^kH#9Tr?zT*v(cB7q4qjcU;B3H$*vuErcEXX!4DRbujX6EU9XW#J_v*kQ@{`GCk z;3KEN!}%+a?Tzb&%d5A&Gn5m#b(>skjA|XF4cjxuf}jD_+(liSq0?-mgT*oon;MU% zv%1U()Y8;)87jKxCXT1M;}km;s7kHnl}zIk1m*k%@vl$?6UGCDhXw-bqx$a(Ro?$? z;9_F=A2F<@^G|@C3E;mBO8?}t-)1ETCrekOp8!*U1HjJo`&$p2@4cF}*X?jQki88I zzl74t*TRK8x0|nBIxdYo{_?p!Tijbk_?{w-+HLAyZrRtw zZrf-OWS;L5{9dfPay++M>0YU-&0O?c!T0LX#oNYiT*aKIbsKqpnjd;QKd;73$f2>fr=6}5(>No4;Hu$zmWlC&icXR9M+H@T4xxXA;94|8%ydT$H zW-uX!mfVWw!xd&=28NUR*mQobK8`n*x+ku;Qu{uxAI;B(jz|98b(%-Okm!7xbUo?y z%GmfEzRg|#g5P|&3N0eR!jU6pCNGO+7sW_mtD+uVOFVpd>Xwc^NYawQ>T5wAQeBwQl+BWmqA@Xk{+D%Z z6t-FE4T9EfSveyLed~!FR(I#Q*(S$2zn(3}{+Y2PK_Zh`ZD?%8>^8o7;e_quFC@V@h2KIUL4zjBNY=))-g-2(D45}5OmGcn zTkp3N8%#BSL-5BuvY+4l(Fx6CFJDYQSoEBaUuJWe)unfCWj@?(mZBQuc)9YAQi7f?cR;DOUr4HPowV?qX>i zWu#L2FPK~gtfBxaf5c6cKo<9;M}J(Gdonpd;hc7!x&ySV=~BHB-k5iTX5T9Q6s z^$rF}9S72e7#Onjf$|MB}%m9DDRL`IlNLmF&&Y9i<_=Ut~m^m8i>5m%s|ar z>j9XBhbMECOu6|-;_kIbeEPH6xCZPxlk6Q|hE)%74N(HRL374%oG6m$$+)5-lGYYB zfi#*TT|ON@(=TM5v^q0ekDqB$@T%kJrs_998d$KEi|9X05c8h^hZV*xgj)`JoRujv zL4W)RodDTPOWL^9k;I0}ilQN^=Q=0#Ct&rov5S#3uPG?$2iAP)0Ky0@k2A)_A0ml= z#98WL)J!l4VfKG1iK<36v-CzF1vTAR4_U%!2vOjdS+HG8BsoS}(V3x>lis*uvFnQY zEOzN|-&(WbGltQ;y4@~n=u9-6fLG;H5^Ff_(j5UxEr|+^(Kt!$lrvOi`bA9lDNw7w z15-I$M!Bg+3#|HxQL9Q7TO1cObZ5=Ws>&Ugku!?>`e7htWm0Hf=5 z+OE>7m24stx5lHXkSo$~!-rBTYVV{wmCe-!Iv=EZO&MyTvxwp{XwTj11dY*NkA3@w zJ~qa`X>DhK=M{0*`PmDTXB8JHxMYZ=RJPs7F|c!FbD7=7y2s6ccKQxy*qDH)S*Z5lBLyR-dGPy_CRZ8V+B$jCQW~V1p|AQ6w_5Hg zyZCPW^lD8`WarmHj8TT`clB`uo>Me&92J7vo*yhigXhpjLc9(RIG?@JB6E&{=2t-# zIK}1%`!?9q6TDA`Yp^(@mSTP*Vt=tJ39r9llg)L70Oa(44G6}@(&sv+ak*U9TUN`U z-y;on<^DoE#ZQdb0-*AFwa7``LHPMK!W{<&A=bn&Iu$g9nMbr<+Zs1GyimNI678DW z(Y$XJtyy5PA0;) zH~4J5X*^rLk+EF89S)At+L%aCU}E-7nc`O+4w4#0GhprWC1z>eM@}hl+TV}MyM#xQ zVk3h1*Lj4I*c8#LY4|>>&b0!dfIvQw)9>B8^5(Oox(Rlojsne!>tMXbw&h2*K;xJK_0*h{$9B z5`H>Q^qOEtq{o%uszV`GU|U*D|B`Az|I$&~;8JM_0YTjN=XO-D>QDQxw z192#rFD~zNC~qauiiSJ}BHEM4^~)s;lm$)I)Uir>xqctwdu2-(DiCRA+3qzHWY}os zmd&%hANq*}JwNrmmCVA0?hAOU8BU_|dy;TsRBc*&s!Ft(7g9$n8S)`@3%ysHdV&Jt z|CEIgsQVpFxK>6oSw#!GtahCxs9GVVW5`uTDwWb9OW^So~=^SSsis@6*@B44pGdRh;T*!9Bh`@`; zKsxiVGoB^`6%KeMw)EBt@_08=<62ZZeInq0s>vm+7|UaQ7GTxYgz=kB8)GAFN6#{tN1Q%V+r+af#-5@ps^g z{cS!}Htn`#@unRvM6&!$Stx~2rDxRlgu0Nw_H=d|;`*2Sdgs@=<#qj+YIpCbmG>!< zFQcb&=iAHfC;3}pl7nL9?(#__1!Yd*TJ0mNdF@ky49U=WcM_YgPurW%$8*qGlpX{H zBPGtm_}R#r6y|~gPW8Q{N%BXx{@3&FCsdE>ujltxdd;o*{p(Gk{Yd^Ri^u(|+Ut(g zZlCLUTMV_k*z@)6PW#7R-R;Lv1F1uJvlR)L36gz>`~YVvhqjx1JUV{ECS+YHTt?8; z+%x=;&3&)5x6}))?aE2_cKN4~`PtvG2;HUj{l~I(JG!ifNP~bWFEG3=b79evY80f6 zDuECTvH`_ltnWYN+J0!Fiu?Ixz=S3v_E>~r zt&+-r?)3-1jEz>Hnv}zg3sDV}qV7z97W<{QxjQpezq`KueO;g5yxg+AK5s4M=>7P3 z3N2lpIx4K(?imnx9xDya%)NRwaNF!u*c|z^Uv}Fz*!Dg1_5CpO@_6O9X~7;@bmf7S z*Wa~`g}9<;oVqf3`gDFe@*2MEAMO1HLHusH2~3>y{+ip+<_i=;t z!}<+sYj^kb_{mOPR5tUk(1m68d96V{Tqxm(SPn*O$nHHe4X9urA|h1J-n_Wkb_%XIYUr^&mYTTxZmN5>{QMVYS@a^zK6%A>BzX#mpDsN1xc{U(sAyl4u_Q zWEaT~XB;8>%Eog8>k zf#D<>8#YOPa}^G!hq+q?-Bwrbm@b;67{=@7m+IhPakLMSzcX3o;DB7U>|oV#f$%u=k!M+3C6qlNrO)kp)x!J07U!wltkhTFhQWRs*ZMlh>Erpcpz z41|&Ky0?==rQg-7%0w259YE+o$~Q+t7E%!KoMcB&Zpi>gsUtu$RmU=DUq*>HVu)e@ z%5;T6paLFd|NY#oN;Di(=z;rI?i&^AQzCx#d0LyZ;<*3@IUE)Bdbp-ppcR&2$QIE* zm8^$I0Z{hFOK}&7Ew)WeyP)dAI4IuAXM;8wng_&DjL<@+D8-l*D2+&Dj%X`wex`3I zjbjearfHRQW(x=N8Kn7Y>NFUY=|rxV7LPwF@yVA0N?^4*7c)c3mw&kzCvU`G$eIjE zS~}!F$B~yt2Fwmrv#Re~ASKdEqiFamES5;JFXj{Wp=SFnX(QyTj?tCpF_fJE9~dQ2 zoN3q6D%oujM^xHuakCsPsUV@lVNApJxbm0@9@|9FFylj8gUQn(?HxyqNm1&< zYXtcZ?kby{MZdNe;GdYL#?jGO%IZ8e6fxPN9a2OSvt}`81(&efH^D%XxAn{ERo%(% zO8}YW8gRP~fL8gjlz5u*a27JJDa($n>He~Dgg(f0XxkjZQ@-ZhN6uoZCs}mLa%5KF z+FBdB+ycNN4p~SrG!{l-?b8^ejl|6y=?y~{ib++lm0%R7i*A%TH*H}87V?jzA!*|Z z`Nt@WWEhOg`(^T@hMDjR9F>6Ym4+oLe$eo9C}2&~Jd9~IH=9K82kK`~l|&iQq!E++ zz(`igD*QRy|MjUN7NL=q$r#9AY zB654kAseM9XJ?RE{&i;&y77I%hpJYUhQ2SjHlU6@<3N8=f-y~vqao^!1Agw?pL=iQz3-XCcjE3@LaB}84Arep=WjU_zIbM>aW&;W^ zRo9GZjv#$Xkz;KV*9wUYN-ACZ_B?uxH5NrVBGe%dr=7%K8b+mPAzz9L-q8(dph^(e z1h?2|bZR1xrL92mi(xU9h9xm|5O?kkMWwq#=Q@h8XZ+G4_nHgYA4Z!{=`7orLc=MF ziU_r92sX}#zo$b?xGD<55W~__>NFcLr1yJ4hol;FO{zagVzONwR~~NqcV4Kl@4)0? z7F&53K(bc9S?#z+c*UZS0^*M~2h;9=Xm+E*=~sVDK{jZ@p~n&*uZKwvC?+jQ{tfv3 zx{YT((Yi(E6C&rB6^~Lis`35L%i_0SmpW||80<*J_@~Gt)pUSS3Cs_Igm!=e$!&%M zr_x9jTUcu>tsIa4M}_`~A}W>nP~3mW?rjujUlee0(?_;%jenm8E3Wmm@`(z{we>VJ1+S;3Os zCT2vIJp^&Nh&z}P=LkDDvz-Lmz2eZ|i?_^_q=Ff>1W9W91zO$U_r><4(Z4J+E@_Kk z4CaZd@4`XscR-SL(2X!Hr{Ip|mawaGS4vcbspec_fg#W^tr1rU!$>k%U`@(mio6hf z{$pH(qL#2X^eR@`To^G=>#0?d))G>^6ETAu9Y^DqbRHqd_3SB1KP}BCCF^>y#$J== z_qiB1iKRVUd_Nn{8p3G%d<|r>@mjVw zRdO}=Ok&Sqy#tNXlP9nxcq$t=u&jXyyxeLdt#04+su6_S2*s4f<0Zlj>$$+46jpyc)J*F%V6DA>9gS&J zIkl~szVrl2vTOHqyi7*0>wU=WY9LRKCd6*;FnMAd!#0rGHqaLS1Rg1@O#ZJl`QhL9 zA$-n>`Vfhpsqlf$rtt>3`kZlb!3qF1b&L|*S~1=WwGFi&1>BD4VyTJoH-rXHPFk^g zpi==;8M234Tkvi{QoovuU<)snm{FZG`!EXJGnf$Th#1hC1Zwa-#4Hs!Lm*{GBX$rW zE{E9sma>@txxgkuy+_504I6!6;^r2YPoRDZRY|oGPFn#}gjg4;y%$Uypv-7isCEuz z8(w$xeu9$R&zDS)>yu&mEnNsL;ujJ6fo&7T|v zC3{CMOQawCAqgpGe3cI6Xng>cc#uD_;PF04MOr}=wp?n`4u#5Vv=np z`TqRvymoVBm++_Pk!@5H0sfAC!uwB$X<~6EkMo`Q#cDOop>m$7@{o$6(sd;mvDTccO{r{56FgK>Lf z_732B$m2Z3C}c6*gmJrWm|VX;-WdM%xOwuq_C=mk?r2Nss^UTZ@B)^& zbX@wfK>G(x*;2(Zy$}>wla{RuNUma~{i4{3EhGW3;8bR^`bfAUxow{11e*QBr3e_J zZh*(PlWP=K9QZPt_(d8jNdWn%40oW3r&?MOzEhWQy4hzp0Oh8$+VKfI`^y_b*e{0Qm*=7E!#m0k&O?E+Pr$q!(Elj$9Ks} zcR>NYpez`3U#t^5Kyj8g4~Mc;sJdnKc30G@w=&DGn%jS;K?|DMX$e|B1uO4iTQ9*z zouvl+rp9-2*z18n%AcI6Z_=#z-tPC9!XFiEYtGu1_2fn?&0bD{iWcd-g0WFRu@5Xh zeF9}!ZnB^Z+73wSiOJZExd@PJjXhnE$Bh2INcWl0%N{nbEgBBL`PFA(q51=I8ByAy zB0ENRl?n#9IWjt$xn3Q|?H;FD%jcIN z>O{?CR}|yExP}z>Nwx5;yRqefXRlDyY@fESykCr`dzVjdPlKRJrZ}i8x zG{?F94k2LR7_dYNG)sn7LfzP(PeUFoU@(026UGfd_uzS`qB}~0NZh8dI*WjQNB5}k@U(y{wvFwXkRpEW$YGlL37Ye+>!J7Q|{TyjFs3xUk zRYsFWl+k|g9n51!hdNjG-GA~qKA-YG{_@s1U2}v?1`d;y9GQe74sVgAhQQ9ycFSTU zQ?6xSn4Y6eWVK;1t#S-unvSMO&^C3@O=d!ZRRG&fkX@;OLAOg$%AElY%K{cMFX5wO{V z`NIl#;gfhJi;;-+cZqB^+y5nJy}bXSVUcs5Ho^MD^SmyVhzTua;D5q zr9<12p72K7^kONMK1pTj+F;@AG)c|4UIjc!`B%$wYH8W*R!P#89O-94!yw#~LV_h{ zA=Tu?k!D)*-jpsrtCidC0S#RMMD)<=4}8>f*5e-P?8v1OIj@AA>Y)jY0&}M3YMQig zHZ5vu)Wpi4s^3Tiz}-7jyY%4;3StlW^tEjxZ_d}>0(G4cQSX8vXgn=0>ax8OZtByp zWUXF=GjQ`_lt^LrPExWEVgP21Z%^66cP!`PMmtDs9=|>Cq_h~O+5JXB^$gvXwnj>| zb}uJ^6RkslgO<+tD~dtqd2t6m)KcQRjSVQNkPGuwqQ9^DWM`C?j`* zR#*PYF9ZV84#G*(lNTr}CYAd)G^-L!sfdlFlR3jhsnM{o1MV{B$WSJeLtFPqM-3U@ zN~I%q!6g>mlE?FuY)(ITw|S8Zbb(hjtLBXK=9p>=Q7|;tJUKqY)@L$y2A54e5COD$ z>ExxxM@pjNKk*;%IeOv#@+<`dh>%5k{n^!E^0zA{2h1^!Ut;4?57UP5BOBqw*=G}r z2O^6KbzG1eya)6UsBr+eu+>H*IO*?|-_-c%dnk41lMf}*vXX*+vhP1|9o zsEet#MAN0!;vDv0v>`NUi~21abntPTtNdKThFgIi(LuBjONb#YHsi# z)$6;Jj-uhaKH7qL+<7a}UdB!2oF?p(XpIHhnJuQNL-qJrd?JdSU& zHO}3ORoZu?YVSu?Au}|+|28f05Gm9)F!LAMk3(4-Z85o%11 zyl<9R{Fnq(ZPdFrb;eG<O3KKsggcA5pU0e}Vnaxk>S*M}qbKXj_ik$XHd zQ`Y_9^2)eFeF^nY<8w}Az6kbISG7gjpj{M8ODWezRR{pVU!r;g;QqXvTarj@JbUNN zj@Ttg$c~od)N*Bdkw515PI}K-n@PGC+icnnsyy6|=tXrsE6GYq&eShz>9G}lb!Wo; zS?c02@59u?DZs=3I)kD_O+@0Re~8$JlUtUmA3VrBorK34y9a!A;Gyv}z0!8Lb!lT| zZ|)*H-~DFZ>JI4nvPrE~mxj!SE#?Kip_G(`XJ&y1@mnR_d>m$@;{W`W*ERKvkGp2v z%JE8|xXxmmFY;1*gI*U+59P9}+?h-6aSB=3u-Bcc>sYZ1?DosACoY+=(9iGW_#1EQ z$@?Mq`g<9e7#>W)|Do-mX9UlL?|YaE48BKlE1w`o`5{?aZoQFK95k1Vh6G7wC`3)g ziV=Z4RmGGfY3q;EVZb}#8@%FYDy?0CmOQ2`w(_)hNm(&n%CTI?xD{f|p7D&T%BaK* z#ft;fMe5&pfVu5IjuQ6eaW9K^0S&j>X=ld35hQbXPJ8aqiB_ z=eGidvCreDOI*PeHR5qO=)USyjKrlVGJcz@Q{r4b6qyMNcXTzMczld$mLKB=b4?I% zB)hM(=!JDB8S#|&0b-X7Jx zE2&8s3-m2#^bZW`gB@gz^tr4ACu5GQe048SFl;|d>4l7_0Uq+U!;srnvju&8`_VrT zsb~&|SwM;_`D{$$NVF-$Z-{RGlIB(8A%u9ss7tsJhIND}HEb#7uPp2WyVZ2{+(x3d zbtH(2Pc^9G+C#<0gV0ll>vx~$2P&_ea}<9%=?;IXH?H4q(iqU=st{u<=tfOI{2|XH zav4nGg0Z5AQI$N=;rpG8DOrw+q%KKKg&zdcjpSn3H-ledUWUSFqtjkG%eXRE#ERQA zO=^q%z0UN&4&2J~yYlX}2=BDfc1qFI9JgbPCcEx)7si&AUL_q0v%4^*sFz0=&{i~z zNCl=(Y_o$JtC$W4e2MY((H)@j3I1=qG=OYd)dUIz^a}gmjhAe`-wOZr8u;I7yZ_(3 zpZ|9ywx#_#H~I&E-#f$r0?W2dByuw#1KlJ1V{bU7l~XDb7)-kWmrYw&YU=TPn~cmO zvWrwsU#H1IHo}ePX^TYqZ>R!-f9#d!Ki;lpKU;Z#=0D!Xmn=`@LTeM%WVD zY1#OH8+uQOZs3oMnK3}cjGTb(Lz6REv+)#My*Y%9m$LHsqjeB_RQ$|A>aI}%S@K@LunA;WJ%md46UaCUyG8ZeE zB?I-)d)B`Kua1Xr#geHz&eBZ6xnr1H>aEv0XmDc6sYUA_po79^LQnWjrw}jv1577z zeeCGL6cA{H4j6j_bj9bjCb9$wV4%LzMZG)I&r8j;RMW8pDZ&PDV`j3pr zqRnkKA!=$~unE{hxPyx%h#r=^F~GaVYYkV848dm)9ta4)pMe4+mepO z(|+s=H(-1dckMbz*{V_6!dzq;boEkDC+q59$%+l-=3S(kRppjUq0|iv8Tv|`eIm4wCyg`lgz+YL#J#wgx@#vvwll(4tho?ZPh!2hD;e53zP)MLS+7suaR-8b zw`;RAw+sx@ZkN5mH<|mKp_S?|X&)^-RfOCYa)sEBUilYNfi|NZrA{5A>H`4caD`T5 zs@299ZEB#_R*P(GlcXz{oyc!eK-Y(B>OV_!r(eH-I!umRiaeZtqAlWO_L6sW>a9my z>Ft+4n4S2P)jG_pcXZ(3E7;}UPe5n?o=mBC*b9yta#+?gq0ZmsIzOQ0lF{5KbnF=3 z0&I+@4jkSOuO5D=<@N!voA8sjFkb!u6-r&bnSD;n9d!vvp9EDerWn{QjXuE^3Z2*O zdGhm=5fFUGg&@!G2sA7Nl^1R81_KrDnj|z3`rF5MGV?}U;xHWI06X-fF&E0OW0$c0 zw7AghwrN4PsE~v?e*oVzL_E+`k{B9aT#uHydT|8WvGNP(rB=kG|AUxzZY+eZB2oHjF)PK>F+0yWXB*Q@jxvNH(We(P#`W z=-+LAR^L3v!?2nN#nNR&-zbsPj--`v7#f_-oE>|$s8v{$5j^Gk^jv0pSf*2**uKX{ zQ*1c<3LR}{u8waq%6Fib-n@9)7Yuw4&ZbQ8<9e#L)Akc`{HjDrrJzLqPZ~D#tm>w# z?HFWJ`~`D~ikb&hth{{BX!W=dwA6gh6#e3-B-i$2;p}}s{y?sk=F=b!smtwOSmJEab&qRv`OX-XX5D}^p zA|1`;NrR*c1OFR+-fjZ&UK)ki?c7q2%Wf(K=iux9c`~>L0tI`z?&Y{9H2tLJbAj$q z{v0yF;H|_oEyYKki!2$s?(5H0Cf&`H6U~y9qKO?FU$0C;rF%s;<$|?5eK9=WmDX7V|ko1&%>9g9}=&WS&+7#u1J*xxk$c zuIc%Eo%>6%>*)*KntLAP=@IFL!4w<%ZgP;aPeOXAavY$QlWG$y4sWPxXJGB!&*dS` z=fnG>QG&SX7WauPKYTwlI=|VHGhHY_$zI?3Eoj8bhn`a}K_~ipNZyW@RUl+eF!~TQ zg^zaw(5tIp8 z;4YBen@qFcFe%M($*}xR187vPj*_=6IZ`I*lAdm?3p*c8?Sx#*f zjG3(6w{ko-LYSuvnNdLR)kx=&wjIPJB|#S{UDJNm{0CY5qL#Ky zR#dJFa$uMsgTnt0S!_^OK`g{!O0%le}QEQc?aE|?zB$Q95&V>JsEZ%iC+VADs%X{e z)|V-Nt0zk^aXhG*QMA>iND-ugZOEG55%w7GYTYfDG)0RpA|Ssbid83)H~g_dNhHKq zgi69~vTK>}kg%q*$i-BYcbjgQ-9q2Q(E~RK#C$q)e2t*&i-6)ma|Bb5e{^n0fwm(z zsLg&#qgN8IZKG1rmIgiqEJg$jiQ!a|6;ng$CDEOTYMp=`=P9GELEy8W5l^We&x5$?(;T-NF)e_QO%|lRC zxAQ6KjB_y-a~a9XU7US3i+nLj32)H>&(Cg!dE3gwmg2tt7b04`)pw0q=xhE(>#OSP z=e=!xV}YB^slSYJy{#2_HS;E>Mz|%ln#%lQ#hF#bC8Ai1+|%l{V_$u6vz);FZZC*c zKS*f%&!bY|(RcsqXGeyK54eA|YJe2;Z{%+^HYV+VSE~~KzdP9fne6aCpv9NE*7k+m z*q=RfpAbofoA#EB?1mks$7QKSiR89+a^I2b!ap*TQUs+X?R$NqiQE$6WO>Xh8nLP1 zhJ6@f2?V`#+WjHGyL&7g@J5A0kSR`0O${`h5r7=BR%wJ<@E)DIVCTpadma zQW(J6L9ubHLfJi^b*r{NRX#s8RmK4&T^q31 zvmOR``b{ZB`GIQNJiqS_{$`D6i_teyhz@W(Tn@+NXzT3ZbZu{UEi6P{JR@s16s-5( zyAKYKLlpuFOb<}p4okP!m5u>umX=8&y(w06++FjE%4aSTMbk&A7WbZ}<~J#!A}Y6M zEtL}BBM&P^r+@1Pao&iq-euxxx-3;YqJqN+T(-oKaH5`D`?NTD;V*x2M4*L-?u0RI zj(4nvhbc%&PMXbmGUi=h)e#0q&GbEOk;^2yBf)qh*LxZ!ik2j3UIhZv+}5zuz){Y~ zcymyLbX!3D=Ganf2#hZaGp9vQjj|0BD{;(c5RB-|x#O%o%({>?VBiE(n z&S3X*8+Owie+LVPIrnbde_Z_364-knFx=%dr!zC0cF9F;XhIS70LZV5T1DIs6b{4& zC`v$t9eOx_GKQ1Dyx|%jR#P;{55EZIEpzqFXYwAKV9lS|KpPlf3gIKF>)Xd5l5843 z7|6z{$D(0uc{>_Mk8+!fqjb2^jgJ|u96^h;7(434_aXE^ZdeU-wE^VgTP;z6E>`E1feC)YdM4J|0Cic{5LU=?9y6Mlt zhNV#Z{@cXO14aIxEqMFPt#C8%mWGsd6p)(vd4&b$k-ml@n@#pIaaKQEP@ssgXhIUi zOJaafrEmDJOQziM>k(>9b*bM)BRWM@`1%67Yt%cD%4Q&w2TI~#X)8hv#wX;8s1}A` z@n(Ws71#~N!uuMFjoyk=MCLp@ci?Q%i;s&Mk`hL-d~BZiQ=YCF&{m5d3Pj z!8U2jM7I+1i14ERoz=vjqTmvL3Lsa|jRu(z4N6rZBBJ3aO(yGIjqZjv!7m=)DW**S zR%7O5%|8`vt`+RKwHoziF@eiKU!6q2vQ0GiDdqPhI<$i84CUwY?FlC10W zJqKvZH7hKfA(*xuuC+Df?0Ph7pTKL8eQarayYYAlV^vb-s@wmtXgvNr`N>#O-Yh#! zP`;SmiKvJC@Lu|jXoe+%o{+D!8%FpsA;bI*L%P-wUIt(-8>xJp%x>s4!Xm ziSZ-1X{z>(Z+sUvCSz910fW6~+y0l~OuksFj!v+TRAD`+I~-M}U#(AeYD|Qk;HIi+ zP`w%T7z6d(FaJ!5;@19KaKPHb(N14kXNOzASqmnF_UTY*aYY7k6$;Vpt1 zopuE=2Jpch6fgn~G;9 z@LH)l&EmL>Pr)Rwqk$|vj`E7vE%nX4o7pxUO-+# z-e$jgW2f?`3C6C^&OIs{a<)CdwH1Bzj5=ZkVFJ%pohk+G11%!2$DG@B=Hae>9azy} z_Br0a9HO9h2-B}WL*>%)ys8G<1r0u~eA?Tzz%crENW;mHCkc=Lh%s_LVLEJ`hFp84 z|BKryhw`vCot3krWSdXlMipSo<~($VQ@uuA5qSqgsEFC$WKzaUXKDJBI2CCIhf}F=BSG;LnLftI_ z_ef(Sx866rSC32ge66}8b0X@geV#C-mjv*(ugfR!iaA1oxv!87d72 zQn7gMr+vE{ZA0&_@XRKO#>fX$rGBb8+f3;s18@$t>pdMZgVrsUB}ln?`cl8dyagdX zL;f_nnMzx`<SsnWx-jN42f8);MH{!gYEt`~@IWzV(sf(m5?RMsHGxcRF29K8J#&B* zPCA3cQq{}+)D2EDgWgiyE2Z_kp{V>8l0SxHxKL@Mfb92TTWrLTponl61-b|>6Iii{ z(jEA)$g`1+1iCrgZjw|Cwa}*&8IFu>Y95`COhHFcSX?~arvpJ)_;VR!s5_0~UL$sR zrVHJtYMYSGUt>q&cSSTN3ZF!AJKdFo!ge|}q@y-qwIFhMHqvq@8!Een`FzQ~#6fx) z`4DTp>;u3^=sYkNA2muAvW#?uV*ob+-LZq^^pWM68oK@>C;nEQA2I4ZxUxbQ0s;t@ zqXVxTI)c1S7?*l8I6G+~$2MEK4-&0hV{QW!Sz;g0t!2FVt}G^0pRtt<6C1n$x_P@b zuSkkpJY~EM;i@8t7wHo$DJF}qF!q-S7y&L4bVO!?smbqvVqPsR=0PU;Qeww^GFf3u znMPk?ge-i@#$hPBU074Qa0=X75J!G_d2}q!`j@uAZ@dpwg@{-{!?S9T8!sr7 z9Viqe57f*s2woc&ENO+LpL7V(s^`W?9tdsRjvx7XR+yjY-lza(X`~s1C9mQOC)TQ? zT9q0aQ#BJsmV1Xk3Pd=WM2d}?EUK(iu&@$re}ql2mOkj3DV$$8a~ak}YB1dZe*m<4 zm41aoE5@785dv0*&&a(s9s^6t+YVT8N7I8Z>Jz^r ze-lDGd)BQ?UVYkW#@aMkHhuEczK%C%ce^e()H4B_A+EPk7fmTZX98Ho@0&7`S0>ri z=xei8E_0K$0*?5*tUn?v6C>;Sfx{Fg<3wwkwNa|yS0DuhSURp+<@R#<%kSWmxJ)m^ z2LAj#a=Am1?z;5-*TY?FXWqHO0Rj0){dYZ_*LM&1f1WpRF&c4ku(BE(ak8+ovvHW1 znHT|Bzj2eyW&i+(5!?Sy%&$XlE$0o%grm2NOW!!l+*Z^lC3Q9voA5vC1Pax=4B zLn`C~rwrMK#8K|YYnRo~MA@B4wL55MF7n7lp42P3@z6=^qnL}p< z8=q&pN8GQAXOCu%&0Wt|dyhwA4{oXFL)Q#G-fu_2&+@(_z5CNf9n(1{dW`e&Jv;9=4-Y-`UNqRFyZ6;|4bu}VN0rZKTyfvWe1G1z z;*f=Tzi`^CtD4lq!%(?)dV3Dvt>o#Rs`2UX(>4Id0B6`RpAI?(KUVi7DUO>u8^AQ$ ziS7RNY5bPm>B*FOynHCvzQzmcD1k(|G7Q%!<{27ie8g3fMW`iBsrypF$Rk~a8xm`KkZEkqO1Y%17UmX@`rg06#yJV z8bcWS^8exM9fLE8yRP5Z*2K0mu_m@{+jb_lZQHi5aFR@HU$Je!^W1m6r%u(W^L+09 z)V;g@z1H4){d5btc34CnFMr%74GMI9{#Mh^v*S2FEDx9Cmi1!l4ac-3>7?l)BKC#W zTKHVp>!bfyB3~Enho5)o7ehxgMEN_l>HQ2GX3>;OI1#XSciv9^L<@rvkm$C7EwgDf z$0;Ul328P%@HT3)2z(aL&+R`Zy*xg_hWcomZAU zL1HXkf%ij|PA!O>idw8~Z_pNSW35`mks;4@O}&8 zR88i2WG3yVFxrsmb{7~k6d49}$)k?eAg^$Qy&i@TwT)Wd11b_!`-yCYLtK~!gEwF~ z@B#dt&J+rml(8J{2VV}EG=u}XGk@D&WjCbom;nD3A=|i|LxW-SU1I)9FoaRBf$3q8 zUf3ba^3go9wA9s8755cC17Pmx?ln+G8l-pbPFNGg=VXuA3&Zv=iP5P>)ovk7H$fHPa0U+ zMgB3q(B4c5*F9tx?gaO6Vq39m>1m)@-UIetmk-N3;2r-BMOIUvUhN;0t5GL~B)hlo z$blGK&$Frox}9^LFY)7FcNLoq!ttEqLLfrhklLyQ#0S?jnI+UVEfajH>t~3^_WuIQDrc<24=w`|1F~S0cjY4BY0XIB&QaH8E zWVEdyRERB+H$@G3;gjTs=V~0MZJ8F!sC(e7=f>xmc4|{OtoK1utFTlpP&}Rm;@^Lj zS1DW7Ss=Xhb_z*8f8XT>ksO-&UfAccD zEcs`U3%oQm8ZmI#0h1d`VzAH(F5qmt%a&YDo2=(;_qgJ=LsHpyaH5Y7ulOlh<5$kl zKOTL*oqc@t7}Z@?vDp%bAXaymJp*aQnuHP;0Lw0ZUfo?gH9saZXE+e3F%c>-(uvPL zX4mA6vd7iHr|1!D4?`ECtWX?Q3oTJn~SAllBgXFUu%#g@lpz;mF$FP-p)6Jc z?MEINGNQ5tELMiVL>b!$Sr==EbT$C?@#j;hl3`^UyILmkfBtIOnVe_#YTII^&gObq z%S*GRB3z)ZQU)KlM%$ICZ>LsII=iu4$9XfW6Igm7Et~Czx_}?a{Logoyf9|%hj9`g zBqr`rq|Y!yT>&iLzu|m+OCF;i(2ORzQMC3n1@o>0IF3%vcFS}%;^zDMY;w>SYTwVi zDP?&BX{Ccthna;=i>y=zbik|YoU)7I=&yk-XE)wPu_RlMb)%!5TsZ(?5CsnxC1`YB@qdLh-Vre|T-{wySvOWhxd z`RgvbjYT@OI4YHxA4LQkU2C~p#o?_;k=6L;A2IP(pEsm1U=VK8t$cAGVtT%9#P|r_ zo=8Ur5Y51?;<+J!mAZaaZ?z;CCl8Rwfv|Fr8}m(49=`)2CCxB2$bXu?DKs_~@ILM~ z{oBNwE@n9tENonX8SGk^0QpDuzXs^*`R`6YH9vhYgC(Kh5aMmWyl`;K^Aw0$BQ7i@ znsR_f$dFW3CSgW3l>hV(IF6i#29!+%jt_WvYvdmB!xZU1?XDv(-(9uG2&NP@8==V* z0C3Fydjjv075$(CaggX}op7>Mub+kl9^oa^$90?+jG9~xx+wv%i<)l;-xJ7}f@pmU zal!rbbQV-ks)eQInQkora*Emv ztPV%IvGbF~-J%;8h!l@MH^jM zBP6bM#4g!8wE{&+Ey*zMn?dbzs__zOU1=z2L3klxC5$g$X3AHJ(WuOeiM^~}8EQw_ zv$I=g5B0T9(#h_^<6TgZ3c>UGt}@T|^=CR{Mv#=z^1kfP;!Y+EN|JKr(2c5}67X

gf_8=|4qk(7^K5H<^YUI)X6HUK!JszIRE%|bd+-owQmnPcyV%&bC1g}4$3eDUmh zLj%@+1cv2g9}PwY*?f=_^xqO#qZpVTJG_RTF4~piX-Ge1sW7DQJ=?QJ5NlPaAHI$) zpv~!tx`Xy6WjmFA;APN+*v!0;{L_B0P#}TB4TB@&nHTBqW|vMT2;pHXf>PL~?8QH+ zn!)8$72S*i0WM=g1**;@{*%r+9dZh7QEF0If5uZRiWB$I`1(AHA1NBxNs-N$S z04rTraxaEoFuW z-p)~F=(CQ?=k@lnJ0Bg2&5f`_dz#j*KJ||o?m94x?U?9Spa19Geu$OoFZT3h)mykA z1){+0YIF-C{k&eDd`SfGzEZ}Phs>sCjy70_Jb!w>ug9runq&|h_&gGKfyJC-;|aSP zKiv9hf1dZpsj&rZd)S$9V4T=Z&*8G$-Wz>;j0#`)VH$Q&!ye3b+a`=YHHkD1)Q_@N zhe&=Nw=HFz%L7w0h;0jz^MvEVOlSmx;QCsl%VmXWKFblnYw%FkR9G9J{4bv>!Z2SN zbl?azY+((GuF6Ndvzu2oQjR8&SQyj?dXf`f|%x5IktbfJE$Q3Q-=qVEl^^t{jnisdLb(_CJ+UdDkL3?OLj}`>y43qO5>>EiE~p*YHKIsL^BR9p?J0cI zF$m`XVM|Pn_cwh`RW&*$UNH$f?5oKP8r0o`$v%6hU>&$m2{~gLD;~GW7{;TYjz%BBdpK#%gw&Uk71dagkNeRFzjaF zD*BBzhV{$)rx&Y}R(0*LNlGGNNz-~O$7@s=ima-ZQ0biE(-=0Bkq!p7OtZmN?cNI1 z6oR7SPnE7YP|izE_u9}n7eM=RK$1+1o#Mm>xNWiQ#K_y;3?7R z68{uZVBsOgx>SbXWufAxu|OP0ozM9? zL$urk7^OnQr?K1oo+_GZcdIc@Cl87iVaB*2f7Qa?>{0XVZGqGg^)sck~*q{_P@C5 zLH$D}{K3Jqs|6|VW|p=xf;+G7QdY^}mk$_rO$wfg_qb}c(A5C*sd^6NT&zkFC^ZxS zvyk&fJQFd|FpaC+Ry}4j_On$WIu%SL`yJMVYUNo#Hl&A}NxBhBQu>3q(lBQ2>`{k5 zlS(4*?e!1tu@KErl=}mD(2(tZ8w+D(+UJgkt`RL}p8z_=My#&|aS8lU9KX^m%)W2{ zA4-D*wZmFo0{P9;=;5PtYM(YIN7eYTpNIPuy;3@Q4cG>Z<^T(d10l-ar)D!W{L_)X z9Zh-=$E zo`bT@jq8@BH^N}hI*4T?P%(3ao{S4U@2Nx3#av&sTQFwvs=`thsN61ODGw+im=ZVg z$4yIj2FPaWji}Nfu|x1C(h6tw$=l^BO{q$T^F@dtLFt8vz;_$LH=tJA`j_;soj)5` z&!tf{Ly}AIr@-%gKAb7lEl`+h!~wf7Yv~oHBOnbGK!15a#eR^WIZuwq?qpn5O6nN< zkH*MU!}um7=l0+9yS;oee#lu(;OrR~hUe1fW;6{FNCgaA0>Xz_r0$w0w5*H(MBcn7 zv|+bxJmduK3V#K8(oH5oz$G>oRzH7n!c$?vB(KNA_`_j2cYnd3lb{v$ZyMKi)VZ?>28?B^s-P*IK{~Mv-}LNc!}4(SKtTm|R~kxCUq~H*=Ri5(9<@ zJ)sb6vAb}=YqfoV5XeohsgSRFudJu)wV-G@HgOI}k(oNJW#I)iTp{gVutSp3kNN&g z?_gdKyhIG7HKupTb>CDTCz=RLun_}7CK*r+7~&VqfBLSygs>$W6t`JeQxO4pe-|rAZU{ z+b@%GgOcEpc5^51FE>9|al0Gn4TC^a*2|Ki{;`)CggY35j)RZ4i1qUGaFM*HQTeaq z1T`HZ?3-1o{`hdoxb2Ur7#~OSdm}7RyP`IgDZy+DWc58NBf(@J`!=D<;iQ-%5j}_^ ziky_=1xU5YXN2Q9oRjycClzB4TC}+-Pj9VYbC!E0XQZ@4`7qNQ-SWHCL0RJ_0cGWe zo;acEQPl`jWR}@3`Yzd%E$^$Pj9}M6UQ@$>mD{EYki(J=KRfZtk@_^$L)$IgX;a5J z-2v=E2K9`~OQMwSL_?Bo8fDJv47)#dA?)?rzHXeQHwkv8O|jy5wj-!a^GO{S7LIec zLOcB6Wy%Cy0%Q=?aV*VysLx~-*(Ja@X9_<*cGK_E>;1idf1SA+F+h(-C9ld7^2xdO zU=wlW!rICsunQ;=M*;c#{%cO-vSc2uKVLmzx)HlEUf&I}Wp~kjjZupn@J5mZj{@VNLdGp>(>3+sblJMUw@Fo922T2xVM2?h?08w+qUkG(2&Vq4Y8$> zs$O&0>A{TBWp2-0n*lPDrC!s|6cBlK?ayl^rj5p)Jr_HG1J9fYdDVHnPGgp_0w#-? zFrya^EO&PZY7;8Ir&Mm|ZPt(@b4*L;Sy7SL%FPQ*?*cc~zzxh-*3N3njX%+*Rl`(zTjNMh6~zyYg* zΞ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 literal 0 HcmV?d00001 diff --git a/lab1/Lab1.sql b/lab1/Lab1.sql new file mode 100644 index 0000000..fd77cac --- /dev/null +++ b/lab1/Lab1.sql @@ -0,0 +1,481 @@ +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + + +CREATE TABLE `factory` ( + `ID` int(11) NOT NULL, + `NAME` varchar(255) NOT NULL, + `LOCATION` varchar(255) NOT NULL, + `FLOOR_SIZE` float NOT NULL, + `FK_MANAGER_ID` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `factory` (`ID`, `NAME`, `LOCATION`, `FLOOR_SIZE`, `FK_MANAGER_ID`) VALUES +(0, 'aut magni in earum et ea repellat est', 'Bogan chester', 48.17, 14), +(1, 'accusamus exercitationem sed illo enim labore', 'Antone ton', 37.3, 16), +(2, 'veritatis eaque rem corrupti vero', 'Gottlieb shire', 79.07, 10), +(3, 'error maxime voluptatibus neque quo quo natus', 'Padberg view', 53.2, 8), +(4, 'perspiciatis ut incidunt laborum praesentium voluptatum a perspiciatis autem', 'Greenfelder bury', 24.26, 12), +(5, 'laboriosam impedit illo eveniet quis provident soluta rerum', 'Skiles town', 81.03, 11), +(6, 'debitis assumenda ad tenetur', 'Grant chester', 78.5, 9), +(7, 'ipsum libero animi dolore optio', 'Makenzie shire', 27.56, 5), +(8, 'quia possimus eaque eveniet', 'Waldo port', 52.13, 18), +(9, 'eum dolor dolorum', 'Sawayn view', 13.17, 2), +(10, 'voluptas deserunt quo ipsum incidunt voluptas autem doloremque minima', 'Daniel shire', 46.16, 13), +(11, 'totam omnis sit aut deserunt', 'Glover port', 44.17, 3), +(12, 'molestias nulla voluptatem et nihil repudiandae velit accusamus', 'South Leilani Balistreri berg', 63.92, 7), +(13, 'eaque voluptas repellendus officia', 'Mertz mouth', 17.12, 17), +(14, 'voluptatem impedit eos repudiandae', 'Cristina fort', 24, 0), +(15, 'rem velit voluptates non molestiae aut labore quis', 'McGlynn shire', 90.25, 15), +(16, 'excepturi consectetur numquam labore praesentium at autem impedit', 'Green burgh', 46.62, 19), +(17, 'quae beatae dolor omnis veniam dolores natus repellendus', 'Koss haven', 68.28, 6), +(18, 'et quis molestiae animi nam sapiente sed nihil omnis', 'Otilia bury', 55.74, 1), +(19, 'dignissimos modi et', 'Ryan town', 50.15, 4); + +CREATE TABLE `factory_supports_processes` ( + `FK_PROCESS_ID` int(11) NOT NULL, + `FK_FACTORY_ID` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `factory_supports_processes` (`FK_PROCESS_ID`, `FK_FACTORY_ID`) VALUES +(0, 12), +(1, 9), +(2, 16), +(3, 4), +(4, 15), +(5, 14), +(6, 18), +(7, 17), +(8, 8), +(9, 1), +(10, 3), +(11, 0), +(12, 7), +(13, 10), +(14, 6), +(15, 11), +(16, 5), +(17, 19), +(18, 13), +(19, 2); + +CREATE TABLE `ice_cream_product` ( + `ID` int(11) NOT NULL, + `PRICE` decimal(10,0) NOT NULL, + `NAME` varchar(255) NOT NULL, + `DESCRIPTION` varchar(255) NOT NULL, + `ICECREAM_AMOUNT` float NOT NULL, + `FK_FACTORY_ID` int(11) NOT NULL, + `FK_ICE_CREAM_RECIPE_ID` int(11) NOT NULL, + `PACKAGING_TYPE` char(8) DEFAULT NULL CHECK (`PACKAGING_TYPE` in ('CONE','BOX','CUP','ON_STICK')) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `ice_cream_product` (`ID`, `PRICE`, `NAME`, `DESCRIPTION`, `ICECREAM_AMOUNT`, `FK_FACTORY_ID`, `FK_ICE_CREAM_RECIPE_ID`, `PACKAGING_TYPE`) VALUES +(0, '2', 'Nina', 'accusantium et facere hic quas magni', 115.95, 3, 19, 'ON_STICK'), +(1, '0', 'Mckenna', 'omnis odio ipsa eos dolor quae modi aut', 90.63, 1, 5, 'CUP'), +(2, '2', 'Theodore', 'beatae et quis earum', 197.45, 10, 2, 'ON_STICK'), +(3, '0', 'Alanis', 'illum quibusdam est', 192.52, 17, 18, 'CONE'), +(4, '3', 'Maynard', 'ut rem dignissimos id libero', 147.98, 12, 0, 'CONE'), +(5, '1', 'Jodie', 'maxime labore iste', 155.6, 6, 17, 'CONE'), +(6, '0', 'Jamel', 'alias culpa fugit aperiam', 182.08, 15, 3, 'CONE'), +(7, '2', 'Nayeli', 'dolores consequatur iste corporis aut', 39.36, 11, 8, 'CUP'), +(8, '0', 'Walton', 'officiis aut qui eveniet inventore', 159.46, 16, 13, 'CUP'), +(9, '1', 'Eriberto', 'maxime laboriosam debitis', 111.41, 14, 7, 'BOX'), +(10, '1', 'Christophe', 'at totam quia debitis architecto qui alias ut voluptatem', 129.07, 19, 12, 'CONE'), +(11, '2', 'Tierra', 'amet consequatur exercitationem', 168.46, 9, 4, 'CUP'), +(12, '0', 'Lionel', 'fugit deleniti occaecati vero architecto iusto nostrum', 50.01, 13, 1, 'CUP'), +(13, '2', 'Bettie', 'odit iste illo', 141.82, 2, 11, 'BOX'), +(14, '3', 'Raoul', 'perferendis laboriosam rem vel officia vero', 143.75, 18, 6, 'ON_STICK'), +(15, '0', 'Kristofer', 'ut dolorem rerum beatae labore et hic et', 59.43, 5, 14, 'BOX'), +(16, '2', 'Gladyce', 'velit sunt aut porro ea qui ut nihil quis', 182.8, 7, 10, 'CUP'), +(17, '1', 'Jacquelyn', 'et ullam est dolore inventore tempora numquam', 162.2, 4, 9, 'BOX'), +(18, '2', 'Katarina', 'consectetur ullam minus rem nesciunt', 74.51, 8, 16, 'CUP'), +(19, '2', 'Janick', 'nihil sit et qui similique repudiandae quae eos', 167.62, 0, 15, 'ON_STICK'); + +CREATE TABLE `ice_cream_recipe` ( + `ID` int(11) NOT NULL, + `PRICE` decimal(10,0) NOT NULL, + `FLAVOUR_NAME` varchar(255) NOT NULL, + `DESCRIPTION` varchar(255) NOT NULL, + `TYPE` char(11) NOT NULL, + `FK_NUTRIENT_ID` int(11) NOT NULL +) ; + +INSERT INTO `ice_cream_recipe` (`ID`, `PRICE`, `FLAVOUR_NAME`, `DESCRIPTION`, `TYPE`, `FK_NUTRIENT_ID`) VALUES +(0, '6', 'voluptatem aliquam aut voluptas cumque praesentium neque', 'numquam quam cum', 'SORBET', 1), +(1, '6', 'assumenda necessitatibus et quia accusamus atque non voluptatibus repellat', 'quaerat iste nesciunt', 'DESSERT_ICE', 8), +(2, '1', 'qui quia facere accusantium et quasi atque', 'dolorem eos et minima non illo', 'DESSERT_ICE', 11), +(3, '2', 'totam et cumque illo', 'quos vel quidem cupiditate qui exercitationem ad minima', 'SORBET', 0), +(4, '5', 'necessitatibus voluptatem et aspernatur ipsum', 'repellendus sit aspernatur voluptates', 'WATER_ICE', 18), +(5, '5', 'non excepturi aliquid atque modi itaque amet velit', 'sit animi cumque odit tenetur recusandae', 'DESSERT_ICE', 13), +(6, '9', 'sequi velit eligendi aut hic alias doloribus velit', 'sed nisi et beatae', 'DESSERT_ICE', 9), +(7, '2', 'eligendi ea aperiam dolores totam perferendis sunt', 'aut rerum autem', 'ICE_CREAM', 14), +(8, '7', 'vel distinctio ipsa rem occaecati velit', 'nihil expedita possimus maxime praesentium perspiciatis rem est', 'WATER_ICE', 7), +(9, '10', 'autem hic nulla accusantium sint laborum', 'qui qui maiores voluptas eos dicta ut', 'DESSERT_ICE', 12), +(10, '2', 'quidem iure porro aliquam fugiat unde in et', 'vel voluptas perspiciatis rerum accusamus dolore', 'MILK_ICE', 2), +(11, '7', 'placeat nihil explicabo reiciendis et at unde nam', 'qui libero id quia fugiat a rem enim enim', 'ICE_CREAM', 4), +(12, '8', 'velit qui voluptas atque fuga nihil dolore esse', 'veniam distinctio voluptas unde est libero dolor', 'WATER_ICE', 3), +(13, '4', 'voluptatem quo et voluptas non', 'tempore incidunt ut ullam', 'WATER_ICE', 15), +(14, '8', 'quis et in fugit repellendus rem perferendis', 'sed distinctio nihil sit sapiente sunt iure nemo sint', 'MILK_ICE', 16), +(15, '5', 'ullam est laboriosam sint labore saepe molestiae', 'corporis repellat nobis', 'SORBET', 5), +(16, '1', 'natus rem et eius itaque magnam', 'ipsa nihil natus amet placeat', 'SORBET', 10), +(17, '4', 'minima ea saepe corrupti et eligendi omnis quia non', 'tenetur sapiente quaerat eaque voluptas sunt', 'SORBET', 19), +(18, '4', 'quia qui dignissimos rerum molestiae', 'maiores inventore aperiam laboriosam aspernatur', 'DESSERT_ICE', 6), +(19, '2', 'ad consequatur beatae laudantium explicabo nisi', 'veniam rerum consequatur hic', 'SHERBET', 17); + +CREATE TABLE `ice_cream_recipe_ingredient` ( + `AMOUNT` float NOT NULL, + `FK_INGREDIENT_ID` int(11) NOT NULL, + `FK_ICE_CREAM_RECIPE_ID` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `ice_cream_recipe_ingredient` (`AMOUNT`, `FK_INGREDIENT_ID`, `FK_ICE_CREAM_RECIPE_ID`) VALUES +(7.76, 0, 2), +(1.86, 1, 8), +(0.6, 2, 5), +(4.79, 3, 19), +(6.85, 4, 4), +(1.9, 5, 7), +(5.72, 6, 14), +(3.04, 7, 17), +(3.96, 8, 18), +(6.66, 9, 9), +(0.43, 10, 16), +(1.59, 11, 6), +(6.11, 12, 13), +(5.25, 13, 0), +(5.82, 14, 10), +(9.04, 15, 1), +(6.33, 16, 11), +(9.72, 17, 12), +(3.15, 18, 3), +(1.99, 19, 15); + +CREATE TABLE `ice_cream_recipe_instruction` ( + `ORDERING` int(11) NOT NULL, + `CONTENT` varchar(255) NOT NULL, + `FK_ICE_CREAM_RECIPE_ID` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `ice_cream_recipe_instruction` (`ORDERING`, `CONTENT`, `FK_ICE_CREAM_RECIPE_ID`) VALUES +(0, 'maiores aut itaque qui', 14), +(1, 'occaecati deserunt quam aspernatur vel amet enim', 12), +(2, 'exercitationem soluta enim', 4), +(3, 'facilis qui officiis hic assumenda eum quia officia', 17), +(4, 'voluptatem eum ipsa', 0), +(5, 'aut nisi enim maxime aut totam vero', 2), +(6, 'ipsum id et soluta debitis deleniti', 9), +(7, 'aut consectetur voluptatum', 7), +(8, 'fugiat ipsum expedita neque ducimus quaerat dolores enim', 15), +(9, 'qui deserunt nisi hic similique dicta et voluptate', 8), +(10, 'modi ut id cum magnam dolor numquam consectetur', 11), +(11, 'rerum rerum eaque', 6), +(12, 'saepe ut ipsam ea maxime et temporibus odio qui', 3), +(13, 'quidem qui incidunt iusto', 13), +(14, 'vero ipsa facere itaque sit et magni sit inventore', 5), +(15, 'ea et qui et harum rerum consequatur dolorem', 16), +(16, 'enim omnis rerum eum ut vero et culpa vitae', 1), +(17, 'quia fuga unde expedita recusandae', 10), +(18, 'occaecati exercitationem omnis', 19), +(19, 'corrupti non consequatur laboriosam quo repudiandae ut tempore', 18); + +CREATE TABLE `ingredient` ( + `ID` int(11) NOT NULL, + `NAME` varchar(255) NOT NULL, + `MEASUREMENT_UNITS` char(8) NOT NULL, + `FK_NUTRIENT_ID` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `ingredient` (`ID`, `NAME`, `MEASUREMENT_UNITS`, `FK_NUTRIENT_ID`) VALUES +(0, 'et hic dolore ipsum sapiente delectus nesciunt nobis', 'repellat', 7), +(1, 'suscipit quis error id', 'dicta du', 12), +(2, 'et voluptatem nemo et laborum et eveniet et nihil', 'labore q', 17), +(3, 'natus hic quia quos est distinctio', 'debitis', 8), +(4, 'earum pariatur facilis molestias molestiae voluptate', 'at et vo', 16), +(5, 'pariatur tempore autem illum', 'tempora', 15), +(6, 'aut in quia enim', 'corporis', 10), +(7, 'maiores optio dolor', 'sit nobi', 5), +(8, 'explicabo voluptatibus dolorem consequatur alias magni in', 'voluptas', 2), +(9, 'aperiam dolor hic quia ut non asperiores et', 'quasi qu', 6), +(10, 'eos quia perferendis', 'sunt con', 1), +(11, 'odit voluptatem delectus reiciendis omnis ullam corporis', 'sit enim', 3), +(12, 'aspernatur aut optio', 'beatae d', 14), +(13, 'placeat ducimus natus quod', 'laudanti', 13), +(14, 'debitis aut dolor assumenda', 'aut arch', 0), +(15, 'aspernatur aut id illo quasi', 'et nam t', 18), +(16, 'id sunt vel nam nostrum', 'quasi au', 19), +(17, 'quae natus quo eius nihil et asperiores eligendi nemo', 'delectus', 4), +(18, 'exercitationem velit numquam pariatur odio facilis', 'adipisci', 9), +(19, 'est at consectetur iure ut omnis deserunt ea', 'ut quaer', 11); + +CREATE TABLE `ingredient_provider` ( + `MONTHLY_PRICE` decimal(10,0) NOT NULL, + `MONTHLY_SUPPLY` float NOT NULL, + `FK_INGREDIENT_ID` int(11) NOT NULL, + `FK_PROVIDER_ID` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `ingredient_provider` (`MONTHLY_PRICE`, `MONTHLY_SUPPLY`, `FK_INGREDIENT_ID`, `FK_PROVIDER_ID`) VALUES +('862', 743.06, 0, 16), +('859', 76.8, 1, 0), +('166', 753.18, 2, 17), +('415', 70.83, 3, 11), +('999', 433.5, 4, 19), +('515', 56.42, 5, 6), +('249', 517.47, 6, 15), +('230', 512.64, 7, 1), +('119', 141.04, 8, 14), +('877', 505.73, 9, 4), +('172', 451.22, 10, 18), +('872', 467.81, 11, 2), +('982', 299.08, 12, 8), +('945', 770.66, 13, 3), +('609', 482.36, 14, 9), +('108', 759.37, 15, 13), +('463', 277.69, 16, 7), +('703', 761.15, 17, 12), +('811', 548.29, 18, 10), +('959', 639.18, 19, 5); + +CREATE TABLE `manager` ( + `ID` int(11) NOT NULL, + `FIRST_NAME` varchar(255) NOT NULL, + `SURNAME` varchar(255) NOT NULL, + `PHONE_NUMBER` varchar(255) DEFAULT NULL, + `TITLE` varchar(255) NOT NULL, + `EMAIL` varchar(255) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `manager` (`ID`, `FIRST_NAME`, `SURNAME`, `PHONE_NUMBER`, `TITLE`, `EMAIL`) VALUES +(0, 'Blair', 'Sawayn', '(390) 890-3833', 'fuga et alias ut', 'jovani_occaecati@hotmail.com'), +(1, 'Arlie', 'Sauer', '794.915.2395', 'officia illum quia ut explicabo dicta dolor eius', 'emily_quo@hotmail.com'), +(2, 'Freddie', 'Lakin', '1-460-760-0617', 'et perspiciatis aspernatur', 'eda_quo@yahoo.com'), +(3, 'Arthur', 'Ferry', '107.940.6419 x50983', 'vel quia assumenda', 'jermain_eius@yahoo.com'), +(4, 'Ole', 'Gorczany', '692.839.8491', 'possimus pariatur laudantium voluptas ut', 'germaine_sed@hotmail.com'), +(5, 'Zita', 'Swaniawski', '767-603-6428', 'ut autem qui quasi', 'fritz_at@gmail.com'), +(6, 'Lenny', 'OConner', '1-556-436-8613 x244', 'modi alias et accusantium veniam suscipit voluptate', 'hildegard_tempora@yahoo.com'), +(7, 'Royal', 'Emmerich', '1-507-785-1757 x405', 'labore voluptates libero', 'elisabeth_nobis@hotmail.com'), +(8, 'Yolanda', 'Wiegand', '(331) 807-3192 x214', 'quia culpa quae', 'myrtice_laboriosam@gmail.com'), +(9, 'Chet', 'Jones', '320.295.2273 x24098', 'voluptatem explicabo enim inventore quod sapiente accusamus', 'glenda_deserunt@yahoo.com'), +(10, 'Mabel', 'Casper', '1-516-229-7076 x343', 'voluptatem dolores nam excepturi consequatur quaerat rem dolorem', 'luigi_aliquam@yahoo.com'), +(11, 'Daisha', 'Kirlin', '(362) 773-9634 x44048', 'ut id libero explicabo', 'nannie_vel@gmail.com'), +(12, 'Lisandro', 'Bailey', '409.778.8477 x92878', 'impedit optio aut eum dolorem porro cum doloribus sed', 'brent_alias@hotmail.com'), +(13, 'Nigel', 'OConnell', '(604) 123-6270', 'consequatur quam quo expedita', 'jess_et@hotmail.com'), +(14, 'Sarah', 'Grimes', '(133) 407-0418 x2365', 'mollitia incidunt ut inventore omnis numquam qui rerum', 'stefan_dignissimos@hotmail.com'), +(15, 'Chelsey', 'Ullrich', '1-903-140-7781', 'dolor rem aut sint amet consequatur nam rem', 'antonia_natus@yahoo.com'), +(16, 'Pearline', 'Farrell', '115.350.0674 x416', 'officia tempore rerum dignissimos harum', 'elta_fuga@yahoo.com'), +(17, 'Ellsworth', 'Flatley', '751.766.0531 x92723', 'recusandae nam in dolores illo dolore qui doloribus nesciunt', 'dusty_excepturi@gmail.com'), +(18, 'Lorine', 'Durgan', '(664) 738-4165 x4794', 'laboriosam voluptas architecto sit autem molestiae possimus ab', 'isadore_sunt@gmail.com'), +(19, 'Loraine', 'Gutkowski', '963-630-0026 x2270', 'in laborum quasi qui placeat eaque voluptatem', 'russel_sit@yahoo.com'); + +CREATE TABLE `nutrient` ( + `ID` int(11) NOT NULL, + `FAT` float NOT NULL, + `CHOLESTEROL` float NOT NULL, + `SODIUM` float NOT NULL, + `CARBOHYDRATES` float NOT NULL, + `PROTEIN` float NOT NULL, + `CALORIES` float NOT NULL, + `SERVING_SIZE` float NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `nutrient` (`ID`, `FAT`, `CHOLESTEROL`, `SODIUM`, `CARBOHYDRATES`, `PROTEIN`, `CALORIES`, `SERVING_SIZE`) VALUES +(0, 65.84, 88.21, 45.41, 88.2, 67.78, 23.74, 82.17), +(1, 66.61, 76.33, 75.57, 83.61, 38.75, 87.18, 52.16), +(2, 53.45, 94.19, 24.05, 7.22, 96.21, 59.97, 93.16), +(3, 89.08, 1.96, 4.66, 82.3, 18.84, 24.45, 67.51), +(4, 50.01, 59.42, 50.86, 6.69, 12.34, 50.42, 95.01), +(5, 83.29, 74.39, 62.97, 46.19, 70.07, 57.11, 32.91), +(6, 16.84, 28.32, 31.3, 30.83, 30.72, 36.45, 22.32), +(7, 2.07, 91.14, 59.36, 68.51, 28.82, 51.31, 98.56), +(8, 79.96, 97.31, 21.59, 55.25, 86.54, 37.95, 96.4), +(9, 70.11, 24.41, 29.83, 31.77, 66.84, 11.2, 56.65), +(10, 79.69, 38.05, 26.51, 4.74, 86.28, 5.39, 91.06), +(11, 30.34, 9.76, 31.3, 71.21, 66.85, 10.93, 95.19), +(12, 95.01, 69.67, 26.25, 21.57, 60.79, 55.65, 24.52), +(13, 69.18, 77, 18.21, 8.8, 80.01, 98.48, 73.25), +(14, 13.31, 5.01, 18.9, 87.62, 98.72, 84.29, 23.32), +(15, 22.04, 54.69, 97.9, 3.06, 57.41, 15.48, 66.29), +(16, 34.88, 13.08, 35.79, 12.71, 93.33, 6.89, 27.74), +(17, 26.15, 41.94, 12.44, 71.05, 5.53, 22.16, 39.27), +(18, 26.05, 97.7, 57.08, 9.84, 14.78, 2.2, 2.69), +(19, 82.41, 36.84, 7.9, 40.49, 77.27, 84.37, 42.5); + +CREATE TABLE `process` ( + `ID` int(11) NOT NULL, + `NAME` varchar(255) NOT NULL, + `SIZE` float NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `process` (`ID`, `NAME`, `SIZE`) VALUES +(0, 'placeat quaerat magnam et voluptatem voluptas praesentium', 73.56), +(1, 'nisi alias sit dicta', 83.76), +(2, 'quaerat ullam quidem similique deleniti nesciunt sequi et', 74.94), +(3, 'eum rem aspernatur ut qui incidunt officiis quod consequatur', 64.77), +(4, 'aliquid magnam voluptas', 76.97), +(5, 'earum quis qui aut impedit', 51.27), +(6, 'voluptatem nemo maxime hic nisi voluptatem nam dolores', 80.86), +(7, 'ullam accusantium ullam qui voluptatem voluptas voluptatem et illum', 85.94), +(8, 'nulla quaerat eaque esse iste est sed voluptatem molestiae', 100), +(9, 'rerum aut enim itaque quo vero', 56.24), +(10, 'earum qui et', 16.47), +(11, 'non cumque reprehenderit iusto numquam', 33.05), +(12, 'est perferendis aut ut quia corrupti dolores', 95.58), +(13, 'asperiores eaque ut natus amet', 10.87), +(14, 'ab quia est velit', 60.83), +(15, 'iure quia rerum error praesentium', 77.32), +(16, 'aperiam molestias adipisci similique ut eum', 50.41), +(17, 'et pariatur et eaque', 49.73), +(18, 'modi maxime voluptatem aut consequatur nisi fugiat atque', 38.75), +(19, 'eum aut at ut ab molestias consequuntur maxime doloremque', 60.62); + +CREATE TABLE `provider` ( + `ID` int(11) NOT NULL, + `NAME` varchar(255) NOT NULL, + `EMAIL` varchar(255) DEFAULT NULL, + `PHONE_NUMBER` varchar(255) DEFAULT NULL, + `HOMEPAGE` varchar(255) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `provider` (`ID`, `NAME`, `EMAIL`, `PHONE_NUMBER`, `HOMEPAGE`) VALUES +(0, 'consectetur doloremque asperiores laboriosam', 'aurelia_velit@gmail.com', '716.359.7681 x6186', 'www.vortals.net'), +(1, 'quos voluptatibus ea iusto nam vero ut', 'dudley_aspernatur@yahoo.com', '228-967-6029 x523', 'www.synergies.biz'), +(2, 'quibusdam consequuntur aut quos architecto suscipit dolor ex qui', 'shanel_laudantium@hotmail.com', '529-163-2716', 'www.users.co'), +(3, 'molestiae vitae fuga eum ratione voluptatum', 'dayana_sapiente@hotmail.com', '539-561-0890', 'www.eyeballs.org'), +(4, 'consequatur et veritatis cumque fugit', 'tressa_odio@yahoo.com', '(774) 222-9023 x28541', 'www.models.net'), +(5, 'labore rerum error doloribus nulla', 'lue_est@gmail.com', '(865) 379-6632 x01957', 'www.functionalities.name'), +(6, 'explicabo ad omnis et non voluptate quos assumenda', 'fernando_dolor@yahoo.com', '1-676-497-4906', 'www.platforms.biz'), +(7, 'aspernatur illo asperiores', 'lincoln_voluptates@hotmail.com', '1-380-965-9342 x68355', 'www.e-markets.info'), +(8, 'qui esse sunt beatae', 'quinten_maxime@gmail.com', '(136) 854-5165 x34534', 'www.applications.co'), +(9, 'sit vitae sint', 'dashawn_facilis@gmail.com', '158-268-6130 x067', 'www.metrics.com'), +(10, 'non vel possimus rerum exercitationem qui et', 'lavon_vitae@hotmail.com', '986.516.7089 x54731', 'www.markets.name'), +(11, 'quis debitis cumque', 'mariane_quo@gmail.com', '177.229.8877 x6764', 'www.e-services.name'), +(12, 'aut et aspernatur', 'kaden_in@gmail.com', '1-523-295-4605 x6482', 'www.communities.co'), +(13, 'ab earum odit et ut', 'junior_unde@hotmail.com', '1-705-768-9987 x496', 'www.web-services.name'), +(14, 'accusamus cum quaerat et', 'keaton_eveniet@gmail.com', '(181) 880-0916 x40690', 'www.solutions.biz'), +(15, 'ut rerum consectetur enim qui molestiae asperiores', 'jakob_aut@gmail.com', '(771) 719-4449 x2153', 'www.deliverables.co'), +(16, 'debitis dolor rem nihil', 'lucienne_ullam@yahoo.com', '(198) 619-1034 x1317', 'www.e-business.org'), +(17, 'eum illum omnis vel fuga et modi corrupti', 'viviane_unde@yahoo.com', '1-248-736-0211 x936', 'www.infomediaries.org'), +(18, 'odio officia reiciendis sit error dicta non dolorum', 'delpha_et@yahoo.com', '(520) 773-3109 x23641', 'www.metrics.info'), +(19, 'qui velit reiciendis nesciunt', 'tiffany_cum@hotmail.com', '470-203-0313 x2394', 'www.platforms.io'); + +CREATE TABLE `recipe_needs_processes` ( + `FK_PROCESS_ID` int(11) NOT NULL, + `FK_ICE_CREAM_RECIPE_ID` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +INSERT INTO `recipe_needs_processes` (`FK_PROCESS_ID`, `FK_ICE_CREAM_RECIPE_ID`) VALUES +(0, 10), +(1, 8), +(2, 11), +(3, 4), +(4, 14), +(5, 6), +(6, 13), +(7, 15), +(8, 18), +(9, 16), +(10, 3), +(11, 0), +(12, 12), +(13, 17), +(14, 9), +(15, 1), +(16, 5), +(17, 7), +(18, 19), +(19, 2); + + +ALTER TABLE `factory` + ADD PRIMARY KEY (`ID`), + ADD UNIQUE KEY `FK_MANAGER_ID` (`FK_MANAGER_ID`); + +ALTER TABLE `factory_supports_processes` + ADD PRIMARY KEY (`FK_PROCESS_ID`,`FK_FACTORY_ID`), + ADD KEY `FK_FACTORY_ID` (`FK_FACTORY_ID`); + +ALTER TABLE `ice_cream_product` + ADD PRIMARY KEY (`ID`), + ADD KEY `FK_FACTORY_ID` (`FK_FACTORY_ID`), + ADD KEY `FK_ICE_CREAM_RECIPE_ID` (`FK_ICE_CREAM_RECIPE_ID`); + +ALTER TABLE `ice_cream_recipe` + ADD PRIMARY KEY (`ID`), + ADD UNIQUE KEY `FK_NUTRIENT_ID` (`FK_NUTRIENT_ID`); + +ALTER TABLE `ice_cream_recipe_ingredient` + ADD PRIMARY KEY (`FK_INGREDIENT_ID`,`FK_ICE_CREAM_RECIPE_ID`), + ADD KEY `FK_ICE_CREAM_RECIPE_ID` (`FK_ICE_CREAM_RECIPE_ID`); + +ALTER TABLE `ice_cream_recipe_instruction` + ADD PRIMARY KEY (`ORDERING`,`FK_ICE_CREAM_RECIPE_ID`), + ADD KEY `FK_ICE_CREAM_RECIPE_ID` (`FK_ICE_CREAM_RECIPE_ID`); + +ALTER TABLE `ingredient` + ADD PRIMARY KEY (`ID`), + ADD UNIQUE KEY `FK_NUTRIENT_ID` (`FK_NUTRIENT_ID`); + +ALTER TABLE `ingredient_provider` + ADD PRIMARY KEY (`FK_INGREDIENT_ID`,`FK_PROVIDER_ID`), + ADD KEY `FK_PROVIDER_ID` (`FK_PROVIDER_ID`); + +ALTER TABLE `manager` + ADD PRIMARY KEY (`ID`); + +ALTER TABLE `nutrient` + ADD PRIMARY KEY (`ID`); + +ALTER TABLE `process` + ADD PRIMARY KEY (`ID`); + +ALTER TABLE `provider` + ADD PRIMARY KEY (`ID`); + +ALTER TABLE `recipe_needs_processes` + ADD PRIMARY KEY (`FK_PROCESS_ID`,`FK_ICE_CREAM_RECIPE_ID`), + ADD KEY `FK_ICE_CREAM_RECIPE_ID` (`FK_ICE_CREAM_RECIPE_ID`); + + +ALTER TABLE `factory` + ADD CONSTRAINT `factory_ibfk_1` FOREIGN KEY (`FK_MANAGER_ID`) REFERENCES `manager` (`ID`); + +ALTER TABLE `factory_supports_processes` + ADD CONSTRAINT `factory_supports_processes_ibfk_1` FOREIGN KEY (`FK_PROCESS_ID`) REFERENCES `process` (`ID`), + ADD CONSTRAINT `factory_supports_processes_ibfk_2` FOREIGN KEY (`FK_FACTORY_ID`) REFERENCES `factory` (`ID`); + +ALTER TABLE `ice_cream_product` + ADD CONSTRAINT `ice_cream_product_ibfk_1` FOREIGN KEY (`FK_FACTORY_ID`) REFERENCES `factory` (`ID`), + ADD CONSTRAINT `ice_cream_product_ibfk_2` FOREIGN KEY (`FK_ICE_CREAM_RECIPE_ID`) REFERENCES `ice_cream_recipe` (`ID`); + +ALTER TABLE `ice_cream_recipe` + ADD CONSTRAINT `ice_cream_recipe_ibfk_1` FOREIGN KEY (`FK_NUTRIENT_ID`) REFERENCES `nutrient` (`ID`); + +ALTER TABLE `ice_cream_recipe_ingredient` + ADD CONSTRAINT `ice_cream_recipe_ingredient_ibfk_1` FOREIGN KEY (`FK_INGREDIENT_ID`) REFERENCES `ingredient` (`ID`), + ADD CONSTRAINT `ice_cream_recipe_ingredient_ibfk_2` FOREIGN KEY (`FK_ICE_CREAM_RECIPE_ID`) REFERENCES `ice_cream_recipe` (`ID`); + +ALTER TABLE `ice_cream_recipe_instruction` + ADD CONSTRAINT `ice_cream_recipe_instruction_ibfk_1` FOREIGN KEY (`FK_ICE_CREAM_RECIPE_ID`) REFERENCES `ice_cream_recipe` (`ID`); + +ALTER TABLE `ingredient` + ADD CONSTRAINT `ingredient_ibfk_1` FOREIGN KEY (`FK_NUTRIENT_ID`) REFERENCES `nutrient` (`ID`); + +ALTER TABLE `ingredient_provider` + ADD CONSTRAINT `ingredient_provider_ibfk_1` FOREIGN KEY (`FK_INGREDIENT_ID`) REFERENCES `ingredient` (`ID`), + ADD CONSTRAINT `ingredient_provider_ibfk_2` FOREIGN KEY (`FK_PROVIDER_ID`) REFERENCES `provider` (`ID`); + +ALTER TABLE `recipe_needs_processes` + ADD CONSTRAINT `recipe_needs_processes_ibfk_1` FOREIGN KEY (`FK_PROCESS_ID`) REFERENCES `process` (`ID`), + ADD CONSTRAINT `recipe_needs_processes_ibfk_2` FOREIGN KEY (`FK_ICE_CREAM_RECIPE_ID`) REFERENCES `ice_cream_recipe` (`ID`); +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/lab1/README.md b/lab1/README.md new file mode 100644 index 0000000..6d2a93b --- /dev/null +++ b/lab1/README.md @@ -0,0 +1,9 @@ +# Lab 1 + +Įmonė užsijima ledų gamyba, tai yra nuo produktų gavimo iki pabaigto produkto. + +Produktai gaminami fabrikuose, kiekvienas fabrikas turi limituotą dydį, šis dydis yra aprašomas paviršiaus plotu. Šis dydis nėra absoliutus rodiklis kuris garanuotų, kad kažkokia nauja aparatūra tilptų į fabriką. Bet gali pasakyti kada tikrai netipltų į fabriką, nesvarbu kaip išdėstyta būtų kita aparatūra. + +Ledų matavimo vienetai yra visada "ml", o kiekvienam ingridientiui matavimo vienetai nurodomi ranka ir priklauso nuo to ingriento paskirties. + +Duomenų bazėje nelaikoma istorija sutarčių su teikėjai. Jeigu nutraukiama sutartis, įrašas yra ištrinamas. \ No newline at end of file diff --git a/lab1/script.ddl b/lab1/script.ddl new file mode 100644 index 0000000..6e38537 --- /dev/null +++ b/lab1/script.ddl @@ -0,0 +1,155 @@ +#@(#) script.ddl + +DROP TABLE IF EXISTS FACTORY_SUPPORTS_PROCESSES; +DROP TABLE IF EXISTS RECIPE_NEEDS_PROCESSES; +DROP TABLE IF EXISTS INGREDIENT_PROVIDER; +DROP TABLE IF EXISTS ICE_CREAM_RECIPE_INSTRUCTION; +DROP TABLE IF EXISTS ICE_CREAM_RECIPE_INGREDIENT; +DROP TABLE IF EXISTS ICE_CREAM_PRODUCT; +DROP TABLE IF EXISTS INGREDIENT; +DROP TABLE IF EXISTS ICE_CREAM_RECIPE; +DROP TABLE IF EXISTS FACTORY; +DROP TABLE IF EXISTS PROVIDER; +DROP TABLE IF EXISTS PROCESS; +DROP TABLE IF EXISTS NUTRIENT; +DROP TABLE IF EXISTS MANAGER; +CREATE TABLE MANAGER +( + ID int NOT NULL, + FIRST_NAME varchar (255) NOT NULL, + SURNAME varchar (255) NOT NULL, + PHONE_NUMBER varchar (255) NULL, + TITLE varchar (255) NOT NULL, + EMAIL varchar (255) NULL, + PRIMARY KEY(ID) +); + +CREATE TABLE NUTRIENT +( + ID int NOT NULL, + FAT float NOT NULL, + CHOLESTEROL float NOT NULL, + SODIUM float NOT NULL, + CARBOHYDRATES float NOT NULL, + PROTEIN float NOT NULL, + CALORIES float NOT NULL, + SERVING_SIZE float NOT NULL, + PRIMARY KEY(ID) +); + +CREATE TABLE PROCESS +( + ID int NOT NULL, + NAME varchar (255) NOT NULL, + SIZE float NOT NULL, + PRIMARY KEY(ID) +); + +CREATE TABLE PROVIDER +( + ID int NOT NULL, + NAME varchar (255) NOT NULL, + EMAIL varchar (255) NULL, + PHONE_NUMBER varchar (255) NULL, + HOMEPAGE varchar (255) NULL, + PRIMARY KEY(ID) +); + +CREATE TABLE FACTORY +( + ID int NOT NULL, + NAME varchar (255) NOT NULL, + LOCATION varchar (255) NOT NULL, + FLOOR_SIZE float NOT NULL, + FK_MANAGER_ID int NOT NULL, + PRIMARY KEY(ID), + UNIQUE(FK_MANAGER_ID), + FOREIGN KEY(FK_MANAGER_ID) REFERENCES MANAGER (ID) +); + +CREATE TABLE ICE_CREAM_RECIPE +( + ID int NOT NULL, + PRICE decimal NOT NULL, + FLAVOUR_NAME varchar (255) NOT NULL, + DESCRIPTION varchar (255) NOT NULL, + FK_NUTRIENT_ID int NOT NULL, + PRIMARY KEY(ID), + UNIQUE(FK_NUTRIENT_ID), + FOREIGN KEY(FK_NUTRIENT_ID) REFERENCES NUTRIENT (ID), + TYPE char (11) CHECK(TYPE in ('DESSERT_ICE', 'ICE_CREAM', 'MILK_ICE', 'SHERBET', 'WATER_ICE', 'SORBET')) +); + +CREATE TABLE INGREDIENT +( + ID int NOT NULL, + NAME varchar (255) NOT NULL, + MEASUREMENT_UNITS char (8) NOT NULL, + FK_NUTRIENT_ID int NOT NULL, + PRIMARY KEY(ID), + UNIQUE(FK_NUTRIENT_ID), + FOREIGN KEY(FK_NUTRIENT_ID) REFERENCES NUTRIENT (ID) +); + +CREATE TABLE ICE_CREAM_PRODUCT +( + ID int NOT NULL, + PRICE decimal NOT NULL, + NAME varchar (255) NOT NULL, + DESCRIPTION varchar (255) NOT NULL, + ICECREAM_AMOUNT float NOT NULL, + FK_FACTORY_ID int NOT NULL, + FK_ICE_CREAM_RECIPE_ID int NOT NULL, + PRIMARY KEY(ID), + FOREIGN KEY(FK_FACTORY_ID) REFERENCES FACTORY (ID), + FOREIGN KEY(FK_ICE_CREAM_RECIPE_ID) REFERENCES ICE_CREAM_RECIPE (ID), + PACKAGING_TYPE char (8) CHECK(PACKAGING_TYPE in ('CONE', 'BOX', 'CUP', 'ON_STICK')) +); + +CREATE TABLE ICE_CREAM_RECIPE_INGREDIENT +( + AMOUNT float NOT NULL, + FK_INGREDIENT_ID int NOT NULL, + FK_ICE_CREAM_RECIPE_ID int NOT NULL, + PRIMARY KEY(FK_INGREDIENT_ID, FK_ICE_CREAM_RECIPE_ID), + FOREIGN KEY(FK_INGREDIENT_ID) REFERENCES INGREDIENT (ID), + FOREIGN KEY(FK_ICE_CREAM_RECIPE_ID) REFERENCES ICE_CREAM_RECIPE (ID) +); + +CREATE TABLE ICE_CREAM_RECIPE_INSTRUCTION +( + ORDERING int NOT NULL, + CONTENT varchar (255) NOT NULL, + FK_ICE_CREAM_RECIPE_ID int NOT NULL, + PRIMARY KEY(ORDERING, FK_ICE_CREAM_RECIPE_ID), + FOREIGN KEY(FK_ICE_CREAM_RECIPE_ID) REFERENCES ICE_CREAM_RECIPE (ID) +); + +CREATE TABLE INGREDIENT_PROVIDER +( + MONTHLY_PRICE decimal NOT NULL, + MONTHLY_SUPPLY float NOT NULL, + FK_INGREDIENT_ID int NOT NULL, + FK_PROVIDER_ID int NOT NULL, + PRIMARY KEY(FK_INGREDIENT_ID, FK_PROVIDER_ID), + FOREIGN KEY(FK_INGREDIENT_ID) REFERENCES INGREDIENT (ID), + FOREIGN KEY(FK_PROVIDER_ID) REFERENCES PROVIDER (ID) +); + +CREATE TABLE RECIPE_NEEDS_PROCESSES +( + FK_PROCESS_ID int NOT NULL, + FK_ICE_CREAM_RECIPE_ID int NOT NULL, + PRIMARY KEY(FK_PROCESS_ID, FK_ICE_CREAM_RECIPE_ID), + FOREIGN KEY(FK_PROCESS_ID) REFERENCES PROCESS (ID), + FOREIGN KEY(FK_ICE_CREAM_RECIPE_ID) REFERENCES ICE_CREAM_RECIPE (ID) +); + +CREATE TABLE FACTORY_SUPPORTS_PROCESSES +( + FK_PROCESS_ID int NOT NULL, + FK_FACTORY_ID int NOT NULL, + PRIMARY KEY(FK_PROCESS_ID, FK_FACTORY_ID), + FOREIGN KEY(FK_PROCESS_ID) REFERENCES PROCESS (ID), + FOREIGN KEY(FK_FACTORY_ID) REFERENCES FACTORY (ID) +); diff --git a/lab2/.env b/lab2/.env new file mode 100644 index 0000000..e006862 --- /dev/null +++ b/lab2/.env @@ -0,0 +1 @@ +DATABASE_URL="sqlite:../database.sqlite" diff --git a/lab2/.gitignore b/lab2/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/lab2/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/lab2/.vscode/extensions.json b/lab2/.vscode/extensions.json new file mode 100644 index 0000000..61343e9 --- /dev/null +++ b/lab2/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "svelte.svelte-vscode", + "tauri-apps.tauri-vscode", + "rust-lang.rust-analyzer" + ] +} diff --git a/lab2/README.md b/lab2/README.md new file mode 100644 index 0000000..15896c1 --- /dev/null +++ b/lab2/README.md @@ -0,0 +1,7 @@ +# ICE Management + +ICE - Ice Cream Emporium + +## Recommended IDE Setup + +[VS Code](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer). diff --git a/lab2/database.sqlite b/lab2/database.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..408a8cb97800170cb6bae214a55eb864d38e70fb GIT binary patch literal 143360 zcmeI*&2QW09l&wXb|g!F%}c{3j$2wi#75#8t`TfO4;@WCwpmM}N>S;wi{Pbh=QVNA z)ZNx$JH&RkU3wh~4A^;x`~f=*1BPPTVFUIz?6k{{>t(}$J)}rUe38ryo(*|l84l&= zdH6h!KEH<#$%jr-f2X{6u&cfQY^qD5I_I{1Q0*~0R#|0009ILKwzi@MrCg&W0R#|0 z;QvS9@bXMfU06_#9=A^%)lFNJOi^{r&bwLnOyUU5(bvmD>!ueL3wg7o?d>0ERm;(; zjdJ;JAz#%iLi^s%(}&;Ld8#eGaqr$zZ*E2C^@c4fvVm5kYC3hTUGD3lQXAW?YQwSJ zZnWYp)NHe&+f8j-G#Aa%l5A7f^iD%8hIex_HY{71n^mu9Bv-S=hOkA|5Ovx0c4L}b zUty_WX1;qiBjD)u$(*{pto&pq;j~>7;nR3cOoby6I?2~Way+D#A++~)AMQQgdDI(< zjk5m0YS^v80V|2RVVgC_w5t818m5ho2&Y*SewbHRmo#Hb7~6|p;@-Ztcw4qm7q$$v zA#UH*Zg)Pj`$NSnZwDFmEn%+<$4!1$4oAC_Zh6T|ZoL2JL*uRKtXf}IGJE^)?f&57 zj~?wE?6!73Ie6mz?DnYVva2RqZ$wjO-kN%$3Ra^POi%ws`SIBdPFjfxJhO8-b$(ts z{JwX*)@72PaH54iROTidd#Le7tsbzvu$*s?03rf4%fT9?`GCL1+y6aO26y7?`k zz5nRRPU!R!Il>D|%h{}|&kg9k+rHO%_f78b>ZljNqffoQ2Qz=L9Sik7NKNkkhVI1s zXKYzzQJ2$`RgP!Yt&-WO#M2GkUbnWIC0ovG^?0_Fb%a@sXBc|fl4r?;UF3}VK%S{v zDG^u31`UCLp|u*kyOhZ&tFfblg#H3kqiW`g^6SjZpJskO_4(A>6ThAKpl~z)yYW)) z-&rg7tFhl)`se7qvCl_-FAMQHLxE9Mxzlb=zFUYkd{|iU=DMTyTvySna$>dpO(8T} z6#dkqCNGSOW~rDrtB#PRd#}2R8>U@%yo;`4-oH$aT_qRgHL`nt7*L}3ED$axFN2DX z>68cU?VVm?yYen|IvU0xX1w5)pPj?(m|PXFrXLx?BrCG7sCD^koPUceB{>1zfFmhir%M0vwLq;Izw#HjZgH7H!)_p zuQJ!VqV0FfuMRqA`jV~Hfb{UqTRBzNm1D&Ve2`yn)M}RP)LZ_UU)1~Oyc!Bt|8nk` zRwDW}CfxkV%wX@qcZQ)_?rNd^qU52nOTFNJN4y)u`2A$JC!wAEWdClmKA%-T(EDAW z1XaW_JN~VBo_6@)W=_3-Upe0NLgKFS%G-^q5T%}QB&W`YLXli1O&FqgCh=ft^3^-1 zgqXdMB-C+Qu}P}BH?q-uKU&*!S+#Y)U$m07TC2(F?#wps9&zGER&B2JtF*hK;*NXo zhN88aka+X(hcD;UwKe6lIWOo5MG}&3guRgqsybWcrfgrbBrO&M1>B)nZpN=f zWoUbKZEH`1CgevofN{6PsFB0l6;^d~_oZ>Ykbg)uV>vJfKB4;Fc|KTP00&t;Uc8L7wZQ z_m$n{JvY#?x}%GL(SQc6y}&V_&`3C}kxuwgYP^(H_ly^aQn1{a7^EQc`ceK`PBjeW zvm5OrFVc9=*pK(SvyS@GNf8Q~a|5JTtcHw3>=Glzffnz=N%4tR`XX`ad^|b-ha=R< z>2u&E^fO#RMA;9qel@E$R!$DFJbp{^0PGE{pLFdwdnKo?tSCQyGZId}K(}Xp!qq;Z z^RwN6#bz~kF*12F9lZ3DYQ~^Wr8Zb_RON)5VQXRzknr>|Cn{tw9^{n8^h5Gga zZY0-R%9XQ+w}!iJebZg0H5xT{BWJ+6V;bAH`z+B$rt)sLL!+VhqAGqR){U5dDvl1u z@N7XDog4T6-@^X@W+CX- literal 0 HcmV?d00001 diff --git a/lab2/index.html b/lab2/index.html new file mode 100644 index 0000000..93be571 --- /dev/null +++ b/lab2/index.html @@ -0,0 +1,13 @@ + + + + + + ICE - Management + + + +

+ + + diff --git a/lab2/package.json b/lab2/package.json new file mode 100644 index 0000000..c09660f --- /dev/null +++ b/lab2/package.json @@ -0,0 +1,32 @@ +{ + "name": "icecream-emporium", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-check --tsconfig ./tsconfig.json", + "tauri": "tauri" + }, + "dependencies": { + "@tauri-apps/api": "^1.2.0" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "^2.0.0", + "@tauri-apps/cli": "^1.2.2", + "@tsconfig/svelte": "^3.0.0", + "@types/node": "^18.7.10", + "@unocss/transformer-directives": "^0.50.4", + "carbon-components-svelte": "^0.73.3", + "svelte": "^3.54.0", + "svelte-check": "^3.0.0", + "svelte-preprocess": "^5.0.0", + "svelte-spa-router": "^3.3.0", + "tslib": "^2.4.1", + "typescript": "^4.6.4", + "unocss": "^0.50.4", + "vite": "^4.0.0" + } +} diff --git a/lab2/pnpm-lock.yaml b/lab2/pnpm-lock.yaml new file mode 100644 index 0000000..3f9bc56 --- /dev/null +++ b/lab2/pnpm-lock.yaml @@ -0,0 +1,1586 @@ +lockfileVersion: 5.4 + +specifiers: + '@sveltejs/vite-plugin-svelte': ^2.0.0 + '@tauri-apps/api': ^1.2.0 + '@tauri-apps/cli': ^1.2.2 + '@tsconfig/svelte': ^3.0.0 + '@types/node': ^18.7.10 + '@unocss/transformer-directives': ^0.50.4 + carbon-components-svelte: ^0.73.3 + svelte: ^3.54.0 + svelte-check: ^3.0.0 + svelte-preprocess: ^5.0.0 + svelte-spa-router: ^3.3.0 + tslib: ^2.4.1 + typescript: ^4.6.4 + unocss: ^0.50.4 + vite: ^4.0.0 + +dependencies: + '@tauri-apps/api': 1.2.0 + +devDependencies: + '@sveltejs/vite-plugin-svelte': 2.0.3_svelte@3.56.0+vite@4.1.4 + '@tauri-apps/cli': 1.2.3 + '@tsconfig/svelte': 3.0.0 + '@types/node': 18.15.0 + '@unocss/transformer-directives': 0.50.4 + carbon-components-svelte: 0.73.3 + svelte: 3.56.0 + svelte-check: 3.1.2_svelte@3.56.0 + svelte-preprocess: 5.0.1_rx3ssngbibhj4vpczagsdyy47u + svelte-spa-router: 3.3.0 + tslib: 2.5.0 + typescript: 4.9.5 + unocss: 0.50.4_vite@4.1.4 + vite: 4.1.4_@types+node@18.15.0 + +packages: + + /@ampproject/remapping/2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@antfu/install-pkg/0.1.1: + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + + /@antfu/utils/0.5.2: + resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} + dev: true + + /@antfu/utils/0.7.2: + resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} + dev: true + + /@esbuild/android-arm/0.16.17: + resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64/0.16.17: + resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.16.17: + resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.16.17: + resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.16.17: + resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.16.17: + resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.16.17: + resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.16.17: + resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.16.17: + resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.16.17: + resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.16.17: + resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.16.17: + resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.16.17: + resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.16.17: + resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.16.17: + resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.16.17: + resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.16.17: + resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.16.17: + resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.16.17: + resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.16.17: + resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.16.17: + resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.16.17: + resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@iconify/types/2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: true + + /@iconify/utils/2.1.5: + resolution: {integrity: sha512-6MvDI+I6QMvXn5rK9KQGdpEE4mmLTcuQdLZEiX5N+uZB+vc4Yw9K1OtnOgkl8mp4d9X0UrILREyZgF1NUwUt+Q==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.2 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.7.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@jridgewell/gen-mapping/0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/trace-mapping/0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@polka/url/1.0.0-next.21: + resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: true + + /@rollup/pluginutils/5.0.2: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@sveltejs/vite-plugin-svelte/2.0.3_svelte@3.56.0+vite@4.1.4: + resolution: {integrity: sha512-o+cguBFdwIGtRbNkYOyqTM7KvRUffxh5bfK4oJsWKG2obu+v/cbpT03tJrGl58C7tRXo/aEC0/axN5FVHBj0nA==} + engines: {node: ^14.18.0 || >= 16} + peerDependencies: + svelte: ^3.54.0 + vite: ^4.0.0 + dependencies: + debug: 4.3.4 + deepmerge: 4.3.0 + kleur: 4.1.5 + magic-string: 0.29.0 + svelte: 3.56.0 + svelte-hmr: 0.15.1_svelte@3.56.0 + vite: 4.1.4_@types+node@18.15.0 + vitefu: 0.2.4_vite@4.1.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@tauri-apps/api/1.2.0: + resolution: {integrity: sha512-lsI54KI6HGf7VImuf/T9pnoejfgkNoXveP14pVV7XarrQ46rOejIVJLFqHI9sRReJMGdh2YuCoI3cc/yCWCsrw==} + engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} + dev: false + + /@tauri-apps/cli-darwin-arm64/1.2.3: + resolution: {integrity: sha512-phJN3fN8FtZZwqXg08bcxfq1+X1JSDglLvRxOxB7VWPq+O5SuB8uLyssjJsu+PIhyZZnIhTGdjhzLSFhSXfLsw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-darwin-x64/1.2.3: + resolution: {integrity: sha512-jFZ/y6z8z6v4yliIbXKBXA7BJgtZVMsITmEXSuD6s5+eCOpDhQxbRkr6CA+FFfr+/r96rWSDSgDenDQuSvPAKw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-arm-gnueabihf/1.2.3: + resolution: {integrity: sha512-C7h5vqAwXzY0kRGSU00Fj8PudiDWFCiQqqUNI1N+fhCILrzWZB9TPBwdx33ZfXKt/U4+emdIoo/N34v3TiAOmQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-arm64-gnu/1.2.3: + resolution: {integrity: sha512-buf1c8sdkuUzVDkGPQpyUdAIIdn5r0UgXU6+H5fGPq/Xzt5K69JzXaeo6fHsZEZghbV0hOK+taKV4J0m30UUMQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-arm64-musl/1.2.3: + resolution: {integrity: sha512-x88wPS9W5xAyk392vc4uNHcKBBvCp0wf4H9JFMF9OBwB7vfd59LbQCFcPSu8f0BI7bPrOsyHqspWHuFL8ojQEA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-x64-gnu/1.2.3: + resolution: {integrity: sha512-ZMz1jxEVe0B4/7NJnlPHmwmSIuwiD6ViXKs8F+OWWz2Y4jn5TGxWKFg7DLx5OwQTRvEIZxxT7lXHi5CuTNAxKg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-x64-musl/1.2.3: + resolution: {integrity: sha512-B/az59EjJhdbZDzawEVox0LQu2ZHCZlk8rJf85AMIktIUoAZPFbwyiUv7/zjzA/sY6Nb58OSJgaPL2/IBy7E0A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-win32-ia32-msvc/1.2.3: + resolution: {integrity: sha512-ypdO1OdC5ugNJAKO2m3sb1nsd+0TSvMS9Tr5qN/ZSMvtSduaNwrcZ3D7G/iOIanrqu/Nl8t3LYlgPZGBKlw7Ng==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-win32-x64-msvc/1.2.3: + resolution: {integrity: sha512-CsbHQ+XhnV/2csOBBDVfH16cdK00gNyNYUW68isedmqcn8j+s0e9cQ1xXIqi+Hue3awp8g3ImYN5KPepf3UExw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli/1.2.3: + resolution: {integrity: sha512-erxtXuPhMEGJPBtnhPILD4AjuT81GZsraqpFvXAmEJZ2p8P6t7MVBifCL8LznRknznM3jn90D3M8RNBP3wcXTw==} + engines: {node: '>= 10'} + hasBin: true + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 1.2.3 + '@tauri-apps/cli-darwin-x64': 1.2.3 + '@tauri-apps/cli-linux-arm-gnueabihf': 1.2.3 + '@tauri-apps/cli-linux-arm64-gnu': 1.2.3 + '@tauri-apps/cli-linux-arm64-musl': 1.2.3 + '@tauri-apps/cli-linux-x64-gnu': 1.2.3 + '@tauri-apps/cli-linux-x64-musl': 1.2.3 + '@tauri-apps/cli-win32-ia32-msvc': 1.2.3 + '@tauri-apps/cli-win32-x64-msvc': 1.2.3 + dev: true + + /@tsconfig/svelte/3.0.0: + resolution: {integrity: sha512-pYrtLtOwku/7r1i9AMONsJMVYAtk3hzOfiGNekhtq5tYBGA7unMve8RvUclKLMT3PrihvJqUmzsRGh0RP84hKg==} + dev: true + + /@types/estree/1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + dev: true + + /@types/node/18.15.0: + resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} + dev: true + + /@types/pug/2.0.6: + resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} + dev: true + + /@types/sass/1.45.0: + resolution: {integrity: sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==} + deprecated: This is a stub types definition. sass provides its own type definitions, so you do not need this installed. + dependencies: + sass: 1.59.2 + dev: true + + /@unocss/astro/0.50.4_vite@4.1.4: + resolution: {integrity: sha512-NlfkyMM/xv0ozzP/ByqFAQmtzpDALWqWssXmtSQVV3CCZCxTQYzeenXgv92VELISxNUHJ46elKPHhWNpRBxCjg==} + dependencies: + '@unocss/core': 0.50.4 + '@unocss/reset': 0.50.4 + '@unocss/vite': 0.50.4_vite@4.1.4 + transitivePeerDependencies: + - rollup + - vite + dev: true + + /@unocss/cli/0.50.4: + resolution: {integrity: sha512-rAdMSfDio5dGbHCnhmvh+72D7JmIksDIpGYf0rjrMU+rxSC3/l4+Dr9Rr5qqNg1I51AcB9/UM6ena0TF2RyK8A==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.2.0 + '@rollup/pluginutils': 5.0.2 + '@unocss/config': 0.50.4 + '@unocss/core': 0.50.4 + '@unocss/preset-uno': 0.50.4 + cac: 6.7.14 + chokidar: 3.5.3 + colorette: 2.0.19 + consola: 2.15.3 + fast-glob: 3.2.12 + magic-string: 0.30.0 + pathe: 1.1.0 + perfect-debounce: 0.1.3 + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/config/0.50.4: + resolution: {integrity: sha512-5Nvlvu3RHoZFqaxJwaN/pr9bWHg2PZ4omD90y/xe0CXWHjX9n3BJHcXqQQm0Iai6uF1IZDPOC5nj2UU2oKFxMg==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.50.4 + unconfig: 0.3.7 + dev: true + + /@unocss/core/0.50.4: + resolution: {integrity: sha512-k/8CdnO4w7f+QdvCpS3U5y6xApC4odiErkBKCCaGgBqOWkuTSL92TiBnffSEA2WepGm1+Mv4urIk20ocKYxbUQ==} + dev: true + + /@unocss/inspector/0.50.4: + resolution: {integrity: sha512-3xYOhjNmM7qpdU4CSbL7acCb4YuTdeSoYCIMtWkbg9mHh/6GQZWV2eDTxwSxVE7WwDymw9Jg44Ewq3oboZWl1Q==} + dependencies: + gzip-size: 6.0.0 + sirv: 2.0.2 + dev: true + + /@unocss/postcss/0.50.4: + resolution: {integrity: sha512-Gri+EqIOs/yKk0YHel5XLHQCRD1BzKdQHF82zizJUyqaRStR2qvR8ECInYsirXL/eUEvx2zT8iQKCXkiApTuQw==} + engines: {node: '>=14'} + dependencies: + '@unocss/config': 0.50.4 + '@unocss/core': 0.50.4 + css-tree: 2.3.1 + fast-glob: 3.2.12 + magic-string: 0.30.0 + postcss: 8.4.21 + dev: true + + /@unocss/preset-attributify/0.50.4: + resolution: {integrity: sha512-lSEyfpIGSzZB4DHFxrxhaa7rDF5PpM1EbReKogTVG7wsYTCmdCh8YirrgAlrcFCN1NgcbW1DaHdQs891A7glow==} + dependencies: + '@unocss/core': 0.50.4 + dev: true + + /@unocss/preset-icons/0.50.4: + resolution: {integrity: sha512-0Bnito2u/t479oI9syXG8ynK1q2YUBt+dV6S6UugiTtys0KahjmuOTuk10GDgF50r4FvI38QfHBv+kF95qmwZg==} + dependencies: + '@iconify/utils': 2.1.5 + '@unocss/core': 0.50.4 + ofetch: 1.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/preset-mini/0.50.4: + resolution: {integrity: sha512-M+4by82hlpZq/sE0axrepQ6sgTl65nXrbNIHhXmfIsqulH7nENELJIr/TFi7VcSJdPMGVwo9l9dHnFMhSQM5hg==} + dependencies: + '@unocss/core': 0.50.4 + dev: true + + /@unocss/preset-tagify/0.50.4: + resolution: {integrity: sha512-SJchttBpnePOKBD9onjprqOcgyWFAaOzT3O6M/sWzHEszVcfsFi2uPcwZW5CLwbOMiV0tbozBQFkcQ1c1swilw==} + dependencies: + '@unocss/core': 0.50.4 + dev: true + + /@unocss/preset-typography/0.50.4: + resolution: {integrity: sha512-iEVdwd591RKAzirvftAHcLWdTam3ea/M7ElC1geMlY8rsFNtiDjVLtY87v8piHVXXFBwy71YAGhJkPCrxE8yHw==} + dependencies: + '@unocss/core': 0.50.4 + '@unocss/preset-mini': 0.50.4 + dev: true + + /@unocss/preset-uno/0.50.4: + resolution: {integrity: sha512-otmCHbzJH1EISZ2Hvu35CEYaH3T6giwTreaP8CEo+BEjhGv2hgWmJko8GPDerUgO4FSP/YCwSGyBvcvSsRXV8A==} + dependencies: + '@unocss/core': 0.50.4 + '@unocss/preset-mini': 0.50.4 + '@unocss/preset-wind': 0.50.4 + dev: true + + /@unocss/preset-web-fonts/0.50.4: + resolution: {integrity: sha512-4l8ILVzL6pAtMjwB5NRg1HowCS6dz4tLRVxH5W4uPyU5ADt3nhk5oQvzD9hDiB5sNJcXFVpMhI09UsRjUHQaTw==} + dependencies: + '@unocss/core': 0.50.4 + ofetch: 1.0.1 + dev: true + + /@unocss/preset-wind/0.50.4: + resolution: {integrity: sha512-kOdX5DYrspbVOkNY7cEH0jJrtmtxlEcsZb9ieToYb3l76oWicgZX5G46c74+UzMW2ru9dxdOBgJWgnWbH7AFDQ==} + dependencies: + '@unocss/core': 0.50.4 + '@unocss/preset-mini': 0.50.4 + dev: true + + /@unocss/reset/0.50.4: + resolution: {integrity: sha512-UHNDhClJMx3sG3oi68XkOcTeJ2hkI20O0eHowSoua10NClbnS9tiKxeo4ZLInouzvac3tb1TsjKEgTosHfkR/w==} + dev: true + + /@unocss/scope/0.50.4: + resolution: {integrity: sha512-USJ5hr1dVE8JOb0PJYqpfAWxGLB69b+z30ZGzdmDgblmVheYsyzWZ3KMclz/2x8HtXRsB2VuJT5KqUPW7lT3gw==} + dev: true + + /@unocss/transformer-attributify-jsx/0.50.4: + resolution: {integrity: sha512-DETbAiN/i393/OLuyEMBCXr2wDGyqEbkDMl/ZPN5RKO6m7312yt0KebnfIJnKaL0wGs90ohtV4ZHWMOeucX2jQ==} + dependencies: + '@unocss/core': 0.50.4 + dev: true + + /@unocss/transformer-compile-class/0.50.4: + resolution: {integrity: sha512-pjXamTunv8CAX8r6heEw/UJdhkYNIbMEr6GGQfe33K6lL4fdU85NbvZD7c3pXbQJahKrGsgL7TSPvFoRw+5MZA==} + dependencies: + '@unocss/core': 0.50.4 + dev: true + + /@unocss/transformer-directives/0.50.4: + resolution: {integrity: sha512-sk7AlL6wGnfKbCBDP4bKg008sJQuIbT408bkq98yA7h0/bIlLTqF6U0nzqUoIer5YxAAvIVm1Sm30CQV06s9rA==} + dependencies: + '@unocss/core': 0.50.4 + css-tree: 2.3.1 + dev: true + + /@unocss/transformer-variant-group/0.50.4: + resolution: {integrity: sha512-caSByOVhD36yeE0j11gkhsxGPX7wphexVZLlzJa/6w2RAHwab1SCBCtAQeTRdl/C53DI8q4gsNt73IFoqQ1eng==} + dependencies: + '@unocss/core': 0.50.4 + dev: true + + /@unocss/vite/0.50.4_vite@4.1.4: + resolution: {integrity: sha512-NW0B6hY3ho6G+PRFjNDvs0+nokCzHGbMtK4E9GIU5NyjJh0b4FfuWe9C9o1GxHGiFskGfYnirKPV40IHWOzOFw==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + dependencies: + '@ampproject/remapping': 2.2.0 + '@rollup/pluginutils': 5.0.2 + '@unocss/config': 0.50.4 + '@unocss/core': 0.50.4 + '@unocss/inspector': 0.50.4 + '@unocss/scope': 0.50.4 + '@unocss/transformer-directives': 0.50.4 + chokidar: 3.5.3 + fast-glob: 3.2.12 + magic-string: 0.30.0 + vite: 4.1.4_@types+node@18.15.0 + transitivePeerDependencies: + - rollup + dev: true + + /anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /buffer-crc32/0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + + /cac/6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /carbon-components-svelte/0.73.3: + resolution: {integrity: sha512-aAeLIR1wyMWiSVVAUdFYrjrXInsKyuFxUNrXZWDjKZa6nNgQmU6UNcNSaUFpFnKMuca7dL7bzh78Rg2HnLwCuQ==} + dependencies: + flatpickr: 4.6.9 + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /colorette/2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /consola/2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-tree/2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deepmerge/4.3.0: + resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} + engines: {node: '>=0.10.0'} + dev: true + + /defu/6.1.2: + resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} + dev: true + + /destr/1.2.2: + resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} + dev: true + + /detect-indent/6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + + /duplexer/0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /es6-promise/3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + dev: true + + /esbuild/0.16.17: + resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.16.17 + '@esbuild/android-arm64': 0.16.17 + '@esbuild/android-x64': 0.16.17 + '@esbuild/darwin-arm64': 0.16.17 + '@esbuild/darwin-x64': 0.16.17 + '@esbuild/freebsd-arm64': 0.16.17 + '@esbuild/freebsd-x64': 0.16.17 + '@esbuild/linux-arm': 0.16.17 + '@esbuild/linux-arm64': 0.16.17 + '@esbuild/linux-ia32': 0.16.17 + '@esbuild/linux-loong64': 0.16.17 + '@esbuild/linux-mips64el': 0.16.17 + '@esbuild/linux-ppc64': 0.16.17 + '@esbuild/linux-riscv64': 0.16.17 + '@esbuild/linux-s390x': 0.16.17 + '@esbuild/linux-x64': 0.16.17 + '@esbuild/netbsd-x64': 0.16.17 + '@esbuild/openbsd-x64': 0.16.17 + '@esbuild/sunos-x64': 0.16.17 + '@esbuild/win32-arm64': 0.16.17 + '@esbuild/win32-ia32': 0.16.17 + '@esbuild/win32-x64': 0.16.17 + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + 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 + dev: true + + /fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + 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.5 + dev: true + + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flatpickr/4.6.9: + resolution: {integrity: sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==} + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true + + /gzip-size/6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /immutable/4.3.0: + resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} + dev: true + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /jiti/1.17.2: + resolution: {integrity: sha512-Xf0nU8+8wuiQpLcqdb2HRyHqYwGk2Pd+F7kstyp20ZuqTyCmB9dqpX2NxaxFc1kovraa2bG6c1RL3W7XfapiZg==} + hasBin: true + dev: true + + /kleur/4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: true + + /kolorist/1.7.0: + resolution: {integrity: sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==} + dev: true + + /local-pkg/0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /magic-string/0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /magic-string/0.29.0: + resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /magic-string/0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /mdn-data/2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist/1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /mkdirp/0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /mri/1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: true + + /mrmime/1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /node-fetch-native/1.0.2: + resolution: {integrity: sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==} + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /ofetch/1.0.1: + resolution: {integrity: sha512-icBz2JYfEpt+wZz1FRoGcrMigjNKjzvufE26m9+yUiacRQRHwnNlGRPiDnW4op7WX/MR6aniwS8xw8jyVelF2g==} + dependencies: + destr: 1.2.2 + node-fetch-native: 1.0.2 + ufo: 1.1.1 + dev: true + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /pathe/1.1.0: + resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} + dev: true + + /perfect-debounce/0.1.3: + resolution: {integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /regexparam/2.0.1: + resolution: {integrity: sha512-zRgSaYemnNYxUv+/5SeoHI0eJIgTL/A2pUtXUPLHQxUldagouJ9p+K6IbIZ/JiQuCEv2E2B1O11SjVQy3aMCkw==} + engines: {node: '>=8'} + dev: true + + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup/3.19.1: + resolution: {integrity: sha512-lAbrdN7neYCg/8WaoWn/ckzCtz+jr70GFfYdlf50OF7387HTg+wiuiqJRFYawwSPpqfqDNYqK7smY/ks2iAudg==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /sade/1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: true + + /sander/0.5.1: + resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + dependencies: + es6-promise: 3.3.1 + graceful-fs: 4.2.10 + mkdirp: 0.5.6 + rimraf: 2.7.1 + dev: true + + /sass/1.59.2: + resolution: {integrity: sha512-jJyO6SmbzkJexF8MUorHx5tAilcgabioYxT/BHbY4+OvoqmbHxsYlrjZ8Adhqcgl6Zqwie0TgMXLCAmPFxXOuw==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.0 + source-map-js: 1.0.2 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sirv/2.0.2: + resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.21 + mrmime: 1.0.1 + totalist: 3.0.0 + dev: true + + /sorcery/0.11.0: + resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} + hasBin: true + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + buffer-crc32: 0.2.13 + minimist: 1.2.8 + sander: 0.5.1 + dev: true + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svelte-check/3.1.2_svelte@3.56.0: + resolution: {integrity: sha512-8nIPXPe8TiUiWPCAoegU+l1NaL5DKLnN6+H1dJqbjkD6IkhpDTMj2q8Z88lhCOsq1F3E7st5/Vn7eGeGkSo/aA==} + hasBin: true + peerDependencies: + svelte: ^3.55.0 + dependencies: + '@jridgewell/trace-mapping': 0.3.17 + chokidar: 3.5.3 + fast-glob: 3.2.12 + import-fresh: 3.3.0 + picocolors: 1.0.0 + sade: 1.8.1 + svelte: 3.56.0 + svelte-preprocess: 5.0.1_rx3ssngbibhj4vpczagsdyy47u + typescript: 4.9.5 + transitivePeerDependencies: + - '@babel/core' + - coffeescript + - less + - postcss + - postcss-load-config + - pug + - sass + - stylus + - sugarss + dev: true + + /svelte-hmr/0.15.1_svelte@3.56.0: + resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} + engines: {node: ^12.20 || ^14.13.1 || >= 16} + peerDependencies: + svelte: '>=3.19.0' + dependencies: + svelte: 3.56.0 + dev: true + + /svelte-preprocess/5.0.1_rx3ssngbibhj4vpczagsdyy47u: + resolution: {integrity: sha512-0HXyhCoc9rsW4zGOgtInylC6qj259E1hpFnJMJWTf+aIfeqh4O/QHT31KT2hvPEqQfdjmqBR/kO2JDkkciBLrQ==} + engines: {node: '>= 14.10.0'} + requiresBuild: true + peerDependencies: + '@babel/core': ^7.10.2 + coffeescript: ^2.5.1 + less: ^3.11.3 || ^4.0.0 + postcss: ^7 || ^8 + postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 + pug: ^3.0.0 + sass: ^1.26.8 + stylus: ^0.55.0 + sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 + svelte: ^3.23.0 + typescript: ^3.9.5 || ^4.0.0 + peerDependenciesMeta: + '@babel/core': + optional: true + coffeescript: + optional: true + less: + optional: true + postcss: + optional: true + postcss-load-config: + optional: true + pug: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + typescript: + optional: true + dependencies: + '@types/pug': 2.0.6 + '@types/sass': 1.45.0 + detect-indent: 6.1.0 + magic-string: 0.27.0 + sorcery: 0.11.0 + strip-indent: 3.0.0 + svelte: 3.56.0 + typescript: 4.9.5 + dev: true + + /svelte-spa-router/3.3.0: + resolution: {integrity: sha512-cwRNe7cxD43sCvSfEeaKiNZg3FCizGxeMcf7CPiWRP3jKXjEma3vxyyuDtPOam6nWbVxl9TNM3hlE/i87ZlqcQ==} + dependencies: + regexparam: 2.0.1 + dev: true + + /svelte/3.56.0: + resolution: {integrity: sha512-LvXiJbjdvJKwB/0CQyYpDX0q+hFqCyWmybzC2G6eK1tJJA/RSRCytTfNmjHv+RHlLuA70vWG7nXp6gbeErYvRA==} + engines: {node: '>= 8'} + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /totalist/3.0.0: + resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} + engines: {node: '>=6'} + dev: true + + /tslib/2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + dev: true + + /typescript/4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /ufo/1.1.1: + resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} + dev: true + + /unconfig/0.3.7: + resolution: {integrity: sha512-1589b7oGa8ILBYpta7TndM5mLHLzHUqBfhszeZxuUBrjO/RoQ52VGVWsS3w0C0GLNxO9RPmqkf6BmIvBApaRdA==} + dependencies: + '@antfu/utils': 0.5.2 + defu: 6.1.2 + jiti: 1.17.2 + dev: true + + /unocss/0.50.4_vite@4.1.4: + resolution: {integrity: sha512-9offjUEwVlAkR//0sidTyvKkSArRGkDdgSFeW4P4005GWnjmXnbx4amuAeS3Au4o8WoshZCCOi5EYrpO4aLdfg==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.50.4 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + dependencies: + '@unocss/astro': 0.50.4_vite@4.1.4 + '@unocss/cli': 0.50.4 + '@unocss/core': 0.50.4 + '@unocss/postcss': 0.50.4 + '@unocss/preset-attributify': 0.50.4 + '@unocss/preset-icons': 0.50.4 + '@unocss/preset-mini': 0.50.4 + '@unocss/preset-tagify': 0.50.4 + '@unocss/preset-typography': 0.50.4 + '@unocss/preset-uno': 0.50.4 + '@unocss/preset-web-fonts': 0.50.4 + '@unocss/preset-wind': 0.50.4 + '@unocss/reset': 0.50.4 + '@unocss/transformer-attributify-jsx': 0.50.4 + '@unocss/transformer-compile-class': 0.50.4 + '@unocss/transformer-directives': 0.50.4 + '@unocss/transformer-variant-group': 0.50.4 + '@unocss/vite': 0.50.4_vite@4.1.4 + transitivePeerDependencies: + - rollup + - supports-color + - vite + dev: true + + /vite/4.1.4_@types+node@18.15.0: + resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.15.0 + esbuild: 0.16.17 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 3.19.1 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vitefu/0.2.4_vite@4.1.4: + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 4.1.4_@types+node@18.15.0 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/lab2/src-tauri/.gitignore b/lab2/src-tauri/.gitignore new file mode 100644 index 0000000..f4dfb82 --- /dev/null +++ b/lab2/src-tauri/.gitignore @@ -0,0 +1,4 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ + diff --git a/lab2/src-tauri/Cargo.lock b/lab2/src-tauri/Cargo.lock new file mode 100644 index 0000000..0cdd332 --- /dev/null +++ b/lab2/src-tauri/Cargo.lock @@ -0,0 +1,4167 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.8", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "anyhow" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" + +[[package]] +name = "async-attributes" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "async-channel" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" +dependencies = [ + "async-lock", + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" +dependencies = [ + "async-channel", + "async-executor", + "async-io", + "async-lock", + "blocking", + "futures-lite", + "once_cell", +] + +[[package]] +name = "async-io" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" +dependencies = [ + "async-lock", + "autocfg", + "concurrent-queue", + "futures-lite", + "libc", + "log", + "parking", + "polling", + "slab", + "socket2", + "waker-fn", + "windows-sys 0.42.0", +] + +[[package]] +name = "async-lock" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-native-tls" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d57d4cec3c647232e1094dc013546c0b33ce785d8aeb251e1f20dfaf8a9a13fe" +dependencies = [ + "futures-util", + "native-tls", + "thiserror", + "url", +] + +[[package]] +name = "async-process" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4" +dependencies = [ + "async-io", + "async-lock", + "autocfg", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "libc", + "signal-hook", + "windows-sys 0.42.0", +] + +[[package]] +name = "async-std" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +dependencies = [ + "async-attributes", + "async-channel", + "async-global-executor", + "async-io", + "async-lock", + "async-process", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-task" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" + +[[package]] +name = "atk" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" +dependencies = [ + "atk-sys", + "bitflags", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.0.3", +] + +[[package]] +name = "atoi" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blocking" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8" +dependencies = [ + "async-channel", + "async-lock", + "async-task", + "atomic-waker", + "fastrand", + "futures-lite", +] + +[[package]] +name = "brotli" +version = "3.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bstr" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "cairo-rs" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" +dependencies = [ + "bitflags", + "cairo-sys-rs", + "glib", + "libc", + "thiserror", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" +dependencies = [ + "glib-sys", + "libc", + "system-deps 6.0.3", +] + +[[package]] +name = "cargo_toml" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497049e9477329f8f6a559972ee42e117487d01d1e8c2cc9f836ea6fa23a9e1a" +dependencies = [ + "serde", + "toml", +] + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfb" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f89d248799e3f15f91b70917f65381062a01bb8e222700ea0e5a7ff9785f9c" +dependencies = [ + "byteorder", + "uuid 0.8.2", +] + +[[package]] +name = "cfg-expr" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" +dependencies = [ + "smallvec", +] + +[[package]] +name = "cfg-expr" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa" +dependencies = [ + "smallvec", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cocoa" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" +dependencies = [ + "bitflags", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" +dependencies = [ + "bitflags", + "block", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "combine" +version = "4.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +dependencies = [ + "bitflags", + "core-foundation", + "foreign-types", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crypto-bigint" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa 0.4.8", + "matches", + "phf 0.8.0", + "proc-macro2", + "quote", + "smallvec", + "syn", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "ctor" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "der" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +dependencies = [ + "const-oid", + "crypto-bigint", + "pem-rfc7468", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn", +] + +[[package]] +name = "digest" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dotenv" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" + +[[package]] +name = "dotenvy" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03d8c417d7a8cb362e0c37e5d815f5eb7c37f79ff93707329d5a194e42e54ca0" + +[[package]] +name = "dtoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" + +[[package]] +name = "dtoa-short" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dunce" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" + +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "field-offset" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3cf3a800ff6e860c863ca6d4b16fd999db8b752819c1606884047b73e468535" +dependencies = [ + "memoffset", + "rustc_version", +] + +[[package]] +name = "filetime" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "windows-sys 0.45.0", +] + +[[package]] +name = "flate2" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "flume" +version = "0.10.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +dependencies = [ + "futures-core", + "futures-sink", + "pin-project", + "spin 0.9.5", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", +] + +[[package]] +name = "futures-channel" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" + +[[package]] +name = "futures-executor" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot 0.11.2", +] + +[[package]] +name = "futures-io" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91" + +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-macro" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2" + +[[package]] +name = "futures-task" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" + +[[package]] +name = "futures-util" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "gdk" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" +dependencies = [ + "bitflags", + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.15.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" +dependencies = [ + "bitflags", + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.0.3", +] + +[[package]] +name = "gdk-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps 6.0.3", +] + +[[package]] +name = "gdkx11-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps 6.0.3", + "x11", +] + +[[package]] +name = "generator" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33a20a288a94683f5f4da0adecdbe095c94a77c295e514cc6484e9394dd8376e" +dependencies = [ + "cc", + "libc", + "log", + "rustversion", + "windows 0.44.0", +] + +[[package]] +name = "generic-array" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "gio" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" +dependencies = [ + "bitflags", + "futures-channel", + "futures-core", + "futures-io", + "gio-sys", + "glib", + "libc", + "once_cell", + "thiserror", +] + +[[package]] +name = "gio-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.0.3", + "winapi", +] + +[[package]] +name = "glib" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" +dependencies = [ + "bitflags", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "once_cell", + "smallvec", + "thiserror", +] + +[[package]] +name = "glib-macros" +version = "0.15.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a68131a662b04931e71891fb14aaf65ee4b44d08e8abc10f49e77418c86c64" +dependencies = [ + "anyhow", + "heck 0.4.1", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "glib-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" +dependencies = [ + "libc", + "system-deps 6.0.3", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "globset" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" +dependencies = [ + "aho-corasick", + "bstr", + "fnv", + "log", + "regex", +] + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gobject-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" +dependencies = [ + "glib-sys", + "libc", + "system-deps 6.0.3", +] + +[[package]] +name = "gtk" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" +dependencies = [ + "atk", + "bitflags", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "once_cell", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps 6.0.3", +] + +[[package]] +name = "gtk3-macros" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24f518afe90c23fba585b2d7697856f9e6a7bbc62f65588035e66f6afb01a2e9" +dependencies = [ + "anyhow", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashlink" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "html5ever" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" +dependencies = [ + "log", + "mac", + "markup5ever", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.6", +] + +[[package]] +name = "http-range" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" + +[[package]] +name = "ice-management" +version = "0.0.0" +dependencies = [ + "async-std", + "dotenv", + "serde", + "serde_json", + "sqlx", + "tauri", + "tauri-build", +] + +[[package]] +name = "ico" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031530fe562d8c8d71c0635013d6d155bbfe8ba0aa4b4d2d24ce8af6b71047bd" +dependencies = [ + "byteorder", + "png", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "ignore" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d" +dependencies = [ + "crossbeam-utils", + "globset", + "lazy_static", + "log", + "memchr", + "regex", + "same-file", + "thread_local", + "walkdir", + "winapi-util", +] + +[[package]] +name = "image" +version = "0.24.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-rational", + "num-traits", +] + +[[package]] +name = "indexmap" +version = "1.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "infer" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20b2b533137b9cad970793453d4f921c2e91312a6d88b1085c07bc15fc51bb3b" +dependencies = [ + "cfb", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfa919a82ea574332e2de6e74b4c36e74d41982b335080fa59d4ef31be20fdf3" +dependencies = [ + "libc", + "windows-sys 0.45.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" + +[[package]] +name = "javascriptcore-rs" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" +dependencies = [ + "bitflags", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 5.0.0", +] + +[[package]] +name = "jni" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "js-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb3fa5a61630976fc4c353c70297f2e93f1930e3ccee574d59d618ccbd5154ce" +dependencies = [ + "serde", + "serde_json", + "treediff", +] + +[[package]] +name = "kuchiki" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" +dependencies = [ + "cssparser", + "html5ever", + "matches", + "selectors", +] + +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin 0.5.2", +] + +[[package]] +name = "libc" +version = "0.2.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" + +[[package]] +name = "libm" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" + +[[package]] +name = "libsqlite3-sys" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "line-wrap" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" +dependencies = [ + "safemem", +] + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", + "value-bag", +] + +[[package]] +name = "loom" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "serde", + "serde_json", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "markup5ever" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" +dependencies = [ + "log", + "phf 0.8.0", + "phf_codegen", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + +[[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.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +dependencies = [ + "adler", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "ndk" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" +dependencies = [ + "bitflags", + "jni-sys", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[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 = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "once_cell" +version = "1.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" + +[[package]] +name = "open" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21ecf2487e799604735754d2c5896106785987b441b5aee58f242e4d4963179a" +dependencies = [ + "pathdiff", +] + +[[package]] +name = "openssl" +version = "0.10.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" +dependencies = [ + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "pango" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" +dependencies = [ + "bitflags", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.0.3", +] + +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.7", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-sys 0.45.0", +] + +[[package]] +name = "paste" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" + +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "pem-rfc7468" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_macros 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_macros 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "phf_macros" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320" +dependencies = [ + "der", + "pkcs8", + "zeroize", +] + +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + +[[package]] +name = "pkg-config" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" + +[[package]] +name = "plist" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffac6a51110e97610dd3ac73e34a65b27e56a1e305df41bad1f616d8e1cb22f4" +dependencies = [ + "base64 0.21.0", + "indexmap", + "line-wrap", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638" +dependencies = [ + "bitflags", + "crc32fast", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e1f879b2998099c2d69ab9605d145d5b661195627eccc680002c4918a7fb6fa" +dependencies = [ + "autocfg", + "bitflags", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.45.0", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "proc-macro2" +version = "1.0.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc053f057dd768a56f62cd7e434c42c831d296968997e9ac1f76ea7c2d14c41" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.8", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "raw-window-handle" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f851a03551ceefd30132e447f07f96cb7011d6b658374f3aed847333adb5559" + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom 0.2.8", + "redox_syscall", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + +[[package]] +name = "rsa" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b" +dependencies = [ + "byteorder", + "digest", + "num-bigint-dig", + "num-integer", + "num-iter", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "smallvec", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.36.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.45.0", +] + +[[package]] +name = "rustversion" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" + +[[package]] +name = "ryu" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" + +[[package]] +name = "safemem" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +dependencies = [ + "windows-sys 0.42.0", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "security-framework" +version = "2.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "selectors" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" +dependencies = [ + "bitflags", + "cssparser", + "derive_more", + "fxhash", + "log", + "matches", + "phf 0.8.0", + "phf_codegen", + "precomputed-hash", + "servo_arc", + "smallvec", + "thin-slice", +] + +[[package]] +name = "semver" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71f2b4817415c6d4210bfe1c7bfcf4801b2d904cb4d0e1a8fdb651013c9e86b8" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d071a94a3fac4aff69d023a7f411e33f40f3483f8c5190b1953822b6b76d7630" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" +dependencies = [ + "itoa 1.0.6", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395627de918015623b32e7669714206363a7fc00382bf477e72c1f7533e8eafc" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_with" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" +dependencies = [ + "serde", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "servo_arc" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +dependencies = [ + "nodrop", + "stable_deref_trait", +] + +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "signal-hook" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "siphasher" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "soup2" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" +dependencies = [ + "bitflags", + "gio", + "glib", + "libc", + "once_cell", + "soup2-sys", +] + +[[package]] +name = "soup2-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" +dependencies = [ + "bitflags", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps 5.0.0", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dccf47db1b41fa1573ed27ccf5e08e3ca771cb994f776668c5ebda893b248fc" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlformat" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e" +dependencies = [ + "itertools", + "nom", + "unicode_categories", +] + +[[package]] +name = "sqlx" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9249290c05928352f71c077cc44a464d880c63f26f7534728cca008e135c0428" +dependencies = [ + "sqlx-core", + "sqlx-macros", +] + +[[package]] +name = "sqlx-core" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbc16ddba161afc99e14d1713a453747a2b07fc097d2009f4c300ec99286105" +dependencies = [ + "ahash", + "atoi", + "bitflags", + "byteorder", + "bytes", + "crc", + "crossbeam-queue", + "digest", + "dotenvy", + "either", + "event-listener", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "generic-array", + "hashlink", + "hex", + "indexmap", + "itoa 1.0.6", + "libc", + "libsqlite3-sys", + "log", + "memchr", + "num-bigint", + "once_cell", + "paste", + "percent-encoding", + "rand 0.8.5", + "rsa", + "sha1", + "sha2", + "smallvec", + "sqlformat", + "sqlx-rt", + "stringprep", + "thiserror", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b850fa514dc11f2ee85be9d055c512aa866746adfacd1cb42d867d68e6a5b0d9" +dependencies = [ + "dotenvy", + "either", + "heck 0.4.1", + "once_cell", + "proc-macro2", + "quote", + "sha2", + "sqlx-core", + "sqlx-rt", + "syn", + "url", +] + +[[package]] +name = "sqlx-rt" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24c5b2d25fa654cc5f841750b8e1cdedbe21189bf9a9382ee90bfa9dd3562396" +dependencies = [ + "async-native-tls", + "async-std", + "native-tls", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "state" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" +dependencies = [ + "loom", +] + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot 0.12.1", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2", + "quote", +] + +[[package]] +name = "stringprep" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "system-deps" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" +dependencies = [ + "cfg-expr 0.9.1", + "heck 0.3.3", + "pkg-config", + "toml", + "version-compare 0.0.11", +] + +[[package]] +name = "system-deps" +version = "6.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2955b1fe31e1fa2fbd1976b71cc69a606d7d4da16f6de3333d0c92d51419aeff" +dependencies = [ + "cfg-expr 0.11.0", + "heck 0.4.1", + "pkg-config", + "toml", + "version-compare 0.1.1", +] + +[[package]] +name = "tao" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac8e6399427c8494f9849b58694754d7cc741293348a6836b6c8d2c5aa82d8e6" +dependencies = [ + "bitflags", + "cairo-rs", + "cc", + "cocoa", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dispatch", + "gdk", + "gdk-pixbuf", + "gdk-sys", + "gdkx11-sys", + "gio", + "glib", + "glib-sys", + "gtk", + "image", + "instant", + "jni", + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc", + "once_cell", + "parking_lot 0.12.1", + "paste", + "png", + "raw-window-handle", + "scopeguard", + "serde", + "unicode-segmentation", + "uuid 1.3.0", + "windows 0.39.0", + "windows-implement", + "x11-dl", +] + +[[package]] +name = "tar" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "tauri" +version = "1.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe7e0f1d535e7cbbbab43c82be4fc992b84f9156c16c160955617e0260ebc449" +dependencies = [ + "anyhow", + "cocoa", + "dirs-next", + "embed_plist", + "encoding_rs", + "flate2", + "futures-util", + "glib", + "glob", + "gtk", + "heck 0.4.1", + "http", + "ignore", + "objc", + "once_cell", + "open", + "percent-encoding", + "rand 0.8.5", + "raw-window-handle", + "regex", + "semver", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "state", + "tar", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "tempfile", + "thiserror", + "tokio", + "url", + "uuid 1.3.0", + "webkit2gtk", + "webview2-com", + "windows 0.39.0", +] + +[[package]] +name = "tauri-build" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8807c85d656b2b93927c19fe5a5f1f1f348f96c2de8b90763b3c2d561511f9b4" +dependencies = [ + "anyhow", + "cargo_toml", + "heck 0.4.1", + "json-patch", + "semver", + "serde_json", + "tauri-utils", + "winres", +] + +[[package]] +name = "tauri-codegen" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14388d484b6b1b5dc0f6a7d6cc6433b3b230bec85eaa576adcdf3f9fafa49251" +dependencies = [ + "base64 0.13.1", + "brotli", + "ico", + "json-patch", + "plist", + "png", + "proc-macro2", + "quote", + "regex", + "semver", + "serde", + "serde_json", + "sha2", + "tauri-utils", + "thiserror", + "time", + "uuid 1.3.0", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069319e5ecbe653a799b94b0690d9f9bf5d00f7b1d3989aa331c524d4e354075" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-runtime" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c507d954d08ac8705d235bc70ec6975b9054fb95ff7823af72dbb04186596f3b" +dependencies = [ + "gtk", + "http", + "http-range", + "rand 0.8.5", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror", + "uuid 1.3.0", + "webview2-com", + "windows 0.39.0", +] + +[[package]] +name = "tauri-runtime-wry" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36b1c5764a41a13176a4599b5b7bd0881bea7d94dfe45e1e755f789b98317e30" +dependencies = [ + "cocoa", + "gtk", + "percent-encoding", + "rand 0.8.5", + "raw-window-handle", + "tauri-runtime", + "tauri-utils", + "uuid 1.3.0", + "webkit2gtk", + "webview2-com", + "windows 0.39.0", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5abbc109a6eb45127956ffcc26ef0e875d160150ac16cfa45d26a6b2871686f1" +dependencies = [ + "brotli", + "ctor", + "glob", + "heck 0.4.1", + "html5ever", + "infer", + "json-patch", + "kuchiki", + "memchr", + "phf 0.10.1", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "serde_with", + "thiserror", + "url", + "walkdir", + "windows 0.39.0", +] + +[[package]] +name = "tempfile" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall", + "rustix", + "windows-sys 0.42.0", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", +] + +[[package]] +name = "thin-slice" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" + +[[package]] +name = "thiserror" +version = "1.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" +dependencies = [ + "itoa 1.0.6", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" + +[[package]] +name = "time-macros" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" +dependencies = [ + "time-core", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" +dependencies = [ + "autocfg", + "bytes", + "memchr", + "num_cpus", + "pin-project-lite", + "windows-sys 0.45.0", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" + +[[package]] +name = "toml_edit" +version = "0.19.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7082a95d48029677a28f181e5f6422d0c8339ad8396a39d3f33d62a90c1f6c30" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "treediff" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "761e8d5ad7ce14bb82b7e61ccc0ca961005a275a060b9644a2431aa11553c2ff" +dependencies = [ + "serde_json", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "unicode-bidi" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524b68aca1d05e03fdf03fcdce2c6c94b6daf6d16861ddaa7e4f2b6638a9052c" + +[[package]] +name = "unicode-ident" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" + +[[package]] +name = "uuid" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" +dependencies = [ + "getrandom 0.2.8", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "value-bag" +version = "1.0.0-alpha.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" +dependencies = [ + "ctor", + "version_check", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version-compare" +version = "0.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" + +[[package]] +name = "version-compare" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" + +[[package]] +name = "web-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webkit2gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" +dependencies = [ + "bitflags", + "cairo-rs", + "gdk", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk", + "gtk-sys", + "javascriptcore-rs", + "libc", + "once_cell", + "soup2", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" +dependencies = [ + "atk-sys", + "bitflags", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pango-sys", + "pkg-config", + "soup2-sys", + "system-deps 6.0.3", +] + +[[package]] +name = "webview2-com" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows 0.39.0", + "windows-implement", +] + +[[package]] +name = "webview2-com-macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "webview2-com-sys" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" +dependencies = [ + "regex", + "serde", + "serde_json", + "thiserror", + "windows 0.39.0", + "windows-bindgen", + "windows-metadata", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" +dependencies = [ + "windows-implement", + "windows_aarch64_msvc 0.39.0", + "windows_i686_gnu 0.39.0", + "windows_i686_msvc 0.39.0", + "windows_x86_64_gnu 0.39.0", + "windows_x86_64_msvc 0.39.0", +] + +[[package]] +name = "windows" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-bindgen" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" +dependencies = [ + "windows-metadata", + "windows-tokens", +] + +[[package]] +name = "windows-implement" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" +dependencies = [ + "syn", + "windows-tokens", +] + +[[package]] +name = "windows-metadata" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", +] + +[[package]] +name = "windows-tokens" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + +[[package]] +name = "windows_i686_gnu" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + +[[package]] +name = "windows_i686_msvc" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + +[[package]] +name = "winnow" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee7b2c67f962bf5042bfd8b6a916178df33a26eec343ae064cb8e069f638fa6f" +dependencies = [ + "memchr", +] + +[[package]] +name = "winres" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +dependencies = [ + "toml", +] + +[[package]] +name = "wry" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c1ad8e2424f554cc5bdebe8aa374ef5b433feff817aebabca0389961fc7ef98" +dependencies = [ + "base64 0.13.1", + "block", + "cocoa", + "core-graphics", + "crossbeam-channel", + "dunce", + "gdk", + "gio", + "glib", + "gtk", + "html5ever", + "http", + "kuchiki", + "libc", + "log", + "objc", + "objc_id", + "once_cell", + "serde", + "serde_json", + "sha2", + "soup2", + "tao", + "thiserror", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows 0.39.0", + "windows-implement", +] + +[[package]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "xattr" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +dependencies = [ + "libc", +] + +[[package]] +name = "zeroize" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/lab2/src-tauri/Cargo.toml b/lab2/src-tauri/Cargo.toml new file mode 100644 index 0000000..46ff704 --- /dev/null +++ b/lab2/src-tauri/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "ice-management" +version = "0.0.0" +description = "ICE DB management" +authors = ["Roka Puzonas"] +license = "" +repository = "" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[build-dependencies] +tauri-build = { version = "1.2", features = [] } + +[dependencies] +tauri = { version = "1.2", features = ["shell-open"] } +serde = { version = "1.0", features = ["derive"] } +sqlx = { version = "0.6.2", features = ["runtime-async-std-native-tls", "mysql", "sqlite", "macros"] } +async-std = {version = "1.12.0", features = ["attributes"] } +serde_json = "1.0" +dotenv = "0.15.0" + +[features] +# this feature is used for production builds or when `devPath` points to the filesystem +# DO NOT REMOVE!! +custom-protocol = ["tauri/custom-protocol"] diff --git a/lab2/src-tauri/build.rs b/lab2/src-tauri/build.rs new file mode 100644 index 0000000..795b9b7 --- /dev/null +++ b/lab2/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/lab2/src-tauri/rustfmt.toml b/lab2/src-tauri/rustfmt.toml new file mode 100644 index 0000000..218e203 --- /dev/null +++ b/lab2/src-tauri/rustfmt.toml @@ -0,0 +1 @@ +hard_tabs = true diff --git a/lab2/src-tauri/src/main.rs b/lab2/src-tauri/src/main.rs new file mode 100644 index 0000000..f35bbf6 --- /dev/null +++ b/lab2/src-tauri/src/main.rs @@ -0,0 +1,83 @@ +// Prevents additional console window on Windows in release, DO NOT REMOVE!! +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +use std::{env, process::exit}; +use dotenv::dotenv; + +use serde::{Serialize, Deserialize}; +use sqlx::{SqlitePool, sqlite::SqlitePoolOptions, Pool, Sqlite}; +use tauri::State; + +struct Manager { + id: i64, + first_name: String, + surname: String, + phone_number: Option, + title: String, + email: Option +} + +struct Database { + pool: Pool +} + +#[derive(Serialize, Deserialize)] +enum AddResponse { + Success(i64) +} + +#[tauri::command] +async fn add_manager( + first_name: &str, + surname: &str, + phone_number: Option<&str>, + title: &str, + email: Option<&str>, + database: State<'_, Database> + ) -> Result { + let id = sqlx::query_as!( + Manager, + r#" + INSERT INTO manager + (`FIRST_NAME`, `SURNAME`, `PHONE_NUMBER`, `TITLE`, `EMAIL`) + VALUES + (?, ?, ?, ?, ?) + "#, + first_name, + surname, + phone_number, + title, + email + ).execute(&database.pool) + .await.map_err(|_| ())? + .last_insert_rowid(); + + Ok(AddResponse::Success(id)) +} + +#[async_std::main] +async fn main() { + dotenv().ok(); + + let database_url = match env::var("DATABASE_URL") { + Err(_) => { + println!("Error: DATABASE_URL not defined"); + exit(1); + }, + Ok(url) => url, + }; + + let pool = SqlitePoolOptions::new() + .max_connections(10) + .connect(&database_url) + .await + .unwrap(); + + tauri::Builder::default() + .manage(Database { pool }) + .invoke_handler(tauri::generate_handler![ + add_manager + ]) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/lab2/src-tauri/tauri.conf.json b/lab2/src-tauri/tauri.conf.json new file mode 100644 index 0000000..c6c6e83 --- /dev/null +++ b/lab2/src-tauri/tauri.conf.json @@ -0,0 +1,49 @@ +{ + "build": { + "beforeDevCommand": "pnpm dev", + "beforeBuildCommand": "pnpm build", + "devPath": "http://localhost:1420", + "distDir": "../dist", + "withGlobalTauri": false + }, + "package": { + "productName": "icecream-emporium", + "version": "0.0.0" + }, + "tauri": { + "allowlist": { + "all": false, + "shell": { + "all": false, + "open": true + } + }, + "bundle": { + "active": true, + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "identifier": "com.tauri.dev", + "targets": "all" + }, + "security": { + "csp": null + }, + "updater": { + "active": false + }, + "windows": [ + { + "fullscreen": false, + "resizable": true, + "title": "icecream-emporium", + "width": 800, + "height": 600 + } + ] + } +} diff --git a/lab2/src/.gitignore b/lab2/src/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/lab2/src/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/lab2/src/App.svelte b/lab2/src/App.svelte new file mode 100644 index 0000000..bf4ce2b --- /dev/null +++ b/lab2/src/App.svelte @@ -0,0 +1,29 @@ + + +
+ + + + +
+ + + + +
+ {$location} +
diff --git a/lab2/src/lib/Greet.svelte b/lab2/src/lib/Greet.svelte new file mode 100644 index 0000000..17848d8 --- /dev/null +++ b/lab2/src/lib/Greet.svelte @@ -0,0 +1,21 @@ + + +
+
+ + +
+

{greetMsg}

+
diff --git a/lab2/src/main.ts b/lab2/src/main.ts new file mode 100644 index 0000000..4809847 --- /dev/null +++ b/lab2/src/main.ts @@ -0,0 +1,9 @@ +import 'uno.css' +import "carbon-components-svelte/css/g90.css"; +import App from "./App.svelte"; + +const app = new App({ + target: document.getElementById("app"), +}); + +export default app; diff --git a/lab2/src/routes/Factories.svelte b/lab2/src/routes/Factories.svelte new file mode 100644 index 0000000..fab0a0d --- /dev/null +++ b/lab2/src/routes/Factories.svelte @@ -0,0 +1 @@ +Factories diff --git a/lab2/src/routes/Home.svelte b/lab2/src/routes/Home.svelte new file mode 100644 index 0000000..166b4fc --- /dev/null +++ b/lab2/src/routes/Home.svelte @@ -0,0 +1,2 @@ + +Home diff --git a/lab2/src/routes/Managers.svelte b/lab2/src/routes/Managers.svelte new file mode 100644 index 0000000..8ccb8ba --- /dev/null +++ b/lab2/src/routes/Managers.svelte @@ -0,0 +1,34 @@ + + +
+ + + + + + + + diff --git a/lab2/src/vite-env.d.ts b/lab2/src/vite-env.d.ts new file mode 100644 index 0000000..4078e74 --- /dev/null +++ b/lab2/src/vite-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/lab2/tsconfig.json b/lab2/tsconfig.json new file mode 100644 index 0000000..d383031 --- /dev/null +++ b/lab2/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "@tsconfig/svelte/tsconfig.json", + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "resolveJsonModule": true, + "baseUrl": ".", + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable checkJs if you'd like to use dynamic types in JS. + * Note that setting allowJs false does not prevent the use + * of JS in `.svelte` files. + */ + "allowJs": true, + "checkJs": true, + "isolatedModules": true + }, + "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/lab2/tsconfig.node.json b/lab2/tsconfig.node.json new file mode 100644 index 0000000..65dbdb9 --- /dev/null +++ b/lab2/tsconfig.node.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node" + }, + "include": ["vite.config.ts"] +} diff --git a/lab2/unocss.config.ts b/lab2/unocss.config.ts new file mode 100644 index 0000000..6682f48 --- /dev/null +++ b/lab2/unocss.config.ts @@ -0,0 +1,14 @@ +import { + defineConfig, + presetUno, +} from 'unocss' + +export default defineConfig({ + presets: [ + presetUno(), + ], + // preprocess(matcher: string) { + // const prefix = 'sa:' + // return matcher.startsWith(prefix) ? matcher.slice(prefix.length) : undefined + // } +}) diff --git a/lab2/vite.config.ts b/lab2/vite.config.ts new file mode 100644 index 0000000..5b13265 --- /dev/null +++ b/lab2/vite.config.ts @@ -0,0 +1,47 @@ +import { defineConfig } from "vite"; +import { svelte } from "@sveltejs/vite-plugin-svelte"; +import sveltePreprocess from "svelte-preprocess"; +import transformerDirective from '@unocss/transformer-directives' +import Unocss from 'unocss/vite' + +const mobile = + process.env.TAURI_PLATFORM === "android" || + process.env.TAURI_PLATFORM === "ios"; + +// https://vitejs.dev/config/ +export default defineConfig(async () => ({ + plugins: [ + svelte({ + preprocess: [ + sveltePreprocess({ + typescript: true, + }), + ], + }), + Unocss({ + transformers: [ + transformerDirective() + ] + }), + ], + + // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` + // prevent vite from obscuring rust errors + clearScreen: false, + // tauri expects a fixed port, fail if that port is not available + server: { + port: 1420, + strictPort: true, + }, + // to make use of `TAURI_DEBUG` and other env variables + // https://tauri.studio/v1/api/config#buildconfig.beforedevcommand + envPrefix: ["VITE_", "TAURI_"], + build: { + // Tauri supports es2021 + target: process.env.TAURI_PLATFORM == "windows" ? "chrome105" : "safari13", + // don't minify for debug builds + minify: !process.env.TAURI_DEBUG ? "esbuild" : false, + // produce sourcemaps for debug builds + sourcemap: !!process.env.TAURI_DEBUG, + }, +}));