From a476e5b6d8472a539022f3a8afd059636c1d6d99 Mon Sep 17 00:00:00 2001 From: Michael Mikovsky <77305074+Astatin3@users.noreply.github.com> Date: Sun, 3 May 2026 10:09:46 -0600 Subject: [PATCH] Add framebuffer control --- fb/Cargo.toml | 8 + fb/README.md | 6 + fb/disp.ko | Bin 0 -> 384676 bytes fb/src/framebuffer.rs | 388 ++++++++++++++++++++++++++++++++++++++++++ fb/src/main.rs | 41 +++++ 5 files changed, 443 insertions(+) create mode 100644 fb/Cargo.toml create mode 100644 fb/README.md create mode 100644 fb/disp.ko create mode 100644 fb/src/framebuffer.rs create mode 100644 fb/src/main.rs diff --git a/fb/Cargo.toml b/fb/Cargo.toml new file mode 100644 index 0000000..697c5ed --- /dev/null +++ b/fb/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "fb" +version = "0.1.0" +edition = "2024" + +[dependencies] +libc = "0.2.177" +memmap2 = "0.9.10" diff --git a/fb/README.md b/fb/README.md new file mode 100644 index 0000000..2462255 --- /dev/null +++ b/fb/README.md @@ -0,0 +1,6 @@ +This is a simple test outputting to /dev/fb0 on the CC2 + +``` +cross build --release --target armv7-unknown-linux-musleabihf +sshpass -p MTY4ODE2 scp ./target/armv7-unknown-linux-musleabihf/release/fb root@:/root/ +``` diff --git a/fb/disp.ko b/fb/disp.ko new file mode 100644 index 0000000000000000000000000000000000000000..167f4a9f4527f700081b01e4fc21c6162abf9884 GIT binary patch literal 384676 zcmdSC4}4Ttng4$$GXujkEdvP}Bimjet+7%&p=rx%v_pw4t5K(rw$!q_Q$@v}T}_pB z`6}u_5}=f53V|Y0GgZ3Q+TBI1%2ujri;7C!xT2y<-8(Z}iz(Wu=&~-#_x(Bd-1HJd zZC!W${=(~U?!D*VbDr~@=RD_mo^$5?ujsfc7K=IIU(9KCo_cef`wu0Rlx#H_nw<-r zIYHLZ{$HMZ>f&-XchQfXe5oAEmCD1;Q2Do~PCYT|ez_cTO66?v!K0%KFZywe^qHB* zd}pXsb;wt9lT)d6t|`~tlB}d0r*WWWjpsO}>SS+Qc^dCqrSPCe$5~PZXX(k5zl1syxdH!4+83g-?x4SN-lzRkc3~xz>8{k!Z}K)ej#pLt zPG$?`uc?wXJ&pHNc8mXuXIM7zG-U-}*gperu2fxG81xf)@JD|qJDmm&^;!K$WIt#6 zaTajQbp%ts%GjijWc$tcB+s6!=f%|;p4Cs~VQlMSxt_`hFgKA9;!|z5fm6o2DqK#o z?S*(tIN+G_;5FT8+b}o;$EsU({wz|b=|jF$y_r4)@Lx;&PNRW6C)hiy)2VB&qw&aB zr}7-aUdwX``xKr-*wqi^_h?_=hBcPZT*8iHEZVqvHgoda7gH|U@3fi5s~m_PYVl~&rQ&C(uYlFD{h5}7*abV>OfV2C>(Jz7J)|2TE3vDOJ_SNKik z@ANw|TMay|7M3Us9nMz24LGv72af`ip;N_S7`^(UAJ6#Vt1IpraGhuFE+Ecs_d8np ze5a+yYn~_iSW>-2_$%o7x@wl^*6cPv#`g;umxC?aOdg)oXM?v%z$YBfb+-9>7cQLs zAbx47x3U*Jrtj+ZL@R0X#=3&Er9-`yByH9{)T4P^E`aA$cBdb6!3DJFxFs0U;xc33 z7%P;j$pt;0%B%jPmKH#?!F|Up#>IIPc;4;{ALrQbf=T&*AYAl&)$bE0Te`iJyUCy9 zbywoF|ABIkce20RKT-H*85pagiy1%ctBkIHYAl&A&Sb`Nid(A2oxY>%pru;+RqF&i zqZXVeM(;eLfxm!|A@AAQQu+Nqd8B%U_swc5`w_n;*YCx12eVGL1bUZLYlceG#3M7W zt@~+hc3(A-?XG67i2wBMqwoKv!QoJ;oOx~VE*cPRX%3otAAO{%xpKwOfvTY^@K)p9 z?!~Ok8kvT71JlnQfou}H`Ft#52&$rd{zt~ps zS+>=s@hX(cH$zVyodfWeYqc)MHGYd)jeG$A4#qAHe`>A?)+mi#6rZamXm=*#ukmYO z{KP|(i@Uu-$h)ydpxH3%t`q&leqj+H0$2!|b!5igm6T#bR{-J43uKFUSE+o+(!jw&AP0*?1-2`mp~?XiWQn zP$pex>FYn#CU6}qj9)*tnSG|}adH7(4@BBCbZ_R|;{yeOGk)C@I0p#f-0vxz4$mrZY4jW5U;Hj? ztJC7wVcw+Bd%&X_wbn=HfOHbdUjyIN7zSnY>}j2JSBv;uur_ysZ{bb)5b3l8W0Yo3 zUNY#9zV@OYfAZg@KiCrNx!9jhV!U_F3t-APeSXH!#C7b$od@<)Ms4nzEj`5+!-Jo& z@C5QmsoFq)W`=!YKK~`@bBlKX*V5|icphaBJ(ImyL#7WMUcf_DR{a>|oA&nM`w{Yn zd9+V?CFLi%rE+_n;OI5`$5mPC&h>bq4z0dryPqiadd_a)FsT15%G6Uv@?W^e-xn#D z$n<)`RV(djZmPZ(aKDPW!a6jU!+NJ!c=fFw9EI;{$I0~h_2BHD>F6bFKGmnXH8$c& zGf5Zx4UBCM`PBC!@y>bRmAp#R-uK=s(D}HR`0QQ%L+--zsQYNShdi6WzZrM(8oU=v zRlN%qwHe`HMEJ}aJUB;8~9^DP?L0>WGQR7~-yEIL>e>z$i$_)DN5$-Zi z(Kd8m6^)+d+)$1cH+;1J)Tw)?KtItuG4w%BsZ>5v?DLQI_xUdKqX)VTY29&N2Mp*a zvyU0tVveR)XLp!qcz9ZLEgBSUi>_k*w^rbzGjOkJTaY&G?FxVO{SEzCco!`LX@i-R1u zG!g7q*aJ06PjSwLPPH>L=yzJa9rFGe=+ZN+BL(u;TtGjNDUtauT;3Y+QSnsiXj8P2 zLEdfVxei>aoYBDtpql^BMagstK{BP}0O>zf4xYo_tIw~=qMLNthi6LVld*o&m!a1> zp5#)En{-h-nw+X@VN|{b`z)RtUHj9tsP@_k;^D36%~szs=&!zp01Z3P$g0?&KbLle z-+b$L3{5pB1W!qU-bDQ_VbBYzy2Krg)=uI7ry~I2ji1u9RAFV!+^huI{T?JhJH77X^$BL;a~dYME3Kh4S4^UzWr>TlPw=I zcm=e^-kObLcs+tVqV*)iE9vl-r@qOqA^EGd#mIk}ziG)%CVzgbuYHjE|L3;Wo{3Fj5%DbQ>Re5usB|2?@5>SlCW5x!*?zg{xpL=M~51I)R>2&#lmt=#S@V zhj^}orV?4^6?{!Hu}bT`nRm&7dXIw-)hE7lBf9pvE_;o(wUt_IFiQL4iBnGup0}kO z%PgqeKDE1yR=N6XXi0emi};c1sdf4pzqRnaZa+4+RGr=8RBN5$QPnNp81fbINa18? zs^f*caRo3L9^@jU<(bche?n8ldEiO8oBfjuHbWbo+T%9nERHlU0~^#wm3b1GvArZjVJ$%{=kDz5Z5|^oSI?Y3J$&- zda57yKBM4OzohvCPWMI1$vz)*ODr*`M#4UZa6|v)rL+mZZ&bN{%4M8hgO~ArTt+^o zd!y#c3i8FtALbq3Z`HMe{0w7bE>dTzKp(nF)$D`VUGF6P!=OKzyzr&+OsCJZtFfDj zj3yW*-z1z*f&*vA?5_2d$+z@)z>KYKy?k@EZ`FbX#9%N*cS zyCG~Uf7a8&ae8_6Z+!WNr)fVkuKmoo@{(B-rhhk7zd`>PpX!0h)x9yNarqa5Ia>JepkMeT_7rdu9e2s& z8ux2{^VGOQZ#%NoG3lmo+}HV^k2xbM8y(lM?3K2x#&up{-CAgWV+aE>yXp7Q#-QIC zUqfTStMO4C(jy24rystO4d_aJJVGDQX>3%!`)qlY4cl$9?H(fE7I1N>zsK(b&LhOP z5jVh-8la1nlod_Dmnw;OOWr8eb+zpCZ~X14Czg>mIY%0EyrIAEvtb$KZ<@E>UrZjQ zL1*_qgp8Xde>QF9MdAk{?YOp`l`ZT2_DH$?lsoY}_7qcsawm!Jv*jd5Nk&@L(qmvf zLO!+KYRjKTyJgDn;rkw2ejo8p%4>a>u1b4k*6_6SU+hDWQL&+9OYtA`jNb%2yA;P} zke`u0JnjT}h9Y@RFqX~)dG<&0JV_p};dk2_j^z0f zd4?v)<3;j3MxN3Hd5%W%93)S1f;^*kuhGz7_YWt zoF$*|^aaYV2DeT2J;bYUy%XGihV^dXYoTz6#0Isk8=G4f7 zw{55#YeE(z-%-9V{J@6Fk(I$1CyE=!=8D#4*L5@8@zaZrH6Kp@NIea>PqPyJ^p;2 z+Xzc}Zzo=)z;ma*5$5x}oOlJHndgPqeF*$1;u>U$Gy2!8RM zZ6|{{b@6Xc-TQgggdDo(Ts#;D$BxJJ7i;fOsvfuBN71e4@Bi& z-9GYfWB-+d{xEs_**6!V6WLBS5bq_vpLl?{hj=IPCgLIDJ;WvAe&T(^dx>`u4-nr+ zyp#BT;$6i1iHC^g%XonJ9^&o9yNOH0dx-BLK0v&W_#p8x@nPcoh&|%n#7Btt6CWZz zNbJ(DL&P(Q4-+>Kd&I(-^wqT?UJA%C_W51ApZw8vyB>f1f)(iPkw3cnpZw91m5)E} zAmg^cN8VX{@<-u(5$%mq-|=_$_$Ru1{F9&Q@ts{gerh=~|3HsFdI@wrtH<+ZZT2%w z>=$^JU*1vPN3oaG^R1z^$3I3s@j2FTM> zq&?N6fGmfsjSl$Ksjr9MlF*T!)yLn?+vook^mIZxwxrd6;1807XZ+|zPE~sOBX$pc z*upEi(%vi9g?-|0gSP(aie96C_{eee4;ODKPj=UOo6nQ}p~dJQCPUNVel3g-XTO8) zv#wf`?T#PLemN;z*P>(UJb7xQefV^p*PGagp|^3~P5g7hHo`u_R0QGqgiWNqp17Cr zR>Cgc?dTUv&PlvmDZf5SE8q5Iwk2L*~6B1LMNHrdc%9g zr|+k%_QBHci0%}Nh71kb?>8?9_}6dINiMf^)`s6ks=ueQ@NKtNoFevJ?RU`MEo2TY zIEQ^(K{QpY+=E_1b!8(oEd5@8244!>=Jv?*K;(I6sV0esvBZ=)+ zzSYA0O7^#bukW=+&!0j^@j>ui>ufzLI71zu@RQ1G-QVv21MBg_cHEnwC5^r4B-HgE zxM|Qoz<9_nBGmDRdVS=Ea;V$STOIQyz$N|i&QA^cQ5~~%%MFZGn2#pY(y^*9vw4nL z8W1gny4SJz(g8ouc;=yn8eB5&YyiL}{r^=KC!sDn&HG$*TiUZRy~cFWbhEK{ z_D0XieAs{Ci`TOEw)BTC_aOK<^)i{`cDpw)&^r3$~tS zqhN|-FWAbu8Q3PIv-u8fkGCB#%+75D>CUB}mJQ(qy2Js-djNb7fNw)9S&ftN)oARo z--P=U*dbQ4u1Qvx-6X|0!M}}dARK4mU1J-LrRIM49LCMGm9_PvV>0-@^@G?Z!1wjw zG~ap9;Ow)58)^vC9nN!LyO@3vZBB-+h|`Iz>^e)ZH9cj2(D=*#5RU&du{r3BNLW{W zq%Qhr>PmhJ+Zyc%$5DI6S=ndTj^M^W|95OH%*XVZY#zS?HjUXG1lfGP%Ouj+?U@(& zS8PHDEM4wP`{9F&jZ9GPL07XOTdYjEz1K_SU%@$nUQashCS;vdPIIHP+N6HkF?M<0 z-nGSFQQYG9lRi+A%`@QDlPEiBR{oheedE&VQc|>DDp6}7mc#g6qLJ>aIzs3P_hw(P9pZdfp=GUq!g&;b@~2=*yFJJsi>qg4z4FJdpiXotqKotC zulz+ON4`&XZZzrmLtz?RQk_X2eS^;KJ(Yqv4To3sMC=TZuUWe`MdUi_ z#?*G|)X$*l6gCeh*6p3BFZ!}UDM|9grJVO!bWK3lP7b}QXd~B0|B(lXJ1zd_N+>1mpvPs z2)2lFti*n*Ktl5azqxWCtn`}=raN*I0P!t$bA+;8W5j=0T>`{)WA+rg9U zR5{`k#BId;IsbIZ>|y)-Vpe@xQr$~GQkgz%>Vf_ApBa}+$DIpuoKvS9{+;3>^ljUp zKi!wi;F)&J{I!05QU6IJ%UN8{vba{>4ZtOz?;6HMxZxa4vH8j^y(#?j;Ma{A=$kdz z$b;fXtgmCXc_wN4khPh^W9lG}#!0zSS-vI8EBm@^;~KjYJcoJlVKisx@DrTSXU^Cx z>4Vl@cvX2N>-{PAUYbi&Gi!*!Y6&VsS<-1fD`uig7v^@aEA6-)nsIG+TMK&e7Oh>{29J;&K+apsCm7eHTdES z(8<|#xSo2$J*jB@dh|C%(o%&$zCLwMZ)Ga-HZWCBoikL8k$I>I7=D(%c!0svE2kmhLhw2OAs@M9L-QX{Ld2eNY6TFJKKfk?~Z|Du& z9^c8WHSkKOBl$gr+}4o^UyeG?ec6C?U+P47P`ikIkz<-=Qg_A4A)gR3sT<0XnwOVKM?gIOcQV(| zUtgFy4^gG={38C4W7_DeancK>-ca2D-lntO-W_w&`0Z@OAF(>0 zXZ(vcPUd+A&zycyM^$v{{^EpnQDKB=ao3NK}Iy=DKb{n4!&ORl& zr~Gu~BSs!!Z+uNP8C#b*k?5cC3Eq?7O*sC0@=hhsYst%e+6X?X&*S-Q;)hi(v!kNC zjA5Pf?;wAMv}NR(M$9@&-Ak)edEaS$Zh@Dxu%&5fzR6dqk1~tMdk^m~qK)V9T+cYd z12@+5{8GNpAO;pw7xSa;0C?@d&QuF7HJ?yI33G zqM!H+wE0}>{4sQPHSq_jd$mnpxtei>reoO!m00?n)mO%xm(0DG@u!Y9o2S#pufZPn zD#{-RMsxxj|AJ@inCVv%zneN^*;kr69-)qJQO5~v;3v)s;K)!1wwjSIlefV5*Wgpc zxR!4={p_qh3~VduqvR9ejDAkT7ol;lY!b|s>nQU|+MH_3{S)ug&bguLLPKZSZ!h56 zLg)%Ub)o1>d6G75v1w;%buRds%bXPLypZP&p)5iB2Ct+Q`S!^gXQY<$XWQ~uS~$0p zuN7XdJ>ORN!~MYgL-4Y|=KBlEu&!*JX5YULev-gH&y>Hu>Sphlv7S2APu7NM$Ebrv zaO6sx|7GffeLkNuIZN|Pq502_1~mUIH&z$Gb3Hm9C*3T6a_U=}>6@-Pms9R-)LBz| zL$#6m&@F6SXX~8KyT)#feV@d8uYI0kV9ZzlnmSjoR)k}b=lkoZZ@ta;8~XHm@cWzJ zibnI*o!R~wKf_ny8uFY)UuRM$d*zL>dBGSvyvObHC}qTx!+Bh^efoR)bhc^##wxrb z-JbohX&)M&&R%EQ#iYR_Mjo2&ARFFLRvQo7=VZ+~XIY{@`MKXB@BLQt)6(jTsiOeT zmEN9tmeyPmf4rQzbD#2Lb>4kxS!cWDx5RumbfNPWNuHzUw`*O>QeO0tV!rMCZ zPPDG`|AIb>mxc6j5_r_VZg|;o zeHHkjf6B{xfn2fOZ?|(@@}I_1XG~Jm5%STm+P2TS*r}TXExpCye`)o@@QIS;=i=pe z@UHS~en;}a6>}FN`!1G0{Eh^+?iP5TGuiSz@HEpthqB;O$_>+Qitn4_HQtxhE_;s? zZyHP{fo(qJ_hJLyYi-s0Wj9t^{W`mG19}x_$52MJat-}=8i%M$vZDGbU-n^i;Thzr zpBuVa3Y|+Y7Nlzq9K$wRwEc+}OELE4&=tB7mwgZIs&7uQRA%ox67uxL7dvw{{`S;` zvFw%fbxHNQi=FOQGslOSM;f~=H8tLR;M`gQqBU)Etj0ULc5(Hu@e6|f%4gS>s-4vRMsRZ#xQJ!6*4$EE z30%tsS4MDMQ(XmIF95FH*qb$X?t7#5!lkOTq zJM#A|WN+RjuS~XeB^mc$Q^u>q4r}eLD!+xc)u&7jA6n+!eFf3Ub=3!X4*B+F;PK@q zUuX66e3ws?)~EYZJEhIAFn++o zAvs}p%RrL3(G&*nri>DDl;_F&^%Jv~UA& zQgZkb%B`Z@DqF6{#vvVFP8}hCJc>h?|>oT0tx9&`!GD}%Fm*bKc`rpKJ+Q$Lp{*0F|o@m(ju0ryE1cCGW5Hm&nF z%z~HX*ZT0Yk>u;wamGjMs9A#>yQuF$Z1&+9l+Zq@b2^)WsnE2|UsfNilere^alNW^ z-;)eJmR2{=Rw$45@~m?n!vCAV*%~u0ORMjX&ueGJ>OONa;2}PF54gd4S>ZXHYxgoX=IjxByY=b=`*O#Ye+9I4C$Q)F z_Fq2<=1PulKjGWn;l9((q8zn*^8^d?iwLhKbh2Rm1PZ%}=hZyFi}-!SCE|vrz;?YI z;qidpTgXeSzi9}qzaU;__x%YLah-Yc&{@Rb`(5b7va)x$oI5C#*dG~rV8@rxD+~c^ zsMpzR^$XfhM{R{PZFJDslBBON`zz@ULVIQcTSp?_>n(zhq}by&(+;{`KhL}LZ93;5 zIb$jBk}C?t@-gWm#{b!0MO5*fPQL08T?rt-)L z@PW=M^ErKNq3nb7>~&T1^1 zK+p1qPp`b)p1CG{)lGr!YD#v1wFREb9x&!~#u?g1^hZ@-GW!V02w~rK#u2$izW(KA z3wz?G4UY?M-2;aY>;r*q8=nO5vH+auT#fu1x_Fn5f@F$X`fBh*eUKe|S91^?=hhzi zz!ma&+QQg%qk}6lu0_(;fCKb;;9PpyTH7}K4}OKdjk@!+HM%&px2K^D-^EJK^JZQ|ND~;iIp!9zj*Ds}~as$53hN(Xf)6TmY&u7!05B&lC zd2E9IEdK-g^M8I%f6xg$>;ByN2lVGWh)MHLR?h*-My4&q(JdEyeW&QI+mt|i`1yp(u=co}g&ae;Ufu}dtQSrc&&aWip| zcs}uJ;}D6E_gAAg(7~PCS#?(5pK7Km2Fz^_v^u@qnE#`-r7~ z86H9hNVQWjUo)38s`}?pN3}Yw7j)!iMxy-tTeazULb+5(hBK72{ zyGt^-xm)uAoy|W|5zacu+%ja0c?n4D{Z_MdBhLlu++`aoJp&FIB$q%x4hm9QkqT zteLb#bh;yf-03n#x?50w6;F2tT=mIjasmDv@s>5*{fO=ze5F{=YQgW8j4NM=YTPwC z>+0&jCN`pSvXvY`UP>(hhegu+;o&z~e1d~iXrqI_Gceu9x$)Xcs->X*VsrWrE=)b(nVJ^u-Mpx z574gi5AWvurW=%(AJ&nG>>7+yaCey2!F(1wSB`yg0X)#Y`qaR;2A&rIi%SekO6yLE zPm<;`rt?WZi#9uXpNpLg+gKI-D1BK{<<7RoH1IRtBVpbQd7)90S9Wk{)Z|tF+p@jT zf%>33PJ(CG#?6Z9Ujyk|YU19>oGpQiM?E-qD< zvOipE_l5Jx<5Ew1X24&>H`%*YPGc&&r^+X7UAl(@e8ywc^*!nm&ujpG`5?@t4)ujR z@fy<61*Ub*-UT1?!Hen<4GAaeC*m6Y40N7tnO=XNX=|}`M5ZoarmZD$Y{7B)Exa4J zhskpm^{DJz;1zBK&;6tee(q`3cwmQI9OQAhgNOO4dUW59;5YS;eP0~M?0-VKhKrOJJn3u}YkwTtiX&e#=Ya`3Q7lsfcfiJ% zE!AxTKeHH@TJok(YlCu*{EuuoV%9OObk(VpdmrW0reyjw@L_K>@Fi`ZbUy5Ffh$eD z%7gzE_*qaVj+Zm`?t;kbgGk0Nx8OUw|IH13uDW`Evs}Tx6fMj}7k_ z5)2Pfr`nPJSo|=6VR3vKb#_vx+J!HsWm8e=x=*GP{u}rit$IEBjLkv*QrA`7S0Fp`Q~8)r=>)okc*}aj zf27OXNZCZot)6S|6kKX>P?Akx#N?etUgXsp+R?o1=DmI%=N*c{nw5YL*Y|Js8%mqy z<5Y1M!;|5sf>Sc_m9*Id?3&lITNLec8_&o41735Y)aPf>VJlzKv3euMPWJS>!2Lbw z5bm))47-Ts_mH3shjIygQiHZUe8h zTW~LwyVxU*dA9Vlc@`@M-&hBkPv)*YXx`il4nMGU6ia3Km7Z2F^{fIW!7pEO=Eumw z$XzvB6ZRAI_f|{Sbr@tWC1kapa@T}>7vKLUxWCx=^Ux>ZXBTpj=2NMk@nH=QWTW8T zboh(Cn}fTg$JXf1G6)Lh2(&GlmOoDDiwuIt#!vJbjvv!`%%@ni4_ZvxFykqjx_#Fy zPh+QX)0(bwp&TU~e;@pY>+C7goA`dV~*n>_aI542K;^au$HkLJ$@uXvz-f6|jpWBb@0WvL{v-9ZSw5NNU3=W{uHxgYgQM_K)#>-KHnU=1tu z`7Z_Ux@)|qtGD8mz+Hj)(!a%@{3+cj9{A=s%-xy58q1Q0blnFa`^4s?>vdB$Ranm% zxo*Fg=LTfNWR943!9E3i)E4&n5ArO#iDa^<+;=|hD_=@{m-c2b9+K;ZX-{)oGT$V4 zsJk}M0jUkmS;>Kt#Y~$#5AzHv;Gfb*nzcPG`jOpL^H%hubAw-lZobjXIZlgjwcQMU zv4xK5iM0Qdu6?{rr+KQsZ5HS60Oz8)QRxhF^sUhEAGdyeg*-a7n|eKscOkZpG3cMc z_{~^m??KjDqcK(=1;Z#ZfaaHjJa(Mt1hMGoZu+2mkQ*$W)Y}+6v(a^E%s*k_*$h0X z%LCtS`5}o;C8KLT&(HN48fYWV5!wlh2pxnxp_8zbKoyPa&UdQ&u&eE}_Cvkj&-)(x zF8q`(!~PVJ-#>~?U;Wq~<|*VWgBlOu*W6jgI4V7~Grk|Zh(2Y{x}EwvslU^f)mVhj zlKmVPn~AL>_pZQ>(YB5K^50_z%Jx;7fjgP+_Ih%!@R#NLDs#bUI3FG0&^&jtUxBnb zrRPES!rgSyJiu~1IXFW+Np_=afjgF8R}r6)Y>KW?vUa0EAP$ZWvw)_P{QV0G(o;a1tLB1yPeT975+wj{ICLca%ztg8QHW$gtnk(o^O}@?v@-esNW0U?8`MC4ZTVn40xH0#{<8y&4vHMlt?XSGhJN1tnD^p7wD;NGfb|kw_4FKc7 z9C$VR8tFe@^tqe7+qk#a*`2S<&E7dfWBMe0nM=O8wl6D)xmRQ)9=pw~TXE-ghlJ=vdi7K8clgPg;2W+8lx zvl;Z!^c8&Y{26ehZy)1a!>85PT&8aZV=`mQl}(vWa3~)Q?o2iHv<>m>dgZvY!29UM z(yLR}Ej?0;ewX-TF}H>~7PB7q%>d^!Hpk%LW)3F;{OZK*k&QHWGZgPb$;G@i5A-k@^eyw~N*TysWujX66 zYWz9AsCyT&PetWz*$*eXtoz_b?S*yTj(zQ)$zM9~_B(0OU^Cz)O23@xU!{gU-=&^{O&3vxJcrP!Z~e*c`cHdWZ>@1{QSe(_@2 z$^?(*OOZX^7R_p^yFAmj+w6K)|KC48R{{&gTE>MxW#|BmHz!FB63STdNpXh+CVH^2=_Z#_hjD-*Ud>0`HZU5|M>!^x{5rj z?b@g^D|qj+?+#}(#QQpcVSv3|0@@7scbn{*T#J2t(t;juW?ndhfAU^SET4=(7sq^d zmekP)qkCYi;RV5-RQiA#!4TeGp)}UZpuD9sc;!gm?e#ke4)x}URe!sEU!?cU z9scd{n0FUvSZb&B8aTvfQ=A>>k7Ln7usH5;pC;`KKOH=acJ9{w6IuMKff@ZyW4u%< z7cL$2*C7`+@lEH4#QPY=#zlOOv9?cgyS>`X!@kaVIkcNWH!K-;^JN!!Q=QKrb&&<9 zI)8t3vU3Mv-O+yp{@~un*Oh^zv4MKhk~`;#&UK$opYH-!xG%-WIDOLUgAp3i&8$s{ z+&Z&Q$$}I0E6Mjgt;n*hIno2v76Tb}m$Shy@m)MBv4HQ$d-p&S;!pPxcM|U=UP^pF zaR>1p;$_5piNiU)6a0kFp}f4EZ|vEPtkp&v!jWX<9%xW=uYu)4cPU68|OQzlm4c;Lc(a_ov%AEMXqveyl zOIK7&Sa3zD>Jq0YH~PUx(b+F4FI~{*FC(0Afe#o{1p3Y10$U*I>bK_m5MwTXPVFs* zrSq}hHecp?ubUd2ABnNfUk7bn22EeKyY+wJ>@s3$SBo;{m-;@p@v-tfYdABRT~v{;QIWg5N{rpke$nvaY7QK_!h`$zPX~7Q z#og^W>7ksBH&gEkbUhyHhuS$oEWHSRvFMq>IprEMrMR0Z)h$Igt2`e{r99ywLmQiU zt|!lB+@&IWNv-Z4VV>8MrZbPaABT1t*U?Tt?dV=u)gisn9@>$An0&woiueK+*LYJh zrIvW6G)ua;`V3>tdkyd0*X`Hj+C7*2nwN7pcWG<_E^?9Elo|{Qg^HWQRIlt^-bpP>l)5)3fCDYSl8wOkMgJ=F0e}vAbneG z_iYuGlmDP#AFJoqX3r&k^TH-iXM`t$XK5yYCxk_OGlXZ^Y;+{RrF*zJol$r+t+-Wp}@-BER1^kJDQ{3h_VAVkBMcapLDp zGs~dke0|4DJ<_h^y^HVxg7jF;>^YAuMph_b^I-jRpds<;mdg_8)34F}uj~h$jdk|@ zmAu#6XY{IR?SrwAj9g;Bt>D`-$9c(4=9tR=3cAn0lTluE(N}w-nrVZKC zM3*uA5~g4L_VPz(Bh$?4_O*vgy+eK;-}7e{?|@&r@PzBi@VZzmS7Z-h_MGX1+@)jg zJFzr;2zu6?Cz5L<6F3EHD+3O#rP5h+0bhM?z289K&I`Xb_f>QE`1V_n8E8vwj&F_Bda_p6aX2zxDo3@`wj4pibu8 z7~Z}OZx!C^oja4rc*dUkPd2Y`8O8B_n^)&igv-NOYn!yc9hk8`caBr2e1tl5-b`a9 z+^Y@g=b2~shTlF%9-}9{=#lCb@-^r815=qhD)G#>#(v*Te6Q_%r@9h3ccs;rtcX0n zi8?0wZ8`N(K5Ub1`{8fQ368&GPW_m23GA!bX#@KzebC;wdAM)v_X%cQl`2X;`~}3O z`SJ6MV^G(P%{k*g9 zxVcO5ByU6JBmVL$Nn_rw%JZ$bpdx-Yt&w@$81tUQGsgo8;Db(_gTryqa<| zAL83k2R`s|ukO;dWq!}_am_LLKgm9$_!q#I>MB<1(P2TmNhQ2%F)KDq@>FoEtTQX1nh+Aj;ceqdfC{bek3hSo7 zGt0Lj))A-I+iS-bUzSGMTCoL<=r>bm!Z(_4!ardFG>Xo$p81_`IY^l$<~&Ay3*T8s z*Pw$$e;}GMcI&HO;H}2TI>va)A1)lv6nnHO*(F{~`XKG) z(f`L>nYFNQ<%4hR+gaWNTcySwT53#MdH@$?(SYhxy=qTs%ExejeHAn|8DGvQ&E0J2 zuWkAO>u;dXHP8BuAK(jh*E$=lbHQs83!&vT-h60mP5lBR$BFLlU{R-I_%o zdki{i&ly??Yys$`7D@huj*mc74cud`G1K~>@x$)>#1VsI(fLz2J_e4nR+s-D?Cs9s z{1UQ3+02U^^I~a_(U+g$_S{Y2Wc9nSonU)d#hzRH zxKzG}b(p)`z>ntXa=Txia#2rZ8T;q?HTXU`fe)*`ZQywk-<4PIIi3e>y3VEOyUr-9 zZ9O+%Ci~@pf9|=ZYR9~QPIbSu`~+vh``V#xWZ!BJv2?}-;sxgwEBV<)e;(^|*W#j| zgKkCVQ!hfNL%9x~U042LMfQHoIiCA@-oW#6LKk5*;buaSv{j@H@La?537(x<%s-w_ z^1R!9s61(!Q~i`%EMG~x8`+QS&OTJ0$61D%(;WY1_Vbw*$8Y7iEz^U}i}{tI{7mK+ z-|?OH>j~m*2*z)C+;vgtkCkG2{gTSDu5SqtBPdg$WYPQn3#!v&MAgqsN^!eK%^`SXMgguMje zNo&DUXiRuog^%V2LvP*Si90a}HxtAw3dG_QJ;b%M2mEw#UF9U_GHOceD&qax+e?pC zFP_Xi;XK$3WXl=M<;K*fu!G$m{8r71Ss(USObhM;2%jaNgtCb_54MK<3vB*r1Kev9 ztV=8GvwXV4{BDNd65?GnE7(XZ#v%+_;>?HTK7n1xffmMQEJG)2VHR+ z@AvcGI;+>8Pms@Sc&EGOX#(CB=rk6Wzhmd!c)S&!25+mtmvne46XH3$_jSb*wkjs_VcuHBVB!TNEaNM?~{1$dxmAyezeR#&2l&=gpZqD2er4) z+vj8G)8ow58PweruG6qCt!3TFUbhi;5I#ZBUk6gAGxV3{S^q7=kf6WkOb%qWJ>-+0 zKxYpBUdvl0pVXZbtWmjeEoN;IKh{1^JU!sg&@wWO)*Zcvv1BLt>WaU}S72>-|Lak(_?4(c%YyoK}x`A`EPZ<{kQ_pYS8ll@n-c5*JS zQFC)SIC0RwPodpyysKXED8~)-}rF?Wl!ySEKY?-Sy=Ta z`dr7eWb}BkRBmAZ80!aax6dzG8Lotkqy1Z>oli-Jbvg?TDV-1?KP$WqyZg&YceCeYKUNvlGx&qfx&N_LMh`p!zc0&| zdkWv*Z1D;Wr)NfR8tx}nTyD^2@Rs6Igfro;U~yOY6XWh6zaJo)``^G_!ygHEIg7j8 zpBQ(&|BJZ$8f|Gl|99!mwYYQt#JIcce-U@@{v+W|^F%yUJm*iz?;gj7_`fx0U-Spy zZj^Ph2brStJ^0h0AHq+j+QD5z+ApoPIs?(N)}{IO4x+z--{Omdj%!Kv|6^~MWNmY~ zqsX=C%D<5B^)KT7q#S-#e9ya0ev*Be%l#5&Z6kj;M#?Y0n^xO?u=eHUkJNaG-;#;u z!?!Cfzcs-b<~u~b-Q)7%+m)7|S~TA`$=B*guibC%fY0+;24^ zS$PHTE9~#v2)-=+pUn5Ae9uR|UueI#^L>8g`|9jK@(tXrQ%l`*Nuz%wamqLGe8T>w zjOx9T_QU?vM#{5iY@F`|HZ{Td9r`1d5!^0#|sylxRZ!GOGK9v_GG^_1ic@ zJSVBMgXgA5*)LEwyl;Xs)5xFX9B|+Z?Uu^lq8#gYwSjU6?HxD<_uPq;wPWc->U$ma zWkVd{%gnhDGeL+8FodE~aneduB&E9@gpctH0a;EVTSm=`?1fxMgM^DW<3Sw>n% z_Iy)LcmlSv_=%o#q~W7AVOkSuxih4tNNYbs+A;3DK|ecTox`McoFVOg((-3W+fG{N z8PZmh#(h{5wpSnxU)2fImNEC+80!M*va8BpPQE+x_mHikllSG^$s@a@?t+nzjeOvw zUy{F5g1DVnJ~;Ag6F%FtuW%l-&*+=&xGrX#M4t`7bI9r+MH4d_rz7Yd#b4x;+mUS= z;}e?mnp3J*d55_JqMtmXQ+-pqXgf^bPr7^{MZfC9ZrhIfIG^_rmWzQ!bUmQl{ZmVX=E^St;lFH?u;;AZLweRBnGH|aX>vC8`GiLR7?fPC)(pZ&z*(V-8nlgV?& zh~FsW8@$BOqi}jN?P@I)ysFowp3v7)@B9{9x>fc`?2fPHS#`Ei_a5sHt2}p5?>=;* znjiA1T@;xg>^-YBmXEC>Z54AjoEy=!Wu%GcOq7-*P5f`7v?kKT|0YUHktY5(QQEQT z0sosQZJ0FixQWv4CrvzVqO|R#iN{Tprr(DVkDDm1K$`g5L}~4$EsvyWT_56`886l$ z?AVPi?_t>_>xT3&N>A~9MWk#r?U?)$&X6`tTGtuUR`Pv0e4`bbUj@C%$E3h}7XK#s z;D}$#{v$puel7lNY|6yq(c;PC(c;PC(c;PC(c+2X(c;~LeE{2Q8$4zbeDosbfatCR zxN`VXgtYoFcMO%tCmvSiE*$-~yZmVrrE zL^T^_cddcnFUk+1PwK6F!TPiyL#OAD;RSs=eU4?@EAecvS8~6NZ|34^$$2Eny+4_f z^W_Y(H|gA36H*9{di^)RxLeZO(tJcio9Ey{vvaKyx;64SW;5rF4sLIS+eOf&IH% zDtk4(_~Z2X$Hwqwd`%j?n&3{b7`_@RQZ`?H(*0aCtvov zdHN%5U?WSP`|{t-(-q01J!yJ^dh(Gx2gx(egkRTz z-=mDi1;j5U6bRjfj}wG<)y>eDJF8~PK4$CH`G1Xjcz!iueNr;T2NAmm(5;&@)GxV^ zGA?;tTTXW#Wq5Chlnv_;RS1rMAsi*h1{DV%UAJ&o4PzPuXXxI`@@v%CN_T@jp7TUvo>|H=C(W$JBy#qtXba4SD<_UkR!7+9AR z#cu2-oEwDpk_HCs``|c{4adSO?|LmbAESdn2Z7$e(5%i2n!6@|L*+~x&?4sp8&ieg zH`Vn`X)%|xwN8*nKEpaY$T&-fMEjfr$$c4`mLEW=j65?|pKw1T=gnchUYIP3{x=*6 zX(g;zzMyJHe(3p>Zv;N70&ym7m{B#AkA;3DV7X+72oUmUe9~Tqx7si!eP7Z_g~V7)r1`c$%UHl zA#V-m(wZV0V?AT?X4bl}9^pvqp(mwHl~3970$iK=EFSN+^*l;F+rdSaI<)SY`z*nIldHQ#RR24~zh3fh)V&fo zS6aBbLiiX*ty!8E@`Xf>Gx%=yiWMi1?RKbCp6Yy&qjC2UK0?@Zw1M*`+Gnut)*)LM zySZo@9>O`0M@_%wH>-6fnB$J~c?<6^EWE<2&JCOi-uEz{|4?{YTe%Nu9L(t4MB|c$ zWak&W4TS(!@kYVh47?gA&4zDSc%RP!W%()#xBCj>1KZ5LGaNhN_BY`6K5!fIzk7ZM zw}CJ3c^0=H{TFamES2y2m!0LBE__PZ1sw;E&3SO{f%6={`7|iJe-?c2B5Wn}9M$i6 z;fqlID!(1ZT}83Uu6VoCIGlSFyYsd9J$J^qzcQx#bkxUl9DZZ0$Zv;HPPFrHc1%J) zVh-jQzTQqBbzj`?88l!o+kGjzgvptlvKwHwMQod^c+h zkOds@B6-ft1Nf`fo(Gj5rGfcfPWD3!e%3#MC z$*{QZ0N#Hh^~lr~aArY#?)qw|`gbTBL81qrx&n z_{wS?Qddgf>VVF;A^m(6zp=^rMQ?J~I?w4RJ@2t^ zcw?o7Grp{I-JJ2>th$Y?gO3fm*z{!JRb7H{U`3PHj87#vsWkK3!jeao9`p~qb6!C2 zvHn|)9OYhf5LmCRQYJ}Tb(E`78OkP~DtE1Zr;mH70(evxXPZV|_16Kc$^1G`xYqZe z?S*4)>pSxANQiUgIaAO$fHUU#>3cmxV?|&t1ahXz>;7+O2ARb(v@|!T`=mR~oi~oV zmAexIz8T~R=uN*XE!>HoG{zx4F;}@$Fi0c+SlaLe-<-_WF~3o*IX?t12W&p(@fZzn zcT1<;ZK8e0Bp3bwZo@Tc5#uCykp0t=n?jiW6@0zO(#u13jx~rU3kO}`AotW58Jb}uv%jmn+x26k+O|W zM)2yKa6ofr9GDXU4g#7N4%8R55yD}{pirt}LmVks-EdJW4E{GC2$WUFMt8Go{!eo1V?|R;rZSYu}rO z2DrOo;3&U)1>U&Brlq%^dq8{h*)3b+tX0l6z5ONp&I-=ft@T5FzDxcL@l4`c;(Fo~ zafUdS={vg0*1MJdiw_DnG3xmuxT+!kJZp^lvFN5ir>=2PKHZhCekd&g-c+t9QioH> zS2!oyXwG0lFF8vy$Do-f3BM*BCp?c?V&+g6^plU!59Jw4!>iM*l_9S#0&lqY4d<8O z3Fo-zeiG&K;BgvjPlxTF#(fdb@-Lff&dHejs*tsV`4`Tykha44g^W2i=YB!iVuV+| z)xxfQ=AInm7WM(WFoxXy4NrnD3>}f-&1*= zSJ!#tQdRnDL(AYp{Q~FaPI1ktaPEX_r^%P6&7#)&YxUdE_o{C7eT-jH4{IiO*Ys9? zNq?gIHjP7!{4=>nF_xo#`XibaZ=ac6)2sUx!*`eWCf*It;$FU{?3$!_a|o;1vjMB% z)OtD|wiCdXm;g5U1%*l+A_x8h6ha^@nZF6K(R23>vJN{pOzj@{7USG4}oP z$ymtqD9<`WBffDwqwj`qjNOs0eHdlZ2lC=C*P7q<(H{6xXk7K1_TVkz%{nVD95Cv&b`3r859k6pz z_YPk@wWqSFz;C(qqxUUxR~|mdg4Mv=C3?M9`--tK3E_ISv6^tY9Hcnm%+8X`;M@hh}|O^>YT7yC3Xa&T!5{{HlJI){JX7JBeK?gRUS`>L%{3 zL3b^F(7+np?DE|$brbh$oWw_F77cHRr@C~1YG1OpAHKeu{3XjPiusDx*A)69(asoe zgr6gb+PyJjRg!;bC;J2Efwv(Km*APK9cCPaFY&5y%*1QihK;Ds)A%iQLZ{PpPBZ+C z3HW6CF!&I>@Y{6GuB+gFnq-1--4soQzj>vyDx>+Mb78`H^qgIreTX&#`Ap-vbjYR+&G8P+-opLW2KiPff~2y#hjwI zm^+OZqid~c+4;CLZRg{RGjk3(9~nEIS>S~_1Id7=B5jn`(Tl9;;2N!0=_YW9{BQQ> zo9kwI&*ypZdBJ_df-NdT3PvMqzYX2|HGwa-Xlh&j0`GzI)>Vc%pA~aAqZj`e{=5$b zd_AaUo$j< zJsupD%KVne6Niw++*`gj#^>~1V|niTO4U0$U*MgX_dSy)Iq$HQ+k~$$pZ3|K^X^C< zpLd7)R703PI&VGi>u1!Rv##QBCV2Gf2aoDESVA~8&s4sL_R)oo=-KcOU=}|5p^ayX z55XVu=ny7@qs|L}{kzWq_HDpw#>2wCj`wvl&OL|od7Z9T$K9o}U4(o_bQQoF_;Q4_ zG1uC1f6crJ_XOhIAxy%P=2xqOTn8pNKzLUO;}~d9I`R7~Er^ zyTH{~ts}vF4t!&D7mw=E{Xo&VmtpP&bc??8f1o|xk8-B=!ucG=YG3QM?x@!pN!{BS z&!KNcrakwYT4(xxtaT&A?fAaSm*<)E9o?GYlP+!Pyn?BZHD7DzDC;OXp^@=;`JaR< z#L=^bE8L$N_;cW=z?{v)ueyRYR`W!AQ`D#F0yvGqH$2YL9=f30&)%!$^dCq4DkOeLM`EcDxRP6VJ+aERXj7++e&;g8{q<_Hevdi^p^V;tk|omK(%c3wHPju}(}kXDpRGsFN$QdO(Ped4XDYM*Y09L)n-lBy_D$;d zWrI;)6MQ>3Dfr!Ly^rx{`XV`CwXKi-A`=99Gtsm7;`qG9XOXw(S>)aDd-4i*A>M@Z zO*X&iPB@zg?(t>%|9~}eWT$wE!=B2zXmd$kvzt-d(6 zpX_B_-Va(`EIw0X`W@*3kaZigtn1Q~NFE-r`Gk*f@1i!8C&q6lNw$Y>H|Ef3MByEX zz-xFLWkOyfSfIijmvIc&&sZU#MU87sm!&`I77U?08guZ`fHt&F^Z>_k z;E=vbv?RM!sB4STj@F5gM$w6k@yW1GrE#Ae`h`_-cxVhB8dDqa+_>gaBKz&CY}umO zkjEO@C6D;H=Z-utN6};aZ;@AoBA(|fF zAMyOKzNh-~ckyUHL?h}4>wxKp%7lH;*%0;N=aD{W&lE3~$_MC+(+>?4_|0WIE@S*c zeaT7x6Vzq;k`KmaJFvfqJ5IyBt?WUYY+u58sWH-;mPH;G|IpZ=k1K~b4(nBVFh2hW z^{e=TbjQ*~BX@IGVK`>u$LgbergEf5>oR?%tZWhL>p3X&WDnAK{W1Ew=>OrqUJ&W4 z^d8PoX-jOV)Gb|pY-kgt0qvW3Srybs4j&PpdINo`XWZ)TxP|-ka7})>t@o$kP<629 zXD@4HdQ<+*(DKuj|EoxOwfSs=WTL2lhx!9eV8i16RQzVdtJDvjxt7i#w7a;rKVd&~ zx6)i^4Kx_seY6U=T5zJiiePBW)-#)WveXmuy}9G-F}4=uHgG&QyLN`|MhaoX=6&kOgPVwkg3ttFt*k6rR zoN+3UFURjSsNZIOP`}#za-{BP|6fi1nbaHlKQxT%f6*B>uss$jFZ@eRkUXF{EBQ#{ zd_8qdL>uA_g5g(@I<$sKU#z~pk#h5aA>0RqeT)IS);rlsOkZ+=-6ZH&r+E3d$@7Tv zoXz2~==g%qnD*|1E812!ZLOxQ&~6>BEgFY2wUyxBV}7H^>}S}={$Np7{{Pr^a$C7u zcMa#pk?mdG^SRmZF|Cb)aYY{cVEz@}R>$>Jx4zYY3wYwliz4vmuAJ)RTzE3~?O`V< zgIDA87Se7jd-d@5@tS$o@8&7b{NTB&y|rWa*7uO0-&{CTT|*g_zox7;TxDd-P?^@J zDHFD@HpBL%TTyxWK&iX~-H3+u+yH*eZ#z2Oz`^f5a*vYZtTnVA=Beepq<&|^;U19~ zzd<*f`@d?P;!%x*@<@-Yb*NbC_v>XR>hJe=@9y{iFLiGN9@kaf{hrZ`ELjoB*pi75 zA{^UtB7!L6L=ZIy7{Cc`FkzC&wg?7>V8BqnWdOIhT(^v^@kbn)PHZ`Gj6)8@ZCx;} z0Jn9)w1OyLsA-*Is7q6r4^QLQNsHPyE$-Xg=KlWs>^(YG#xdMJ_ul8~d5+eZv%mLV zd+oK>UVH6AwpcryE7p!=inU|;B4_e_4^Lq z1*LnN%UEgr<r;v@;oZ42BZ*+Vy>^$b8?tC-sV#O^|4wXPYfNl zbiVH+9Gvdv?t@A!ovy$qRd;>XLtpxK`P#qnuke>#h>e!|u1}hFrEc6_!;a!yyzt(V z%X8nS?k@E`607|IcUkwpDQ3>;N-r<_jMhB*`TTPHV~m#M&pt8nCe;!7i8}_f+nV4# z+vLkrHU;e-I%)8;2_Z@THl%}BpN4)ibdNy3l<>ZQ3^ru5x9l1__J7RSzjW)9 zw;39krC&2a`B&A~^!*$!C~vg=4t;99^+poii=|4W(*Hqa@o9~}Hw-h8e58S(@?C~W0 zKdhn4HTM%QW=yNUgv|+%N63}UQ2!1aRkIH$( zHu$FUl`pXM5e{tHT4{P}YbBBYQf;J9b;*?PZ)z$n8V|}Ny-z%`G5^zl{0zT8*NeV| zXKvpX>Hdu4}6ul_y=4OY1Jrs8J*D73N8W2>va z*S=9WE~{lD-KM^gt^4YC<}0fo%vV~`v2}v432*P2FkVK!bGw_F2hf0S*vT|l#QGdy%sOIO z=s-5;5Z(JJ{WDH`octmBZt8|T6?)in>WgM?COzj^+G4j9DyLgQe1?{Xdw7|ktZ%7g zk$pmF8Rt2bPwC3>n!ZQRcIvmnPJf_KQ{K#pvrW*WcIwe?%NL|?&h3b_>j#nc{7$4j zYR3<0#~A6I?Bv!ajkEIa)V?2W5v`I=Aoihr<@61q-JI6ou9)F#o;=;M&D3eT%^%+Q zg7!+zRhvxxX@_)wyq~L5{_OhynC}nHs()18ZK6K!thZye8ISw%$9j@>oV5LL!i`53 z8%4%L>!M`4yPPjA^iJ9n@O|UIwEV6YgnP+4rx3ewYehVE{u=K4X5B1Yi9a;p4qzv6 z9H_ew_W^r=2Y~IsF<=r{1j=siV{Zc&8K>*uAs)VbYeh6l{8)myt$q;AldS#eS#nGt z_6$i|fAK_LiuA=#8B5a_>Dww9%259Onep0-)E~J_6XSZ`tTBu8(<2#y{(HS>m zGa%eC<*QHfGkP%H?Wu9Tk$ACdw^ydF5f7MVPZ54I89?5=Yh&c=TYVn%Q|Fq?I@4Rv zli&EVuSWB2O%=;aW|gh{wZ_+lsOb^_?r*>e`DEp{E*~w!u=q?L+_rq6huk^95B#=$i4>9PC z(RsYV_ARo&hL3Po1zP!=i#%k#`^|Y$(zbEN@=4i6i5F;-KTmjpjO77VM0kPF|5$hi zWI5?nj^sq@WBhaF@l9#UzGWNt@P@L4>|*t8`i8LG&6IIBd-_j-*H78@35qu6q1)0~ z(0AR*)^J|6C&M$PW84i932&RWbR!W7A46Wyo{?z4eUu^niJSY57Q~3!V$$N684jo~L( zcIdt+){^e4U(Q_%S8;FV<#sKyQ1nea_j;3t0Zw|2HmeZ zTV=Ir9pAb0prSA{hBp@2lVOff2Qwbz8@sjuFSQ3gF6aoZ`zAD{PzkR4K5f3E`X%r| z;kSIfQ1Q7pKs;BME$g$yjq^L<-(&Jl@Lg@XBTGH5WgiaRgXjkFnpJiaaZ|*7{3T&s z_08R(azE{V%WoAb9S89Hia+86YiK+VuN8=%k5vDw$?HBux;F9)(*;$@BOX5CC7USk zdK>X!oFEUMJesJF>XAsbFn33)oGs~I`$g)R3#xs2=H8xIwS|0?hw7@l_uap!q;_e} zHu;5;%U5l?^|jlZZSUrF0OvaU4{oAKMR0GLwbAK$w=d#;Merh7GGvV#12_#XQ_ctW3v zkB-*K%Wt>m%Q(YsaZNTL&(iPfZ`j#P|C{~F7;V!WPI~wxNe0!m{9fw?4||EM;m?yE z^TXTDd3Vkysyz5$*%nB);JiThar_jyF;bptzbj957M`k%N5SJJl_T74N1rzoJbda^ zTWVvkfw$X98*<#uc-?7(-%Q=MxBL%yJH|el#WsaJm6yhPx@pG(_=xTi%6%DhN4}F3 zrZ~&(`>hWaD(63s4(4mf?&AC28>`OoPdzawUnpr^7LO=;qWoRHo_Dv&*CXHS$k*Yt z;$3Fr=`Ntc;#jo_-+juLvmf0nDQk?fPJET|;M+56fBv$@@pbgt=P7H=k_*dPO<6u= zWhtwbvev!t=P#>|vUYPO;9~7MKC3LPi@myMg+6}FC)VT zd!heP;lLDegaeAF{*})q;eh)F4m5MOKph7UGzd>b!t)KnTO;9X8-%wLWA&BBz#?i@PSD9 ziU#5Rk?>T5@MDqi&IaLyNd3>_n`n0b3`NpE-XJ_337>2bJ|4;cV1w`jk?@2&txS0M1$}hk@6=Rg!e|$%YW1C{Kq2cH#P__M#9%L2p^8*pKcI75($4H zIy2wKF>4d+OOkN$Qd)lm?|daZ265b)q;GfeZ5n?|?%Oc7)+5+spWs}YwrVR4T6LX*m&#tJ-~0pQT&8Wm*cy5fSd4@BDm1{Op$yhx$7@vgX?oA3jUfL zPw`)TbG)(RX@3PjKb_<)xrMEPwyqfO@PNAa@9~z=non2>S>5nqd_T>%p7$vJD%sc@ zeZ#Q5hfX|*{)RKYA3c1=vz*=?5WM|*<3!04n=vY?i_kI zd<;G+yXU}f$;Xt_N1n2B@k_1(KfsB2Ke8x#(74ZoepdXh_|=5J`Hb{Ex4yGbxfMNO z4?4n5=?WRUnE!(_ec4g;5x2|cxQ#PcyzgOuA6_}x0e^f)DC2scJKHoFl$B4X<&9)N zCz(*P${}Rf4{Wae!gGq}A9?imPvr45?;TfhK8xq2JTK!J;CUm@ z+j#Ee`2f$ycs{|ih39UbdwKTpe1YeWdH$T|+dSXrDf9drPa6hM3wV5v*<&f zO$Un;v3zL&yF%$d=aIMet+aQcy#_A>zT|`QYa@AMOBwfyLC3!=@#4}E4YCKM`Jyua zoifwth@3Byp@@!1dVi04_VX05$nF)XT6d5++0vTwFEnptmX`NNM(ajFBgnz zFAy0fcIthF1(e-E*%W(cRWMeZJKsy9Q?~O$d8tmlsr^Qt)LfVS+i9y~f*7>5r0zqW zMJJKH&&X<;bBCFGXRbj9{i<;8Bk#pezp7B1#83KeZ*yt)l?zM7_iiuk`N%b;tJx1} zY0sChVGifnpYf8Pt@s0>UOP54T0VON^q4wnJ{La_(gx{AC(uh7nQ;5pTP3Hd+&=VD zyNIVYB=~L4C_=B)SJy?xBK3xu{mCEMd!Dq9s6JnUU5SrA%jx}k>U|OJA+pz4In`V= z`;s?D@|?yFU;y1x=X;E-PoJarLRS7}J^xVGd>i`Or^)|mo9}caf9QwN{g>>w*qw#S z=Wh6c!3VX8`n65juq)6($zP1hk^X53Vd^8vU;%NC-mtayxf>oebWpPHgsq3p*M0W7 zFi+O6w&^BIOOVmn|LeZxwd{XD!&a0=E4|RLC@s6Z0WFiCB$Zp2r%gSbY#pAf9T0tD zK7c3Qosm9^j>E=!KZWCP3p)8rjl)DsI1U>kdAd2gww~WgV{6k1Z5^WDrR!zh7~WvO z_N8z|^HuZ7&1=o26K@8`XphsUW1nztN2IK1{g>Cv3+w-{*Iumt=mRNBcy!Fx|Mw$# zn)*|ZST?kSzAln4bSX|94W8ai{{6J4-?pL8LbvzQs=b%gHtw(G{2A?&&mXn%=&Z6t z>qM8DDDTR8S?pIODJvP4HOg4HzSCF_&MHf~;Ek!`g3)i}ldPHZ)9JAV%d%q&xO-|r z3}42SA5+;UpQr5eKMU7svsV@=`+nxjrOF<(Wsklgf2GP#P&W2W7nF@Nj5;l@_c87M zQN3L32qOLa0Qj<;{#|a{x~$&j!0c^l{3dRokD=At+v>A)oAbh--`HAYPG(B9y+iE= znl#T|qz-=;t%E0e9QONnsl&x=!<4W52((HUZpZe;Yz(^fCTVP&g7W7gd5f0k@hcIv zb@~u{XpL;0ghxrrcy%OCH@AeFWA%K&l}Nu`2mMUbZ)w|KZg0imrS{ol?W?My*Rl1S zM|)q$t7)F;oAArcN8P19yFI^FFE^ZL?*umoD9_F1RDGOg==C)7Olw8V(nz&SVRfj!5DWB+c2#WiZ9&#+y|!WJn<`RxrDWTwn=F-iq|@A z@1C4p_Xi?%7tPZiqV~5+*>J66{L4*w(U|Z)&gOc%R(Hg5v?~|dzq}lpH9@;3Z2b;f zDBOtNxdS_9*0L7pN;9Ug4?_cFf4tGg7t}d^(XE6Zl-CocGxoxrKGwfI!@Z>g*GsoQ z{)GIRv2NaY17%0?M0n};%zjK>N-I7>P;1$b_!iw$IuhxFmn;nV=vM>Herh)4>%RT( zj)tx3h-GMZCLGVp`q}HFju~736&9-9+B?*Ex_M&Oo$ZAheP;GQR??SR(_5(9f$Iu& zdsodBr9Ba;mm3@KsC+O|7x6XUq5UJ&VZ@g0a76N)tAnF)C#=k-I?(^zzlyyHcsB5^ zgwgk>sMCSl3&ut!Y4gJ#>l}{0>hrZ;myBJ@$m^4)POGYh#;53?lx%UdA2bTuhIf%4 zp`KalnYH<@srS`PJzf9BE?aH%&&ZuiV=rfqIUkf?ayfer)K%lCJ`ygf|1`GhKUZJ* z#*4uKIr^gdM%RVmdjDOxE-Zt-J>R-3`YOHnY+BY8DN8sbpAj2p@rpOp%Uo^jXdZ|D zkHG(rSiXPQLg7u6_q)Z;7tvPX(sYw-BV`*G&LbnY?t(ta7Djt<*uq4^czq4x$+v*w8G9Mx8QYo$@mzi?_YTR+U`i02z%fJ=KkGM5JIQ=IY-!{r* zEmm8<4Bso9K>ohK=S3aB``G#9R@VH`7wqKf@!DPx=s0boJ>P|{RP)xxv6=d+kEX1xqt=cW zK|d$G;IZS_C&SyEyDL(ENBi!M)IS#C1zP*P=bg*>eAo`v&Cy;#(H&Rc*tPh!z`i4% zdvl3>(=z97ukBxojEuf&vSl~6gnmi%>o+3xa{c<=NWC<6?`7+L}*` zH^Mf;_Jg4M+0_NQRR*`}w%WTRWjegMxnAaQ2jlV_eruRIH0HNLe&mY{@?09pGm49= z;oUCA8w(eO6IWc*RK>>xbIaQ)+7#ve;>;(-`$nWp(|5F4c%XSE`tN9&e#dB&`|bF& zLj$bG*jB87rpcCCba)xEZ@gabkq+H~;cx@{)9x36;~UV)Zor?vmo6E3Ouqe9?g;rQ z?`1~54ecwgU>{Op(k=ee)6@++8WxZ4KZ6Dgl25-)+h<`9dcoM8qm}knXLFya?5FP1 z1MA%QGxk0J>44pP3H;WW%ho0Z{W-fQtWVzGM!)T=#Xi5Sl1hg1?lbT@55(t|@<8c@ zhcXW~4`d!(Fqr24kK}{3y>pvO{6%u5^#herSuZoVIuqp{=$Hcl9!BENOl2s_mt}j#FQq zb0ptb6LnBsT^SRErRj6E2YMU_*XUw=Z70#KFrH1wa;j%vavwTe>^10PpLX3Fk1;oI ztBTenZ5t&M>F#;%O{yua(rL|7ni#eXIv)^&_K2>_H~(d}pQ7zz4XAkmbC9;JvwGmm zn1k?zF?2xPZP;)YWc!L=Tk%IzOSc)kQCY`h+iJzOwh}t)bHvwO+Sk$^V?(ESuFay+ zirZ$(S9x>5%`>dKr|o*1@M%A7KFe>P`X>YIgQ%143Fzgw{IGaM?05LxoC?SLUEq@R zwAWG>%^UScfjqA!@4U@-1Hbq2{%+zvP2878;%eRhOZW)4<}c@Wj=00b6>jI5XF8WA zTkzHhj;ov=;$BZVUACNdeh>0~6KT&=PO~lN6~vu}9{v^OJZ0CI62Ftgy^*-W18}CT z8TcZ`=^4`gyKDt%&jR}W2yt(soC%xuAiq!Z{&LbLsT0n8+*;kXl6X;>rXM@s4a7f8 zd~Ed2brSz4HvWHcN5DIXKTNpeQx#vdTe6V!WL=Rq>zu(q9^}hgyz+FU$rRI0jD4T%Di_kM2F2&^=vu3e1f6VD?&|G~4B=V#bO zds%Skf6-RMFRbbiZl1zkbA-Ky5sSC=eT;kw8+q*BR2S@s2h*~LHF8e(k4V!?nqHem z5PhAIb7W_uG6biwRaq*+QQHKk`LuyPGpM_0{0xQ?&_n&PRDZcf*v?{~feAHP^?#Dm2US z19@~lnj_$E_aXGrE!gqNPWCw8MUN8D1<_g$I0w3r^|4_m?m^n{3;( z1`CgjESL*rwhoKa&7}JZ>7x2D>BS_2_a%kDx5-ED=e0MraZqPiZYyKg*LFoR2A>|3 z1A~JhUF>6x**LhhCVwC;9CmW@*IMeXx=ODwaGQ97P^NCmLjUPc(b}K>EB6*Jg*U)n ztj?Q9_|2c93-Z8m&*Jwpu5HLmY#Et7OWDIZU4hmb(RS6*=>nuLP}$(mjiPTqBTq-) zj*y>=C*Qx?r-c3*zC?W~I^fp(sNI_SPcliU;|S0A&~%eddVyytV}-4&=$*=tov!jU z`9fE8#zXY28UE3?ar0zycInb4;I5lTQp*Xyfw$wCo2t&VBXNLlM7`(!5*`n+u|QCMI(w9zs1i4qESH6 zEAcWLY?!O7;0swV1Xqb~#?D`Kc940phPDpa_@Y;Cf3eg0o1i~t(b-Uj6rB}q&F8jN zL|+{}jnY`nslWJ_XPhiI$#2PgY!Z#`qvV#|7N z`_lWKsO$1=UA8aX2LJA8O*mg=kNZR7-xk3^(O&%t|3!oUg6Drh%S1=MNgud*5R2#p zU(7l@2A+*sJlhe$%gxZL!JKd<#L0!kHFs{=I9VX)#tcrnc`2Nv4`LssFZJ!~lzUN} zyfehf4;q{l?q{m+C!J&i^$QOObc+VK0o}sPdP5?CN&ke^Qr}!_}}1*g$Y~+~Ddl+VglG z++_Z?rgk(7Z(HG0WlJO6WzE@n3><@YR9mwwczPjThxNV~Udun-`!9jlMn8~-e~sX^==%>@ z!+sw6-iyw!%h30kGj_A-`)@?*VC*I+Z+g1%Ji3SWZ(ts6uyZ44q3FBz{Ri`!MTL#}J8c<9`Moi-y|%-iXr1Iya-_=bpOHh5{ljl{d6fEIL;h!>yFWq3JZbUrG`~ys{ZaB( z8(~q5oTJQ$9R`dHPub>rTQ&F z-{|*>6nYEF+D=-{eXTd>4~*=2JNc{r8DL$uq#XH{?<1cY^-tPzBwK2~UGwGc2(D@! z&>FCxZ~8mO?-wq?Hj3vKo@scM9{Ag1X|tY{W8j_qEsD1tq})R(c&e;hZ{TC>dVvn3 zdjWjk80D&cYRe7_h36q(8TwI27BPHf3vFIUe8=l*O>E|yXo}-u-QL(s$U8;cl+9Cm zbQcGIHFZ7|netqZ=n*_q*h0?!N80cBOz8r3_r>HW?M&ml{JlWUG0h2$L3$f{6J#T3 ztMhB%O%RsHhXMK>=w`S4W{zVkB-sK!v_p6yA3tila5Ujpov?cEb_>;CqUj0QM)1gfus5P-{D$p6@e?sar&>qu*0_J9SzfY@g4(@0gnp=6#;}O+jzoK>a2y%}6AJvgV)ic0PoZ_Cd;(O=UoQ z&fS>(EA`Jfzjgmq{Tp$2ldsO7i3a=*?>c9%I~MMGXJGgQ>7mB^dQ0tm-`lr@Gnnkv zkoRN;d)7NcdAGkzSv(o$hxFCtuy@x&@oL%ejnub(~;i_KOgxm zU(xNzb}s!Xez)@bg{d8t82d!=rT0H^C=&m$zo(Y$+gh6-UZ+iW9X3ab*TwGxOF3IZ zz4igIS+9))v8}EZfwGw$17fRQ+X2KTy;cC82Ihg-aMv~g&j2?9e?D$7B~XLX1X>EoC0Qm$AK$=n}ExKdEhc&0hk8v01g4i zfP=syZ~%A+m;#Oi`+@s_eL&eA_X1A>eIPdCwH{!S-(A2iU?;E#m;{QRALhN4_X%JE zcm(JHJAuzYOO6811CIfp2A&2^135oX`x@)FTaV<=Arb84T-D4Y0_u5mZXa4&a;11vfa13|^$hn8-v?(A=vYYVfC~*$*`#A6r@B~n24W@xd zsLy%obCloD@cS6hTe`J22}}T|fUQ9KqM5#EmY(G2(er@kJO2*eCTi25HOlGHRj(v@ z$rn;9_;HFgX^++SoP-|y6||trBYcw%$>1REk^I&V&nSKi*%5!$^8KX!!=OX?0ZqP2 zBmFe1M`?PfgYK^J!J&56jNPeF@AQPN$A8*-2tQq(k4b-*Y;1F+ zKKe2F>&&ytmkd)NuG1;_Npu{x4$=X|Qs2kUO!CAX)l`P_7wPdDb}wv47=J_9ZinrK z7Fr*?E5UoO&GFhX-bE{no&%k~!eqmz{1m2khGBuxiTy{UU9DG#_9?O(nSzFC-g%^z zjqw-N27^N@jorwRC0_L)?Ko)bF8xV3E+uO>67q`Txy|=%sGCt9s?!SDj@mkj4^*A9 zHjgB<$ncwdm(H>uzgJ24Cw*UG-tXg_$!_p)w7LPmSjv9_S!1T%fp}_TgQ5P{y3vNx zTzI7M%Ya9YZhgGouFx)GoOWGoES=t3x_Q$V=^zFjjp@9vf1BE~()6+J@KE2mc*4!z zHz<7Agbye@9hBX^QxaLLFN2ScROr8+-_5D?XmirP|AKZ(Zue~;X&=?mdb3VopRjON z8yyW*U0$npG6w2T^;Z(UO|t$7dNbwQ3I8Tq$e7e=q2lxqUwxf#(AV;j(m`9)pJ{Ji zl_MQ(nrltqSQG8@>wP=i(G2cii7i17IHNpOhb{}<{1=p-__dLCXg$q?kLizsk9pQ0 z+9H1!o50D|dj2Ci``y-`mF#8iPV0V*d7c!XYkA^!3&opnGQ4=``(h*MRF~;{;b~Ig zodoC#+B80H4@Tqa1wr{8#MPdBS2DbVT{yd(ywdQt(#OQTJIk*|G!rcr-#kd0lf3`$ zE7)UA+Vc~3pJ^=1d8q8ol^1^a!{y(*i#BO)u@@do&7mpm=YUtVm7V~nvfDtRRn?b0 zPkwV4!+e(Yj{cEdliJh-9YdE>=MPjb>RIV{{fEmBU#Bu@mrt2~oHB2(*2}ZDauA(v z%_-%jd}Ytpg+6Kq?=sa#STmI`WCXj0nX;5Oyw7)=pyiy^GrGDsd`#S@p5U7D^pVpx z`S`+2dDQ(7yfS@{0m4j8k6H3-4(gNiqJ=gs17d zu}q;^dUMG(Dw}VH#$9wHmc|zf^Y+=-JyN|Q^@yR9&EW7* z_N%oNc$Z3TtF+O!YZ+rN%f4iQtVkQZ;M?`HYuaNJE~@?VBQZl?hs`&Qw~s!@;0O4r zdencX!}wYD1rm&TNV~$g(R}${b@@8_uW|EI-!^(MN3Vnr^2M@_`KLO?sCO!RU+pjX z7R5*Qk2xn4RKGiG%s&ws^C>o^fO{=|t8-D~)|rHl&qnz{NkOeH*_4e$v*V(yq!C-T~$T_~fnX zxWfC?*<@<0vci1d!x4s0aqpYgy`Q~UKRH%eW^vG+4->vhmRu9jXDp*X%zU=}rF-9e z){fyKJ{^+>YN_0T+OmnqS+5V&R^)jC`4huthcNbWtJ%`7-LZL}Dwayf)Y*r&_Gahp zl|QzA!Uu?VlD@qhzigS(f!gs&?Qg%Un$7LneR+9%aU%E7*3R5jd+}>oogn?h1aT*W zd53w|{Nt|CdBxHx-J31@pP1}`da?OYKPIxQA$(8qt*^AJ=1+!u-_q&z1nhwqvA@af zswMNGZP6OWY7Jr1eK2RrBmCB#G4iXkp7(WrD9g>k*71+QzqO({_C6s|a>swX5LxFOy#f8w;y z@IFb6#h#k%^T2C-A2BBOH@Mp^zhQm$H#D?ce!}|gZ}$J&63|rUTNxg-TRP9binPPj zk@_(&%1i2X49`q7v(`uTef?gD%fcVktJCta*svPfDt_DX6F;3@2Km3Bp8w3=tLlHA za#k=Vj!rC}RgT7)bHl7(A^-gj;`eEMZ9K<=D4yz-u&{+g*lxTQ@Giba^XEzHvqbbj z<)0=$pZpwO=JFN2N|Ilab}skOLGgY~Bu|&$-_FW!8?@w7`K4@ruZ`sA_}LhA>znmF zFFYggQS#1GS4U^pMEc6`wzSXnqxhCoPJFk{bnk}u4(XC;b9-va&}P@>M)c{Ok-CZA z)^Q~pl=s)`ccI<;AoWXAzqGB_P^5ku8}T3xkCIxOgqzZ@CdI#o_~pj$w`P@Z`iJ!D zpHI}wzYv!eQNHH4>la72g|nuAsJp{2$s!)>tbFo{PgWn{!?OYHo{>vbH|4W;R^1#f z4A<)w;#L6~+?Zc38QhBDZ(4Zu#Ylc(ULmeO=m!ncs~$=>$ea`WMkKu%C-oC;g>S0! zFv9hn$ne_Jmz|&Jz1!D!b6WGG*M@nMqK)`dC$AyahpvT>qaXbtwA9f8|`ncw|z?wpvxa+?HQ}33G20C*v51(<9DC^jk!|y$+;)Wr?37N z`^mS#yJaMwb)V+j$!li5smvtlG>)p1%IxHK=gjXm`C9B-x?AV$DR+xmyPrj_5U<_0 zaMZL%?TY)0N=>Of_>voMCSJ4jPwF4>j1DhF4}`KC?Uvt5rh9!~zbm9aDT*HT88l@DYu zF>S}|Dc1C-7GnDYZgjC8O0QO8tmA%Yk9(T%(}bty{e$5n%(_P$+4~VEruI(qo=E3Q z1JotKx~Ojx_S<0OTVTKS`2SFkS6qtzn*7I;d?OE~R~_=ib@^}PeIs!c{u1s@zslVA zE`7q*Qj9ue30IlglT;kZd9EHS__iK7P2WfCckK(Uo60@f3ct`FrJ)z27UJ z_r6y?o%mjP8mM|pzoIw+a6owwH$|IG-}t*~NBO33>5~*TWy>-7dim0CvR<#2pJVV& zGS0uw!o9>beB^l<&pe(s9&DLB?329L@hs~tXp^Mcm zjqQ;2OQX6OJOdAg=_9ARbA46sBiiHYA|55-BWFyGvX?Mw^lS<5z?nEcyAxix-{A1c ztq-4UR2TB3U&<@$bqUW4zXg6JM_qEZ&)2)Lu{^d%|2kgA>HB0S7xGJu^?l;6#LF~U zUPiQJwr*A9dEcyh*7>V^P+l~vp5KO#$y3j~t>30dJsn@woD0fMejZByX)VP)5-IjF zWaDJce6Y3&rY6&+DnDm`A4J?$4G^&WvQHMT$5 zkYD<3bn~*2arWwyF^lWs|Ii&tA0T{HpLoUaoRY>(VbVdIk@RRU} z_FZ~3>Bp9#M-onrAakvO*NCMySJ(@xNmgr01^2GuUA7U+i|q4~b|8NrJo$aK!Az)^ zh_PQIU5LiBhwvDAscwHm8bPPOI7;6+9f{LPquXoivO0L`VD}O-)l6}UyHSI9CN8<8N~IgTfe;YqYdfGcO&H+UQhO#;Ln})vcq|N6S~1E=Es!n<4M=o zPVPtt3i86y1sXKWbnSh9Fwp6pUi5vS$AkdPrcnUx-|9qlgQ8;X#WOVZ%5A@ zP1PKJL1b<%C%)E#Wj4N}w~8m)Bwd2=KbeJp=WY}CdpWiWDb;(d5nFXSu>S}xTbwT7tcY(r#)@ILA?$@>ke3&BzT&!lg)>V zJ4in&Pwj7+wxdIt%ljy4#cOA6+F|?NoC?YcQ(VsJoRgia(n~M=2kJ}SRrWo^@k!&` z^zN<_?R&a%l;&4hYtJ*z=j}K@#k)rueOJ6cqzu({xAG44J8k!ocXTf4_Yu;aAP=2$ z>LvcRNc;nYj}ty_%h2xvzXN{DeqzYBp>D^)S|Qr`F!7wOU=HJ=`plvI`o4_xYi)j8 z$s=X+*aCg}fGzuzynmj!vh%C!ph&N83BGA9!^hRRPVmw3zW?Vn@Ya2dAkVM!{2tHu zc@k_4y^%-vXXrlpvyvr+Pt4l^WR2GeCzI^IqYn@c>7IC<@sXXc>2K`=Ieiwi=rA(o zVJll6ax!MFRJ~h!Jm6!3HK2=pH)9{t1AM*Ol*?3PW4po9V#(~e_qkO+{1n>n+W+pd@7n*C%&GVp z#RsPH{yLv=j`oQrg?0*|T|&D}=f*+uY71pJodj!-8E4_ZgW$F7oCZ>Nn{yLGybtsK zCBCnvJaO?WE#ThaZDmnvZ(_d)~zt4N1Rl?@8&4%oFYDx%GCC`Ec-~%m?sZ z`^K6NpOEhu%GCZ%+*>(M^0;Jk#wo5n*vsgjUu7QTm+kYJwaJaQ{#bRnm2Mn;njMGx;yg!KZo$EZF>$Htsd|A+f*xnzMk6Rz)qv1~}| z`so+xXB4k9y9GPinY}ihdAa!9*?W<>6XN&?`M7zql6SM#WHnFrf?L`faPuVmJu^@E zoe%NmS4ijP$;~#80dEKMWG2p=`0nOO+Qu0sj`&vLXjgr{h!56$nF{9%^Hn%4-Jkdy z)yd7DGtkJH`J;UeH-A)bH-EIB;pPu?g!gd%aE5{RcFVVtZ*wXun~ShK>HJK2_IK3Q zMB{u9`w;`QPh%LTJ+txO@h0MvJ_@dC99aV`-tVYkTYfIY`yI8f^FAnChM!{oc(0j- z%aT)s&&Am0l5}FsL1(ATdu1@hjmfmW9E1lZhpB4VEGUG44SaBV6yp!sy?>=!|n1j6yzNyWo zOz^6ewBMpm;&q2?UGzIDpUBSJ@fWTv$Fo2?P1!m_a93n}96o)FZ=2v7PNz7dBHy7| z^bAF8cLHRLbjTx{dqeWj&P*_hjJ_H7ayzqrP(4JQ4%s@%?pr$X1CjnxADMGS$i~7E z*`u0v<+fuh9{K{(xJkZ;pX&Yyc}DSbZi+m~S8ZKRzFrXWDo@ZB-^Y%HI}(~n*US4{ z=rH_7cOUOmCJXg%0r+y4dH`yHOAZw&X##W!jn>2cPHfj%#O3OX%* zx`}>><%050?b-HUCJY>DbF^80OOc&AnAdUojq~`NXU%TAKD^IjmEoD+$oZHe_aYSA zLOdF?P`JK<@=uv{B=kLUe^ZDj>vy7Kq%YK;_%ktm*5&OmaG1LpeAa>2y&?=hKM_=S zKYVQ|zH~=vpg3ChFY)O)9``z~LT1=rVz^4bN8k9&lURVRkUBIi+))||Lc6)9;;C9Z zm;#S!54J#U#bBQ1PLn^i;Otzd|9HE(o2e(so~DOiWvyNGkH+=CIPW?2orh`~FVaDf9mD*Kli;X@J!*;!mKK(xH z_36IQW=Ugl^5{b~*)Dzc^`n)O{v+jS|9jl^jy*wcwDQ2KuPzn$!OLT7Gqz6lW%B1C zzUYqfSLlcJ;Ojc*t@w!beqqV_RN++`r*(sj(bCb7aZ!_PPc?*Xr0%7Mm*KQoRg)4v1N^ zIwy;yeV5XaM03HWsfG42`=NEprEM4^4piuMjJK?K#*1TZU%zcfM`h5p=5FTl~i=N(%uH>r+ z`JVJTjJ;i8kuhtcA5HvZrgD_D;#Wf42&$Kp z_9*Q?#@RVn?j+~sen2`CM>Hbfj4E~P3G(wNgY63>*C|isr8sp+c`qctTqLiJL9 zH_*4L#_?i!qrD8_O(!_y##dwZ-x)9Un@_*JmVPP(^kGWpaJMsVcgpV9=&N5(_^Vie zg-2cBbqjcODSTb-Gxp?l3_MhujzUjX@NJ6Ule}kmKf(KP-d#WHjH1I;;qA|Zuf`vH z@S!ia2fG^fgX*At@zdIqzWUqL`}R^S`A7*Kp$v^LpXb|2JKtXbzZJ!u7V2|u7Vc>6 zR((%0=VNxZLWt$(WeGOk4&lKUQ zKMP-(LnoF+cLF}hZ@qZY=A7(g*@LonvRbdN!e7+-$Ucf}PvxsnwofWY`oXjI9bUBU z4Ev*6!<65jGFNr(-|;;PJDa?(&adeV*R3DkR?(S-lE)qsbC*8cuQbO<>(Z4-GiG^g z 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�VD%7&O|8P5VTf`d%bjYN@@MJClSk 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 io::Result { + let file = OpenOptions::new().read(true).write(true).open(device)?; + + let mut fix_info = unsafe { std::mem::zeroed::() }; + ioctl_read(file.as_raw_fd(), FBIOGET_FSCREENINFO, &mut fix_info)?; + + let mut var_info = unsafe { std::mem::zeroed::() }; + ioctl_read(file.as_raw_fd(), FBIOGET_VSCREENINFO, &mut var_info)?; + + let bytes_per_pixel = match var_info.bits_per_pixel { + 16 => 2, + 24 => 3, + 32 => 4, + bpp => { + return Err(Error::new( + ErrorKind::Unsupported, + format!("unsupported framebuffer depth: {bpp} bpp"), + )); + } + }; + + if fix_info.smem_len == 0 { + return Err(Error::new( + ErrorKind::InvalidData, + "framebuffer reports zero memory length", + )); + } + + let line_length = fix_info.line_length as usize; + if line_length == 0 { + return Err(Error::new( + ErrorKind::InvalidData, + "framebuffer reports zero line length", + )); + } + + let format = detect_format( + var_info.bits_per_pixel, + var_info.red, + var_info.green, + var_info.blue, + ); + let fb_map = unsafe { + MmapOptions::new() + .len(fix_info.smem_len as usize) + .map_mut(&file)? + }; + + Ok(FrameBuffer { + _file: file, + fb_map, + xres: var_info.xres, + yres: var_info.yres, + xoffset: var_info.xoffset, + yoffset: var_info.yoffset, + line_length, + bytes_per_pixel, + red: var_info.red, + green: var_info.green, + blue: var_info.blue, + transp: var_info.transp, + format, + }) + } + + pub fn display_frame(&mut self, frame: &[u8], width: u32, height: u32) -> io::Result<()> { + self.display_frame_at(frame, width, height, 0, 0) + } + + pub fn display_frame_at( + &mut self, + frame: &[u8], + width: u32, + height: u32, + offset_x: i32, + offset_y: i32, + ) -> io::Result<()> { + let expected_len = rgb888_len(width, height)?; + if frame.len() < expected_len { + return Err(Error::new( + ErrorKind::InvalidInput, + format!( + "frame is too small for {width}x{height} RGB888: {} < {expected_len}", + frame.len() + ), + )); + } + + let Some(clip) = Clip::new(width, height, self.xres, self.yres, offset_x, offset_y) else { + return Ok(()); + }; + + let xoffset = self.xoffset as usize; + let yoffset = self.yoffset as usize; + let line_length = self.line_length; + let bpp = self.bytes_per_pixel; + let red = self.red; + let green = self.green; + let blue = self.blue; + let transp = self.transp; + let format = self.format; + + for row in 0..clip.height { + let src_y = clip.src_y + row; + let dst_y = clip.dst_y + row; + let src_start = ((src_y * width + clip.src_x) * 3) as usize; + let src_end = src_start + (clip.width * 3) as usize; + let src = &frame[src_start..src_end]; + + let dst_start = + (dst_y as usize + yoffset) * line_length + (clip.dst_x as usize + xoffset) * bpp; + let dst_end = dst_start + clip.width as usize * bpp; + if dst_end > self.fb_map.len() { + return Err(Error::new( + ErrorKind::InvalidData, + "visible framebuffer area exceeds mapped memory", + )); + } + + write_rgb888_row( + src, + &mut self.fb_map[dst_start..dst_end], + format, + red, + green, + blue, + transp, + ); + } + + // fbdev mappings are device memory. The writes above are the update; + // msync can return EINVAL on framebuffer mappings even after pixels land. + Ok(()) + } +} + +fn ioctl_read(fd: std::os::fd::RawFd, request: libc::c_ulong, value: &mut T) -> io::Result<()> { + let result = unsafe { libc::ioctl(fd, request.try_into().unwrap(), value as *mut T) }; + if result < 0 { + Err(io::Error::last_os_error()) + } else { + Ok(()) + } +} + +fn detect_format( + bits_per_pixel: u32, + red: FbBitfield, + green: FbBitfield, + blue: FbBitfield, +) -> PixelFormat { + match bits_per_pixel { + 16 if red.offset == 11 + && red.length == 5 + && green.offset == 5 + && green.length == 6 + && blue.offset == 0 + && blue.length == 5 => + { + PixelFormat::Rgb565 + } + 16 => PixelFormat::Native16, + 24 => PixelFormat::Native24, + 32 => PixelFormat::Native32, + _ => unreachable!("unsupported framebuffer depth was rejected earlier"), + } +} + +fn rgb888_len(width: u32, height: u32) -> io::Result { + width + .checked_mul(height) + .and_then(|pixels| pixels.checked_mul(3)) + .map(|len| len as usize) + .ok_or_else(|| Error::new(ErrorKind::InvalidInput, "RGB888 frame dimensions overflow")) +} + +fn write_rgb888_row( + src: &[u8], + dst: &mut [u8], + format: PixelFormat, + red: FbBitfield, + green: FbBitfield, + blue: FbBitfield, + transp: FbBitfield, +) { + match format { + PixelFormat::Rgb565 => write_rgb565_row(src, dst), + PixelFormat::Native16 => write_native_row::<2>(src, dst, red, green, blue, transp), + PixelFormat::Native24 => write_native_row::<3>(src, dst, red, green, blue, transp), + PixelFormat::Native32 => write_native_row::<4>(src, dst, red, green, blue, transp), + } +} + +fn write_rgb565_row(src: &[u8], dst: &mut [u8]) { + for (rgb, out) in src.chunks_exact(3).zip(dst.chunks_exact_mut(2)) { + let r = (rgb[0] as u16 >> 3) << 11; + let g = (rgb[1] as u16 >> 2) << 5; + let b = rgb[2] as u16 >> 3; + out.copy_from_slice(&(r | g | b).to_ne_bytes()); + } +} + +fn write_native_row( + src: &[u8], + dst: &mut [u8], + red: FbBitfield, + green: FbBitfield, + blue: FbBitfield, + transp: FbBitfield, +) { + for (rgb, out) in src.chunks_exact(3).zip(dst.chunks_exact_mut(N)) { + let pixel = pack_pixel(rgb[0], rgb[1], rgb[2], red, green, blue, transp); + out.copy_from_slice(&pixel.to_ne_bytes()[..N]); + } +} + +fn pack_pixel( + r: u8, + g: u8, + b: u8, + red: FbBitfield, + green: FbBitfield, + blue: FbBitfield, + transp: FbBitfield, +) -> u32 { + pack_channel(r, red) | pack_channel(g, green) | pack_channel(b, blue) | pack_alpha(transp) +} + +fn pack_channel(value: u8, field: FbBitfield) -> u32 { + if field.length == 0 { + return 0; + } + + let max = (1u32 << field.length) - 1; + let scaled = (value as u32 * max + 127) / 255; + scaled << field.offset +} + +fn pack_alpha(field: FbBitfield) -> u32 { + if field.length == 0 { + return 0; + } + + ((1u32 << field.length) - 1) << field.offset +} + +struct Clip { + src_x: u32, + src_y: u32, + dst_x: u32, + dst_y: u32, + width: u32, + height: u32, +} + +impl Clip { + fn new( + src_width: u32, + src_height: u32, + dst_width: u32, + dst_height: u32, + offset_x: i32, + offset_y: i32, + ) -> Option { + if src_width == 0 || src_height == 0 || dst_width == 0 || dst_height == 0 { + return None; + } + + let src_x = offset_x.saturating_neg().max(0) as u32; + let src_y = offset_y.saturating_neg().max(0) as u32; + let dst_x = offset_x.max(0) as u32; + let dst_y = offset_y.max(0) as u32; + + if src_x >= src_width || src_y >= src_height || dst_x >= dst_width || dst_y >= dst_height { + return None; + } + + let width = (src_width - src_x).min(dst_width - dst_x); + let height = (src_height - src_y).min(dst_height - dst_y); + if width == 0 || height == 0 { + return None; + } + + Some(Clip { + src_x, + src_y, + dst_x, + dst_y, + width, + height, + }) + } +} diff --git a/fb/src/main.rs b/fb/src/main.rs new file mode 100644 index 0000000..0a2318c --- /dev/null +++ b/fb/src/main.rs @@ -0,0 +1,41 @@ +use std::error::Error; + +use crate::framebuffer::FrameBuffer; + +mod framebuffer; + +fn main() -> Result<(), Box> { + let mut fb = FrameBuffer::new("/dev/fb0")?; + + println!("Display started at resolution ({},{})!", fb.xres, fb.yres); + + let buffer_size = fb.xres * fb.yres; + + let mut imgbuffer; + + let mut t: u8 = 0; + + loop { + imgbuffer = (0..buffer_size) + .map(|n| { + let x = n % fb.xres; + let y = n / fb.xres; + let r = scale_to_u8(x, fb.xres).wrapping_add(t); + let g = scale_to_u8(y, fb.yres).wrapping_add(t); + + (r, g, 0u8) + }) + .flat_map(|(r, g, b)| [r, g, b]) + .collect::>(); + + fb.display_frame(&imgbuffer, fb.xres, fb.yres)?; + + t = t.wrapping_add(1); + } + + // Ok(()) +} + +fn scale_to_u8(value: u32, size: u32) -> u8 { + ((value as u64 * 255) / (size - 1) as u64) as u8 +}