From 6740bd23182eae3e29bdcd34ee06663385ffa7ed Mon Sep 17 00:00:00 2001 From: Klagarge Date: Sat, 6 Jun 2026 17:32:45 +0200 Subject: [PATCH] docs(MP): init report --- doc/mini-project.typ | 47 +++++++++++++++++++++++++++---- doc/mini-project/deployement.png | Bin 0 -> 140919 bytes doc/mini-project/deployment.uxf | 3 ++ doc/resources/glossary.typ | 7 +++++ 4 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 doc/mini-project/deployement.png create mode 100644 doc/mini-project/deployment.uxf diff --git a/doc/mini-project.typ b/doc/mini-project.typ index 6433d3d..00512c3 100644 --- a/doc/mini-project.typ +++ b/doc/mini-project.typ @@ -44,13 +44,51 @@ //------------------------------------- // Content -// +// +#let general-architecture = [ + #figure( + image("mini-project/deployement.png", width: 100%), + caption: "General architecture" + ) +] -= Mini-Project -#lorem(150) += Introduction + +The purpose of this mini-project is to train different concept we saw during the semester. +We simulate a fan controlled by the temperatur of the @cpu. To simulate this fan, we blink the status led. +The @fig:general-architecture shows the general architecture of the project. + +This led and the measure of the temperature is managed by a kernel module. This module support an automatic and manual mode. In the automatic mode, the blinking frequency is automatically adjusted according to the temperature. We can switch this mode by a sysfs entry. In the manual mode, we can set the blinking frequency by writing in another sysfs entry. The sysfs also provide an entry to read the current temperature and blinking frequency. + +Another part in this mini-project is to create a deamon in user-space to control manually the fan. The button are read by the deamon to increase and decrease the blinking frequency in manual mode. The deamon also display the current temperature and blinking frequency on an oled screen. The daemon can also be controller by a @ipc interface. + +Finally, a tiny CLI is implemented to control the daemon trought the @ipc interface. + += Architecture + +#general-architecture + +== Kernel +- everything is linked on regulator and main +=== blink +=== temperature +=== sysfs + +== Daemon +=== gpio +- issue devicetree and solution +=== ipc +=== oled +=== application + +== CLI + += Future work + += Conclusion +Fun, but not enough time for more over-engineering. -#lorem(50) //------------------------------------- @@ -58,4 +96,3 @@ // #heading(numbering:none, outlined: false)[] #make_glossary(gloss:gloss, title:i18n("gloss-title")) - diff --git a/doc/mini-project/deployement.png b/doc/mini-project/deployement.png new file mode 100644 index 0000000000000000000000000000000000000000..6c3ee470022bf3aa1dd8821645e5d253986947c1 GIT binary patch literal 140919 zcmbRp2RxL2KNm6*kw}FK(V`+Fah1w;cFC%gQD`9BT{|UZkLVP#LJ~5srIeMC5GpG> zS=sORxxw*o@P6LU=lvg@-}Bx3_kFHo)DN&Q@h~k|uz*ELQ9*0Lg2jFd7SPEu(8F&& zX>O5Ruz+oWlEQ8sN1Dz$*5nh%jTZfAjjEwp&-oUA^sU-!2i3&^cRCu5=r0#jV&N9C z|L$`?D)>V&_P+1sSo8@kuiFV6-a@5tITs10+J1oTT( zsHClWj&TXsLKgz>_c30JU*0C=$Jc^z`Ci7*1FtfL`L|QC40!}u1ZNTwdkOwYSQl?4 zbSTf=Ew(v6lt_S^oAD85r}ivl`|gKLo(EF6VrC1Wwz1_4h|;zb_}q!UHtuaVk0TJM zD+KYukz14+i8LHX72S%7h&*KbWGPvo$b$ZcZfxh@aZKSj7#D1I;)GD0UAbB=_osz} zgdZ+=wkPc+&pIbCdYBFrkFtRYijImV7*DLspIJu218s6vm05=0I7vi^uHI7^@Cc;-RN($2aE!1b zI(Ckyfy&{rCw#CsHn7v67BX(CQr#vYAyLY0<0%RvH^HN#XsSuW^)Ipk64Qn#V0o!( zN~)Iz7}m}BV1dDrkHPADmBK=NSHJ&0XQ)V~OPn8wMPsJT#(z5spga{2b#0Hh-?GQ5 zo>N8-AvDgFPG|pLjUCR1R@~Pw)xb*dwl8}4sfCb;2TQ0rJ|fccOdpl(mF8lZD3+BB z>VJ$bdOe-EuidHY*MewMb@cXvRhPN;GFS+&K)ru7gxl|Cbu{gNY%a-%pqHXTlspd#?PKQ`qoFAh;6Qhk z-sVx3N&R#m47urXn)6dqOa3s;u_=^EXX9)bLDfGxtEgZJHgHtd=4>7{a4i-#;cIVu zW0j}APWtd43eAv){p_Wx+t@>|GO#fKGX)51Pq6LYtHgZ6RCz9nLuF)ZI7?N_67#AV z*(@|b1D*`tF)zokJJ}y!M@=By5!%lxe-{OQAk>9Tk=(RG>)4!iiUcA8(|b?zDD$kB zq;`b^jNJcr{@=L(rk59XYDzm7TyX*HRzjAH z^{KQBsartq2Lu@ofll9kzhN2C7RKlkET+YPBp-k9Lc&Hsp|*`N?kL**K(=jhcU$$? zOED=vw@W~kG11t#xob2o4Cv*s=huELx)qej&Zb}`OF~4Xrj75?gX#pbi<=Vmzxzdd z@FB5>D;#MV{D4}Ke*PQM)ma1^6T-~r4iAwQZ}kAdG?fQpC|V&<95WQ*iXmd0X|6NR zAQ2`LJM#CV!FO&~8j}dPO;AP|jT>%P($~)&{>-BsA}P6!$^|jg8Lpw0Gx(?fDk42t zzHMTJ@PCnzF-t3w%6nH=Jwzg5MiK+JX}_mlV6f}vju za(45{AqR-hs;$3r5&@ePyCHc0DG)#b-5Ikp?l0v}P5?W4+{smH4GoJR#|4Q^a8x_H z*b*vK|8@{OBRK_5@b~(>8;e#22 zv)+KBO#v(6Q+d`dk()*EiAr|^$+AoV^>-5k4o?%9cs)KEh}_PG$ou`)c93_iz{oQ* zPQts>teeuy-e2;S_sVZNtwOmJjOvlcK+f(f)} zX*uQ?NCPRT095cSH0S<~8WDO#Xz`%{OXjm~Ee`(MJ}20-_$5IWo;|we3?6$U|5O4) z*6BaV6hJK&0HW~tm#iul{Tz;DGR`JMofJj{&1;S}Z%Pzo!L&3zUJ?h0IDu3Zg@&FH z!&$HhUW{_!ni2!j2TTgK=5IPp%TcPzerosYHE2^)IO@IDaPo0LaI+}3jrz|@S!hJ4 ze+EUIO?k+{iUe+CWhmoSX>?iFft>-np0)A21`pZWlUL06cBxvifx!h zh`(@#O&b)V(0;SD{}mq}eT^=nPVYw3&qqCJQ13y|4h6iqx*5_Ll4J7Qgm?JY8C>}M zaY`*7hT9XHPs-Ga<;9qQ-%^JIX zP=C0qM!q_M!;r#cP!hrc;C^m0f( zQx4MaBOiT+PGCli3XuIbc9<>%fg9HVR%A=~UqeiAKIacvYFyyye^GogzcxWN%Ipv? zA3OhCvfdf`MM4|b0)9%|+&bEwre~TEM1=mXo>O0D;^e*`5m|caoe)Ka$T{&9w$mHu zh>+fL2wGF_?3_9jKHN^nl9D5YIHZ60Gel5Nfyka-a`p6gl?k&Q%HPO|Hv`2KObRD^ z9Gnnc;oK#O2pvHkPT0A|6%hg4HPp5_#eURfLV^IWLUm7N5G}*aEnk!o)&Hy-$05xYIToff6^Gr9$7WKC214QA22W%wxq2D+)aU!SNV&P45gPKN8GrvT zV&+3-a9jAjhlp3eub_ECR`97qroGhEu`|&@?+1C@X0SMl?V2Dz%N!{;bryVJ(*@H| z;lEli(46|$|H6CVG`_%0LM@ehFPj7)3OtSvh}K57d&nW)5N z;(A7A=<~Vq%Us4mi5cHK`$Z>zingWI+NiL~kDaaxZW1*_57V9nqWRQ%#$2U{BXEfU zwQUZx%U_n!SG==ay7jK_l3o3!sgo0V z@C~YP$g?olu-oPudf>HDtzqYlWd=VTD}P#Lyi>3HDxbU5u4WMpC6}(s&dJpyF%NDj z1JhJodUA$52lVp2d@9RhU;3Rb43!CP^}Gf8?0`t(AH2ZajEYc z;XU-!N>`>M;mJs%L~pbeTXm|Xc1@af?J4cTD=aHVqTTYhhu@JKZ_{`l<+h>0B+_=2rbkm&!(eFj`Wb4kA z>}os4H+rxpp7#QR@4_xRC$;6Cb@p<4aC!?Ep*{npGRqodp9f`2c^aghq^|({irRcQEz(zAMnpI7Ok~fMef6vCN_V%Z z**a^FjJ3+&lk1OQ-F)_{3Oq?z6Q2_z;g@P|3n?;{;rJec&8Getg#JIWjn}}B6sr|pWiQNl`86hn+Jnhl)G?&VsGsSXxeXR1T>Bl5uCm{vj)?Zg+> z34XVstcI>oyp@;}(7gP-b(!r=4J5E;rUR7_KXaL4H}I!uDmkXqlJw#C7MC0S<<`z_ z#Xuv6Lnc1!Zb_|0#b+ zacKzEdt~sm(cc5X4{r@*uuj4bgW6)^u$gn!UIbB&WkHj*N*@yr`QF+!_=&OD!UBPa zdq0HJVg}uUnE9qi41WBlJ07J+dyH3kbZs0+ckf8oN~-F}Y9V@@)b$V{?;72G!h!W4 z_WnO?lUa`#IJ#hy{`*{;Gg?sa_bA3?T>JJaol%K4ok2zm6ExjSvi?`HOjqHudUCUR zdUfOVqPTK@Tt-+#tijtI1~->pW#T-2X5G@;eiTVShz5uMCMmh?MF=}zU#{I}&rhjCN<)Hn`Xl`RxY$?n=Uu z`UPkKnnP4-g~;ZgBN4(U6nIUI25t@apT48@E_)Glx{%hZ2a68!mjQIDLlHEw9A7gS1NVq4Am1X_d(Q( z4n|^V1IhCFI0oV)38v!sH#aG@02GmWUJyZaxbz^Bcy{@BWosVg%#^aT(`F7xM>vW~ z{Fgn)EvIdf^!sdIWz;q?+G88RuI-?JhSvFhHi*zrAqS{XwwPNwT1K}-y6JW| zOT(e?G1yt8N)+Oh<(O6EgULeu#{imv%|hjibcvICjcwleNc7~Z^>TN3otp0Co~%bW zgLVNn)jW|zn#1kO#dzm@D%j?mgo5?=J_j~?Ob&UJ`|BH5pD!XBMd-BbRdN|TA#_{o z0tn`eBmX9mBqrLrbsXk0bO-Am#_RgyIbD?zQ7>9RG#8)jo^R~Uz!sE2coII4kb30h zm0YJZo4Sztp8@IpMtw*yz`-H*BLxT$(A-Pi#UVBtprSz~4!?0lm~etqYgiyy^Gf|+ z4dZnUQQ8{2BzBE_f8bV?vj)TXYb_ct4eDNWD3q!vgqv$>9H5rr&{fl)JCtMleAo8v z+uNc<-7GVk0}d~DC7MtMacCJut}vfUCoV8t+dVgG<4(}+u=yNhJP@b9IjA4P0<{wN z!6)Ux=HbC0c%qTkwP~9(%&RUh;&Tk8aCMViNG@O)W zz%G@4IKUTnOZMkmySHnu78=)@-*YP)8R#fKWFF=(*B4w839;$<=Lg>#WiYLHu9dmEKTKlFp_L$@+xardJ~~_uh9xj}@M%(1sBNyaZdFU& zj{aI(kI~xL5ij8fu61YLtUlLgWM8S<29dO)hQ~;GdG2U;s2tdi5;wh^jIUQ#mTBJ` zsj&NkTNK@RYv-0QkBQ;R<0c@8Z?!hyw`o>PjGY38%4qV+D?$WJPWq3}_pglcw(`Yg)#3QA* z(N|Y0^RVxjop_es$Hx9WUcrQ*2Wof9jeTW(*aHd;RN%99sjV%8Fum-^)ztw@Aks}O zksB@CXMlwCO}F=+kiQomuHNHR;-WQh7`-K@zwDVyHpzOb?}5NZK*wt;k0+Xz2h5H> z|K#DPHOUR`qfz?V-#FVopDR%_8T-an?j>0tWRo{O*#DAmLd?1$*KM#P;wo>*xR+36 zYoOs-CFj`x^@|K(pMQiMF*v3WDuVwwhGduH08{{}-dBZmD@ z`P#NEY!Q(y=yFuc{3?jx4tT*D{yexymsm5{@-Gwk-?*O*19D2($7v}`qcOLrd-iDC zCQ-JC2(#f!aRT!RW3n12bq}s0a)?55|dmm@t>YXBM76y|J})*uEs8& zHS=?JIc6mp5DG-oc7^gA>TCxW4gOAivyB{)1-IE3&X*O-kO1U+vo=(Lix`8b91szV z-^9TGf#(y5qgmjko?cpkshKu1LH{De(_+mQbPcTs?P4Vh%xvH{(!8EqSa>iO!k(X1 z7!>shss@B#b7dtOj|3xpS0$(a;6B6KIr>Q=seH?$AS|!# z9>S`b&;FN1p#Un)s2Uw1@bHq=Y%Q2u(vD=pJE6M}`9wujib@fTmffb%m7=PD#-{@5 zp)T2XY+7`HH+Sa4i)y6!W23Z8fkZn$QGOaKU=YguM+;`K2lolg5_ao+1OXm<5GJP!)(USy;@5dh%uU0HQ-b6> zI5oMKk?r6i!s;nZNFV-F5S!_#iGqXH1aa~-NObkooohd2roh3BXcW7Z@FC@V`RZJ;?mMIVnK^q82+jmt08hK>t*4W zBg*J^Pwd@kVis0zM^S14B%=L6CMmL4ffTCbRMrvsnuFRu-wV|TUL<%2)~PF`#eL!(oB%e zkAY|!pv>Q_!L+2!s=~g4c`o*oyQ0=$0rpZiAC$sJe#S^f2{pcVrr@&4%bU7t45`;$kYGgJT}2twwV*(y(#AV zt-;T0k`@`d^CJ!2AwZjI&?L>#yiiaUMp}@u8y_MgY^iHZ|5;s`9RtA#;a)J? zK#krh%|$+x-o?&sIxjQybnFQqwa^{*Tv3e$5`K2B3$IO=aQRcQr)Qk|Uy=ZENrqJ{ zjc~R|0J?Q6U0fIXiGT$xwAZF|-T4!+rgJ?Ao*@TAc|Q-`_`Kl*RRh*Zq6vwVIWrBRfP+{*p%@9e3m64hB8Y}x=5f(usL;GNA1t_(qnK33f#TbhC zle`l^YN!Cy{}6U;1}2#)@$ivxK=?DCDS1;Lps!Hu%5!ibWNVc!C8a=*qBc+*A?4&h z2Vu0HF!rkTYTI%B$SXdb0Sdc`QZjElZKncbgXtf$ic@)%+bhJE1LH!t#Hi<>k#qm4 zqLi6`2e7!+j9*v6Fi{~nP^X~sHycO!4r$`w<5IPR-{KTcVw;@WSp0<=h-D+$R9cvv zPAS|oVlfr1Qy+1b12e}S*h{z)v7-2WoeD&XhidZIQ)yv^sHwtSwZTFO2(0pB_rppI zyWNr36uVWi-c(?&M?ekD4#rZWl1$wPP6`*;s_BqOo6jYN^y8*c{}-bugZ+B(;F=Aj zS>Of@?gO3d%&Od9oe`1B&_)yYt=MdpZ3H2(gVHZ`Q%4$&Df*K?%t5hF!7*l8;%k^X z4(?UDCc$xGIzA_&bx@CRbq037Golc(6bbZJWpsg~t}&+Rn_(W%%8RL~^JmRYPy;Sm z`_UU99oTJBauhZJGNzU^_vVTmj2D6ZJ?tC9X(@a?GvzEL0$k3NK^>wa*!{)h)54_! zcE>Z@Z$j4oa-Sw?K;+ZrFQiKV6gmGVv;Bd*38$KFIfKir=&%%rhep1d6?gnQGGl>> zU`w`IopZqJ7UAsgDcH_`^5j3!5MBY8B$#M$GepH&_w}vo^xaoluo);L;WY1yVwiVR{hVsKD7sU&GD|~Ad(25m64kcvP`S&jh5M`e`_vH1vT34)W-9gH zy)_N$7-Fezl)RJxOBK7K0s;>O_S;i46l9M7HoPU?VU57QMid~={r!1AE*aN{3eqt!yoGVME-8h-7LWz@=u-$FyYSW0a3JJiRm(5R86ZlqT)VAPj#r*G-(=zCwAe@cQ9bS9eAMM5>c<8m(;-M=i?J2c@S=ukQl;+}J<3h{> z!eCdeuPD8B7jF3Qvqv(89r6n+d4ux!4tpdmK#{H{|Cr&|*D}BT`~6TN3}mHfht`W$ zdQ9&$vF3V%k9?a2{SmBViZSnNvTQdq#LQuGg(|8-pNDkY&is)e(m25lqv~h4vEL@Q zv*KieB7m^}XdfF5%9=4KkXj*tum9A3_zukP>{S{)$(Dl}o+boQ+5Rat05s6^0^_DK z4Ev@CDYCFp*i2Z9B3A0CVfww2Dw^6siSMjTlP@LQi#mN;41-oWGp5KJV ze+~v5iPZ6DfR|prq0>E8$^)r_kUxtSx*BkJXDmNG04OeK$~#v}jYLT}WP;<|GGnsC z_(0n$E?YW2UbpkT^FNR+LHr z4n~K2HzbM92X$)E;82Z;FuRa(g}UGmoOsEQF;^=Qg^b}JkE)tC=_fLsckR5-W~32nrbXpYU>Q!cDC@r4ddjL75{svir-iEZ z5^hCZ@iEljZ$!a~ovvc4p+~~z??Fo`Bgj(N!4st0w1hI0+&n!c7VdTNC|}_`hZv$7 zF3kK|^F&N7kS0U?m{89xY~&2Y|0RSJq@@6Y00Wh(xhfFF-b}Gu3b9OgKFQ83T+Sz& zu0fii6Ff1~N2Bd%<`GTfOaX@rn`0;uG|rj!<~#~VAU#m6Vi8oS{dI|Gm;Rqy!QukY zfmmaK%zlH3siGD^#Pt2`wjGHR=<9%lvY~`Tx`-*#F`~#c^5M6kCS@f6Mc~n`bTUB4 zVF`M&>{3pU;pbmV`4ZXg{y{6$z(8AS)f&!tdh%hy#<{{HtOwHgSmhzrvZo^EpgZ%h z_872@vCCX3p7tA)B9)~kp7Zyp0q+2ueCo?X3ZHLo{NglM*eUkB3C73-dImHh?nJKb z%ma2Z-R&S^QM$VPaK&8bo~Q1nQ#iJtLpV0VEcH_Oj9BsM2fZk&T7WV;W{%f`>5xFw z^o}3(+#xQTPG@eHI-pQx1UD1Qo^l3GN4{vmFVmxfBoh72hl^bS8?p6=ETyq-p+%S} zWdF2QXTf9nyjPAPPQR>WdOOqF{IxJlq$=(RQt|_6Zw7L$7D0`B3x&u@0sOX@=$;&f#zn2QGfqL{%((#uPIj zUY2G9FI$R=$kH_b+rgJ1nig@T@h7GOMGQgnuDQ}qulIRO8#!N}i%6>wSZlLA$yZkI zBW#~x?EWc-6uT_QaI*^IqxqsJRPv#5QtJ)eE>l)mu7{oVAIuQ1Sop5vlz&?GbkVkv z4>?+}xa!N;+v-C}Z}8-rCcW5c4b920q^c*;IlLE*y?0Ol6O=m_JMW?=|GLUnY;uuK zj`3t`PWTY=yQIDJDGq}klO>aVr>jQUSOhDN5a7nZ`QtxljQWRhEui)bxI|_t`Sy_| z-}k$V{ND9LzxB1GpVZ=@rorh8&*+P&=ov-{h-t`x zg@y>tH{~wMIQ@80Ck-rvOrG_hZ#}p#Ck@9}WrrT%(c*x?wc$J4x3ylH$*a{h3!hI8 z<>j0btwp$qDd7#8Ka=N8mzj??ZHkLkF`)>Bvu{b7d8Ve$x4tp{F90Ig#@7OI&l z?EOPo7k7m&UwW}chEDlX3qzn(W0MdPE#tZw6e)(4;>650iFFTuD8AxzlcQTRtaLE)~I4{s|Vsx5IsUmJDZ~jdi+r`#onHl!e_Wm z-&2{LQYD&*DM6AEP5yj@P*I`N>bAh{Fo2p~C9mUrgrYoT^vO{Xem^b~PPBj%F^$Dr zNlV-S5yC4v)fpn2N!u>7I3}LAk?pM#zN_!S-Axs-hmMYU00D#}~iEcD{J3ef!WtMk#rw)S&wmFN{D7`(_?c1a%K{g`2yd{od;@ zv867Dq~M&JB45tTI1UNb(C0Zmx^b5pDHW_^l9Kn#h}%XvfB|l6QeD)frC%EKYFIOk zMR3VN`fB#>HJBjm*(nl|Xhk9s%(@6HS(v}&-2&QeOHaG|73>ivPk~bSO@Wz*GpJ%% zGXOb~r|$53^_IQ=fseFy^R_o3a>>GWY1dbiuR#n7y~dPeiP6_(L+| zlaoM9u}=2Pdx)e@@lr;Ze;es%HjJsyRT`RS3hhDIz6ZB9XJpVabh7`LVTR!EkU#-< zoK6Ucsf!Tv_|OI9)(wT#!Ukxn;Ueg1^&cUWZ6Cb^S4)b$f10f0>=ya*hvJ9$x>6u0 zEQVaNFr-@N#FX@M?;%X@oCF9g(0F(*{n4Nc1O-|iY55SvX8PH8FH+bsi-~9ntKwt( z9&F-KUPZqwZKppe+nzFQ(_ky%L5qA;>0>K*)vA_!-{a7}tp^?< z*7bY)jzDDL>^T&r;5tQFFo=c<_=1<%ebMKyL$9RRo2pj=-#VyFpq_!vUuH2f7E_7X z*<;c*#qn2hCi zMvfohD!VoV-04wN*t3~x&t1CtxTOl`X?LCWcd?-haJy+g|E_>Wh(TG0^GVcWzKNMu zSbvkI64Y%=iF<*`px>dbkzLFkYs$LR0s{u>;-_eyKkk+-%|zF>9`M=${IYP%6QSg( zrJ6L4sRWn5G!b2Um8L6Nawo2tu6?JxfjjT?{2^Jum(rS%MCJ_bSt)s|gosy1(09Ey zl7^uz6kvzV3>x!aLoc~XQ?0cjp%3^klSj8;T2c6CG~SmpG@W&?P((;c*U^Jaxa?tK zn61i?JDrxo87^6PCBCK(wk3j?!nVZeC*EB9g*>`S#8GJd?egIduU3NStJb9gD}1Lu%N1T%eUFOk%LMxW~@Pj#jwg?6dnPL1hK;}a{$J-hG?gmVoB`boa7MxDuz!>re7-- z3HE-?bE>D}ZD<;&+#Yl;JkcVp2cC)}3Uu5%*bjXVOLaYo$S{&^daHr=dx;%u(y5@M zX+2oh}1D3d#-I08y=H9f5{{fBK}I{eyR z2oqBsAwg3^Y65_uz(#d6qsmTso_GXvw953w@kO__9@tBab1kd5k=y8Aj6u^RAVn1r9US36Me)&# zA2GYt4aTIsyGCV7oJ%9IhKts4J};SU5B!5m}JM<#jhA0%J`M*ZZ+gkD&C7;}u3 z`=wmUtZaasB7EziIeE&f3-@ghJ#g;Fusr|0;9w?x;aDMkr8HES$2HRPdS-G3Ke4&8+I3{?1^>XX*s;3Ab1dQQe-bq!YlIzHX(y%c{%ke=w1WlY!C^DmvEBZ&t%hvtul0?Mwc%9HAj z9|>g>n{Nk>j5RN6_e$kK#qY!gC{+5%ri0!zH}2NLb)B++Y$u9uK@Kk6M-xo_Goq+} zY9R1m0y46_7p9$(L|g$Q_uOxoLN^!&m?j@jIsXp|mRW?j)(` z|Nq<(#oPiU&VE#mg3H1}_<2pMkkE!moJDZ8(XYh(0Mgq#rg`zVvh*~brmncpE0yy# zENEx5?L5uE+-$@_M4(?RSA9lBIJUQY(VWyjBfj`gxA|ba1BO zfV>T3jGb8#OL&LsrZ!Liwg{v%u0WxG+sy!%zNMJ|^M>e2loxDp3n=|h_InH^G`n_5 zg*ydUu$jp#L83Ds7i&>d&s2nF?oCocDV%UcsBhYl;QWwHJh{U~w#9CB9+TrNDM4}S zxHr5mn_%C}vz`vzBHoyDo;CR?J*4W}H07DtFn{ddl_K*s4&z1S0LgA2y7)8-4m~B) znf$UPH!*Kw@~L-JCH0JE4!49pxoO*Q{MjbYX=41n$A?1$GN{eb!U#;5 zBQI{KT zvKt?$D!DvSaBr-jKUTwS!=uCLHr*jyWPosvDE8l(2C=(@g{-o-ZL+%3`n_yj*BPC! zvv0e|H)iVGbd@%K4)Pq|xaXqTm8F%VtUTM6@w73DY?fcvAsj-Uh98z7WR0*Fau7#ee%UcJ1$(!LN-I^%#EN_FB~ajPvk&lW?17%>kZr=@1lkQj$TI8G%q|oVr`$)_tz+$4gd?N|Um*PA@r1E=|k9hU_|3 zgIL5;xki?BHrkwSOZJZ!{pKEn=5E81u(YXIs_`c5?y}QD6W9Gw^b|}yRbL!e%(Uvv ztEFu>VAIWoBvH3EmA1nTBYK&zORe17z5hW!?6H(Ef@P3Tyw>+U&Yc|Zc_^9vm8EU7 zt<(E4?`%>wEzKB1YDO(X?i0Q}t}RY>FX4pK+fCeuo0;7++}?>ijAV8FvhXEK)9gMy zem9Lal|+>K5n!`kSorAY*64Eeoz`i+O>yyw$|bHX+qqOHBUs&p$GaLPx-N8V0bF2) zS7XZDSO`B}gbn@}2I#zFuv;pKv&Ri;;6%RNH#@Z|hqUou+SP0FjEK3H3xG+vVw1q-^m zvVF?V-5dSfA6()p1Pdjtx@&|*9Tek(z7)l zZ`UvJf_Dt)8nus(v`FSjyDY#+RO>YAu0VD;>EtB2$E)}^=E1_%(eM=mYEPH&jekF2 zzS5PrfERWz6}gYMCrwx(`@_md8zv|E`6he$9xRc6+!_}hY20(B(Ktym%VY3vXYtOS zyN_}VeD^MqHv2dVrbG4WYKMa(UJbvz`tNwVM%uD=4|gV3!IG?pCyc_!JIzZ%I+2ZG zurbPb1c+PYst_JXsRa;s{npxKSyw$e<~CUtnCn+R-hCd{&Gsi4W$hRrE17hyK~{>D zgBgO|lsUr0MZ0_xKdzRqKL2^^N7*diiG0c2JM}}kLs7^I*EU$BS9~hXsxE#Y>6F~y zWACUQkIB(28x8pZZFz|y=Ta`vu$}~`q@iCt$eyo@ax&*lo{GBUyt&si;QZuiv76L$ zF5i)JW)}okhAjBg*dyE}sSMT}crw0=IkPP~w5(F!B&Ris(?lMONL%^62|MS}+J^AB zCozH9O@dF%jVqmA!*BbM4R?0!u@8&GMGNKEA3pO#&?W=?8*vfxExD2J{e|Xo=LS`i zWY$Ule7ml^zuzwN`~4eb$>;V-%RB#gzNox8&?Fo&FV)+N+Y{ns9y)*HxEJ)XQ)(!o zaN@i7gs`spA$i#4706~h@>5w|{?~KXvWCg=hKKE{eMEb<;;_Vd`^5gAfqAky;MvtH zt7Gz`qP*Ou+EQ$LOm|$m;&X_8l2TWXIq=1$Vbs{UO~s^U$m3>``}afRn5>aCO)*b& z^KfZtiH~8mqu2;d%O0%%#P;!4e@-Rx<|ew zW_2sWqw>O+?CebLf9NstuniGV^EdI^bc$#zN0F7APo(4cKIy5^=nfi{u=b4upVc4U zb9WxOZ1U@J^_9!W2EEw0W-xJTL*2hdKBnjTBg?JrT7u1sTU_coj3qmy3sh+%r%dR(|JjmGDV#M4zR&%%Vsj{`#PGGDL@%aqoK z`GMkR>xAvo_1JybzC|}o|Fd()qu7!6k58O9p=Fg_r0H=DpS7{pEdjF-&q^@`1W_-+VR4?9L3;Tq4Dxlui^ z8!E4r)w=fdu=_B_YS1vo*(6L?w^fH#_6MQ!nfY;tiQ(3g@Z-AhtzB7XZ~e@%+EX*| z`8Ah`tjiU>aXR-vV`s~_kMT0c;#(4n{pE(9l|(U%W}hBB)lVnt`23)GVpdB(rNxK2 zhrPp40XaaVyY@P=H(SjaGvVF#hR?&b!8Yq4?0-J>;7!R`Vad$|t#Q-g;Svw`k(csg zFLlQCJa^OAWIOeB+PcT^XwX0NnAoNJK-vD$$n#;%1FQXW$GdFxZMnwdCcKAlxF`1= z9Z09IbEvg$yRyU48Q9%tUR*E zo-MiWXG%jHAFqC%T2$P*>XnB_PFL~hu&9`qj1F|G_}ewO4HZp1Qm<^tc-j#jccx{s zI*V0G$us517YRl7>r4y`&cbWIYA;nlD-5#fyu#AZDP-(jOuKdIs|DwolGd8;(G>X1 ztGQH@mWD1zP?24bfnDJ4+7$)t{-cicC&IeJ>WKe~9UeXAkQo;r-!VK?pWEk9RL-fi z>*<8mfLDEE{&1`OSMs~G8D774yG)D}3k%Hh)ykrw`TZ$7J?EvvponD-JAPPD9QAC(#V@v08!=Hz+7?_0iTz}^8a8KT|QtsPs+pYIF3S=+R>(*>N z-~GAWwTjoJ^Ui(mvhHZlJEa^f>#hs5ybF1n3!B2@tG2Uid~+lfqT$^=iy(r+7tsm$ zr4G|=lO?6&`0cdcPMnpk6xKT*#G=i|7&86rHAiOf4ggkNbp9*w#Y=1?P2x!&wmN<;55 zJd5OKvCZHcD#NcFju7A>ZvR}!_Y3XGX?S0@!L={SF|)iS)HWQ%ExlcN?XF$BVn1xy z^0@3>dfs@KR6?x2tmXzGPGlAEo>9SogKPKwL~rt59e+f@r+Dp+OhGwrc(6?4eq0jYshxV_5HQsH@(3ms!Xn2ukeqY&5`hQdVy4mA0>RNNPulyB z((7gXJ-9|znk8>Nv|6RYq);n5b=>d$}8xzs=fBLL*W|Nj>8R}MbXB+rSU-*k@pHPcj+HIa=HK3 z`RsLFKsrlEnBwJ@ZEktjz7lp*J5@^iDT>7=@!4c)w|K8zDsa?Rydm}7hIk#fZ)?n9 zAGV8UQxFo$F5Dvzdo;^-)SlXo&kgoG?dfmY&X>=X$G25u@GGl_)NAE!d}Ci0l|$@Z zlbjXg?L`}PWv4DX@~TWcDT|S0R1|KDj^9jKb#9D5UVCPtcy5gGjYf5WrRl=oT!i(YwEIWlPr;8uBz^@`-;O+3&7r^b4{Jra_5 z9Cqenc_lxr(-h(neOjRjJkgvdTH4&#Hd@;%Fo<(%L>xx8!-njzHgMy5Y4axgK;bimmk#0bp2Ha&>QZa2R8Jbf zy9TricjmXR`O0zbQUk=>#J$2VWE0<n)vRV^%<7NAgTIzYr4fZDJ2$DKNP$2e#TaKiz94z zUQE*}P#TWvRR|ebiSHF0K(e1lS>2h(czz%uS%19AcwFfL0alQCc|}p@4>yP5(dA;3$yj{-VxI@S*f&Wpm~2SvbR~Q@XV{1 z`SlR$E|E^+Jm+$N&&@6(6#4&8&paJ}8OjR8yC3&S&u-o1JHXwG`vPhyTA!*C0Hv<{SOEh3n zwNZ@stFVmd%kPAkRYY^_JYU_1oLJOf|9Y(bQr4au&(dJ4Z-$<(o3|Oh{R-bS4%;|x zV|=RVIG5nkIK+@${$^X);xE4P9j6cn9dghe*r^g@~|L?{~eM(mov(Y0++U%P2h> zF3Q`)#Tpg=)D21=T25P1(`++_92x3_LQicoe9}Jgb79fZEk7Z1deq%FJ;{ew2Q@#N z8M4`PA9*^0fW|3DZNvZk)#$C^()F|oJMyGh<|MjKapO_JYakA(rw@K+*rKyo(-ES9 zou-_=G|qLYlv=>{64`Ut*3owxK-H@piJ;qUOP8FgbX61Brf{!_SJVAy`DsSMGmXQK z-|%+y$oVL|lN=j8zvGi|(ygVfH`X7Ju#mCT?M;n4csV+lCcDF^ho^K?Vl(W^md595 z?lX)J4-bElC?=xg$8?6JJ^tHu&EC|ck<5s+W7}fJY&V1(47@j)Ncno?j)j&w!y!n` z7OD1&%l>-y?x3`wyMFk_69XTYcpOMUaW2L!rn@wIp1(~pZ) zx>8N>vJzpx_m}sw?n=cBKygGsEqGfLM)F{UR&3pTh^P&*{wa*`5q*aeVrBk&R{q#u4K+mmLzCT}9!RvYQ z271z|%3EQy`P-H=3Lg7#j{LH`QVCS=>wyu|W0kio%cCpx2W;=zl_`nX939lZd9+bK zZ$$TN49kvB{IA&yFTXp&)U3N{WMt%u^!<#THifz0IFp3+Zlx@f{B`WI|D9F5*J%d2 zuBx064wZNkqT)9B*wx-mI<2)Zn8Vh(uLjobmyh+8G*mbmL%AmEbdv2VjY_0;U|=HA zeTUvwjHce;Fb`{f{U5&0vV!euMJe+sq96nP!*Zjw;QeqCh1 z{-yN+)W_4-GG{!78(x`>t!`6D-@*6fD^=N&s4c_H*N9hW=$8tYxZKp=Qvl5T`GNs? zy~mzsxopRzprY3iU#8d^^X{DUncVoq%(&84%w@!+EviS}2r&NA`|7 zW&`KUdT&2N_K+9x8e6BsqWWk@yus7bChwnyZKwPE)g0m}Z&c-{&1OjT!d~)8d$x?8 zTuQO?At0}}0?Rq6b2a-FyGrCwu21sFE00#%WJF|oh|6!u8~gd<$hw@~Rg01`+v9pa zPV%&IoJ*@d5jt_~P3Gfz=Z+}H_7cUB>knBf)1fcYFJboo`KanS3cr@0>!KR#HBe$1^t(<7Q3JCTjiKADRi{y*!WI%H^-SY#*NV_knd2a zUP22jt+;3Y^)gqYXxb^4JNuT4^mF!ME_-IafJjbHU%3s*lWQQKVX}Y8`HoTWgS$YV zbC;|KVxSbH#*?5VwEa=?3nn75kC-KaYh@~W-^YJBjD_hz@ZJq2`t=ZtusG`x+wFDh z_>uc2O(J3@;YY4}lEaKr128sa$uEDsa7%diV<5>RCs{t%F%P1-hmgHzV;W9H+j8vo0UZ?w2Aw<+D-Xp`~AWjsFMm9`02tt8}5STo;P z?T5GC#)FQ2U%&5aNzVSGgP+$lj_lBSqgWinSE>RYa^zcbZFA#22myC{i`2gE!6f)> z`%bgBQ`q}la#O-#+Z=neX!Ef};ue_4`8+4ZW4gxT3MO`z4PRJ0m6AZU{3OluDH_|| zC5#U>m~i(ooBVpQ$0=h^;l{hp?Xko@1XR+iv=R>XBCj-fy)b1hW8`2BwB)XK#Cdo) zxeNFhe_M0HU%9W(xp~p0eXZ+)A6S7wIg83qdB0`lSFd)?zLbGQ0bLzK5;eTB+Wng9 z2F~BEufJb&V*yT`U5uPWz^xoc!I$ioWZ#pTMNqhDTc7Q;Q2hx6qES%3mwH`(dJvZL zw->dH?C;gN8*aq$=% z-6H}g9?7&~#&1?`P3*vodmo3&MV-EsYm~np&p;2xX%9d9^>@AsXHpjNI`Y?#m>}%} zPkoPlzAGO%vFrI7X;?i00&a_azEhgg3q}W^E=;!s(fBO7cjxGe1pE|G1jKtFFA<3h zT3-!vMC_(5V?76@!}1of~wYG7R0h6 zFUfcv_`T!e=)_RoJ$LA4ebi^kBEBmwLhk~1+QsGKj?g*$e8G64>NUH{rrx|4Qm6da zv*mwXX8oc0;A$>V(la+6xR$$b%G=v~$%otS*<{Q{lOg2gcbdDtRUt36Tgq47y(sl% z!yO07ZE{GM4IP<1w0B7tLdiiQtnpOf?{*2)&pHTwkgJ_LeH8SJotje-2ZN+Rd(&2T z75_ARZ85sy{TXX95Ap9m-plz0W43*K6}tOkDwU(Z$_xqT4`z#Bv_k5HVB}$VW78)^ zJ5-uQTi>X4aA?SGErKk4K&>1+UeE+6|MK=L8)S!@d>1 zJzbaM{Z90v=({q$K@R-lX4u0ZNPn8Mt)Fm&a{K~ z??q>r$b%l}xC{&qF2A)R?gs?-oDNB8HCD&M?|Dkc6-hQ^m-b*TtB1&2HSZmGH@J7j z>s$v1&t9h~)n*IYg!|~OeLCg->H2(>6{!Y`W90gD`Xx&_yyeJ5%2w9NJk&bP(z)`E zqm26S`!43qshIY*wiV?kFS6_qzPa(?o*@6m>zv!1^DTB%C@2iO))^Z^t(=K=^4A-A zrsg}#Y;p!Z(iDN|;93%M*tPdHvweDM{U9kx z6r7odGSom08$f7W9uML2vOXo|P048S6_p#i-&FB&_pLh?cF(gBDfo=o>~zSI^$_>D z`osU?7QRvF<-~ken4bGVw=%2lp=DPVqNyX_?}8hj$oug6p-%slt%;7y@b-zqAkCPS z36K`}<;i-yWRYC_(Qte_%FBk^1RyBs>}^nB^jlAh6!`kTKk&ZQ-tWb(e3TA<)*O^b zYD+k;o{glTw9xr0C%5yCzS$n}s^Ly=#?ePz+P2ea2&up_fm(|+eQ_TdUNNnOPP_(F zSk73ps78E3igHAvo>Y6x11(wAIK5koo`pdqWeNStL|v9)IiF##pLdN{t?c968;-x> z5CCzu(wcPK`18hEOb4EM>LBrwB}<=oq|UB~et5k5=EE+c08x?CCoDDt{|_(fn1q zPDxk8$2B5>y#ZHU{W+9*swaC2(}<)b+(tPdg>`fo#78oVL#If<_{wudZ)Bw7H_b;S zzfur45{lF#4Jz?HD^DfwKGJ}^e02Y4^VpsP!ONE$JAUoIBAFe*RwwfCuFs2XOstp< z3Su%FBw1h{zjr2o1rkOo7E1LMZf90&=#Q4+|SS_4!lw;Omgcw zc{%1=fiyBu!DR2ngp_`mD>dYX&5%~_p%`sprdKSZBOyVXq~QId?eV9)9}o~PkqW^O zSMiTWwr(3=_t-?74SIpR(etPlKDRpHu+1Tp&IV)4D1YKxS0~P%S_O^s-W~U=lH3R4 zmp=8*SK0hjCwm~Tr8ulMudXov&H>(FUgz%-CqiyzdgZNq5PgoH;))55%-?6+vQlGs zwKoQAWV~I;uAyZHkcIPUsBC#=2Fmjb8nQdT;Erv*hpCnSJPP*nF0^yy7gr^CcnGBX z@nJd7E#O@?wCO`dtTxfAm^1&6vn!8>dhO!ZL|IzwOIn1iWhreE6Ow)3k}WD!Dy1UC z+){Sg5?MxsP$-0osZiSNEod7pD9Rct-t+us#tgT*-S_kU@lNi{@Ao|CIp;iQ{hqoX zko%dD+O})Fhj@IhZr?ZK^-f@O>Y$NDyElFAk#V%0l;DL+MA9xwCo`p&$ok9GSteN*3Yk@IfszP;B+ZPjJ?gqL=s9Q6!|Il8B$ONwoTA_K?DO|YyIk=F3L>&AtnG$6AT2N5JjVitPH{B4 zTAF%S%i5cC4x?$PMjM9A)AkmqSB(M(`WL)dp8NGk#*SEJ>T#Ruax!ooNC`=k-4^_2 zOrN~`ny>a5#_=W$1ILZ!+#ZGu>W!kY?p%TH^ZDx4oPjroTV-Laq_akmVCimHtGs#5 zof74tjUIt`8)Fne8yoBjOhI))yz@@Vn$IPRk1S+#oj0a2s zXi18sZTH+8AzELHtHDaNc%+Oknm4jZCY`pl^{BqRxOWgjnXBVsbjdphU0@E_AVdTr*A{`l>ma6@*)}i8!U+;L zr*InL7LO8FDvNYEa1o2EYNE|x*!HF^Xa8qRKgdLWlR)f znN6!-r&_t3_Z&p7vm(2r2#U}$il5lX+IhVR3>-PLWoH8KJg@n3QI6rOo=7eDdNuXO zvJH@w4=mRT^pa{veyi5?lX>5s-Bmqvf8P0!S$nH@-Nq{Axi-JpyNH!nP7-m>=P zEG1LLJQB(hspDE8Y!OR7;tf|k8qs?vpd;0b9E{TCmiY}RnRa`8=&6HR54hNY9F@N8;^+6{uu5(Bs(fz)G-CH-?zxu{{^y1!GCN4xyrWRE5f2q} z0@Y0U>w8PZ+^^J1+_`M5^qQn-e!?%TxPrrfbN8w}Jg#e)Iv86+kcRFT;DnO@A)Jxg z56^P&jLpOkU;$jTsHP>S7DPMAU8=BqcrE$Bed!t8Yr5N-OW@jUY27&lVmRT0MJXKT zIfgPvpmTH!U0#x1vbZY}Y>a~PziZBi%C-8ts(ku{=1d=bdi`Zw?~Q@S<6~OFQJOph z)*xvPtH#sbubIE_RqrA60JG6F+chsd%|d3yErgWU#RiSr$v&y8m|N9}2WKux%Q$#BE{c|ZURD4@<}#5E4rC=i79v z&!T)q%efv1r#6L>PY%RNo8_b^x_yCyJH<`WceI4vW6yw{R&-A^Gy@_+Ez*~3jdSld zf8FgvB!LqYXSlwnXb_^or3C{hx)=57>TPz}jCset9B;`A9U2@okB3p%S^XgkcV8~s zIR;OSa*9r?H#vSAP4XT@QPu)U2~nq(L{uwN-mhc(+4_y-_@f&z%}~E>U!@-!1!($x z9|YI)RlAmzob#)$%ty>0_&!o~%yn!qOU=$;XRv>Ilq0v1NvNbt^;-L}#`sL_!xtCw z#+ViN^d0?rWc!WnAIFLr@awSa91G0>%>|3`dFosPRzvv)YhDx`br?rwe>NcQO}lb0 zogu%`2G`SZ*Pud)_M#D}NI3fvjEGgMBF?T1ZPD)*zI&%tbjuE?&62j98@w(Eh3;Cs zORP7DEwbUSU9Om7eKA9IT}DOftrD?yWEdWp{di5wwP5euvx|cc-uU+7v!UXVFJ*Op zm*?+O;dDnqJjEwx?}n6BLGjb2@h^KyUX9eOv5eX4^zuAE+#DO?knPJm;M2!hP>L!u zx7t8b$n@d6Dvi5j!v5mnzD1RiefzII8>V@{MYi};%;n~e6>{NQpV6!=Hi4ilnYb7Y zLl{f01Z_qe?{Yh2s==sj)ASwZI@~t&y&Ke4UIzspIcqBGAYR4m@Gw&N?S_{ z6I=i-KHuQa{f>`jHs96AcAA^*J8v8opnuh+?y_n|57fpugq$*|R%rv}X44~PIX`$^ zAS%9-USwl&X~C^X>u~Y+$)YBi;{`!|aCDbcPs_faE4oC~a(nRhbAo1mZAsTUHtvhM z$D_0U-CAe9XzjsK20Bt>O~XQj zI*1FVI(^&EBR`@37|hW$f&rGV*bfZ_mP(HS=dMNd0MeEVF1}jRez<+)7-TUW>{e|n zEpfl$U!~#G5NdBegr>@G_PwJP@dL6Rai}^gY~;q=kyL!%>pm#|JEmEAwJ>C}xb-8r zUp7VGn>Z?bOg6=yUq@=IdvVK`@YLOfP_LL-QBlz?Bkj@qA?Mt&(6|669J+r63q&6{ zCReTP_>5QCv0Os`wp&5Tr93cv;u6Pb+={{#Nz9&;y>@uwm`Ems-7?S02Wdtk^H#d| zZe*;4rDoZe+Z<+j-y0qlM&Tjh6rX_{?p9w&E?lmN9Nerz>INH0N3j=5Wcg~OSl;>Up=Uyd|FK#&a;jsah z{1(1kSbiHKZr>ihocJMNWOwwz)|b&(;jZ-@GD`P>H`O&U-?P@zm!O*BiL9s$Yemt$ zq*EI0CmfuDmyYp?cD+Z{2&)LSvC} zdD(c8L2a`=YLlsc*x=w`28bLgjO686)|6==JQQ=m9xk3N>mf;rAhNHX>cNx)f0+mb zi${Gr&}_1KNb)jr7vE(X#L33#wt|I~;~dGixdbXfc_+q2hqVQR{Ubl-R~~BxQ!&TL z@j4iuO;EBBBNL}vJkgMH?dTV&ViEgn|(KjOvQu2<+QX~nxK4WSB_DC&}g}~NbuXZ zvwDz9DNfn&B_Z`A*zPOUHh*<^s8QX1_Z3922HReZudY7+kUZ}D(77syTx>7k;M>=I zyg~GdSAnfc0Gb}Erx%CF6=3M1Y zA}Tz#v^xCUt0VkiMkn#?>^STOfgOstKzMYWgIysQk}%Vum0Lt1gM>;5lpr`X{uGqs z%I)9M4)2A~auyyEAhIMg$j2sGxa&52OtgoX z&6Byp{TnKL7k6aeBy)^vEK+#*7-DLL3Ypg7+sTOaYDl&A6dP1ee&1rEEfcjx40qRJELWBF(wo)ch&L-FjZmN;*x zRncC$Ple%<8W#_3^+@-NtcqLfkR(aI?7zuQJi02w#BTzn7H;JnYs{{I5{js0!w?OY zew4D|dg9sxaI0sb){*MUyP6Mx3&zt8VsL6TU;h#}HL8nu$9X9q@|N zUD{J{XKvR$vB*4$oaR?9k)!1+AFmbLq<$C2vCMd_`vNoJgAe!d9$vjANY(j5tk>!1 za9tq@%|xN2;cqJ7?MW{R<7ZnQwZBpSnnB&-ISpH`KU|E=RO$D;VhJC>fxh^7VYP~( zO2DUwE9>-qJ{4|03a+1`rugyCy8_JyU$(Wi`QIdeeG@QaZqP1<#^o(w?ALZ5V9#u0 zuA*x|N}!TvtT3ht{F%6@#v$!qujM>#yrQuCF|A0K_U%9VH4|=>WBcN?6VadK3;&u@ z5DF7MmQQs^|6<7cOv*XsEn1@BEQ;HJB+#5Gk$P2})?_I$^{>BK5-9@+k)U)`k``<6 zObrN{vLFb-(X&p|-j5b4G7qHE+jg@F_TLD7-1YK|3JAV(x-x+Ew~urTfZLTxTn4^d z--WB0j`{nW<N3fPw?4+DJw zs2fVW)DVg|8r`fOdeKPUBjWfE>|N@Y84rr$&>`-wZ-JVE@-ZD@-6mQrpq~Q+yeQYf z=TZ5e_EXw>Y5zvsqCW}+a4nHv9hY$oJ^3ip1_oZm*prquW}xQu?YZg!i@AGmnVoZx zB`oQug!?Hi7}hijk>1*g`JumsNJroQ1+$fyF6gX>B7- zWYEbN1&|#50gDJ~ilm>2-Y9C$(2j&L#&&TLUIyVooBG8g3l=g%!SEdmg_(@sf4fZN zA45uhwIsqPc*6E0IxO@`6vt1vqjY6V(Z9c=2+0^^?POyiO~UKf;k4-J3V(DTN$A6o zo-kQYDbbeVkose7Lpw5MGhl8P`!(qjc*iTuNp#3gim3eyOJPqTh^JM_Zyd(q{ttFQ zO5zE7k+ZtaZn0)Yv=hV-^%1xlI(dIfki!MQR&y)7PEtEtDGLkc+yBQ0%7m)}A@zQ8 z%ZSbr-t0lNY6r@3{#N}0IFJa4#{%O+G#M2P4REHZ;y;jaB(K*&S-E|c-Hw$P*0bSi z7*SY%qon9^(SSIp z9cAm+>!%P5%1j9rA!0f7*z=5Og9up-v6RX}M>Htj))ZG}bRKj6i1qu2=VK4Zn`i7z4 zP#o6?$tkle$+)~5{r9Dv+^UBfP{>9?1GM4x?DdkgZR6K)1krkp{zZTn1meX{Yl`aJ zaPon?O?u~r4ReDFH_tZ9GBn`UYwbuBglTGG0zkt9D>qYhr=6q-17rPSy~x^!(l|mb ze^84G*+O{pp0C5hPeK+BED9DM>WDaSLs{al8Bl>rItZ+qa{LQMkpwnY)KSYow(mN`}2aQ8;6H$jaH@Sq(S1%Q27HckeH1$}*B~Ezrqf z6k}p?`9ISRQ(2xzLSe`KSaU;C5OcV8^Vx!pVQ)0wwdgoi$3eMdc-rPuNR)3g&rH%* zul)CQ+H5>JAbkDLkjJWv97bo(R)SpET}a&Y06(h2L2>`hd3);i>WecZK3S!bQ1MDfSh;fOMGz)n!Yo6v=x zD8%IcXC%5^%N3*<29a$DIJndq`uX_{S-4+)(bl%!agU{>+qnnMFxVo@6!|W17EndW zGb3Q*9~%MNMLF4o3TVp5@}6C_+j85pD1B2yvXs(Ul6tyF?A`T*J0579tT~I#kcPTWuK3V2WJw!&;^ryB z`%gQR_>sk_IPyTWmV<*scTZ2U`8jBOm@BB^ofM;tm;5Zw03=qDx|BB!w!Yynk zS=RAS#MfrIf_rOGb5oO9=V9p33GA=pH29CBY zo{Ux*;-jhZkG+nn>WTIumVZf0x}*9R2yc(=^l@>Xo4PvU1y#AnX1~*nAM+~#Em?mND6Two zUuX@1jcflu0M>rx3Q%4P);m(U@7{)^78aqEJN2zO!!0GHCCl`mIVK_4x(+F19ePM! z*ey97lyVB&{cIbag?RCORk}-um?t$s#}%XrUaP!gj`vtsXb7-Yh6J4m8}(XohrhC> z08JBmIXS08PW^*Q#6!5KDz4nP=A&U2x|v3)_OcOeKHi6-wdb;~%%Q~s_H;o}+_izO z(gEhMv$XyLCx-kmF%HL=WWWrVpKPu^6Bnh=t+RCKPH09n(5l&L)zufC=d6>(ADj5& zy=M=7+XG4rRJ(Yr=NO+7h9-zfq%sq&go$?Qzq-AkGIai>xhs5zKbaejd6f)3^FL#S z4<6X;^x&D#lNs>qR^<8k*bAgnk|NY1XNC*lSI#4fBXo!>Kt4~s4rzw(Qc8k5(o9m{ z9gMuP`xK~0qC09w?YW?c8nBA;1ET(m$|UkII|ZIT;Ix^d8Qhdr^q?a(@R`fwq%BgB7mRylqpitF&RtD~Ac&pJ zAiVBAarAC7su4QiguexL*O_{UpnvajqtOaI>w zbC3n|2I;f!xcNv$)`-9UV`~-3mS+N9{8-hlrNsr#anW$1PeTka+dw=HY=g{*7NpV2 zUpfUL;ya^kPQEDVk|OY%5gODazkx+?#(a)g9duGN3TO=jW|t z6iUjOQMyeS%&2LkDvH9V^KIH$my&!xSTy{kt^FhMu@Lb%E%z2Kk@`b8JHCPw(U;5H z|DK|V2@`D37&4?kS6*+IVUq8KB%fbe$t$zo)xRv&C2=%Aoq6^d81)TN1ffew9Smzb z>&4{qN3junsA!nQru(%bVCr4GcJ105At?S^@8~c(a&lG7(PWcGho4+GQ!cw!b&+Td zQJswEw_%=0gquCR`c^5V|FHJmGn zk|HLv!Qa~MB{nsi^Jl)hqcs7bBjR*V?sh#C{pN&(dnFH#h{7!(qJ&^OBceLBJON#c z)YbfawM7mmqLy*z#?4-RMSE>C!%fh^GY%L;dR-jU;)4%rZ8;+tcJ!p%!;_=cD-we`_6@G5;cBQUNe^yUvF$Z~i|LRHtL`d77rF zc+<*cvm|8c0G-NLrfpy56v3c79NSqSF`r|8Lxyi=9Q$$Iz>ODH=+3x1y0!ZV=`%@u zd~VpcSrU>ANA-FOlNwMBPu$Hc!}m2rcJgPpiKg3(FDkhx_>B#YPiz%xi_<-L*FvV% zLT0v1+>`l(6DwK;%L2q|48ZFvZRkEbg$P zkN(ujGopWMQf52VL1ox^H3U+};CWsT7(ttwWXPX~1{p-2^bBm7ut#;22`7$D%t;7P z%}!1MvifhUNuL8=F;&huHtYM`k%g`wUJ>LbN+rHqvUN@mj=0(olRxv#S+{z?{{0X1 zTNm@}p{8mb)xwp*9pxghOa>fgw8{+TKWtwOef;J?3+_j7zEm|yKDt)FaOvJTQ zqep}&6md$3e*))pDu7Zl!my#KU&j8!KUhv77|0^QRe9ZTxec8%*h2pO{gg*;a{K~z ziYPCo#FH*`3Z((lhOqxquMEq?UKQl&M1^^~y{eXbM?N@(UC^W`JHG@Z@H+LiO^-f174F>VR-a1W0c~FIu z`dJk6yT#m0Q%#8IBC`lk!?^w?v~n4xet#?31g#QEuG#=mhcBNP|JHPlQ0fE_=mwgdOG9*)d zuk_ToQ8W(mIP=K`IVYl*cz>GaGbW2VCdDk>j|x{&LdLKX&=pXO6l;^+yvSP|!#qSl zlZf(1QQ5I;E=_$?IXzLJo<3y?{}KW=I!>2&^tP9I&swew>@b_tc%vg3&RajJc*?K? zq7+dx0MCzu_9&|*5zs`iAsHG}QU8M>>b7gb+T9*2f6PFTFBmKmYG3PDqwzOLU%56u zdkS^xi%3qP%U2V7pb1-%Xvji?o`J4dNao+%e{xcw6xQJ$Q?zF{%Oc+|w@?H5Q!9kk zvub%!y*fi172z?r!gSr>cz{_IP@XfOuefO9Z6E2fR{*rObFA^CCS@|9fMFlC9q2UJ zuryZbkoW?92D|aEP+?+#GBxo;D&<&9{qiJnktV*5e+}@>&gF0_jY;bcHUcDK(p=pXiBSRQMCf0dbVnWE z;^e(+^-PV7j8N&W*0BOH%GU^7NX2r+*T6x_I8IS<<;Jg}_ee(b2Nb-kLC>`lqS+QU z)_=X`0lWnK_xGmrW}DApP}gW-3abg;1Mm5it)Ux%F&e8sr5gJL8jDfW%i878Htlw)_=)akXb5UVHP{tjZ+^Z2k@nSL z&ZrSSPWQq@F$l2Io~Qcn5ajImF_}1*Z{ML=aD8Xm*Oxx~#vUK3h*2Hyi_Ai818&7F zmU^Mfu4vl;(o7S8fF?l)?DfI8eBY(X-tQB-Y9&(_6s0011AXV2k-l%mTAaIu0m=9H zj2iQcD(g%3U);C#<)U2oGPNC34#{;l({Z|KjVBUF+fFUCJiFVwL-^G*qDA4Z(RcBm z)!y@@j%aTC&}5{R>}1&Gy!acXRf%0T&p3Ip4dCK7LGy1SLVNH;J@Wk;RqV-1TfDya z-ED%EB~?JzP6p}{>jIeSLpD1Tb~KVhRmu(4Zhrv)s<$&_MwR};U9?;aB z2@Brv1G+`^F>oxM`5!M`vmfiWs!T*R<;RE!Ir~Rjp&~?)4` znr9gqe7MfDVd52_&l($?hqTjC<=)bcMu7c$Ub#<6_)^irN23cFvT!7A<{}3792}Cv z0;K@9GIq)f5VOn|pB_GQ?Z(oD&{NO_my_O+c8|@6j&<(y|F(4ulyf|SY%Z$i-aWKOi9p$$z+1dJhkupLq>BjWNGL@bAx`HJc-1r z8!g&(=|41C*CJUg*K@4sWw$D#%XA9Q7c3rTz*c2;&S`0cHaEibYi(96)gvIMpwNc^S}5cDZtaaMWwA&tl%yJSl*qk;*qWczdMo1=H+rsACE$0CH+YJ@mJI z;0)A`4rY##y}z8fm;m&e{UbuI3(t|41fxfOYrKRi@XT}jD#|v7)>!n_UuEI9CiWQ?V_S2? zA>&4*gobVI%(I^gjIPj!L%mco`OGVzUnvWq$kw_;ivZvgjhT+Ul~hYu{lc@U2*7jZ z3cf}{&c9`Q)cDxi)!b@hvMJ9|E;i(Ch|B78o&1trO1ucE--vpo= z{r0%cbua%{-(Fg|3V+yl!9DFD3r4K^TevA@Wk?HR_EE=D1;AzS1Zc`E_mbxl8vt*k zrK!rcW$a^qY6+k<@E+8_pt1o5HHIHrwz|h#Bca!BgF&+Lsuy4w73XYw)p2VNs;Hk| zvK4j00Ty33w7uPwz66CWGag%|oZ9s)SQlG`!eh|GHA2>3fySK&nBGjje$f$tu#Q2E{LN3F#-s4}@GJj`UFR@p#_omC4r!(Q<^)e8z=T-eRIGqzQGtla z+Xx=g>!UwH;pl==`cLv}u9_HDJwtG)&{782l3uR~Erm~HtZdvacmjIjg{^zbmZIj) zu6m7m2D29I$1B6uF?8%j(8KNt$RQc1XWlKwV6~3oV*yZC#dmT)=L5(yy0a!eqL$R+ zis24~Nj_1LQhvD5E_MG(`;uZ0FR%$o%p7ZBnmS!f;HsgzI`xV;>;^y`dQL2-5eDGc z=_}CFAhi(CG+WBj5Q;l8gIcPh`fb4oZI1zLo<}OPdr&9B@RoTz^Ax^8=c`o@!dO27 zxKFu_qaRWo>~6ko*u2<4z}{=y7{W8hV2c6kp?KW5jl$EW=eYG!sN^-IHapM zD?oL*DqQy?%t9NX4rc+RE4eI@un&5C_Y4Iaq2Au1nh}Is#1xK!C88TBaLhSkU8eD( z9B8edmtmcjQDLC+<05oddmLANxjTRDU1$k4m!0bsx&1VPoApC2rj^jhXj-LAGzpcd zc~G+HPLqKZD=Xceqc|CpUK7!Wg&){@SAWgJgq69$OT)#<+qU;{7WaQ|Kx~N`617eZ zJ_SZ~?*ftc^Bj!Z@PH|lnmzJNKOB^I&vyk%a+J}`8;cF6l|In*`};yJvWd<0w2v~Q2@ zsHRsJ1&~~s7ia+92MK{M0}>cA12AlJfXZecN|)BWeHTgpTGVGF7c0!Sw_^0YCt$Yl zA4aM;@Bl9avSsqKS3vyP6S6pWdv*N7vwAXSxiBod)q%vy7PchAjTQ@_ojW=k5of|# zF&mhEv6=S`-~%MQKbJoe*NV`dwk?KP0*8@@#_X#N2v1 zf)d_`O%Ss0Zj@)8kE%kK%-3t0q;W<5SiVa4VR5pNvfKZDlV2K+CsZ*;6NOQ zWYT{1v~J+Gp@6C=o8t)3vt)~3B>;vr%H-xnqt0IBGFg6<_;}Z=&Ct^JF)i;QsK)e< zP~IpM}(f)z1pwn+*9FGM5l|J# zjv9oM7Z_f%)eCON#Fv0FD3G}L;6ug017-Wc3>3&g_zeK92bO`aNZeO7=qK$$;2erk z1t8D}FRXO@G+Wzc^O~oJZ{s}Rh02y9s$w-R)e&<@r1cskDY_RAt0pdIA*bNmg+mf9G68^6dj4=#H9}kAs@KhZ=9yr`t*bWZ zkM#TGd@(ly zcsZ~=UY8}hz;MC-THab|VSukW6c_`2rpsQy1yR?VL`>~)U%zqNTHvOI5}c`QS%%3r zKf(l4c^=%c`e&F>!9R9l75@^#UIAAN^;*CWtv}sg@vT?3IiAOaeLWwhe(>i|nf3t3 zb}!}{k=MqQyNdXLg&g{#kNsq;z$}-CXSp_^{)RAZku#m+FnuBxn(0$Bz%chA70%l* zXsirq7G}O1N5SRTf$rp)MM8O^mdaZIR%+~s8aNtVv1W!{@=y0wjedOa8E#4pn%rTP zqYnsd?lHG9G`S$^dq4Pd{`hm+=FfpZX6>IQz&cMtfC)_QHMveI?ss=T9CKgKG()t$ z2=B`urrFWzQuXrX%jRznbGzm$O^GlNYPt8@`qFO6*n(|qVrBXU-xWT_kv!Kg+{s|O6VpGAfuDRLICw(7H2nPq>h)U>XA zg{u8datBp~&GYNjkmlBt1IQL$+2~~elsaQ>8JOp$;yX0YYp)CzD!i{fXz{86AQ#LW z^7c-E6?f^fl<9Jnug;*7{P*r2xfWkBctP57Nf})DjYr^KM93`j)^>sv8LbkMu$;RN z1Y*{weRi7)v-++qPuUdw7hx}dP#vL9NI{k3%tA1Y>@J%!96oU=P8qU$cpvt&YP;$_ zI+;V1((*N6?g&|&8hHOmc7ecvSzyQqb|aO(s)JkWDmMHWY^vKkf>rw4N!5=o(S!N2 zyQOe+vt^cN#@b$9}BhI9bdV|Q9F_&`&@1(P>qbwoO;Q>jCHB zrDwFk1B1Ug0KPQ)E4b3*k;Qqt0kB3YO~rGoLL>qg@)&~;z&!i8G>kNNCXBQTq>hRv zh?hLj=;`Xx=}RcI&8H^vI6G~a2$+FMkmC&UVR|1~{#u_spsGSz z^<%Y5ML%oD)os4s;`ZmcYG@0S!e$N z#tiqfkXODy#qu}ihfApPAXHCO0n)Jd5bXObE7J#RTo5C|9H=8->EApv{uU=Il(}3i zEZ!9ujUe;qbVxm&01wmknIWZ)5UUbP-X9l+se9I3$P!%&INu&!@mOip%>rM?~6^EDTTW|gHW8Z%=jc|0m2!!PHZ-D zxs8a#OmgUnzU|#BG*uocTgnE@FR3}~UAY2yB9Y4)fx`g!uB~h9Lo=|A_EnhMUwDfE zONI}^s4(+ayVcOm-n#R_t5*=l&cI-0_pR)ZU!Y(Z*w7l$v>#9#@WO0WF4wH1#8n>* z&CA^@ruwZ~Km)x0?p^Ma<-C|;h6_)={`_C45bfdOVpcQ2i7pDns}y|-TlrY9!5YOm z)VXyZ+PN22^UwJvrDnT)K7!EcdrvVal?_3b@7k@H(W}LzNOL%Cq&Z{IL9ZG!-PXeq z+>jafp#^XUUWh4xPcQKIB?s?}f^_o{K)bTf4vsSz2Tv;#+?x_-U{nJH&3b9A+-HPS znD%PtU5B-@)#T4cfMjrCB-8z0rmpfRzVW*Pc`l%60thO2u$Huem z^20p1pjC;m7(f^e79RzE$$(lof!4~QOZyBSEW4@?ri0h>2li)H1A3B8;n;Xg>UZ(# zAJ2B(0`nOdzJ4Qa;84Bwdbezbs&irwi<1*E0d4PqQ`;<;0HB!WYc$IUZUJEr2apDN zj=M@nbrAUhPLL=Q^ z`Gu-m2P#whHdP~d5Z8f9o2|^sTS(6~i-M;5E^-N6=q|u|K47+{vO{YWK}~qVYXuAk z5F{9Qw*_!P^B?wqC+i>`tJWVC$$S4epVN*Qo4@a4!v_G%Xx@{e%5eyH>LMct<{1?N z%tqGe``tf!VrmP*y>7rxeF-DJ{Hc$y%ZjU--LvnxTx;xCX&OhCZ^om#bD$2%nuYvQ zz1^xt3BV(wY zM~2hrTu3mXw2-guT})llx|P-O{OJbXuS(;SK~L!LmG;#L=dQW>)Y>_mH+TsGUkYKX z5{pz>kqk~!7rNWVU=GPyfB&);VIKFk?!J$afZi$)6xTssxy5(2Z0ZKpJJn4Z9TqRMD7JyJI!R>Gb7(ab z>0MLRetI;$a@D4y7^tL(g&mb6;qL303h};tyd_RQp;z^r?PThOoaY-S<=_ zH6k!Xerrd9)Z9^Jfb?tx94JfI0f;GG@Cs-JRKG0-a-;1ZRO1f=Qqf?^wVRie<4aI9 zIL6i~q6gwN%NMlqu^^zq06^~qd;Ged6D5ZRWPU8bx$y(L{<+o5tK&HzIIuw)~sg{%3zw8>%E3tl`}%(G0Ri$FO2kC22s47Em@L15EGV;UV-80;>p2A0Qxo( zWH}Plf+xF~1V*IDYWm0NzAJ0I_Y%uR!9=-Clz>F&<fcsW&qXlM~4;oqPJ8FHaF{ZE9+Ay@v8VVdnxOCJ79@ zKbL7>^9zsUO*)PW1jD?@bv<4pHV@ZVk1Phj3r`qnl8NCKq1k6S19pmQ1|aiW(>rdZ zGPvyh1Bbp4tHGypin(;e8paPn{4HQ7hS`SvDU?3&gq!BVEATDfKc6LqO64F<4$u~j zbFFR(Qsn6^hak#zjj@oWm-Q8095Hp;^YydW-gGEV9otdkI$#^O2FJXD@6gbBcUmmK z8lsG5dF(41zaa41?)yvozMemveoWl2Do0|VPR;+#=}t+BSk^}1%3Xpdz5pBM>3!M!Bq&B;(Kbh{jqkF`JBia)GI*FlPyiW{mAq-w88R5`vXf$)9z=YVy zDL6dvX@(M_;~dXu*`H1Y0w4=zv^He|MQ4Up3~##Yy3#QV%J#2tSwo(w3FUOKC^pKD z99{Vxe0#mZ*m=quz+t4D`wc>uySw1XGNwfzE`IJ5TRf`mSJ>5~J%1FzO(G<| z?ki-3|5FZKPfck0FN%=wQYn-_vjO3%o3%IZD<5!~U-54FJ{?6J6Q50~b>?e+ywYr2 zy+L8lU5VGOIA`9VI!nc}XHTE5A!fnl=I;ZhvZ7<^)b4__c&04T`f8kqzi6*P)du!~ z&34~IMLcmG;sp>bydt6M_zy>ubAVtSC67N1sY^h1j*0~Q7YQ*vo#J# zVFrO96#dmIXdb5BxgZdyP4#D2&B^!TKKxuPT6b4&oYGjMbJ2G4XtJ`uJHC&-@_qw#_yhyuUe|S zTS@m(F*IH33y8ujWL2$)a}w0LYjWjx!fj@TZ$?Bo9SS~)?d6QM6oSBAvxI1b(_p3C zgu=6YTFrf>4?uM8VuM-9sm>>I@Kf8@;9c(8=m^cuu|Q5^{DF->5Ff;A_a(?gAEt@R5Ds6D6m)k2rs?1ZQS*fmG(R;V*uG|wgLxxaePG0 z!gn}aDX;{}_L#R8*(cs}K%sB2$NG|Zg_2O)yB{bnz)AqwR(6N*OyTnhNH$Sy4W|Cm|a|jNmiNo2t zN6yiAa)mnxXL*5pa~k4B#1h0S@IvnQ@5%ts$_88^t`^NhgjrVk7xI1I$#x-?bQEmr z1l6&INPbQP4vZp50^Pi<`Zoera=RwueP@O+x81T_8mt-Z+El)>J9zT-=tCk;eaK&g zK3*`CQ_9C^%nl_ThY7tpQbO0`7SZ?zmglMtL`vLpDWf4?`dp_y52_{*iGF}gODq73 zkRVY;1PxPNrdf>CI+{c47RYBQ)x5@{9{I)Y5}f{DMKQOguk2!pjLx2G&+F&V3%LOz zM-Ut6;+ceR{|4OT5&tNFcCsRm7J1Wd`+>xaE~f&hm%=o{tFi9(9BC7`~3*Rk(l8J!ix($hWtguaa4k?0*19U@{x zKpqB$g@#5bqKWlMC@F^q6K0^9KR;eg{BS4-TfYhBlAd+>a$Xcq%w;C8H1vHUJ!@fV zFxf4sPll$B+$9{>PO=Mg%_foFNX+{7c+(;cOQMzkdzOI?kegtkwZ_6VO%_)u!#e-^ zF4W#iS2$Pz}D@fyAU)Yavd>mdXMi0jybrXZ%?Wvti>7@!fS_HF<@r?3)AyEdck@Lz2*?%7 zpiU(u?SOf(^Knww)i*0sIRHTM?z&iiE-P?)o3B`LjLAgin|7&m=vJSVjeD&0<=fMQ zrdr?;grM*HS+g#9G=7pQ__=0qOP)Razz2A>mU7Q_uefRrFiGG2HWpwTj!-Lvj zEl`4T64HL$F!la(<_Y4{C5N7I{#Z@vU4SL^@nwJBpjxSEy2mdWwXZR%C8$@|1b8-& ziR$kr-)!fJO*Spv1IT$D`=@3~Vgmb_scZ#s>QKCtTA(DC{4tgywt^P}hM8*&h=9CM z9Y4ROhgq2}vxpo!S+trjn|dtv*L0kJO_ONa=kt_XJDFhx^(zQ-^`+dle4>G$qva7F zF{98Biczl?j(Y2fk;BZ~%F6elrv2z!_TVmiKj^bpj;%swZDLOOfl9G}~Mz09FW!bn8aVJZDOpNYRVVG!&iuBfKeyejBN!{hG_#=66l#d>hoL)_9%3{q9Q<%;n% zwE|Ugyn>$-QNMQStxA;NgTA=cD#^hCCzsJM5a$X6)vXOz@9gO@04$J8$Fz18IZ$*w z<5dSjAqjq3kLRkez`qDd%vBWEKnvcuU1?VY?X>k%0#@>L3KHIM>ws};+7oOl=ACoo z?q7lw8w;VY^=*+-{aEFavO?3>O*GnFtZQ{^+*euPI*|*^^q4v@#TNFeo2N@9xxZ@7 zXA%5rN>0%&g4nILw%tzL?aB9*gM8^!GS9^BM{4Eki=~`vMouNN2A!J#dtaw7q^Gx$ z3j)#TH0ljt0g|c%Rq-O^2b}MoEj<&vN%`iU?^BsMfaHi9h2!T>J4$EsWRwV`boVN} z#Enri_gc&9p%7&kn0xQ;9hlV@cpnVU{Bjwcbb0eLZD?CqOt!|(@oz)U)Z?Os+n?lZ zkuG_V6<%l9Xa0C(8DAsn7!7P9^3_JJUu#UArARL+)KIgMxMou?%* zz|x>qv4&p_=$(9k#AcDb<3?Z?R?C(=NY74XJqxH5-q$GlNH8j(27+6tO|r$Jm8{1d zP7bOw1#_cfJC{R=YqQpr%e{OfJ`C)D3Ve_1=Jt<4JqI-3N8T5uEyytiUxTmj{!Aq&68udoqf0T1B#_i!{w!tEo{)~Cgq5AJs3-JI-Cir)9MqFR+Vk( z>3$Vfx211KC>FWseYK6=tTK6La%KZFgq42XHlBU|4J{TWvWBT|JM=w?-wBlwr=L@Y zw6Pi&=YyCv%2vMXR#b=!@yrY#&fR^4se@Y8QnQtqP!)~h_cHrc&BDL7)Kf6=J1vGz|`!=Ndz%e6uIw(SRySJaFfnB${LP;YY92*43pHIb4I(dsVN3= z#nM`~`DdDFdJ3heS5~{^jm+jty>OpU6|YFXYUMjK^f1L96RF>UyG^HM{YjihooKIJ z)rK&wJE1;{JU)xHR^L3W<=%{>9wwd`V7pczz^yI8*>;hpkdevg8I5m$y?B=>a07zy z2X0s|z1o@f?4sj%-;*J5^zTAOqBnW#bL*jlRo+a}o@69=7_>Z&rlXceEwR^vR089( zz_jaXmUU@IJ690GJw~~K%P6O+SF9O5!tE?1QZZ5rFuxX7OWg*m?;h}(tRICz8RP*A z@iPw-SIJf%E<5Ba5t`*!<5Dz|XZbR}otueKonvyN!CJK;xO5HIS1GdnrZTtorcPK; ze*uHIcwPVnaQVikza>Djov7Q>660Jm0XgtQG6X19yCrdGu+Pg&G|@ThNce8J2H-=w zyZ80I3)O0xr?_xe3;5!KLYmun+?_){D1 zr&Y(RkXPFImP~Ry@G(Q7W|6H(@A9e*Crh8!XAfWpf8MVBDqS(vn=&N>?}PmSU6mZU zfC)nLjKVA($q}K#-!%-Fs~%0PJNQ1st9rO9{2?|>4AWMSn6KN}C$zkxh|A%n)U`Nk zQ+^XT5d3;}L7G{N&J#R_=9H(^*N5)DEw+{Ki z$#-w=3h;gfE2BF{JiLNvy_fFngT>KTwwzlJMckdPtAvc?2^evO*B$E*V|^q5%s)Xj$4>$W=5qxCZq-mxt_OygK>8lJM5I zHj>~Z)07AH!O@k_>UX^K2xr^7C&{pYMOW!8&xCt~YC~S?>H#3xB*rGegdOOv%_-E) zaiZ_t9aKQM>AFcu%{JYmLPFp#lmKWW2>kjU`lU5Z!r$g_Q z;f_d2bWxyNR5Y=>j@EY{ZPg zt~5wJN;5iu=ZJHd$+b<#mqsI8bQ@6}->!l=CwH?#hBhPMAf}v$aeYGa+*;(74!*;( zvlcik3a$%*3WOU*lSd-L!?X=!U&2hBhrCEHo6@s5@*?$iy&xZUk9}z-!YG4HVQ;dj(F520VV(_ftqN^HcgSB+g|MG5sP1@_^$MuFI3&XJz?1=W@7^q;m2PXvy=KLYvQ-Jp+|9!Tx$b-Nc<@s(p+u!e$dZ9N z8}dr08(N+PH4p*iWThJH*e=UqVI^{1<+QicoZb=&Pb~-dI-PjC!*6I&L)tF>gdeaY?pO#|>V5oAsFRy$6cx0`bI_FE z&sUFq6TJq%839COKiE;gz(7Tj0Z~)93E1q{YwEN|=qWxun`oC+rz#T{O@I8+mhgJO z5=AFWBq?hEe74TXiX@6k`UkAxbQX72gGKZlF$hBew`4iT>2BN4O+ux^ueVQQ8Tca68y4|sYq6DH`lM#0{^#HF^W-7`JD^nwMAZH0w%G_k zadK@?R!YjIn>5&>ehD=20-$&^gfCwaWcY!gF6p0BNq-GFt%Yus6OM_K$5?bcK=IF6 z0ya(BjxJ(-zYi2U>4mt6CBt?QTTBzENtUGTTSOSB`P^2QfG9hJJ36Ic6KL}XB&`Q< zdmS;pL(Ixnq|78`@ccd>k;tE@~UP&Y?LXDSN>2-P=v7uu(dJ{S!o&l z$JJ9`hOV|$uG7Z-v;Ur$a-uM(rI4;SxX76tv{(S;y}#5UMK(a#+)YCacJ5CaOMZvd zg5Qb^?~f0h_fz*oc+91M2A4C+?C%Axa}f~s#lcIPD9y(AaSY)c>@okULJ20Q1(!0< zRACElvbBJ+durp@@0SEco6u`CzDnWmc9tpza$uzY_e&Xx^+UKzluC&?Q?~x6;*Ke$ z2zwB=&YlHWf%D{gd1PPjnfwRk!>=jgj-Xc!~quRJ65Pm$pMIW>jz-ug6g(LoyW8|~5k{G3ywlCa2Mn4N188lXf{ zJKMB7fKm7U`q$b4co(F%K7Dig}1-ccKvG)L;M3 z#zLd>OxnHHan(5J-&+@s63E9|OQK z#rbP1ls}kVEP7lxM@?Obo4^D-H1l*eea)w@1^g!pDp-Psb>{O_p|Su}|0mHS7nIxO zUqrGf4m_Wd@&z-olAlr5AbQW(AN?M9Bp;sOn}6vZz}le18pZp*5Ec*OdoV1ehcJ0g%R-GLwE>`zr z*Cmwszk0N8xb;Jl&#yQj{=dP2Bg7T{ z1&v(T9cApsluU0dt-pa+dnMa=5D!k?PUJlqtN$E$r6^b}d zcQ(V<5SRRtpo9v3W8=oBcd`bk?}mdamwc^D{}=Y8>AXCJ#wS5KXX}j6@N4cF;YI(H zn zi7+-`y7>=Nh$>AC2TkF+nI<6OA`#_Sb`|5Dv4Hqn;wf^$DA z0>j8oea^oeh`A0NXq=XY1NxDOB-55DKmH9n(v}H%Aa>m=3vF&eRMw6pH1*~G(5zFq zk@l)bpz__cY86}f>H!gk_E+q~zpS3N(Q>)^p}(UqOL}gc_Iu(-oZM6m`pfh52KlV@ z@x8z(&iJdi2*!UiDo2KOQk96(a^MIznOSrdmz@|ePFo}G`~SQw=nAhhJmBx>m!;Qb zDAZNR#vPc9@=%}iyPv}e&H&jEntdK}8c;Q{h3V3N`#CzE9q@!5^L7KBmWa^GX#R_M z;b(!m_2jf_y2QHnCzIfQe|KY>Bpl;9>$Op*QoPw{+HpFPagYBQYWkVFRmY_xLxQE6 z=A&V{WAJJ~#dM0CeLTyO77O?_ah1{8Hr;Ne$HEmV0;up-G*S4q?nd7jjDxeSm@k)1 zO?T&r5veg%idy@L9WqT?1a0AHj;|k%hAlXLVHT%^dguZ}yS8bZ2LEN+_121X*7C6V z(7j-WYo#t^^6UTpdsfcu6xc;~xK8C)?FpLJp|0SUH`gS6un+fa9Z$xtFp^p{_0LeY z{WtAW{x@r>Rr2+mr9D@hsYwRP&st@PtEREbueAq$6ELZ{r=#a&B$uehGMG4d5|j_q zsD}tO`ACuo;;$1XXQb~zRJdG?=2Tfb6_>u1}5O_|{Ap6o)yAv90C)WJMm?IBiA2p(QQ7Ku#)5XJI4R^D>5i6K9-JXx zw4j^Hez3Qnz7lT*=lRspjCq=4if>?!n2Pf$8h%uKPOWM)V3>VD`JgIi_N(8mK z{#TZUMiAs5gaAKWlfOMZDX^MRhyF9awT3*9qp4LqtWM|FR{Q)6-W4)J6tnMyp<5@}- z=FI|cC+BI?PM_w((m0V`H0N&?1MP5HXg7J$c#8#HG^c9v_kR@4uB&hss~Ot!>QSnu3AKB2!|&=nNTTV2#yI<V|e?|!ls^O$tM++U6)(TtOg|C^(>mEJmKhnE?q}>kz4v$vF^XA z;{eBQnxD;HR&kY@3!o?kaweT7IpjZ(l^I?U=(@41?Vn+qUpIFLZsx`G-%6S_(%ie$ z)TzsF6pR+3Um7gnx6cF8=RP=@eYiW|91NKj#f30Q~E~S>JA@G3A$43o*Q!O$=D=3R zcaHqz=TCB637Ar`35D^v@P&9si(So zk}<2@8210li=r{zbhjP9R7-35LIt!0sO}z}S_=91KT~znITY7~#4B>|Ifw=I2*a~} z9{8^w#j!oa?$Flm|7W>mm}QZ`UaGUrG*>$s>$4Z5p!6^r%ZXt=7i)G?vExV53Z>CT z(S_FR@E68fm_#$cz-ePTbNP={54j00j6yHUH+?($isxhOiO9*P z^XK~g@Gv8zq~BO}ViCRyC0BfJ>Cx0J5Kvr#;W$-$Qt3aPd}Q&PJmL`?XiMHjfub~T zZ0{jlFZH>}W&Spax#$M)q$0Q7Y04t-OTYb{cA^OgUKw_AoheEey#V;L<$eRq2@hnQ z)5bvi55K`YWHq#-!eVI7Ex)oEzXV>wh8T zKk0Vo3xEUX+K|5U|Cb~N21cGw$YU9z)?a7ar=K#Uk)A>tY0{&oGoSb>mOT19Pw25< zIdn9So~nJ&Zv#BnP5;zS-31C0kUjeMvN?e?9?9D9)|rl&={7n~D?3;VNs9P}}2Mi@Es X@C#J)*w+OHh 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 literal 0 HcmV?d00001 diff --git a/doc/mini-project/deployment.uxf b/doc/mini-project/deployment.uxf new file mode 100644 index 0000000..0538e5f --- /dev/null +++ b/doc/mini-project/deployment.uxf @@ -0,0 +1,3 @@ +9UMLDeployment63324342234Kernel moduleUMLDeployment441324342234DaemonUMLDeployment6752618145CLIUMLGeneric8149512636blinkUMLGeneric24349512636temperatureUMLGeneric24336912636sysfsUMLGeneric16243212636symbol=component +regulatorRelation2163784572lt=<-30;10;10;10;10;60Relation1174416372lt=->50;10;10;10;10;60Relation2794416372lt=->10;10;50;10;50;60UMLGeneric45949512636gpioUMLGeneric62136912636ipcUMLGeneric62149512636oledUMLGeneric54943212636symbol=component +applicationRelation36037822572lt=<-10;10;230;10;230;60Relation5044416372lt=->50;10;10;10;10;60Relation6664416372lt=->10;10;50;10;50;60Relation5943784572lt=<-30;10;10;10;10;60Relation7022972790lt=<-10;80;10;10 \ No newline at end of file diff --git a/doc/resources/glossary.typ b/doc/resources/glossary.typ index e2a6972..a3a1722 100644 --- a/doc/resources/glossary.typ +++ b/doc/resources/glossary.typ @@ -187,6 +187,13 @@ description: "A unit of digital information equal to 1,048,576 bytes (2^20 bytes).", group: "Computer Science" ), + ( + key: "ipc", + short: "IPC", + long: "Inter-Process Communication", + description: "A set of programming interfaces that allow processes to communicate with each other and synchronize their actions.", + group: "Operating System" + ) )