From 90bd5c0416955388481d24ee163379f5c1a7d26c Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Tue, 13 Apr 2021 15:36:40 -0400 Subject: [PATCH] Add device icon. --- .gitignore | 3 + icon/ti83pce-128.ico | Bin 0 -> 51262 bytes icon/ti83pce-256.ico | Bin 0 -> 204862 bytes icon/ti83pce-32.ico | Bin 0 -> 3262 bytes icon/ti83pce-64.ico | Bin 0 -> 12862 bytes icon/ti84pce-128.ico | Bin 0 -> 51262 bytes icon/ti84pce-256.ico | Bin 0 -> 204862 bytes icon/ti84pce-32.ico | Bin 0 -> 3262 bytes icon/ti84pce-64.ico | Bin 0 -> 12862 bytes transfer.png => icon/transfer.png | Bin transfer.xcf => icon/transfer.xcf | Bin makefile | 37 ++++-- src/main.c | 190 +++++++++++++++++++----------- 13 files changed, 154 insertions(+), 76 deletions(-) create mode 100644 icon/ti83pce-128.ico create mode 100644 icon/ti83pce-256.ico create mode 100644 icon/ti83pce-32.ico create mode 100644 icon/ti83pce-64.ico create mode 100644 icon/ti84pce-128.ico create mode 100644 icon/ti84pce-256.ico create mode 100644 icon/ti84pce-32.ico create mode 100644 icon/ti84pce-64.ico rename transfer.png => icon/transfer.png (100%) rename transfer.xcf => icon/transfer.xcf (100%) diff --git a/.gitignore b/.gitignore index 4a0dbe1..6eccb79 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ +icon/ti83pce.ico +icon/ti84pce.ico font/genfont src/font.* +src/*_icon.* obj/* bin/* diff --git a/icon/ti83pce-128.ico b/icon/ti83pce-128.ico new file mode 100644 index 0000000000000000000000000000000000000000..e5ea56f99ebcaf803fd462c35539ff70ecdab4d3 GIT binary patch literal 51262 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 T3Rd~sVR5|5AAfY^XXgGtB=N^G literal 0 HcmV?d00001 diff --git a/icon/ti83pce-256.ico b/icon/ti83pce-256.ico new file mode 100644 index 0000000000000000000000000000000000000000..8ff1f4ddb3f6d737f4d4687c0c1b96dc1557768d GIT binary patch literal 204862 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 DXe@B* literal 0 HcmV?d00001 diff --git a/icon/ti83pce-32.ico b/icon/ti83pce-32.ico new file mode 100644 index 0000000000000000000000000000000000000000..f64ae7bf59ae874d3758abe10b12cc208b5603a1 GIT binary patch literal 3262 zcmc(gOH3O_7{^`p+H(Mrf;kk3lwu&|Vcw*Ws;!!oQdL!MxkSyG3m1|c(kLlvXedgm zP}HK5Vr(FO18R(4%i3$N*RS=iy$`SL^#d@1019w{_5(|4ZOw52lDJ2KfhnM_s-6^3LzP*2CDm2)K}6_u5z2IZffii&qDDqvO`wysDhF){pST;tJK{1sC#U%63G>>~REZ`?pzfXI; z9<^!)_j)v{8NZ(p5&|d&$18@P;;B`eg(L%d-3uxbG#T|&l+?YL50RjmUrdV-qhk1i zzNZ_jH(_WAJw_m3`UeEL|li)w-zrMZ>{3@yXgFd;e7$SpVk}w;z1c8~2`Y;(X zXy?O`P@Lz|XZ}MbNQ>`TwzF;w4frvWQHT4mC6g`?@R@WAUcw8(&28k0)F+)zVs4aW zqro6Sh664Xp~wJ+p$x-7-freM6N!XelK-#@^nn|IpiZ8Pu39ZD%UD-mG8}ESS~!98 zVD2c#6zP9L;GOnWxUi7(IPP6uHu(q~+6YChAr2}+7RiSIf-+G$9Hk>Z91Hn9F+K)D z(OfJVrNzuyeoE4(w5$x`8|PwfkBg>Bhr>z`-Zkq=G!{XuOH`DCiG}Zc#hU@vKp+;aJwJn}<6E z=ZY~5M8EJv7sF><*5%t@MIsTm3n2)f&Gs^v%jR;qlqf=bcz6h>kjw|d>x0*+l(@aK z9VPwn^2b8>?yDVO#sv;$4-O8B;Y0FlZ)60XNs9@Np;?X*1x`rtDW1u!=U_a$0h{C` z`yUDgvzZiNIW`7)&c;~?Ydjej1did^WI~9igm5@4ncvgf+tJzC($d=8((=Zdnwtyu zK~q!XrAysCJ(BtD9Uc8wu1ws$H~wJshlk%kx_5u-LH#>X#&K;e4&c1AJZEx-B?w0I-t5OMk)NXenh{J)Sh#Nx?jaoB4 zK5o*?xmH$y4`-CjSGKhQAK(~@{;^_nTAVJYQ=?Y@I5DxbxVUCC0v`e-nP2c9L*eao zt)VF5#Mf3Wdads1Pfv8JS)0-DpYRQHv%2RCdYw+MHJeSQnV%=s6OU)cA1^$6qAXe; z2=Uj~uYY>=vyVRc`0D4^1_lSO4Geto{U}+TU}H0UUhYM5%~#@ iDHIC$qxsuPPfJO`N=hzXy!fxq|9M*OzWx7H*!nN|<(M@9 literal 0 HcmV?d00001 diff --git a/icon/ti83pce-64.ico b/icon/ti83pce-64.ico new file mode 100644 index 0000000000000000000000000000000000000000..29d7e0f466619fe06d89f4dfdde852d7209bbf9b GIT binary patch literal 12862 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 Uv*-1{QlDPe>2;>p^1JW;1%vc8)c^nh literal 0 HcmV?d00001 diff --git a/icon/ti84pce-128.ico b/icon/ti84pce-128.ico new file mode 100644 index 0000000000000000000000000000000000000000..aa5dd8bff4743e10c60630d265dbd1b7eeb5b6f9 GIT binary patch literal 51262 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 C81Zia literal 0 HcmV?d00001 diff --git a/icon/ti84pce-256.ico b/icon/ti84pce-256.ico new file mode 100644 index 0000000000000000000000000000000000000000..83828755b0140a2b99bba9c6940f65f87e9a21c6 GIT binary patch literal 204862 zcmeFa=VM$&mbg7Iv$M-GfRj=ONiDTf`d&^YQ!zJbwYtU%>Mh@cacle*w>5!1EXI`~^IJ z0ncB+^B3^^1w4NN&tJgv7x4TAJbwYtU%>Mh@cacle*w>5U=05S?z!7OWBA|7^XUJt ze*s|s)vtc_&_fSRn&dTc;v{Erew{F3B1Mi*P-WsIexgj6Fk$?-@of3dS1&JbZ*L#| z&qwXcRv*{(siBXn3hJAey^gM+Dm#zMj!Q%5K27+j%cu+KtLU2CB)2+#`~=FlapT90 z8~5OY5B=tW2Ph9b@Zf#--N%#iy#KF%GEe)v|1SUuFccVQ@%Im)7>y>g+23R`Q`o2I z{h!_Hng)Z>&(EN1vai1yf?8`bvCCOH%#G~ zIOyx=$Adrkz=QYROL~CkGZy~>zP`Q@5s^`mwvdp}prGJ@fWSN8*DN{VccKM9nmQ+Y zG!F|4M}mBP{d|0YOC-XzIBT+_L3Jfl|9Z!9{nhmz^uB9DJJJqOrGh?{^K!1urLw<> z0QbqmBK3h53l-=cJl(-q695!+OiXM-LPBIzl+_vn3>toTa0SoFkKS=^0gM7jY@vPG zvgOY||2)6KKU+kA9qbSc63*uB zE`G(B(M_nst?J5b^_>XYKkm7xrhjtX(g#ot_$ijaARZjqM+`XgFMs*VvBtpId|v*c zgRR!MxcK<^gxJ`)$jB%d&?XS5fQ?qLdV2>&eAP!ZMWLZ#Wo6~Py?w8~y7lFkUS2SN zL2z&|gw38kXV$FYr=EO@?cBNZ)~;QA$( zqD3Volh>_VUtT_iEAp#`pX=)TcWzzDcRfgb-30{6C)i>ULEwl-1jd3ySgqESl+=WT zL_~lt029b+4TS-%%pnu<{~7$6BI_+of?#I9YtX!!W!Peeu8mM&SkZ|}Z!Pp{j!VdJ*9wzaghzVh-b+qP{lDk^^N zx#v1MI<{}y-qzO6onzT(+PODfT;X>fR6F*bOPfGEI3+mPiY()?c-#T^76AYQ{-mU2 z;HN}K$H2eX0G1$laN_L*#z_%JTz_Ss`q9y`U0vO0&YVFxZ`}CI(W6IGQ`2&?bDn;B z-I_Izfpl|Ib602A33Do8H#iIvu&_oY6Tv zYq+Por*>K`-BWFCJpz@HkD1&|wB+hrb>64* z&Yicdci8e#9e}t1JUD_3|H=un5>j$+0LJpu5#9tUP(=B&^Hcue!bywKc-x%dpuK4A z>WJ+i0EH)xVlR$+`G> z6_f`dLjcaRsX7j5ojgOM(({71{_vBclslm~FQ@nACzpa0=o^q7Edr{o^H%lMf4b#t z^ct?l5B%!_{|LpefBoyRjEY-6JIX&LB`rBQ#UTRX|2p~SA6*O&7v$_jId!bsaRMpm zX}l2uqWz455%s_QF>p|d77$_EES-Y%3sV1fp^7wjd>pMb!@9X{c)N*2Mdga>h+I;3 z3!tIwl%T%SnW|62b$;a9zY2!h88a5E9W_=&RFH2ivdhy4QySTgXhwWX7D z&5x5JJ3=U11+yFulFJkqdoJg}CsK*>6P}gM#fl?BjqE zhYSo%JPf;CbcF zxfx~lqxnNAq2YuGPz7!Vz!-lV(qQbyPjZUppRc&U#6OAu6Z+Hk|IhQU9APx66EHFL z6;5@vb$fR2Id=5umtTDG#j#^-zx?ux<6nMBIdb?g5uWg{a1iDLfv_5Fi+=6Zt;dcX zQ+4b$kAL}vYJT+ap+m24eJw6Fj+)xeLAN6p&u!Uq?AXz-jvqgPr~TD&**Pv-PO|s? z_gk8qbzh+UWg5!W)a~gTmaq03ws!}7k zc=7TjJ{O6L7UUP`o&q502qu@5oI87#3Rf;)zI^H8C7PY5{sqTACpbr_lap%^V<#gc zs>vl%zxmB?-00tbtUn6>+;MU6pM>()`k!4V|NL{qzqbE{bB7D8_g#-@{sa62AhW)% z4qO%g=i&3j@vqRvC%^t0o-dx4BbP2*EGaJ0{3{jhH>G?E0s`$Cc$&ZR(#t1Le1+^> zzIfr%g$tK2UL>kdWz9c3xj8wAjB0WTVL@UzKQ-Cc=RpvW=G9j9 zK`tWT>n5YMG!(lNw*m5(74g_V=(K;zvf?yfaag>9vk2e<6nz_2FZmYtx=8e z&rhu_t>6lZAdNv%Ut70&<*J6d`mewGN`nfklS?KGdCFNZ`1(~$nF8uGQ8Mz)$rC4j zyL|ZU7_Un?HldHQ7`jpqVZvBSt6 z8}O7X(EsPoN$;Q-7Rfn#hW6M!9ApRn5i2?uisIj(_&;;;!uivuPT~k~iBn&H%|4Z% zedZbD==#;Gg98I(Z#%mT8fwYq2&hZ{B|QQk88vg*KiU8iPa4{_@dNp~pb)&gyv8&% z?)C8eE2HhT3#^sD=ARrJ{>4%LumR+xSyG7G=&kDx`+}uHOAp#kZ)v@FUd;ZpXHLKS z_S^I4&b@H%nXnaPzI5TSHEXD^^#1@@qu;6TxM$9wx&qw` zXo;}*2y$-eFC62)ntwcBq(Ccw#lI&J!cAm=NCy04{~!Y50jMDWC;u1#7{lmwm?w3O zVKVv1R+5(4a*#Nue0+StSad1HU_?=)FP)YxdWD}OP8;QyTB|MbbPpWD0{ z%Lnoit}}E8e7$fU`ycxU#ZG1T=O%r;eXw4BbN~Gh+%Ge}9=QKE>`VFg`ycqtZytQ` zK_ndb`I}I*{R8<<{t*F>{&y4f)nj1)1P0pef6YH40RM;s`k$XD+A7wTG2(DX!Dawq zBtTTBw#@wut<5cB|9qo5fUmz^_vBMeO-)Ze@dRK~;2FE9bn;}eJCqepM5%I0g>(() zzd`K-|C!UL=sV7yJ|%)c6LD|PqyM#~F6!H0%+Je1KrUSrn}7S8Z=5@G>cTf?k(!S` z`tZo%LtF(HfYdm-i1sr4BoMS>`HFpe_kQy6$CQsh`iSxgMfN}ZVBbChvuFYR;Gpib zf3*JB{3H49#K2g7mV3nhx7$CEPyVNqf9!uy=U*H`(S%wbvZJU_gH-AufpV&e2_%e} z41O}&ONu7S9EbGmX&63p_SD(0zyA8f>653=!t<$1XHI|p)$yXjLV5~5Ank85mzS1d zxP*5+agvivET(P@hgjMCRg! z?(S|SWO5;-ASF5F`0?ZT%LGVW3SS*Zu3YZyBxK~z^YWxT{vG-siSY36HX;N6=sIWo z$H_lk0Q{rd2>}5P|L9l+a1Iq9q17P!c)N_fvc*6GeuX9c8_1n_^_8th4l{0b^w5DL zhdw)c@WA1NhYlY+%>NG_IdJIt=bsA;3&roH*8pkas^MW_&u`hnug8uYL3^`v=)i%4 zpMQSvz~_e#9XxdC&?_&$92*lW_LTrFDxFI|yXn~@hYlY*a_s1lqhB2T;)|olzC8BD zSI56(2#is;x88b_kS_Nx^;KbD;`FIg@b4%LG)U1wR3zg1wQKz|`{^baM0Vw0n?U>> zJp8*2{5*)(|9bq(RsX|33}gAgKU@Cw5fgxCKG%vBD~5-MtE;Mui%U32k3hk$Cdgt9 zHV0cwfrM3zK4znLpufQqfNuBmH~L0c{2I!03UiVPx)`k1aRI*G{sx0t$&BJ(*(iP@ zV^~@mR^{gkxaxz#=f51&U*TW69D@PzV{prCGMJ5i{+!T&Oo@|V_mfpU9zjlNFs7xY zojQ3^d(Bs5AWp^$a8+=k@k%Jyu3jDJAAo-zP4ln20D1v!0(tm%KmK+62j#EzKaKze z{SP)wfq_RE_qPNwBD`A@6|zMH_fD^#QC~E3df7mG z`JC>m;Te_ldaC={$~xLgdmHl>&zw3s++a(yRn6+I9Gp?x({7Cj6__Q@(-azFt*@&M z2@Yns3d&VzlAkbI#7LqRwn%DPngl7Spj=vhom!sP-dHlDskEvzy?$zTM@!k{!UO_6 z1CaxeN)#gY*{i~w|ulSB*YXH z8f5S{hufksorHgAHkm@K!Cjp*A|t{fAN~b#b{zckU&1h%Sy`kfC<%}s*=ui_vSLB| zqYFFd&8(Z>U&~H&O%9cb*an7&7IwFX=Vj|21m#bGf6S_pS+f{iTd{1}oRN`7SF9jd zG<)`JM(CC~8W&f-EA3gl5^B>gUmo+$qsMlC##+{!1-h1ysv1|S{{A`{4 zYx^JGhyY>_-~x#Ms|+65s!UFO#LwHu;&0AOjZH}in_Q4mS(4V*UR|0SSDF*sUN?Di zPFzZSPaQc^VLjU!U3jdDO1&I9~SCB;SYaj_Dt7yCv00x@yqBMH=yPdrBJe|r~T zG$tlQS53(+&QF;-B`+r$K)&iZqG!gU@VCPfNowzjT2> z69a8BK6l`=&u|skSBB7e909R^0s?gUr%L<8@)0kXeWrlXDR}sI8xgqo-g^P~r~G68 zW9P>wVUQ)*+e^j&6|^RU$;ZoQ605#VnDEd84~%>0 z!TbJ=|J_Hdon_Yk^}hQb95;dGPkelQ09?_JWlnJ3+e-d&Kme^+nvIp?)B4Cf!7&!q31$D6HZ(e*CzH9(wShhaP(1!3XZY|GxX~``3r=|91}lo56d6 zpAXKtnPv|7U% z5w%)EtUw#+=Yz#<_c?vN{UX96o_%K1=legEXwRWTWG_<=9Xv=d=d(}ufBex0Pe1)M zmWAdYQ-<;1h_EoM@sB_JX#dBbV4{Dze?MtFy0A}_e)HzdHk%FX75}U(#6VTR`gQ9# z;h}>EC`66O7a|fw{OAam`t;KmUw9$fW($-NUg=5@0?OdP;0w>c@Z$3?y!65gFH>HW z^2&=Zy!P_TEY!04(MN5Ok?;@hgrvxLMgoGdd<1^`EMWQ<_o86zKFv?{KT#lU|FA<` z2rt+cWkbnhw1Au%?Pbrvz*yy!!n&%0*81|vg}GtYU~OPvV=z=)TT{ch6=uejix;k5 zM$<|`wX(f@`TV8JXUPREE-JR`e{{2-p`^H&undD-#AHbIQ31(|XlWgpBwR_9vcA5a zo4_;RgE5~;{`1MN$qv18`Qr7fmv3CVdgJPq>sPO!-MQA4ix;n6x;Ue~-6Ty+mcW3> zh|rKA|DXV4aG*InG$1V4P@0|AFlBN8Dcd1|#^|sKL1uGIgkQMTFT@fU73LilWJ-v( zM1*Nan5`}Zd&e#@?)BvV2mdTrlAWECm6gqojD<1IYoE!8Cuy=pMYOlp40l$n9POCZ zS(g?c#nKFLjG2K5F!4lCH7$m(Q(!bbiU~?$U(=sh#z$ zYnB$yo0&b_9h4j==D&hpM?}#B?nS}aeH!@3p1H&R*IfYHj0_?!+1N!`L1fW5^*@F; zLHE>@#O$<~-VOqpjXCKl7L{j1-~|yN{}T?CCRYjh-+c4_yYFt^^eh8RYT!wRoXX3} zB__j1g7pUSABe*%ZGVwbT|zYdeSHIcGdFG6sCxnMCjVc08M`@S$j{G*f2ikLln+1n zVE(*$^XAUo_x^k6|La$-e0%+RZ(9{yK(uV?%CaS z{cUv#iMHYyO=Ux!74v6SFC3~^G}yRmQPEIm_0l;N3x-3|l5l?U1+WI;pDw_|zuO4R zFMs*VpYo6WgG6BevjiehP(q+M!nmulWGDYqTe9F-${c$rFu;rlAk%|Y)KTewLu*S5 zs#uRMk)J?H&s%T2PX4D|D4_qsg|gBzjCss*3G(o88sudS^ft2W=%j~!WAye4GLJKQPmBmkC@ZvPC7WU*0up0` zGE=R#D8gS7{K4H}L;(Ih_K&*=fa2fk)c=?|XnQn2M~MHR_W2jr{;%fLzI7yFqK##+ z7r(&Uo1mp~0WgyM$bVClwj?tRs>#XO{??m|7cK%+5ehXm2L46=Yn=TI*gxdI$*dV= z|I=#Av(I9^z-P_as9?k8=l#`ant6F&oKVAe#1uo|IE7e^XAMAvIYk* z%Qq+}BrMDlA^xvKK~>TGBdzZ8??2X`<5$1>6+JrfADDN>f1LcI`3d;IKU-Ze0Az;) z5(u&~3J}aFKmgecJ}SVX!i;`?*#E*LTAoC-GiP@1+_`YUf<+4#!Zt^Q@Jp8fUMv|U z0%%k_|MVIcF5o*qvGy_2*q(aw$#qXXMHA!#FF^Az`X34KGid&CD@1B8T=@9I55GKm zbp6v$uO<2ag697!^B?WOf5m@de8REAN6C`Ddil!rD_3t^VS5?h`6}-7)hjpXNiHzU zpeexY&vQx8M-Bbj`DY4%(*G!dvCfUVJip>UnSr2mbA&U4p${T|^cbAr4CB z16$!=i35w0YyB_AjIS>UY5qm|pF0bg3+B(qq=7EJW8Uzq=3k2d{x9wTKXF{yOXo)C zFTnnpR$cw(>#s9PMMF4mX>LJYM3bwMpNIW_PVp~Z#?wzeH9R!5Xu;@XtJg?Sh^YQm zJO7d(q>@uJ($dHjC0?Y<)hk@?-1Td8E=(3f5U$+3aed~@nUep8{+FPq4E?IDWBe=F z>fzsA@c)IA|2yLU@Q?k^`X{2~RUsCNQA9+Xl8}&uC4f^9jI9u4MHWa227H1!Vww2* zvG@rjLm=p4inAr*`GdWCp&yGyWZ>-C($Z3;$OUFUA77>eV8Fnwu7B#piS2K_^}*iv zsZ4Wa7hPoi2k9@A|4R@kJ1YybA8QIJgMZAY-8*(}d-F}Y56wSOpw5mN=zkSuqR(Jq ziqx}bgnu2C;8mT>djG4MZ|CHjJW~2)!R8vv2R-{mt3a=gyow zd-^0&Km!_ysIYtX?0fIM$Bm(T^@nT0;`VLZ_?WJ{5$l&)Bm;We`Wt5AgopO!gJ5>+`fJPC!ajNb}dWmGl08r;i9*;Z!eot zA^dxJ12dS3a+YBNUrY{&QIlpvLezM%HlD-8pA2IN3$N6v%xOh)=GeqUN5;iOM&Wdd zrL6~?7=w`C|hiFOl)*) zs6|HQgnsHPmmxJ3{?7tGme1~;+n#!2?bM3$bx%J2+AA+(`d_fY^3KF^mUKa2%n>kukTTPa;;E8==H1V3f=`Hmm zLtVrD?L&QSX~{Yf&QC^fjmF5#)cR#}lWWQth7mia{w$C{`i-~% z@E;t^=l~=u_C?ty#z!xm*B@*3sjbLwZ>Ur=RJ3g*wK!$@;EdLV!^W^+OmpC8?7(UX zm^<8?8Xs1Yn>^Crk(ZT7qNthG7;tzE2Cpb<;b?DCLpi>NhFN$v7-si2cGl+Rr&!vX zCpR`u;XI5!Qz3|RhJ}rF+CsmfhZ90 zi~hfUm5{08KiJ{_+ULI`0+>K_N*?~*hW}sx`q%uM{xkg#|8)O|KqT*iq%%+@A{-YO za~PY55`k?*telZBtRF#4guoPIi=5fj5*FyyR8v|pITwAc^gsWRE`a*cW%;RPMV4^; z{1+;aKHbt-8y_9oSX0*5)m)gLjw+X-D<-Xz>K`4R*VmF-TTZT>NQ?-RbOVjmC3RCW z3bUd*JE{u{vv`B4QHA;gkOE7fZQ7LFjwZ8(>BZ87`$JZre&Wf`_wPUW`GEtUNnu*1 zY!4hfeDJ{0!w0v$`9?;1Is!|thXJOnA9-5-uleWCMgQeC0F3bmfq(vqUG+a*fcAfh z|3pE3co^1rd~{fBWN>PHL|kN0pvlKTil-kbpMKsZV^mUtEhQOc>!+;@lK1)e`V!Oe zo;c3OYoecz7s<@LbDG5Fi4%E4_C$t|A7b#BI*t#TT)Pb36DJtFCs~*x;LYo_$4Qg% z<9WL_tF26ulZyF7Bev2+nMOumZ?B2tOa@*gIcd`P2^4)TzWEZ1MT(>aHz)VU9LX44 zNOY7nHp-eD7nzkBpBNJ!8x;~0X^oAJAWfPgb1+r>)9(8#=htrk%P27X`;T#K+~)BW z|6#8D>+xTXX#OK3!m`p6W_C9APOoXIDxBF~7atXDCdAK&kV=rHU|MzilF`6e8|y}a zCm(*ncwYI)BZMNiZ+mM8-tt>-u|uqevST|#!EgR{#cwg8=q*s@UB(0}eo5T}{zok2x-yb>ftI7EL~-yqxGIL3o|^jHONX0x6oTuD}FyGSipZ{FgSlh?27h766d5*6M?2XW;e@^x{>|05%L|6>U0 z4&=85n6bkR331VAd9ob{_+yjM514|39taEel4*^S|0CgfgQ2mZfwVL*maQ6BB0kSx z(+vawT>1Z%D<#FnV$3L*X~=>SYWWdKU8W!fYRvZ%mGxK7)85u5B14yAWb!E# z?bms~D%T?22$vR-`S!*Qjw22%J&K5_CT7;?B4lbdvC70mqwjcw&m@!IM1v1ylF8tW zo#x~1MLttth?QCMWPM23OYtwWU>qS(j$t3U83tqaah&|?@h{8*ih2$!;?wslZu92C8{+IBkwto!9;=&?^d^r`J#ktd` zr&d&cdF&YTE}wk-afFDz=GM12CI8tjW-_aubngA1?7uBj*RZebJT;{ z>3&{)jWf%swEpK^*slDG{UiK~u|$3mam%;fcw_$DxzBCcBK%*ws`(cYQy&B;J2R7P zAL%mGOi9_frhF46FNhdT=mqd=9LB$$fBFEY2zdB+8~*?O-~S!Rf9n5oBrY~y^A8CG z`q`rD$rH-U%}Yy7lf{2@3aIJ`(EpOppbQ{juCJ?ua5@0|S(YUq9vo_FX#D7d4^-x} zyp{q}zl8PAX~TyJTE2dj6&2c2VoL&BRb?e<%r89moFv6DcM^~I`gJw`(bfJbBFP7a z=~L)vSV8pV7hWV^nqGjDAZ2#_uY#pqhmJt=FFOA^HkcSrB0lsWihsU-d+S>)BWC;a zygK_w>3^|-H2-Xo4z~edj6cZz_umiX82>u|AuTQ4HU7y@D#KIpA1uj`qoWI0A$iM| zE$_egK3xNvA0vSs^gn=UHH$|8{|fR;_`DQedl45K`{BO5`YS)7>IwMJS=fyeng2CK zQbsS!WMQ;Ae(S?amS8(!%=48vlGy*~f3;Yg1o92W!h!;_L($~Yaa_6b#AA;$#iqHj z@tr+;6xdhrf9ZGd7ep?V6c92Zkc7^^asBGiBZv3C_udEl_U(KBeHNw=DL`ay-4gzF z{1Sm012u zFTJEqAkDv*%74@RWB=6E)&etyfDFzo+s{A!R1)vidJdwmFI>QScY3ne+k{LB=FkMB z`4u2p^8_-PKEoLhiksK2x5@lpiI)=3f&bi`T*v$`X4w<{xyWmeSO`U24El?!SHH*p zXa1M)FGCD`GBY!XM1eX|^TEEoZ@l&zw%O~iZGC&sZtjYnH?yqQCKIv)c zaHyke8pI zo5xFA82Ji|h@d`336*7N7O4IF!b3v}@^XsubBYS`@^YkF4lA%^XJ<3VASWj%EQC46 z)K`O9G6X;u5E&j;n3tQM$5nFjb8~1XSINsS%+Dv{6c!UTiD3y}6_`?i(~R^qCS+p# zT)V0UCdBf03{v0=DEo)?Zy_9^{;~d-C=i8%Jh$5bFvcGQ{#jJ*HvefXkeTkP|7HA3 zlAog_1ul{o#mgs>uY8M)Qg4KgKq`oR3eOUmglBV9c-Z{egFQ1EDvOhQ+o~)i)JT%2 zq{pd5G*f6wVs%RsdLP3alsQQLb5BR}+<}gn9n;92&P-1sZCNF*@kVxYdPQmd!lB&O z8g2a8tsvIFt)H@bVNYLc*>HbTd08&$4V((#$#u3Q$CS?>cqk$`P~uV|E|^;+F~9rv zZZVbA3uOqOVs2q_sX}b_GOr9SWYuW9{cj)qMf?@~(ifor`GbscY~1GYdE*s4i~svm z`=9)`C>#Ieq(LUK&TO;|et;bJR<^1@JR*>qnaSFS!WiFiX$^+B=%__=2V+7fEuPi% z$b9l@0vI2bh5f~J=N*y$5d}G23+5WFLZqfD|ACMt@6SVP|XA z;M*P!;vl)%D~qEg*5YOCt{d#!OXOokEumHwaJ zR2vf+G;L~eYjYh752<8+v5{E5Fr%!*HzqQ(vJ5h@e?$tv*=+7^sje%{D9VhP+0~q# znTl5|cOYGnA$LltEi*MaFNgE1f&{S2w6UkNt$rF)5-_?rE(VwsMB5tJuyS$6=s-r# zbc{Qd{3){^pGAI*P6M0i|mWM6kvYkg^R za|6z;Evq?GpdDD}O{lML|Q{27odCAew(?@{eo$6aKOA(SR}n zOr$5kOu7Tg-N%vt1JS$<*u=!Gq&Qz*dIZTN!Ks&}lG{8oJiKwkhG#Zz*tBsY?^R*T z^3EGKP&Tkc&+x2S8ax&JF*9iqy-gkt*$bPWeU_CH*?DH;MpZV@iglh@5s_(G2p6pK zLB+%W(BPoDin_!zQeQ5o8q$arR7mEh(~*0VMv|l5(o|nnRzgpq`Y^gN`5;yj&5DgO zWF%Qr6M0_A^S}TKVeXrn>J!ca)glFY6kv>F<2H}~^ZcjCD=^6a$K}Ne25SIe*~1AF z##5NX!qgO|vdEY5<0TP}sV9v8D$LNPERQ_3vWi6>h%plRBrK`2(Hvn$@}DnXW>7d+ z7};nx9C{#kQcmeV935$yKF>nc9d1=r8 z(Uw1{P!!ESV&OIbjPVEgXZ$lEUieq}KZH7obE>T*{OGtRBfl8Qj0DLv7Lyq%5NiZW zM$CUhOG^vcWaJnS&j)_J*beb_5)b&saR$PQi;Bcf7qu)t#nj45#tV=a68LovKm3!% ztVRuPN@mW@o8*5YUz&gHek+K^%NIJ!rA^(TzUQByI z|10=qiy#2MNB_GS|2Vw(ziBG?&sN8Ol>H<54-~YZGaeWbDf8f$FJIo<+Y1Q@0G)!) z|IuWE8S6g-mC!E9$(LV!`Q^t}uOf{>WpdIBToe9f{tJFD9R|L#f&4e;NHNwC=@97l zC)Tcg?%8KGsCND(TqFFmMNzByFZK(uUM_E!L1Z>>+NAiu4*#tGsjh;bEBurHL#SW( z7u*91pNo=W$3fx$`gP1F){!Ox3jcQag?~Hz9{$~ieElFlWB)kDzx4b^%|HL{SOT@R zwQC<+%amM}fZM%$_ujpGc{>;)fOX{M<%JF7^s`pKmO>$?#`~GhmUAK1;1lp=1=*z z8~>VrkNx8|Qt(sz$Ep7v{EOn(3Xlm?Oe=r)op-lw+xF?FpT7V8`|!`N4*hS}%!D_Y z|00^-o|!4HncJ}LX)?_icO^Lu_JEcJKNb9NDIrsq!zC>m`1uJzzzCr}s`%KE!_sSz znQ-%F+w|!Y|NOE3r@Dr@s&XpHqAa2~dw3WVNb!FQ{jWL;kr&}VBa;DNe&Q;0DCEnr z)bnevZbj{5L23QZ`yUB3(d}vd5A#?)ywQxU4*p;bx(xth{6X~im$v`4{iDafIO5=6 z>>mi=A07QackWyiH6*ZHb7n>svVro)BPPb~)c?d-B>(?1IhpcyMH1mKV_1{FqI}B9 zuTPNMiQz$WNYv;_~J~HKSmXQlw13mvmJF^b^ zpA`$Q(}WA5_6f1hoipd97oO)Jem9PA*NjfMS0W(mzh!1*DEmh|YZeae>+Qucq09L4 z*ionb1OKeDg@*(GPWxZ;k1WvNdF+3;k(!_Kuk}CtYyX!RxLCp}|5+`D9EKwd^O*h0 z@|P)*eD}lqRhSXaN0}3uVL}R;7A(=pEMtN{%i1O^REx*T!AqAe3jfNC(Qu;wIgBPJ zo(azfKmYvot*?=vFEhNZe=~kGehQz@?UBD0I|Ih3vwgvw@FAr|l{}GWc{;wzh z$4w*v{z>w2)&H*i>-Z8G`|lcx1(IN!`by z&~`ODQqa}PFF17QAh|bM^RoqM=9Cf4C*c{h1UOYkAn{TPnw%r2PM&1Ki{@X804qoz zJ$#sqeLe!B4Qv47l$f154Z$$xq}FNly72X=WWljNSrk7zo3izkcl3V4poRc@M zQtGBnqp-ty7#;I58yUk*vqK2K>wD zuZsT@?*e{RJn>IAAzwd+vVZLQAC`dM!GE&m9|edC&CW>4PK#}xR+^ihzzTt&tLz;E z*=Sj{RY@(imXri}1)gFb>m({XXvXxq_Lf@GYzS{+c<3TF5{uJ@h7|R*m36fGhXf-| z^c|dzoxHr1>Z$@OZ|5ahlv6V>rn07SQNt4Algmnc$QPAN27zBjbd9FCsKDOVqUjB# zp&{ItTuT*`InY0^p{j1-a71pVu1^C}-guMuz|79l$+?pMCa2IM$kxaOZCM$~(<)j2 zN-cCjzlYPK1i%izC;snN@bfS~vHz9+cjP}{8Zr9Azk28N+TQ8aZMBn!x|9OTeg*glcli?3hEH|5#8Z&!l+x+1!tA#ED#KptaO<+4NJvDo{vz9co z)C8RZNAD3F642FMGkdrtG*mL20|6BMj=ZoMkH0yhFt_sId70g<$c5Jbz{}38jrxh3)Nu==4%#6*+iVX~q3?f>wQ9CTGYYa_}ube-S+*s)}eiZ-aqMW3P z!i19iRGTea-;%nVub0U$zoV&iq&Fxn5t|1!FTH?~R{{9<^>h{$Q%w??|6 zsJyJQhZkgbwlKEMO3}>i*DkPjcCdmx{JRbL`a$mC-^Koy_z(PJ0g&EcA^9`F+v-0l z(8L@>KQfCal4(3~qPN#1nO-RId+0;&DjP&)W)cx)P?&cGPn@9g=44C89C>pS$solH zLVYV=L4*d>89?(RYua1V>&A~G!EVwxb|y?9>yBf-lEh51saW#L_|X><0g+YReEcR% z^it=h{&*UDO`6CHX&&-7l9u7G7J#NHeGs+j&O)pfGOJl2nv7{#h}ws>i~LAzMHt2z ze7w}WvydQJ{0(idhJW$+J@FqmV_zQU$NZBWWA}fPRs0kFiS6JF2KeLtDw|wveAKDk z1C>2MHkf$-3j}HY6-vIMsO^RSU>oV_U&1fP+4|B#H!+#u&ubFN$!eaY$c0RBp%GQt z%6u33;!k~~Ol)>>gpEu(=4A5K#9K1Nz>({y`grQ7dRnPD0wS66Vd{;40Pj@&@PmB} z`?9{oCm(;Tx6Gq|Z~w;(hkfws8<|Nd-e!};|JCwu4$oKoU-UozfXDuE8%g*v|LM2+ zPfjKo82g{xH{$#xf~oX384DvXm?JU*;MmeZX#Pbsc$p)Z`WaB3*wE@t!Td)Ck)^&G zJ5WPrqzs|;0a-q9jrK*|N`{@Rs>ns;^%FEC#g3vvP(gBH7b!#e6Qm(lDJiLXE$=f9LoY+*0_b*U$naCV_@o@eJFtE`+TAeS?{S2m2rsO|dU=&XHzrh57@6=*(*BCD&1&G1l zKm72+tid6AG{i@e9~|U6^B+9%A9s=#SN)$x51_gL_$U6uyeKFCKm}3ITT@fR{4Iu< z3i1mh!qw`yiho!Ak6CgD|D+Pt*EgU%o$xFE9WH~+{}N9Y{cPJw^Z!TspQ|7O?!>@YeikSH8vcxoOs)T&{PWL^;)Q=@ zg24Z@hnGIQYSn5qt=%I~YoV+Bf6=m9lcT1c`X7Kf2?ME$WH}85K4to_!vV1K9}x-v z@@r5qBJb+`uR%GRx~F_F>P%Wz$>e;i!~?l3)(Oc`Ki znIu|Z{ogor;DAod_~E--qW^#QJM_QK|3P52{&y;WF5$6%+(}-X{G;==@^|o$|C_+l zK*GN@gf&88Oo}B421prLvSbOEiBYbmz^L`#G?@~;M-qq_swQIa3!lof)j~ug4(gOq zv40#=qk9>C!sh3+B_)%&7GHJYB)VsjfRA|D=zm|wRb;#hGK-5#oXTI_o9KV|*N(a7 zAN{YhjBtL*GGeYhDR$ojKUqLx|NkKNKlyL+<_pEYLkf@uvHv~#-;D%7um6U&hkv{M zqw;^W{ZI)9}iw}(H@$<+zu!dh7Lmdhd3 zC%!s?{euXQI7fmsJEX&b{rBp_k>=)Rk|AizGm87`Z~=f{_!s}zWB<5`46yz!HU^Ov zr}2-4z&`vZB#8be0topqp!iq14^u`y_Lo7U-Ayb@0$ZqYmL-w3d?dsV!Qd~pvV3j} zg3u4-mLQdnphEl-n3Un!urMpv;Un)IQe&^Q<`g0YthyW!$eGo3WGhWfX6mVvOC2h* zPpDQ-p)Sp2eLX;+_(w8nXs)koSh4)Ks~%msYUQfcD_8Ma$;Vc&d2IFSN7k%axq9{B z%mIW4{zd=0B!6o7HUB*OJ@?$>CIpP_$GHFg`{7^ff2aMU`B(N&H0m!pI+~Yr#mB|T z(2^{?BSCo4#G>l~${dmq7ZA!@L1ioo_8E#o0q5qV7v!epWG3e4Ww3yby^*{lMiy|0 zN{CI!%O+1+p)ai%ud16?mYntw*Snrf%iOvz$L zCLgF9VxuI{7#tU!UQ!qu87c59lSzIz8scI?3$tQFf&;`g;Ove<^N^%?Q%+h$b_Syk z;X!Kti^KSFx&X)p{NH=;y<;03H+g!e{>T2wP|hz>;N&0ju}N%Ek*O(3jg57srKKc= z!jPRzH5Jip37p!|X3I)9F~qBMI(R21#5}UFzrVF?*+}z1+mzT?xD~sI4>bA*1|$?` zbuJt+#zo1vE}GnE3JNw4_O>L)h4M|Uh9x$U01NB>=JKxAs%3LyDp;9Br-gDFa^x&i zN>Ub%)N>Bj>=9u^I%Nq^vrm9IyS8d-Pe)Kx1U0#;8vbHb*l+IO^u@zXC3&gbuZVzL zLpm&j#ay{;PVuv=%T|o?3P`+m3!wj`3s4=JNB_GO|LA|1hx`mB0(b%`F7^+8FTwPr zq=d}OOgam2aqZy?_NwUVR($3^OCq-KxTiiR`R|fP6-5ebOc%(a^p93xCf!>zPv}mROm9TIjW#psU3mR$)2D_|TDI#Rb@?lFn zvu<5NwxqI91vkYr(O;CcA7|lhZGdbQ>{^6i2d}l{LVpsyMBpFsUHJR*)6PB3b0Y zQCpgm631wPkB`Y3B$>@h`E!2cA}cc~+7`l(EHI}(>S`p!O@!x(EWJx^s2yg3mMiCG zr6k3Nb2fF>iKM-$yJ9oJ%gn_VqFq@FQB{%5XKJV-t@wzAFJ$T*P>um0^^pTz&t6TkOQo4$ZxGgBhoYG_tAzwd;=HKc6X4vf?JO5ZaFhKZSZ&g$gvp~ZB>{IxO z53mr-*ZgBj!#te@btG<&<)i}mx-DTzWlXVTgvH)O!7OC@_;M9h?RLzQsJ_06oFq^W z89=UGnImNcKh?sF_6v!jrYa4IQI(Tz}wX{Px1<|_6kswVaIC1}AuTVw?*i+yTp z`^Rnqg{k8%D8>_8NPKvC&U z(ad0m0)`xwx+74D6eu#G%gG)xLKCgbsn1ugB9&F)LK;i9noM@6rmiAWjTOv3Tt)w? zTj?f93IkYt_)0Y@YyFRYXPla>2Ac4rZo)p*cqqO~bNq1d_rLxABd7htjz|By1@*Td z!j*r>*9HEue{}p4Fev=f10>?`_~TEkUcDN7KuZD4=pEr7&QzEYzw5r2~{N2Eot)iKI!SLS@xg2`== zFTo8{c%15qLniZ*})y431mL|?6X@o z^M>K)cJ18Ba*M1ow{qnw=%DhPQerNOM zEeAe7ux{P@g9i@w^z;BTSMpIN6UtnR3}3+#J{uYuj~_pd$n5`Q{|6s@uz&ylii%1H z|KbG`WTlnT|K8NsI=`%}oK+kjfBf--2M^AgH4Ca~0`_A4i2Ezq6i)tWMd7O|9{ybz zx|?_J;9qwEntyHozyO5vPp@>NN;BhYSa?}!nVub~`NtGd{M#{uGzLtyox>nnYD#KH zM+fB4WhnQV(WPKsnL#z(iXDL&G9l0s#JeWha#7@qMXtbATPDbe7&8w4mnPKV2C!vD zMn;EL1Erx$1lL^x3 zTV#Y9yf#Upi@_5juh9^aA^KP5>8Ua*cLVg;lPO0p{#4 zv@+)_K$03Hji^F(<@Tbz8MBZJ1qI`f3;OEAjZt_a@!1`oIOJ1bR6aVN8NXmun+$*ifwMAkC9e!RF+qo#wXwoa}WXGwq*Xi ziht@0;h6KT`FMH#5x0{l=jU=XRaeB!LQD}5NhZboci8`E0QR;1XY1krZYBQ5_wAzp z5dhKunQ90?#((1zm<&^xotmE>TaXc5Q z&_7hdh5{ITnvG1rDk;d$%Sg=6NKT54h>H$08N3+UQtx8-!@rEJEX3bPz@!2W1gt%yeqH1)2Q7{oJJ`wS;mh?nh zL8c{?+4qj%54O*b$G<%M{}`gX_?y%I|B?P@3UEqFT5{r0SM$PwmeKx(rL!6r4%9w8 zr)6}YcKO_v*}c^>8uFfcWFW}qSGQ!OxT`g`AO{PAVPe6|WJ-()AL(gaGP`y0?E1l; zs)6p-;6UF{YaoNT^b+P^OVRR?%o&Y=k)dLoDENXc0iEsj)23uEozvDgy?nty-J*f% zr5TA~ELj*}^pB71S-U){D4R=Yc@eQO`_E`9pW9P0zqjg<`7;JPYKHsTgZ;fjLi{IK zd@F`~%7=R5%ZrS%c8lDZIJW+#)~2e?<|(7 zc-g#3BvMxT6r)UC3(OpYNJ}wkdHotB#WxS0yTCl%NA+!wFtQQ zzaIYo2~T(1;XC*j{jdFBC;#N6S%Oe{*aH;egLf1HkH7_V&?TB#59a##65+vx)X{zk zcuMA*6dij6MhS{VsF10utS+Y;l9iyk4lz{}|3+x1roJD7HC&4iJNmku z4TB#Mu=B6HU4%prG3YzdXLeqWuLMxVuLxlME6u<108|&?4E`V&9{cBRBmL*^SM$$E zE;hf5{UiAgyaJenA6Nn~{^_0Y0|~%rX84I6BIhVjC;!^007HHyq^Zsz(R;|()Jc=T zK$I;uj20QygZOAE)8_|2r^InYALJ6E|CKsti{9qO5KoFax!Ms?lc9=089lJjL|=sq zNiXB&%>bD?p^QZ62hqETgxsCPt*Ix;hbf3^Oh9cFZ{p8*PY{`J>hU%qVFre`*-S+i#O@)Zz^Dh4ynKa{eQn2`9! z8*gsfwCUKfV{g9s771qWz4!j;=t7ogBNqaS#MpK;0e%DlG5qTISL@erc0TU=h6+@SUe?Kf}hE}(|wTU{X&M|3u$UE=6^Z9`TJ9q9KmHZhMPpM<@od-sv}a(NOw@h*_U+iQ zgUgZ6cH+bdsOEBHcrtjcVo_Y+S35?rxjj#^P@zWNzHJ5uN<%E3dF3 zF1EecKX#a9mLfVDy@?KQZfZu`_xAQxSJ&`fT_g+mSy`R@0?GeTO@NaoNCQa>1O5Fi zEvE2_V)5P?d=`3YH4oa9mF)zrV*Xm9sKi^qV&JV{`py& z?!JTYFZr22_J1?dGg&7e`#&Z+mW+4!XCMg3NkX#(sv<#`kSLOWm>?M#6lw|fWid~K zR_3yL5B5Cy&)P9n`EELDB$G{WFgecISloe7sRWGRpY{J`$^dK1;e=WPENb#sFe~|s zpP}b!aY$L?EWhB%n_K%4-6!A(V@(W_3k*e588%b~oA8+fGoI84-Nb=u;Sjc0@HLZAj#RgbZSlI&oyg$Kt*lY}jmIDd3B<`XwVVMp(S{m=3b^GGxj zq4@Xc|DR#$Zak#;CqLgF{{((J|0!uniOB#T9u@(sDM_}Jq_C{CxP)kHR%&!SVWHpv znD_QK`KQDi5@Y-$!qrf&f|E>6i#azfCMzi{IW8zEE@*0LMrTu5RzgT>v^70Gn&IT& zyo{)v3>Mj!$c!>i$c0Xb4k^lrPKjrYS#x?~L`G~#dQ1q{3bK+;9UMQoASgB(&lKmv zDG1@=*1YV5w50HqgwV{?sFfh8jrLSe0H8!~7;gN>NSNO$8 z2aDW^D@_HvKq)a~pObS5^go=t>VNo0|5H5n&)vxRKf7l;|1S2A@SmQEMDPl1v~Of& zI6=_)b7m}=*S>UaXLn2KqYHcH%xug`jWYUqj|=dtSu|WWIvkRj8pyhCM$nWTpw#%V zC9^voSEF2rsboS#8??@GMUM6!19>c zHg#ct-P)ytQ%h184K%NuJ7dj)o`>hmXlbjgA8t!;t4gh{z%+64kLoZ(lIjI6Skix2HKMh@>|m8Dpoqx}>XSsx>Y=b#`~!=#Xz}dNJtJvkX8%}QL|5B1#AI}^d2WAWcWd?HS#8Vb zbPTjs43I1uV=GuPR69Csv8nankO7k{8QRfU{>Z$xM@M^RwpDdCmd@^;Hqcfvx4)@n zdR0wVQ_l4IxROH5d(FRM)!bN9GOxdO@ksONP$N6TJ=Jpu>gNqjkFkaG&OWn=VzycX z81drOr{>tGfW%l|3rR|%{GISSdlPmL86Es_>VFMC{Oc}2cM2Z+|1Jgoj@x$fpP`a} zfM4{#ihm|2Cdb6YMTSL01zQX9vdAkAFi-L~j1M%8Pf3bm#aR|lGxOF)ldmz{%A!-U zLKc}q6gA_DAtmbgn^*{o(2#F{$*&+g)#C3m|zQuwK495&IM6gQi3f0h*f$@ zj9IlZo4riNNyKcJ8^*gQ!xQ8EF^shFBh5t6ES7-8_=xh-ocz4Bh_C?Gw#8JlT1dSk z)1Mcn8p$0Zm5ycJyeE12d3iBr2Kq9K63uT{`*st^Y5d&5KjiD;;r|YJ+~Dh-{44uE zQ}LgWloS>lYYPcuK*%p4IwB)EI6cXlnqWJgyQ{%#t<86t|?us{CEo8HyPhl7l z04{QSh={T}BJcd=!&a@9s8>xSSJPWU|LP<52k_(natadae0&ir^(J55;yY0-W~iF- zqF%y1cBO5HAO5wv#$zQfnrqADxd&E?lhgSU&s@D~6>qqE@7;IzzW4r)ZQC}iUrz{^ zI|OpYKVl$mf|e$ILKUF;(d2j6E$glcdb4WFFuLZN6f8VBX_<(n><4DkdrQRiXuuQcVvo-^Nw-0+{-U z1UzdIpfBl~(aDQ_d8fr+{`}{^{P|C8|NN&vvh&x!{N+!7{3EZx7+o+*%7iTKs2u9s zCsdQ)xio&R)BlBkEdq1_9{$|~ef1bW%fGgN;uDi1VwC^eRXg?M?y}RnN>1;Xa(ZW# z+9^1@v*66m;?p}SPVMSE@Rl(%KFDaa5NKD)(q!`Mv^Pm9Q!Bq|ss(8kZ^z0O{?(8% z+yXWQ;ZW$~3RBM>kk`!-0nR{ul>qc3{SUyJVgAFE7OqPc1n+YJ^}qe)FPi^9{^1Xr z|3CjpWPzX9+57(cBuG%7R!V}zpyE_q=%@TUtssy6@0R>K^WW$KGBdJLQ&N)>5{be` zf=FNElymRZp5I%3YFEoQ@AX~!u;KLERcH28oZeG=dQbhi_gata^3F+OLOcF1mIPXz zLOUpeCGybZqjJm?#-ic*iG*i(7QL-9GvOb!@)hT)G5o5~M@%FBXed*TCw8 zp9^CJAvH{1VIUa1|Mu6v!a3yA3v5`o9uw$~zyH1P|0n4M*m>gd$EnYK;_B*YWt@ba zpV~iqXh6Hb+$2NW9{<-pq`+1GXZ_gziB3w4jEN@do!C2l#f=jm{Q3I&?@zz@r;EG( zeC5qQTzKtoSD*Xy#kama^TuDUE<5>|DJPXRAmE?W9|pfLfr^Vu7A{=GJBGSCyOuq? zZ1pNE@zqP0KHT2c&I?9C&cVL~^Ra4Z1y>w@>dB`zY}i1~+cVERvvI@5k>Qc2o_Y%E z_(^#T!oODddJD92#O%)?U4C9Z00)@;$+Ech?YD4_weyGH|Nh3cYd3G)fO)>6|2eW^ z`EsrH5q$EF5KLr>^XTBG*8fC1F?h7`<8%Q$`rkds*H7W(9}I5uul(P*#Kdq0Qp3Vh zdRj-X9NYW*%WJVMzb_?Ju1UO%zvFPDc;eC(Z@!rQsv-(VIi z9R*E4a{l~z@_)!TBU5zw^5w5>eQn8-CF`GFM}8WB;iB5@AGKsUY%>ZAUGKj0?w&n+ zKHdK*g7EQ2A5)pH9LFGc)&Hn|-3uUV;?MdAJo&_v-<&(w(%g(e#hYVT((U)Z`yI^d z0`^Y$Nq!TlF`9C6a*uy`oMgGkh$zVCptgVL7r5LV{5xF$gu3in9TyQ6-`hC(oA+8zzuR*9-PUhDY(BZS@x*)GS3j#g^LEXNUA1T5uRpY7 zVs0{vDG+XLU+>wyd&lvI?|3AyWKIq}!jrrI9Z%SfPXk1J}L_|zyL*A)(3s1gXdUD6)lRKuI*i~_2 z_mq>nC!gGze{y&6$#_}vT+o&R`ig(Jw<~{erC>X)U$-9kDgW`ezg@X}xv`-U5uh@T z40CX_Vn?gf$5Ef3*!k-Caq9oqKmPH*|MNeH8}q_At?;iF&PD&@8fdqd8_-3&03Q3_ zJ>cgll>WD&?Vb9c#gK*nw6w&eq$r~M5s^`4g;gJJZTfO|&DXm`;eWNe;j2B0i<4J;CjLJ`A^*B=55@MprIU}bO#()zn70DRz zGM^m+(XNojpfj@)B4tl@2*dINUa;_w(pOfBCSPx{di82kW0U;q zSTBWE(wH8~V9d_WK6UaW)oAjM|NKw*$4Aac&k)~1CW1+Ns*`_L_#OO5di1}0h`=58 z5Ab6GDgM(Flag7yFghYq-UXMR98;ZZt1gPDD2T2oNSIm_UsW7iRT5uQ99x+eoXkir z!5^_l6wm^x#PSKq1X&`(g2Tx;wgiV;gW@8LVIgKqKrm!VbvyrJ$p9w@!H=R^1+k=D zB(a&`K=LjLAc3;*uNcu3a=#KeMHNZdc>V1&#e(l|cbk(Z=!-aS`~{R|nhXn$ny_{dFUq zRZHj080l-StuB|fwbVPvbSq6YN5B=O%`*OkdSITI&%5uuL*Vm=?|)zh4VqlUN@;bw zASnJbGcs@%@Q&Z!vj?fc1%Utc>((K#!oQ3CulaZF0zB~_w}Jm>`Oi}PGyf%p{GYhk z5Y%3H$dbOs7oQxOHZ`-Rrf})#jK!l3s~+iIw4iZL|I`hS3_U!*Gd#)y@1$`C5kVKm z=ncT%93LCHWPaDmd5x>*^sSiHzIn~e?&&2Ke~Vp@JM=$dzz4Pw0hZR9UR%6sZu81{ zZL3DRMn^j9Yp0->sbJ)1tR}cunx8Gia#>tv^f@AM=Je_3Hg93)+SO~?o}q=1?^2xGH2>RHMj5SMR?G#%m>;tE0euZg(i8W}| zs~v-b11l@a(o+(GE&eQuSXEwZwGbu(WN~;^2Ox@FldrvCPL!9KSXGuD7t2e>f-*DH zSr=EqFB4wueT0K&_(ux5ySnvg*I)nqXPjS>9Z>Hi|6oc1Jm+Uei-3rZ$;@KURAXq2 z{sO_l3&sWDl{3=~--w#hgh4UdcugGd?ft-{N#k_-9Qm8fucyAf3D;2k^Iyhl zfp&7q!-*)++&Ob}Z*trJ zRf|8k+W%Po@J~nJ@qgVz3h;l4uAuGh`d@Vc%KlGJN=%K4jpbc0`H3;xo?di#=c;2n zSADr_)$!dckMDU@wmVlJ-TC;T?T@{%YQPr4v`2J4njHSIF=V|>D3xRa3)u_eR|>0A z?5oZaBPA50EPvr2vqU3G-ahZYkh#W=+zEm*{6tM;M2n1_XEj`lxz4;SBKdlR3-Z~) z{%1uLqOT$;s;yj0MV$D`{QB>1-J&KL5n5{S1@dz9I2HG){a-!)<*|R|ad{&x78 zD<3{poXRqxd_>LaH?BzVU*)jrEl@eX0yankv$AHy`4!8@&xpxE9ecwd884tFTZb%= zVJ9XK^<4L-KZgCoOCRQ-WMas>xh1oj836Q0)aNUsbhCzLF;Yf- zdI1`;N((_(^uH8k|NpH0gZ`JesAv55pYe3J9asFvIFsMR{&)DlB)~=6Vk5#r=XDhQ z{fo{2IP~;?fA#X;j=k{LW1Iha^x3~0+5Gn}Uiz=2n>ha6XX{GSi8P9-p0@Uzd`h_oQUKgDj+D8(*Pppw=)+S|2B z1N=*uEaf29R9;^G2mAK1F4p2ji%EEXZp)TWKK_Jp0qJXuCIX)H0y;Zl)v8sDR&Y_I zN!kCh_|F~jPYfaM&}0AKZH)i_?Y(uF6~`9t9g@R|9ElMEVQ_b%kOU{V4}k;%L4zc? z6PyHhcXuKLcNiqN!(hS2eHa+me7{wzch8<-PV(L7-hXD;{S-}gS@-UF*Xp-ct*ZK~ z=XJtAQ@^SR{;O1>D_pT6{O5zxr9UWAr1W>~>w6tt9DZz3wAY!yTSvmZj)&Yk9C+tQ z(47-cu5JtRnCH27ZncUfu-wQ9uwf~%jxJrkX~()c9Xs{x*$YoLR@%V@?#FRI^y=9Y zzqT@^%fjdZGvx^g0^A<5fx2fUhG|n-!)+j5bF9h6szCrxza8?KF#4abj1n99;<)7n zv<#GC%%nd%Y{*bFKfMurdl(dh*gSmr0HHuSyu66rzjX1UI!GW(9XoWqb?X)m5-5M! zeM}}A$oLl@9cTWN&i~V;|Njb7nJO<8|4-Y0K75Z=Pl^;P$z~A`k1h^9G2j2j(J-&` zkM13ddU!0*^YA0D%TGM_1bEE7ws%goip5#L0Zoj0hS$LR*Q{N;V#Uh!>((DRas&r9 zb|&4ieaG&dyZ7wcvvK_<_EAL%gM6h-HvT~!{-W&UyL0ER5npHy$ zWfGAQ)2b~3rWe52G5$PVI(NYwisr|?;qakD0{#d0aRHh(W$Mc1EAHI7g~Gpo@9ve$ zIOcsxkANp;?0{9X(CU1f(EOtRpR#}2_(wur`ae?v{BIss@lXHvQ~cG8{;%w?|9te} zdo0BR2k6_rf$z};K^{}XE^Z1vzYf3$9i8KIWUl|IwV|h$1ss`ibKi_wl~{5_fGPN= zCyY)0yPoXfJ8#}Rm^P+G_9w-wnZ1CA4#)y4bSUb62JGy zA0%GBbm{AM?Wm=!41pysXZ3$z%`YeZqvKyZo{Rtd4W2SvcB=jd|8k_-|5^WpJr!}| z>DRulugBcLBU6Jsriak^Ju)fGV^WC6lwgk;K}V(s9+`e?_te^ziVFC#wB*fars?Lz zZHN66tv;+#t?2f;b?bs-)+Hp4v>*bCWFlND{y`v6$5Rw00_^M8uTN=e5vQ1zwD9k+ zg36_~#%d3Ri?G)`nqTm5(5{$A5(psw?wvcF;X;QF9ima55aiPWvcs+ArlzazjDPgM zega(h&ujqyo9A`He`PfP)A;A_{&mw&uk4uaePq6`#{xf(`E-5*Jm&Zxl}jIw`QAt7 z9pCsvwGVNg#Qh)s!)7r8WZ$2Q+=1nY8jd{oG!2@sHHH)95N9W$s48!vWhQKLkWf^rjKQ`EO_(u=e{Ktj=%meVhc~bDtBAdqkna2OYf&cePlqw4t#0yh4 zOowBO3WkMXh>^26J>)3}@i7i>fgo`YuB#z{-+<8eYZl1Pd@$- z11P8yP3}Oxls8HkFk`&|?QE1?wrt7r*XZkRS!Wg@5xckOoEk zgog>Rp;fZ8WPxJxSt-g7FzK=jBEEY)*-|ACC27Pg7H73-unNABu@;SLjO^34Pv>Ss`?MK8sPpHaH(+j} zNK5J=chMlXl*2)XOkY66g~r|T;(Gn*N2S@$l=A}|H=SN^E{z#eVK4*2TZuNwF6)U0n0_c0@TRwz?S@NbrhLk|o7<*WzB{QOPo zR36;D#Seqqf77t;5`oyIapdObEOLQp624Kb_m=O=}PMwoRAT z&5M*NQnN?Q)Oplx6?<3;plH|KDLMGvzz*|B2$iYSn7szjEa& zs{ftvFPq#6)CF4L&qO%OA&@h=S+WfLEO#B$J9UZ`E>OG}OT^_bQpl}RrBW3umMv_$ zoI*bo{PICD|3nZ(a*7u%EXzLU&s{Ko9u~62G-=6(+*ppX2o=+WnE>Q_3>ddZVY+M$gF^n z&abHZyi6L#ncy9>8B*?daZL~$vM+b5pVI9Rj9kl9%e{G;B5W{C$W8^<%HAcs7^ zZUK*PDEn8MA3`zX|CYx7uOh%1{m+nri~sy@KxML=mtTIFt$?1!zw&?fIpWigIi20* z)~;E*ch8>PyLYk2;=X-*_wU^p0@o@S%g$J+Ob@!i5X)^9R6+e=1_Y zXZKQ`iZ&gM?>}VXRH4qw<;&US2-!6Kg#5@Tax-E4gx$M$Q;RD22=O@k_U_%ke;<)G ztJgGc+!)P|ByuSE0rsc}+XMvunG*lJYyYoIhV+adH$(ha(f;oTA2LsnMN6tyse0t_ z5e85H_~Xv%RjU|0C60Fis|XTsp}%(ZYLzNgK&Au#Zmn9jV!Rc1OL7^6_4W3~&Dbta z1V_#K_38`$(dY)!O&T}RW*^+UhxYdW za^p;S);i=ruFV~}sW(nO;Ga*7FeNv)N);>KxZ$~L*RD+)H~GmtFy-K2xgh z-W@V%Fe-Z5lqm=TlME&C{=M6`Z`Z6*Q^CxcQKzrleSOU1==dLgoIP{qqzMz3E?UfL zBx6R8#{Zcy*>PjWp8WlHG%cE3@eib#lLh_<4j4Fn>NE;W96w>y$dMz551%t@7N3&6 zyLSUungzoK|M~HSt5c^AVtB*TbL{9b%a$x1G+S+}gEmyZyJ{=CVON6HCU9n>KYSsK%ck?!l6_ix)0}axgz#MFu7VKT-VS zr95@Yl*tn(GFN5Fq)9+@_^@FJ&atB&%xy=REB?{v&~>)`<)d)?=+Q|NCQxSHoH}h=%Fb70lzcBxTN2C;X%Rt5vI3oxo>6`@fJMe9~B5!BCe6DExNl+4x`Qbq%1 z*)0I@(<7#gu~5mnql$cI{PRLw_|E`InKS97mtL~@Kbjx#*Qimm_GdNO@UGHF72m7y zE{-pFKYUuL()_t|w*R(uCzH6gZQHS(u$?oTO0eGAkRe0f5gVp}8S;Z!6KCZg#*L$2 zX$o8CZLBlSw3c6grOMc`WAPBpWqQ6a6VS|g+}JS`pk?kNb+>QZC6R4}-?sibdekW9 z0Si?!1|UR-*vOG1cJ5$W+0I=%cI?`@!xWafTv8oYkK;6xCPid~|IiV3V*(B~tKGYH z?cQlBQh)pQ-MdKH$vjO~z0Qy2RxGq)=X4eU<^Ltjh?vX%lR5F8{;6Ml@kNxI+CQsS z1^+b>fzIt)j_BXHUypV}`*!Zr?aOaFHgDCq%8=geyLNEz`gM~ot?PW-zDcXbHJdlC z2W~&A``HKeJ}c9(PRS}CGXbDz!F-**Y%=KE4&QZX)xDj2*EY?1b^M}t$1hsduhqGA z%Yp^id(^FH`LdN-H*Geg@4HPKF(%fjjeE<6Rob_1{B5U}b*q2Su2q9>?cF%U0XNo+^SxW zwoSXYZPu*rXUsyV*rZO`dezG|todQfMo1Sti}ky@b!^qMBahVRyN+zG+T@!rKI_r8 zL6>&Ts#X2CWd8g$dUUMZq<+0#T|TN`TXuQL2>(X^mv-SlJ(4o#HTb7@2mXcsRD=A0 z|LOz!cV9SjFtw$MqOL@T&#m zd-wjj{^xb8yA{n{w|}R4!@9R$@MF_SL-NS3*$m0KEuAr9T%XTZPwg@P$L`|>d^vYq z=fzWcPaWH%Q~M_QinukJKcQUf##IM*Z``X3*f+~x$;#)#f6SS<3;&rD=@~yY{73Y^ zaelV(@9y5PYnPTo`?u-ZzQH%`8w}{vwsHMW>el+OUCY`mc-yvl)%KrPZ~sNzwyhel zmQ~f(pEvB&qwc_7B^tr!^SoQK@W{TMr;hI5p=JHyy*svTTIr{ZTd8jc#+WbDu;gL>sHns4Iwy?V5+_f6{t?sY4D)vS6u_Zl5O|Lp4)wd&OR zuyc!g{W`U7T%}UU_sg`MJnGYa-!vOFut4cj1su*8AAeA;Q>!|SYrWsjz2?`SfA(z$ z_qNSz*7)Gv-1%~U+UbkBgL>5J+of`+FZ0T-*?9{W%sXOW_b(cK(z!*|(S5(_`elvY z9UAm(-=s~8I&310vrzpXhSccZuKASVsr^%F+ujQ5XpehGlzf&Vft{hu+OGFz(Y z|CYttQ@INIAMPXizowk3RQ~jn58ivP0wz#gfC@AHiY3VNGYzJQnF&Lj9w=*Fy_MfB zcd*+vKgnt{aHdz-j7Yjw?&tIz4Tg8gL#fl4z zG*P|~UI*3^okp(<#eXM%K0J3yF)7R~Z{fW8-Y!w}t)hkU6f07QTdRY^JM6YCOW>-< z4&wq$-^Kl+knHcCCr5$&ZpB%6y-1M)vfM8I5Ez>11(?;%i~RpHDt9_!s*pGQgSP zfR8?^RH4FqrAn2dC&=7e_=Y&ugFTt&%jA;$FmPF3HeWtugLMPRDTroVNhG4HO|4yQ~}{g(e_tR$u`+sggH;={)&!6v|hE^$&{` zeYdEYfb6vXzv_R*KXI4-|0`5wo;=n6hW}T_><{t@RjX9{}K3d8$jkX~VuHtxC%#=mW}~{=;Vo|NlaTN}Boa zMGgKzy9Pc5B}*Fq@4|oPLHJ)ksqud<_Xz|@7*JIi{5A7mDpeBy2j;)3XI$17Jr1BS%(irk322c5G=h z<(*ovCal@FqqJ7nit;O{Ywm8xWdRhkNFy_bi@EgwU!y1U=Vs5I9qUG=j~Pm$6U9T`OAxYSB8FL*EWNbPR!K7~KqBT+O%dQ(jhLpy zbx!z{+15Fz$$VwXO;4Mkal z#h5@-JHHtJmH%hUmM!!D@m;^*IpzNX`^xa2YM6lZ6JYCqx_;WYDXBpQ)_nI=`MBwP)(a$%Kr}BiZq#cy4&gJz$EH@(>%7^U7p-Z zlr~M{Ql31s{uTTO@IO8O#qb~L|GM~pmXRFrFZ18&|5mpAe-!@^A}9XOJ}ff-9e^l$ zt%wl;O#wfeXwD|?R2~+jxin(8qZOTMS!D#A=0@qVoN=yoHN`HL_8F|!>|E#j+KH(V z^uBpE=ns?M!9P;3sy+?>H&b9-_|Iba7yGBdzZ!q&0+0d)diUM;`CE(qhYqmpMj@6) zfL4jZ6EEX6>8WDO!sMkYWb0Hf}XbZUKdNdRk3Se>Mf| z=dp6BhxRw*NAYj?Pn!8JF8!Znz|Rj+{SWg8^S1F5S)dDG{QoP!cu|shu%C+wT>~=< zWg?_Gm`%tb>5^#nXCY4MG=(LL!&GFSqug2>7iO!jDJ+*7WUC{)jH8xa-9%(BB#k)I zr7?}uiX$;i#4cc0l>0j#)v9Zp<@6H()cN^XfH8vEF3>LgXFdGe#vj%H;9vW{{H>WG z%T(Dn-{h2oX|o(mm1WAU#+gR@7Rinr@+4n!tt6|MxlWsuQ|d`lPCXNmxJfi6<VL&Q`XA>{&RnAW0ly&KfeOGTK+!`o_?J_#k|PJGeVf_j4wyMWY(Pe?K_QtU zLxNo!W+EiC%5HdMyy=i6im9|Y(C7fUscahKzD5YBs}UZ-w8f>VC3n&kIZH8p3W;cz zJh!Q0q*ZeHagM@NkZJcYE1d=AjDMH@&obb5@SpNF{_%YP|BxS49P|QA7@Sy;G>~HJ zMzp1%mb^FK%<;Nx*O()Bj<<4InxAB;MPUR%0sxdt!T%c$DNxv&8X`JGNO@E0y!A$o z9IwB@hLLZ)@unQ+0Stzvv?ywTs`oc%5d@kyW#2?{tcX;zYFUL1+Ks&Ev&$n%7Pln& zW)9Yl&`bRm7+KFncL0U2_~*>Gz=i)ThyQX;_!s~Gk3Oo1Ern%B6ks3;P`&!vtL-~< z7%*_aph4_SG@yUqzDyV#(zox>zI_KV^LFqc0(t!g^e21JzyX8hJWvvcu=Uo!k^TA) z>(iI&0|xXT(YL?0Gk7qK4WR0v0sRN}?m4)BpTSHp9y(<35dO0cCKqt67lSwknv-c; zZZt>=N|HX-0MfXJ+{PRdH!1qRl|_nOzJI^|?9kD;=dNSiT`pM(S@UTm#PlX2t+`Vw& z#;KFu_wK~S$Hv6P#>T~k1qXZIxgF~59TgJdedkV8IW0>n8xf1Ab@xBM2|N@IqFC z!87|?@PB5I7ya+Rf32D|Yw`De3$kIzK4-(3-{chqdU+k*wHsi^gop1~yfi8_blZdp zM^`L6{M(k~*m?5TaRzwmJ}DAkceDF1>d}}f7QyE$cP~C zhliIgOH58kNl8jhNH}@u5D@e{d*18P1&?i8lM`bTlarEDIQ}&M{?tPf>?1iPIoTAk zQ~u8*w7`*+l!UMZ2M1rjex2?43?H(Tzv7?w0O0}ryd_=>w9tGG%DC{KHALp0|NJNG ze`4)-;2-@j_=h~(_(vhafcU*WSFis(d)}qPM$>NmU$-Vac^nlUmKYbkZu}1``}IDteMeGU{NwPjgqX+Y zjvV^q;>D{cfA_k5Yww1QNik6=NeL+lvDc3uKel^kVp5#v#q+n19>0I(^3Mww#DoNe z!kwNxI&q$ul|Df3f0PPeM@|q%O*6R$;0Ng6;1bc^Y2>R_@#sAf- zSAQ7ygXwEazu4|&BMS_K@rrEyk2rAY(*IdQ095}g{{i_mYSbbK{xNCFvYHamiV%Z; zzWCy8PtSz7SOQchDJdZ#F(Dx`BI$8NLUat2B{9iR3RHYlWI}8V#o{TMl$e-IPEv9r z36x8SijGW*jf?d4-MVB+L}+kg3fev?F)2Rr$s?41qOhnG$c=%$br!hVn0Ep(i3()J zv%uPM0B=Xs`rih8nzsH-NlZ)(3kw7PV@8j8{q@)F{;v=}`QbSg|JnuM&47PK#Im{k z-?D@NsQ!20U%*fQ7b~COU%S9oM>yBNUimlcvw;>tIRsqjJO2S~j^sq}uc;=}NCJtl zdf`{<&f0~2DbO+p? zBTb>S7nG+L4FA7)@gmD}z542_D)kom7XzuK|CRqJ|L6T=i9f#UM_Bwv@elbi{KwM& zhX1G)C>QaU{`u0?%U42zg2O^XLxV#?gF{1tLxY1tpfEu}p}}$)MoMUigplA6LNGzf zQkW#ICGoJJ(9l5ErV8;7V7WE9j0hwpG?et<(6ErO@Q|>uU@L@cgp`mlbJLJXlP0q@ z@bKXyOc*|bLr<)1A_vzaH4GUtlud_!`|Y=F+qP}r&WVF7xzvL=`wOpIw{FUmsTC_$ zw58s{zv2J3{)hIs@SnwGM)kk;f0h5B|1JLG(EO-GOhDOR$bRn3S)YgA0X}~I-hKhz ze*Rv*ek?S_*~^y{6C}k1Nuf-Tw{M`gA3-mJy-Y=`x?g}?`unpC8^KE=(g^MQXxu(a zb(;0@@?mwW8PjL}wN_Uhk8X$6u+%e`@{Q6Dhxu#}moJwbNf<)W|0j;0z-d)s5BV3? zXNH4q{_oQNSq%C5a}58N@h|K@N`4&tCr2v(!4jS$=kw1!f9~{IUoW3PU;jYgfIuIA z0_Y7ekwBjSA_RZ$z(8NWKw$bXB-A?~+}qdJJ19uX1aJ=W_75^8%_S+cLq+Fcnsua* zs|7?NeEfZprhuSXv*y5y!0?S5H+;N(?%#h985zl?5`E?QoB=llSfZWu*yN1kC&UAU{82Xkjq^_i z{9ksvF#12+bI+eSbq4$g_yq*`0(DC#8;vcBTJi7wASBQ$AjI#%!-t`v5B(qcc-{93 zQAyEHfEH81(X*r*cpJ5^-x1EHO`0Y623X$|AAeZWZ1A5V@ZP+6%i+U^`}OVT;c*lt zPl~e$5WmTw!~T7w$45ma28DQRTz|#m;7|Pr#YTjq`L!_PVvw+7$Bqg99WE0#|Iz-h zDu2U&%3}X_@&7C%DQWR9_8*7-ck2J<#02y<`v2_dGk`xhFeuP3K!XT^FX9j&Uj)BE z0DR|W@SQ8(;XZeLy+eY%0>gx}garBVQ3&w5|IqX5b?*mWl%$H`IYMNTl#+ef*d@o&D z^Zkgkdv~oFFeodNh>7*T`{2TvGcnOIVIkqOX3jP& zKGDzDFXB-I-Rto1aLhPpaxwSBtM`PMf|UOgiHeVj3lH`3yc!YW=Xd#1R2&Z%$4~=( zg7o}Hz462&TAf96fPawh%>U^h*)Px)$<%Kk9sW`N1k?X@#(ysG|F4(-ec}8C&}C~* zGd^Wm(?uP_$rBTA-+HoVqeOv{W(#p52wL{S^S@gBB=Sxd^ zkiu9%99Gf9#M8U?2KoA+$-_d!;r}w8keGDjh{u5g2T0_wpUP2NjH#ZUo_qH0AvYmD zCeZWx(*FJLojbi}&b+vo7;^RC7uot>IKSm(no~akd=6~@DJvlf>0JC1y)4j34f+UGawKfyK}*!alv^kn{+jeqU`s{W^cXIsK`JP2D5<6q~`or6m##ssTQK;_b4GVxJZ!q2Nb z5B#42VOmF*~gf2Tr^&*kG!v4dlViLdiP#T0_;b|&y@d2 z|M#fye<%Hq6kz|6c>${bLB0m?kABGfe|gt0kT>u&{%h5$ZQ~z2SojzH|L=2Y@h<>% zCM|~l#6%^mU2^rB=T)CGr(zRfOB698lbnL5@uEeG!$QO46F^0W_-G>*>?KjMNTd+t zDKa@e;L6n-r%p#=vWZWG?PLF;1@OOU(IV_WL=2KeBGMgrb?)A?n|wY@aS1U#M~~h* zd3?|8xsRit#EA=sv?BJO;2`Xu4*ZJ~sC)$s7s4ZmwIHQ{%10*>i;zO7x)5G0jhNvn>;Q*>z3VS-1pqCzo4)U{w+%*l;hB$LxMWP zSWIhlcA3TU^G`q1nrTq~*EsnSf&cH@ zw-1oty?W`)v4d-S_4@tS%_kNuii>${bwW~b**5&=nBhN$_BbezW&dX`yy9Q=Kgyr? zlVt$#jQ@~y`d|4!>m7i9QT|RYK(D;~ucz@3&IGf1DE{M;ep-JwA|m?u`i+dO#)(sq zMfiyvIda6tzt+|2A`7M+jaW@4r^KMz<6`zKS(+Fh8z;VTiJ_rkGiT1C5p@3c?b|P0 zxIoW$(-Vd(r*^kqY`6x)ixVTu`{x3RT?Vn=*F>xpR zr}Te~3j`h!&p2$d%+I&=zp;Oc^M9>cpP}e%{M%CS$}4H`?~Gmx|I+_WN=QuFwblFa zq`=MhjCBRZJPd|KTIRQ!f?prmjekjeLn{i^<84laro!d7az4FIqkY_>jW? zLubsGW!QbVGHHD#9^D9z77`?;8<#_x{~u$D(ixHEbWuKY8+G+0tdg{~i2CVXoj$cb2T=ZCbz{EII_u#ZoOpYN%83m@ORb70oo zh$j)uveBYQirRk!|HkJ5w+AAk|7GHj@P7rr@_)vEae>Y<0C>iKh~YnFZT!Q3Z2a5g zM+G6B{#W1wA%_Hr&IY28pljDdE}pv=9U0}ZYFTU&V@#s_IRNURgK7A`NwyoXo0Mc} zDLFYRG2!6i<%!H9#uOwLB=8UanN2ROEnT`45s;E;57Uq&!TY0BsRShkwPs;M4(IB669W5)vD`dCC2_UH3X^Jbh31T<@Q?kU0x0m_y?bxj!qodT`rpxckal(aivplL)XVG0 zvK3yJFCO2#B|bLVF)1e{b^Htazr+7WDUi|sZ#w(`fPeHqDOu#t|IGi4jPNh~-`4-& zUqt}?pFe*dw(JDhRPd`1NLF%6baK>^nZ9w!kukyH9y_-r#aV-`j~+dmKW{$97N|>_ zMw~AM{TBY2E_QtVrpT~R;X27Fk<3+05c}uM8MA;i2ix^tzI>U8HsBB+tM^Re&6_u| ze^UGExpTKKUEDfj*2DAXw=G!`6U|_PRVx+$jQ^_r2hle}05Bo+zm0#f{}|&ZjOdvM zP8N9qPWWf>A7}n!^?xn==ggHc{+*#~;;{Cl0mq25sw1@xPud3xYxs2{NGrw$oR{_fBgOZh5x*x{a?fX75_5+o9h3m_{aX^ z!haS)|8vhd;lDb@Ps9I}{}}r}p3jygBq#XC*q&bhJ0sY_e_V20{N^q90{kDxC&%AA zd&>XzP4KG+_D|8}99mc+TxMXvf&BYjz2bT16h9 zhEd-qf8849?S7K#yEb_kt|4G+R{QmIj)dR~` zgx|Zjh2eu}_`k(}tnpv`-_-u;==_QlJcWPw4==}s|12Xl2LH1D5B*=oKWF~REcl7p zM@0Z6aGCud*$*B(hyfF)8c=ub>NRZd_%mF&%-Vrhh;uN!d-V5{*Un$xcHrphC08zA zJilwluAin%K7aPi;cHi}U%9?v>8kVBuV10+l}qO@U)s3&+|Yh|rcT|nXy(z&XK(&~ z{>+{ohtFNR;K@w;GiR4io&L+JwVv0mU%kfSiPt@^dmcM>{Lbw=@E@5UkdScc(xnFv z9uRTxpVa?JM4oukJ$vwfPKb_RpT8{lci2B`gMa?qvL3RH{~X{y#|tm~^Nf7`ap#Zw z_wUb|W%+-S>fs>!|&ZcFm-0=zMy& zF(1Q!WC%d!f5G;7A*_GJi$XJC|6yx@XB;+J=I1}H|KUIUxdA-NUqwKfz)LT^%rry# zjKId`7>2VLK5tkHN?B48QX=A$HmtevI3_U~pZ%D}9vjxBB*i7ABpyEIA>+YGNfFUW zE9PJE_KuB74rVfXVq)xybvMI;W6QCSf!vBvQ&*PZ?F2+w~ zL1rO$#lNlp;Xf|?XBqsz@WKl=|4(E8G5B{D0o(p>z-UXr(~)GR$iyTh?A?CTHw1A= zj!lZaa%f+epI2f^{DEU0z&{~A@#NW{1G^tE1jPa*DakPyO|M>wIC{(nf1j9yq<{wx zuI}5zI?x~=q}qUn)qqv(|2zX2hHm-z_!2?rGCYL;>=pmF$3d)B6nJ6Jp19aZ`WTOx z_9#L?heP~-SpPx&e~hGC&d(122TT9k_~#SAz8F~s0MGajQT*%XU*I3*?>zo%^uJ90 zLJ(~KpZ|q_hv_moS~PgV^$P*#u0$j!Bu6JFJP!6hw_|%$OvL)1w?sdQ2I5O*-3*U< zl$a9E(jw)0o+NJCaxDt5#wH)%wkg8zA$@5_Clx6Z`zRoX^XT|5&}H)D?c29W zRJL!QiD(@BJs%m2Zd{~!f~r|tjtIFrM4uit{?n4}b}Kmqp?w(hu=6rU2Ak`SF7 zcVWj)|GT%>ZP*+Y9_exB!O7qK<7HV;>^gB+KojxqNl4nY?aJ-Iq{x7P0~;2_#9$H< z#ZTjAKr9XZNkv}(tWokkvoA6d8O+HqL?CppP0IN)(`(1|tcW8!0CDCs0u7XQ)t zkH+oC^8YmWhyP>$1oO`NpA7-C3;>?-A7b-=@UQlt&pxYzL}>q4kZ-Mmn;ZV`?Ef#w zG_D4s_Kk8jR{}$*Nn%Q9R7BF+#pju5jy*IcIVLK||KyJCCp}Jt2S!esaaHZ82C;%$ z@R%Hza{9XOr3;Tw?c5Ul$883UAwLRf!GEg$52OEUswDsN%P$N`NZf#5Q7?^|ikuDp zW&IOB&#OVVZy(vYi&c9~wz;V(3I183(P{k?%lT9IkNFnp{6}Z}=gph<8HY`l`S}L_ zmi<2s|9@)!%S$i4;*5V~I|lp$QV{|@Kvpumoef@+4{X016cinc^*<&BlgsJ-zn%DL z^R7KUo|nQ95k;xgl&Z{aOuiWqwPU`=$xW*x6C+umL2xaH`2v`j@*lPTKw;>Q-@0`R z0CQjj71EQ|7K)h``)6!y4EX=!;-w@OZ!u%O*!;C5XKVb|L)L#&%nS2j^v|4$6f0(} ze}V|`AwW5>IaHPbz%%|sZ2YI=KkENu_`fv^4E_(^0E|JRbyCnPf>T8xC5}!m7<>4~ z<5P#dVj23POPn10$Ukt-uth6YoQ#c>(JKr8R!h(yb`?mN@y(o&d-tPKV&amaMrx%I z{F}xZ|CRY)w*FtaawP~)+m1A6QaB~E{u=|tI7OV>zvtqSBa8w|swraKmidpVId#wEo)ID2W{fE9ru_zPj6 zPoQJ0O`BT@1;Vy!-ZbIi?GkJ@{A|G|KXSbND}id;vc~AohRse;WRS{okekvy9xR{EFTX@QdIW|=O3dNy z<#lxB+9#p@XKsWZKjqD$59ojPg)yy(=GTL-2KGG)qRt-h-AB0*w&V(gPgvA3^#2l_pUiAmhQ?;u^( zxacRpuV44z-07&WzzBREwr}0PdPVr7M{!B<0ijX5x7~`2#UL6BN~KAs_Q5>khA&vKC@?69@u!HmC%$)Y-#B>4^S}ZB`?o@4!=sq)m7EkAo3wfLA7QeeSiH1s z?dxRiU=YN6!jT<(e zIdcXcMa!uNwkHnrLE!7a_%9Oi`^HVDwr*#WO3G52llfmNS>wOP{)wBn@&32$pAaDu zl>g}dk4k}95G;%Q`JefpVdLLv{;$*eCuZea(f?-t*ToALQL2jS|8)ka8D$Cl!TnJW zq3a?70#F8iQ-dKd3{RzO-~1pj4EG!z)H0GKUjaFE{v-a+g7Dm;BG!`CxhibHqqL zy#2Ss`}X*FdHHyITY>+)N$`5`-~pcr)=|lm$4%A0^^?v1*LMHcwtpJ@=gKkwc*cK- zjemRoi*5fw?SllBg17O1d-0WXXU{&4c+3_U1h%5ELo`?NPg00T0dtOtGAX8f)RQQG z-+&G4Hh6paP#{V|OjKk{WMp&{!BmNfee^go{KE0@>$e|5%S}6`LDL?W5fRK{4Enm= z*VCp>`%#YZj#PXT*U;p}-nffdJU-{wY=iB(#!C&P+WIf}s$ud75 z{PUM}=zrP#!sh=900jfA;GfxFJazJvuMZm+1^D~<`}_K{{feKDA3NQd;Hzg+G+iQ& z;LA3V-hLq8>mi#sS_LTYV*(LB_W$zr_eZV!`airI?B(U>@5fyNxHLi13EVv}FbMyD z{if(=g^$9fO`FeOIDg{z--$bao~~WL_V54x_c`{ec7#%;N`3$R_x$e0{%g&DtYy|eOx^#&Sb?|% z|EEu#_VEJBe*Pd|gN=Xod32y%VJ`w=r5Ish_eKh9F-5hNBH{!7jR*vA=F-Q=i?4|* z@>Lw9q@TaqKaFX~$U$eoe z4@WXtw&qv;&!-{4pPli1)5BnxEjfA3+O^j`J&zqfCY@fs3W9$TjVsr# z{P(rjZ2a@ro;Z0@*KXauYS*^LXVpLcq|yt|Kd-qjWXty7S6+ebE&CqHv7SH-&cAZis>xHQtXsc+%{r5}em(Ii)23GX{iH)rTUuN3C)_h6B;*Z*050%&P|&& zCp2l+tWlGu4I4LU*tl_{rcE0*Y0|h^vnI`(b0#!u)|A91?#-LJyEks$jL^j0U2_{z zpz-J5bnn?~RG;<(+qZ4sv1HNmM*nAwe|!Er{D)%B@6Z*`yl=q9zuJFN@&AV6-{QmU z|DHS7I};~NT(@Q&kY2rV_2x}mzUk6!_UySMM~+5&_v<&HZ{Pk~w){M4(&SSoPmdWr zcK!Md)2GdtHf_d=6)Oo%o4Jn}J8s+$KQ3Fge96+K-MaMv^B8cJE?G8Uz(5kgKcdvU z`RA0hU{3^uHx--<)SFtEZ`zy!Cf;1|uR#GXXFyImA|PmQ-n50g1a}Dnehtkfy?Ki- z7Ok1P>G;x7tNYJiJ-b|)4+Q^4-t`k;^uM+Kp^bl(gA4ze7x3wx9Q^YKb+-T1GW%b= z3I2@_utWdn%$+-T-#-0jOrJ6S$MNHToB$8O#5ii?Xz)K_!lXfihIH=I6_q}2+>c|& z{V;Us_bB$UV}AhH6DCfYGGz)#o<3v7i~iU@0%4;nmpjfW}n{MDwd$xHm^4Od=IqHUFZ?%8e^lpIrFuiVlm`FNfg>*OLx_jQ7c|PdRg? z<3GGBqyOJZ_ZnT7ne+`f>;D>#^*_;d2LHl;ze1udA%lm)ZD81g1`S4g zgYym@IDzDA=+VFx z(2g863erAl^5i8;mUQUYY3Q);XU>{6anhvv4I8&;*@{{tMvmIJdGqiQBZ*UN+4AM+ ze2`B?O#K{0@P8XPXwWae{)(+%OZFQupzYUR!+C}cAKt!Gr%6*Lf7iR0N(4edx(4D6 z8-Cg1t9r{;tXcW{@~%reFIcsvY}qml7O1@QlhyGF{1-27t$&DsfPVssne@-?dhB#> z;Q8mDck2I&{hv_2dNl!WxBj;6+dFpbymIBLR$sIRrI;L#9yQ)UWzpir^&2#5)3zN;^#J>ye*PI5IqY$SjxeQ=WyB?BOYu1b<>kh3Rvu?z++4IYkDJ}XRk=KDgbH*bG{|6L;Gyien zKOKrP@1@cIV*hmR|GxL$`wD(hhGsm7OZWi8tdl2C89jQ;@@30W!gFTNfxrwKHhlbq ziHu3jm^q7XY4sYlSV?j2+rogM*(020j5-?T6L(-@)auv4jR02)#{$Tde2|509Eha;`5rH)&8t@ojG&njuRYl%kX)tR{WR|BS#XDj#+c&H2<8spH;6_i~H7) zNX=?BYF4XRwPxMQt=v0~oicp%v>`29wk}b;1fMxu{}U0zufe|f?s z_QlUb1bATX$sI8cKm8_MDVgyNDE@WxN06`h|Mb(!eDn?G%``v*evtz84%WGWW_j2* z(T^mGaJ-G}{LLJ1y+M-6(iAe&1a{P7Qy~+iF_A2-E)m*#1L9?xq&m$?Q>Izi*z0dd z+qCYeXbGk~fJ&&Dw<04Il#=0rJsz*cx0tWjMXF|uaLI|@i$ElCRXtxLI(Mg-qP%q0;= zJ8}z0$OUgR`ESGPH6kgd0Gv)zsA-nlLz3H{PW?H&rPY)ufP7r({Iw1 zk{RCseqVgk0X*Gal)vhK`T~ra(hEiefPv)|uTVEih9oLn75tn9 zs22D|@uuR|V30ggs3H*qZ>?^nJ2X6()=jkqMX;QaE)lR)Fk2v(EYq^NsmPj2pGhN^^K^}nz3qhL?0@W8Uq3jQ*{-*h@a zzT%%UfAKzDS()n%K=twetWl#D%3t{p_~(njC*b|}KS29|1Xg?n5`P`?xN%rzh|`_4 z&O|i0<;_EZye2pmCWQia-82#L&(G&ZaI{RsIPIsV*mX5s%9}EBBfXtD>*ML!xix)A zc~)}^suwI+$betE;DBEPF&qCcz4TJ%`V+gJ_AlN*zP$P9@Y?uC3W(zlK_XK{U_mIo zB1MXU3Zx)ifFO}#ogKMc+UXkCORbyF6yvi(NY|P)MXn>=wCyP4NYsklZkXhv~@A@6` z2LADn?C>0PzS=+SE-?BZD-inM#($wgg>48q!$uRGvlLojPvNJR;F&U@i=Z$g7dUYV z*nk|x6oHyfc{evEFXrdIOhO@0k^)?ksEre+Db5=7MtV;7g!ZL#89PpdKqK;a+$k0R z3VzxA2oc~p>GQa7lf~WuANm>&{38Xn{)Epx z5{FYC~yyvSrH{2qw-VjDrRZ0^TUwmMvS6!l$QA>o(tg`(2OjJ(@RjXV1qL zEj}l`Ql*c-_@Z^2Hed0nYS-@Th7B75P5?}n^Yi?5oWgc_B2-tw`RKUNk|o~&JOoVEHsfFP1=Rin|L5UbIT>)UVG(C_i~>DZwYA~2x; zfUaG;b^WF*a#X*5LlrA`_ZHuM*Rx^6#=w%V`ik=1@prQrjX!PjOY~XwM?p-EB zvUL|;H}t+&tz5Nt&t8_sLPqec-nDBNYPL$1D$F(L(7pqHZg@NMnW#{{!Uykv02g}q z-S;S2r%t^(b?P>2*1T=ob{#u*s#>+W@}G2f=Te_aAJypzQ<;wxamc9%t6@Pb`|NE0 zryJ}V_RZR2l0AENpjEpz_D`|@r^7#}AlUd(IN4y+%XEq4f@BgEQGgagh32nTtp@y` zAvSWcx|7a_hED^uA2Gq3PH$AXa#aG}a&%89$rp;VeMd^d**^aG6Hv;dA|SNGy`0M^ z`1MSdKAzLr^c28;0oDg1*Xl&;)6%}+pDzG?fO6&OhiC1-zU$ZV1{m3a<$}yARjUCl zP-^oZP@%9?{Mb0OFYSn(r4c8*3Df4%Zil$$0$MvbSJzxku?yG{yEXgSG|O(muC5XL zY()g~!vDD>6cYT)vk~A?ihn#!%atw9Wj2@1|JjfbL;$*r@n1WqV)QOilJPGvKv1Zd zvjt`+unCatOQ1;H2BaOaTd+$y*Rm7yn-KxKmPXQ@DQve!#4hZ7U%Nq#Jaw-^hWtxA zj-zm4!M_oJ;w3Qyx#e-~cJypO-|;K6Wy_X3_dD1-(EoV#Lq8xVunP^gvQ_M*0~nXi zC{;r}XN{0+ke23C^1s?i*A&g#t=Ul5x*4`W8Rr&=+d;F)wo~kO_;n0|$=9GzAs83C zzB=BD>;Gr#4P?)r9oHHm1cH0OFZ!P=8#8vq0jD&`CsE<*9I;D+H@muXgaURMO;_3Z zUuV0pbA)(?w1=a5YZxEgPgC||KY}uZzKe_AIX7mP_Bk;;Aue|o! z>o|g{ld<^m%aI$XSiWs}@(|ZRiXGPoUlTnj?I8W=taR?2C?)wV_&+nT<>i-Ob{RP{LV+vI^#)vT!1V@PZ@~2iTyMbj z23&8z^#)vT!1V@PZ@~2iTyMbj23&8z^#)vT!1V@PZ@~2iTyMbj23&8z^#(Hi8*uDC z?)v}FF^)gxiy6L*BuDmh&yCKgKtyW(s~P2cq~>RMgE6W3FJx3dHT$`28RVxp^&=gXk|H2E3)fn51cFVOXVo&u-~ zA1-{@Z@?uVF8N6J23-2VmX7D1bIC_Kbo}|J3m-0g*l)lkA1?Vw_Xb@0!Ilo!_rs+h z(n*Kw`{~jTF8yG?0hfMo>4$W0z@;B->2UD}mwrem9WMUh(hvU+^+W!r;FZ?ClR^If z?f6!j`qiGk|KE+jrO6-tbp5{@|NFb~#Xp^1Z${&jsl%(!J(uD5rblW68IF%WOwG^# c^yB~er_&G2;O9|ejH7`JZ=X?<&p_J$2X6hJ!~g&Q literal 0 HcmV?d00001 diff --git a/icon/ti84pce-32.ico b/icon/ti84pce-32.ico new file mode 100644 index 0000000000000000000000000000000000000000..ed894b734bad4e1bd8650a1066df0568b7552211 GIT binary patch literal 3262 zcmd6oTTl~c6vxx)Ltpx0r%;e&6LKS$O%y^PmkqZfWRhS6!^MPzKrWCNN(>Nsn@S5< zJFT%)5U|*y1S!K*0?|^G&S(|E$4&*QIJK3*SfmjI(&7brVqf~4?R5I>eBbPzOn&F= zf4}qp2!t2lqEHC1#t^=GnLvmp5C|-o5F%v249EY6V|!d2g%TedyB+1CN~JPCzd)f- zYW8Z1i%U2hF2v*Fh}*Wk5^?2x{tgC%NhFe#3T1m+n><&3^D2@0TZQ+_g|Z#QdZrfk-6E&CNaFbdLCZ7K>%XH)JxK z{KLcbb#5Ugvn*^%1URToD59Fh55~nx0td|EcnJhay8w^b@mxD5<3e)(-i{N-*4oqf3#QFeVUzXq0QjH+w z*VDydbZHXUOQi3{$9X94+QbBh&B4VNi#=~w{NVS12|(LIZ28$N4x*hbC{+8p)^qkdaWH6Ff1BIR;XkcEUG&sQ=LL5T23LdXz8$Y5?b z`D&Hw@VoEybal0UbhzDfWZ)me>-9nkXuyc|0sS3z`(ogJV18lgw+9Qq&Mya-@BDmc zX=y2NZ(-%(L+~Ov;PCLPDyud(Hy7{y9twrFHn;u=g?_v-y|J+|H+>_xxES?nG`{+! zRaIeraA{>_c^Pg(tE4 z)mdb+Z7%C8lL*4QW=d(w^}Q;T3tcG-jb4ihO#oS zO|4ERS13x%x|o<)JbVn3@p$}jXOR#T<$*0|G=<>FuxG&KAP9#Sp8f*+1r#(9py2#c pC=}ptaQK4fhm*n&WD2}O#QXnW`Qui2TzYA1tMSGEc7}7p_zUA66siCK literal 0 HcmV?d00001 diff --git a/icon/ti84pce-64.ico b/icon/ti84pce-64.ico new file mode 100644 index 0000000000000000000000000000000000000000..edbf9f536ee6e7159f81b12de49fc837fe2cf285 GIT binary patch literal 12862 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 $@ + +src/%_icon.c: icon/%.ico + @$(CONVBIN) --iformat bin --input $< --compress zx7 --name $*_icon --oformat c --output $@ + src/font.h src/font.c: font/genfont @$< font/genfont: font/genfont.c @$(CC) -O3 -flto $< `pkg-config --cflags --libs freetype2` -o $@ + +.SECONDARY: $(EXTRA_CLEAN) diff --git a/src/main.c b/src/main.c index f9d1200..7c63060 100644 --- a/src/main.c +++ b/src/main.c @@ -14,6 +14,8 @@ typedef struct mtp_global mtp_global_t; #define usb_transfer_data_t mtp_global_t /* Includes */ +#include "ti83pce_icon.h" +#include "ti84pce_icon.h" #include "ui.h" #include "var.h" @@ -21,7 +23,7 @@ typedef struct mtp_global mtp_global_t; #include #include -#include +#include #include #include @@ -38,7 +40,7 @@ typedef struct mtp_global mtp_global_t; #define COUNT_EACH(...) +1 -#define OBJECT_BUFFER \ +#define LARGE_BUFFER \ ((void *)((mtp_byte_t *)lcd_Ram + LCD_WIDTH * LCD_HEIGHT)) #define FOR_EACH_SUPP_OPR(X) \ @@ -63,10 +65,11 @@ typedef struct mtp_global mtp_global_t; X(OBJECT_ADDED) \ X(OBJECT_REMOVED) -#define FOR_EACH_SUPP_DP(X) \ - X(uint8, BATTERY_LEVEL, RANGE) \ - X(datetime, DATE_TIME, NONE) \ - X(uint32, PERCEIVED_DEVICE_TYPE, NONE) +#define FOR_EACH_SUPP_DP(X) \ + X(uint8, BATTERY_LEVEL, RANGE) \ + X(datetime, DATE_TIME, NONE) \ + X(uint32, PERCEIVED_DEVICE_TYPE, NONE) \ + X(auint8, DEVICE_ICON, NONE) #define FOR_EACH_SUPP_CF(X) \ X(UNDEFINED) @@ -110,32 +113,60 @@ typedef struct mtp_global mtp_global_t; #define get_arc_free_space_in_bytes \ (os_ArcChk(), os_TempFreeArc) -#define BATTERY_LEVEL_MIN 0 -#define BATTERY_LEVEL_MAX 4 -#define BATTERY_LEVEL_STEP 1 -#define BATTERY_LEVEL_DEF 0 -#define BATTERY_LEVEL_GET_SET 0 -#define BATTERY_LEVEL_GET(current) \ - current = boot_GetBatteryStatus() -#define BATTERY_LEVEL_SET(new) +#define BATTERY_LEVEL_MIN(value) value = 0 +#define BATTERY_LEVEL_MAX(value) value = 4 +#define BATTERY_LEVEL_STEP(value) value = 1 +#define BATTERY_LEVEL_SIZE sizeof +#define BATTERY_LEVEL_DEF(value) value = 0 +#define BATTERY_LEVEL_GET_SET 0 +#define BATTERY_LEVEL_GET(value) \ + value = boot_GetBatteryStatus() +#define BATTERY_LEVEL_SET(value) (void)0 -#define DATE_TIME_DEF { \ - .length = lengthof(Lfactory_datetime), \ - .string = Lfactory_datetime, \ - } -#define DATE_TIME_GET_SET 1 -#define DATE_TIME_GET(current) \ - get_datetime(current.string) -#define DATE_TIME_SET(new) +#define DATE_TIME_SIZE sizeof +#define DATE_TIME_DEF(value) do { \ + value.length = \ + lengthof(Lfactory_datetime); \ + memcpy(value.string, \ + Lfactory_datetime, \ + sizeof(value.string)); \ + } while (0) +#define DATE_TIME_GET_SET 1 +#define DATE_TIME_GET(value) \ + get_datetime(value.string) +#define DATE_TIME_SET(value) (void)0 -#define PERCEIVED_DEVICE_TYPE_DEF 0 -#define PERCEIVED_DEVICE_TYPE_GET_SET 0 -#define PERCEIVED_DEVICE_TYPE_GET(current) \ - current = 3 -#define PERCEIVED_DEVICE_TYPE_SET(new) +#define PERCEIVED_DEVICE_TYPE_SIZE sizeof +#define PERCEIVED_DEVICE_TYPE_DEF(value) value = 0 +#define PERCEIVED_DEVICE_TYPE_GET_SET 0 +#define PERCEIVED_DEVICE_TYPE_GET(value) value = 3 +#define PERCEIVED_DEVICE_TYPE_SET(value) (void)0 + +#define DEVICE_ICON_SIZE(type) \ + (sizeof(mtp_size_t) + global->device_icon_size) +#define DEVICE_ICON_DEF DEVICE_ICON_GET +#define DEVICE_ICON_GET_SET 0 +#define DEVICE_ICON_GET(value) do { \ + value.num_elements = \ + global->device_icon_size; \ + zx7_Decompress( \ + value.elements, \ + global->device_icon); \ + } while (0) +#define DEVICE_ICON_SET(value) /* MTP Types */ +typedef struct int128 { + int64_t high; + uint64_t low; +} int128_t; + +typedef struct uint128 { + uint64_t high; + uint64_t low; +} uint128_t; + typedef uint8_t mtp_byte_t; typedef uint16_t mtp_version_t; typedef uint16_t mtp_enum_t; @@ -143,6 +174,23 @@ typedef uint32_t mtp_size_t; typedef uint32_t mtp_id_t; typedef uint32_t mtp_param_t; typedef uint64_t mtp_uint64_t; + +#define DECLARE_ARRAY_TYPE(name) \ + typedef struct a##name { \ + mtp_size_t num_elements; \ + name##_t elements[]; \ + } a##name##_t; +DECLARE_ARRAY_TYPE(uint8) +DECLARE_ARRAY_TYPE(int8) +DECLARE_ARRAY_TYPE(uint16) +DECLARE_ARRAY_TYPE(int16) +DECLARE_ARRAY_TYPE(uint32) +DECLARE_ARRAY_TYPE(int32) +DECLARE_ARRAY_TYPE(uint64) +DECLARE_ARRAY_TYPE(int64) +DECLARE_ARRAY_TYPE(uint128) +DECLARE_ARRAY_TYPE(int128) + #define DECLARE_TRUNC_TYPE(name) \ typedef union mtp_trunc_##name { \ mtp_##name##_t name; \ @@ -644,6 +692,13 @@ typedef enum mtp_object_property_code { /* MTP Structures */ +typedef struct mtp_device_property_description { + mtp_enum_t device_property_code; + mtp_enum_t datatype; + mtp_byte_t get_set; + mtp_byte_t values[]; +} mtp_device_property_description_t; + typedef struct mtp_object_info_header { mtp_trunc_id_t storage_id; mtp_enum_t object_format; @@ -793,6 +848,8 @@ struct mtp_global { mtp_transaction_t transaction; mtp_event_t events[MTP_MAX_PENDING_EVENTS]; /* MTP Info */ + size_t device_icon_size; + const void *device_icon; size_t device_info_size; const mtp_device_info_t *device_info; #define DECLARE_STORAGE_INFO(name) \ @@ -827,6 +884,7 @@ DECLARE_CALLBACK(response); DECLARE_CALLBACK(event); /* Other Forward Function Declarations */ + usb_error_t wait_for_usb(mtp_global_t *global); /* MTP Function Definitions */ @@ -1108,7 +1166,7 @@ static int send_object( mtp_global_t *global) { size += global->transaction.state .send_object.extra; - const var_file_header_t *header = OBJECT_BUFFER; + const var_file_header_t *header = LARGE_BUFFER; if (size <= offsetof(var_file_header_t, entry.data) + sizeof(uint16_t) || @@ -1708,40 +1766,35 @@ DEFINE_CALLBACK(command) { break; case MTP_OPR_GET_DEVICE_PROP_DESC: MAX_PARAMS(1); -#define DECLARE_FORM_NONE(type) -#define DECLARE_FORM_RANGE(type) \ - type##_t minimum_value; \ - type##_t maximum_value; \ - type##_t step_size; -#define DEFINE_FORM_NONE(name) -#define DEFINE_FORM_RANGE(name) \ - .minimum_value = name##_MIN, \ - .maximum_value = name##_MAX, \ - .step_size = name##_STEP, +#define INIT_FORM_NONE(type, name, value) (void)0 +#define INIT_FORM_RANGE(type, name, value) do { \ + name##_MIN((*(type##_t *)value)); \ + value += name##_SIZE(type##_t); \ + name##_MAX((*(type##_t *)value)); \ + value += name##_SIZE(type##_t); \ + name##_STEP((*(type##_t *)value)); \ + value += name##_SIZE(type##_t); \ + } while (0) #define GET_DEVICE_PROP_DESC_RESPONSE(type, name, form) \ if (global->transaction.payload.params[0] == \ MTP_DP_##name) { \ - static struct name##_DESC { \ - mtp_enum_t device_property_code; \ - mtp_enum_t datatype; \ - mtp_byte_t get_set; \ - type##_t factory_default_value; \ - type##_t current_value; \ - mtp_byte_t form_flag; \ - DECLARE_FORM_##form(type) \ - } name = { \ - .device_property_code = MTP_DP_##name, \ - .datatype = MTP_TC_##type, \ - .get_set = name##_GET_SET, \ - .factory_default_value = name##_DEF, \ - .current_value = name##_DEF, \ - .form_flag = MTP_FORM_##form, \ - DEFINE_FORM_##form(name) \ - }; \ - name##_GET(name.current_value); \ + mtp_device_property_description_t *desc = \ + LARGE_BUFFER; \ + desc->device_property_code = MTP_DP_##name; \ + desc->datatype = MTP_TC_##type; \ + desc->get_set = name##_GET_SET; \ + mtp_byte_t *value = desc->values; \ + name##_DEF((*(type##_t *)value)); \ + value += name##_SIZE(type##_t); \ + name##_GET((*(type##_t *)value)); \ + value += name##_SIZE(type##_t); \ + *value++ = MTP_FORM_##form; \ + INIT_FORM_##form(type, name, value); \ return schedule_data_in_response( \ - endpoint, &name, \ - sizeof(name), global); \ + endpoint, \ + LARGE_BUFFER, \ + value - (mtp_byte_t *)LARGE_BUFFER, \ + global); \ } FOR_EACH_SUPP_DP(GET_DEVICE_PROP_DESC_RESPONSE) return schedule_error_response( @@ -1753,11 +1806,12 @@ DEFINE_CALLBACK(command) { #define GET_DEVICE_PROP_VALUE_RESPONSE(type, name, form) \ if (global->transaction.payload.params[0] == \ MTP_DP_##name) { \ - type##_t current; \ - name##_GET(current); \ + name##_GET((*(type##_t *)LARGE_BUFFER)); \ return schedule_data_in_response( \ - endpoint, ¤t, \ - sizeof(current), global); \ + endpoint, \ + LARGE_BUFFER, \ + name##_SIZE(type##_t), \ + global); \ } FOR_EACH_SUPP_DP(GET_DEVICE_PROP_VALUE_RESPONSE) return schedule_error_response( @@ -2103,7 +2157,7 @@ DEFINE_CALLBACK(send_object_container) { .send_object.extra = transferred - sizeof(mtp_container_t); - memcpy(OBJECT_BUFFER, + memcpy(LARGE_BUFFER, global->transaction.payload.buffer, extra); if (extra && transferred != MTP_MAX_BULK_PKT_SZ) @@ -2111,7 +2165,7 @@ DEFINE_CALLBACK(send_object_container) { endpoint, status, extra, global); return usb_ScheduleBulkTransfer( endpoint, - OBJECT_BUFFER + extra, + LARGE_BUFFER + extra, global->transaction.container.length.word - sizeof(mtp_container_t) - extra, send_object_complete, @@ -2443,9 +2497,13 @@ int main(void) { }; for (mtp_byte_t i = 0; i != MTP_MAX_PENDING_EVENTS; ++i) global.events[i].container.type = MTP_BT_EVENT; - if (info->hardwareType & 1) + if (info->hardwareType & 1) { + global.device_icon_size = ti83pce_icon_uncompressed_size; + global.device_icon = ti83pce_icon; global.device_info_size = sizeof(mtp_device_info_t); - else { + } else { + global.device_icon_size = ti84pce_icon_uncompressed_size; + global.device_icon = ti84pce_icon; *(mtp_byte_t *)&device.bcdDevice = 0x40; /* 2.40 */ device_info.model_length = lengthof(Lproduct84); memcpy(device_info.model, Lproduct84, sizeof(Lproduct84));