From abe88b36b35837c86cab76fd5d39b0818d42c29d Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Thu, 22 Aug 2024 15:36:30 +0200 Subject: [PATCH 1/2] doc: add figures and better discuss chosen design --- .typos.toml | 2 +- multiboot2-common/README.md | 17 ++ multiboot2-common/architecture.drawio.png | Bin 0 -> 187601 bytes multiboot2-common/architecture.drawio.xml | 217 ++++++++++++++++++ .../overview-multiboot2-structures.drawio.png | Bin 0 -> 125167 bytes .../overview-multiboot2-structures.drawio.xml | 97 ++++++++ multiboot2-common/src/lib.rs | 96 ++++++-- multiboot2-common/src/tag.rs | 3 +- multiboot2-header/Cargo.toml | 6 +- multiboot2-header/README.md | 15 +- multiboot2-header/src/lib.rs | 13 +- multiboot2/README.md | 8 +- multiboot2/src/lib.rs | 17 +- 13 files changed, 456 insertions(+), 35 deletions(-) create mode 100644 multiboot2-common/architecture.drawio.png create mode 100644 multiboot2-common/architecture.drawio.xml create mode 100644 multiboot2-common/overview-multiboot2-structures.drawio.png create mode 100644 multiboot2-common/overview-multiboot2-structures.drawio.xml diff --git a/.typos.toml b/.typos.toml index 6947ea6e..1a9fcd8b 100644 --- a/.typos.toml +++ b/.typos.toml @@ -2,7 +2,7 @@ [files] extend-exclude = [ - # "uefi/src/table/boot.rs" + "*.drawio.xml" ] [default.extend-words] diff --git a/multiboot2-common/README.md b/multiboot2-common/README.md index 3a4cd576..7a2282ed 100644 --- a/multiboot2-common/README.md +++ b/multiboot2-common/README.md @@ -5,6 +5,23 @@ Common helpers for the `multiboot2` and `multiboot2-header` crates. +## Architecture + +The following figures, not displayable in `lib.rs` / on `docs.rs` unfortunately, +outline the design of this crate: + +![Overview Multiboot2 Structures](./overview-multiboot2-structures.drawio.png "Overview Multiboot2 Structures") + +Overview of Multiboot2 structures: Multiboot2 boot information, boot +information tags, Multiboot2 headers, and Multiboot2 header tags all share the +same technical foundation: They have a common header and a possible dynamic +size, depending on the header. + +![Crate Architecture Overview](./architecture.drawio.png "Crate Architecture Overview") + +Overview of how raw bytes are modelled to be representable by high-level +ABI-compatible rusty types. + ## MSRV The MSRV is 1.70.0 stable. diff --git a/multiboot2-common/architecture.drawio.png b/multiboot2-common/architecture.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..a3d0e18cde7100a8fd655b77941e428e9af64ae5 GIT binary patch literal 187601 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 fYySVe&n2!#Zbop|*XMLMfIoRT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/multiboot2-common/overview-multiboot2-structures.drawio.png b/multiboot2-common/overview-multiboot2-structures.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..f8971427cb8aa272751a0ea0530c2d12e4fbdaaf GIT binary patch literal 125167 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 R;Iq(Wy_ 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

&G;7`$!m2PeC95 z{5yO#+eM;`V&Hrl{+4WGdU{!?&nrmbS>O2dt7Cfl{8LM(P*Wn=b|2kDwZf@ z93r{ZXrwIjqS5FA3*Dcsnj1Vm^)-5V*6qo7?rJbg&PdW5B$uN zl^pqsZYZo8Lqpryi38OYMc#01C(pit-1Vv!N^5ipFp1~@Fns= z^pmkK>6oo4Vi;v?VpXME!>LjXj-(+MkH5vc30n{ z!XJ4_i>?~?3!?M#L=m7=P;NtsxNP}$e(+wSz8-fKMv5Ox5jho2QKAi>xwoGJ=ViJ@RX;4br9E+YSD@*hUW024s(o7L3YmFjNvc^Yn(UGK_ z6naFEXv4ljB?5U*C@yzgY7p!&TIwcqMu#$3$L)OaO3z8VJpGts;H<@~q?r#O(En`P zdy`!&&qnEBuGL~0AKBu_4%duFup_3tyi_NsH-T6S+(>=p>o4<{n&-b8dq65eSrjvV z3U)`ghlSAUkm%I9O3;s2D`ba~z&V}XjeJRchM%g}SbtxGn+8OgmgZb%r^``h)9$$e z>?i}9A8yrhX46~LO090*;4r3X#V~e68asUtGaBk%dCR%UgmF#H6Jz@71;;Ca1Kk-s zH%>@%sA(dH_kt~wZ!(_2nHpK6rG4ok4_9Rhqo2{2PTcytyX4)6OjmvnhKd8?iBY;uMTrKAh%WEm>r3XNjr}>S<(Rai zo+<*Nn#og}bbNL*GJ&=?BVYfOFZJRc$ML9@JHI>Kj~m%zi{TK(Xp@SNl}&QD^8qwY zcn1p{Gy)q0tF2ozi|4m&eW(2+X&1==AD1hl_JCT(%o-yo}@sba&^H&RUwN}t1qVU@d0B5PTxB0LEw0s5hq_HB8f`~ZL29q_P6N9c9NjmtQYn63}vH{BR$&l&uKD zV|hnNQKwMhwv^eb{`HDLZ)h1cOuo_`os)XF>j)YJYMP&ZP<9I0YGc&EXrb^*=`P=O zn|UI%SQvR&7v4sehoZFjjNXn)e}bohA!0RT=2ENjO)=Sf>bo~FCYK3_+9mk{{zUD~ zDWdi(+$%(_-8RLq&5Il?87GYtMVdfS+DQ6%xqx>o@I#QXi1YV(59lX{wQlEG_|C=2 zshIH;DjA*KGs$ofAJE6}{Vkfe`t#y5=@WD5wu!u}6oU4@!W=i>>JKnnW7RMB2;=>m z(ZGvnnhtGd_IdfcC0#p~Arpw{eB#`(-Df*Kd>k)5-6ZsS+v9C0LOJ5bnSMIz%2g>A zD$I9(t?l}}`UTQpK6h0#jBlEYAP+y%6-lACD63{K4Js3#q5bO}`hvH`De?%(PESJX zOdRb|rB$;)c%;n2*+Fj;^NR!94+mr0KzZCyRW%H>xJUP`N|V@60|(tZ8XK1#9wc7!Ztbrd=sQbYYoi;U^!dZa?P~cZ3L{L95L1GlVZ;V}+GBof z2QK<(E>}t5lm1oig zPj@!qPNx7`2M)?>4aGCZK}$ID_<>h)ndG+E@4B<(H>*PagYyUUFj&Hv=~+9*xR7K{ z#O*2noRGfvkPei=Tq3$Q7(o>JccHk5%u^!Fux4$N2t(r?9(KNiQ|5|*Iz_$8FR}h; zr(2(qZj0bdszSXUG6dM~z8+yA3SMe3eh(H#t9?W)|2Y-C!R+nVb-4M032tmD?RV{N z*J|CZ_lg`@9;w2s2a>vfzCOjruFtq^*=^1k+j6Y(C2^Y3eB?))xoofDU;*JBQflF+D=8XILBDoWS6n!S z_0!y*ACb>_aWJvssv{;VtjL?x!yl+{>#y{+h`#+tT+GwBnGEHOA`+;c#O3)FeSE-tl_SnmI{1mz;RTAo>g2~L zahtTRvVuhG;#v5xvAl6>A)!&mWL)|jgzzP?+~s3CX$jj!KND}2a?CBOaIm5kxu zy$_XWKB#E}Sw|+#EwHQLrASWPGwKst;-d4#Lsu*Tl)R_9&Gp>;M}q7_LHnWQLJiu; zZ-fiNBNvOW6C2WHR$>H(q_*|a52eFLwUYmhc@PEa);k&=Zw3E|;~}*e{u$_lHb}4X zK!1M;2eiFZ9+ws!%;7$2lF4Hum|V0&=?#U|*bAh3oZlAnu%pDaB7=3g)Vw5$1ZpDo zzFGvAu_G{8$^DyUDt={&L~7;gTj(Qyztxl72l|A<<}Mezi4=TmfteL=#_WG2J|P{+ zdt7)J?|&rdIEnm$g$GeJ;(Vwge2?_HXI-7|bAe%5LWKT~OVN*{8#3cI@^;5M6@OPA z>EJ#1E;BI`iBkf$Dpj(=VX?(omF;t4ZP2cpf#N4auP{}Q$5 zf+KbPqqh7EwQq?np9AK5fri^u*Wh{d$kKSZg@{!(3$5r?tRzI8esiV2^GA{}BdnG^Z3%n$ zi$q0Ay3t_fqcZbSxfkIwoiBQmwr;Z%jv}KR8P2yF&Mrldpp#Xnb&?1iJFLBFovtS* zCcrc-V!-|uK+}?^;c9G6ROo}I;qoL{^@h+`8=XNVyDGi6+&lAyuqyrjw|8_;dy{I} zYkN*&s;acC%NDf1zA{hz?eM0^#z12z&pe08c>Te;8Wh|c zWSVtvoQ?6(-bOxH6}=R-41PKvCN(8o{TJ17DMSLdp`N1{{1cFY_NVz(H%K zAj*|*Zl==h?J3=H>tpSq{WJ0(8(+f}T8Xa}ROG#K#P1M<{sF>ahQI~lA4Hg=ZC3Rg zU|snB8maSNBh8RU&+`Pl%>CJZdc_Sn&5u?EZkGDZXsdgZPKugxyH&1u6tzm% zrCXdfTOT}i_Di5MHPEAjV&8?|xlN7d@UNC|#cPP|Ct`S|ar6^{3N$`}5oTSHgOrLqp=i98Fjj-Gx7h1AGU`xT0O9Y6z>LNRQ5N$ukxb+ zOE2y*poSuwADe95z2SzC4~BEqA|I$cD6^U%o9z3ZLxBpSnrUa?ltqlo<94(GZj-E) zJ^}0L5HVkL17O|o$a#mp#H2guGoR%=u$XJ1ahja7D}3?kp}}%bBG%RA$?ih7VjBAE zM5xWQO0Ft<^Di8d``);e+<_udHqp`uVstL7_uTc*p5Tyga^X&3$|ze}Otb!}IXk8Y zpF2ij?}V@@tr#*FaP%Svu%Z53MjsK0CWz8)L`r^$hR%zmn~j&=aD`jdv2}{WX;BS( ze{z+Y9{#&!s!2Y6p`GidfZ_I|g=Poo3kPCV+w@$AwHq=PnEy0EK=s|APAuV>3 z%mj=C011$*ghyc-0FUpSb)3H!fij8K7`rAt(p0L0g+rZ>!^lcqo&W*pkTTG+DoM5f z@VL=+Gw4s(IIzmZuz^erHFnhDBZnSs>mlfZE1s`e4l|o>@TfKM4-5|eHeK%)$r81S zv$lK{1jQ5~K~}k8j++RGvu_AVfX`MyzQrKDI9e;%|pd1!gr5pWM$JvSmXqx+-u&eoC_v9Jjm0QI4jEU<)NV-(F#7)iMqwSS=4#GG1` z`mrWEL9bc|y@ZOBHI9S4Fp+OYTSC2z*KUlr;C zVjGLI`f)X_Wq*~eVYf$z7DeYy8@2T;u#9<@CK>88twM;I`tEMJB;v3nrdq<|LmW%( zVN~%`UFO0XA7zkFxmRs*UmQcOX&~I`=u1xMIi!Kl-!+N~bdu-KRJ!oDGJETTs`F(} zuaoCzI~u}OD(h;*9)IA@b4_MJArI5ctdA_-8Rz!gih|6Xg{2|^(7her+1%l?LKf?{ z%i`1Q5V3(F^BR$@$25uEBPHLEZy?ThQpD(gYXO?K5OAkfJ`h(6_jRIuF`3jr>AaBZF>S5@{~FIl$!QhoH4yjz&yLstA2}iV4zoSLCS5?wQ?*1`od5J z+@cA>CVenlyWN08G5aPril2&-+U?0hS>WVJndCf=WxqX5b5UDKQ4>VQ9z^rRk>Os{#EoxoX|oYsAa1EHgX-I;Tb&d|#B;Gs+D9Vth*UoT*?$+U zT^GIN@uQB)(tr%i)(qB~iT*X;CIL%iP2HR&6ceFEHj2;UMSGYjnx6P$u9H2OA5^LT z66yzkM7wLApDVtdkGP=ekh%G5<9JNlz_AeSe!4dYYM#|=>{&qbRZ(^V2XG%?`Mjz& z(5tdZ4d4(6;4$gyyEwQst~apZLviVTO%MpWd0^ygRZ0evu@^aRY8rLM;C%=3qJ;-Q z*zgXIn*YQjfPpgOMf*7>XVD3;&2l(&c^(9{A#hk5YW^Y-jOb&%02=>Db3VMf-uvCj zHy`=yp)3v=Thqqa2>-?H$8XKjpKFr9`|io6@jXttA(#f;O>Spfx8gUhbTPKgXy1wk ztdh_{enYXf%B_=%d=7)S3%b57t=R%1S|wuoi?1VQ`n$SQK!WZ4Dr+)iFsOK&x9|Gp zY_#h@F86c}aRH8Uak#x2D|SAkFO>@<&$5k}xmMU(5bMM?3S)*J8jtN*C?mK@0td3g z)h^Xx<%vJihTZgJmu{o&sM zYBNMAs1=e-1T053+B{w+JW3_R_A2qbbme^6L|`IG#cdS0xlAPUO^PT`E}lPCx85}c zE!A$h$9e5*mO{COiu+D8hBFX^aGDRKd#}FeHnf`nUKU{=MiB|1c-8*in|K;qU!pU4 z{X#go_zi!4)yOP{nl5lLaMqLfB&!-T<7Fb%JAAqkC4a$a8%)&pXLq4E81i2eG3Cod zFAtRSkD5Ub4D1?|YL-X_g4^vi4(m1(R+V!Xr~BhYu!d8UHxm_jdY-3@v>peFTF-zr z7?~`g4hrA8k92+3IcyTKe4R@r0`ol=n`sd6%0)#KPAk3%y|0VPaK#{y7a9znYO400VY{2c>j^dS=o{dzw3cn_gw?VAgKBs zlChZ^;>w)&Cc+h(<{>`>NaK^kN4~$$k=vwfN(E2he!#=U=B*6<)vv8$XW1c?^6OQ| ztDT@`&Y7$=)2190=peUikv*qNI=2F2^1)zPVJ{xUVDb_`%C7jnR45)kMzAG2h6+k$ zx1df3G?|W=)&80^pce1NlAuSDpik)j1X316R2+^U$UIrtaF#=c)2wfTJyu((Pfj+4HfPitVlL=scuhzoecX=P>Sz@| zFfsDhuc2c^1K7PjC!6mN4!wpvH0kquFkE%hzQ?(W`x=Z)a0RiU9+QHbV#znWBl#I1 zFA2XlYcihgxM3|mHq+08Oyf@YV?p%JWN7DxCcV^4i!k&GIt)oZl$tRc0dAjcOY#xr z@^OdUJzC;?3OOd^^IoLFsjt_OF_hFoToh3bx!v5N8sQY%%~kkb4)m%U$40V0b1@Kz z+!B)SHSo%heg9L-Ok%!%Flzw7ai8^E?fbLj5m)IKYtm=^}#R0 z@Km4~*R;^I#`@S69m``}K>DyN*5Pn%n3^mNI^{G0F+ky0iwAfc*Xu`w}=&F4-}9x;FCNANF^B+L10rD%`=YEN^I4H5Zz6l3-I?Xgl*44%6* zLe2y(dnbac1-kWADmkyje*cUvufcN^_knUsdM^g>p_@Iv(_yQeK!Ev8rpXzNYJPm}iB57oEVSK_G7w-r=I&kDQfe4BUWs%J$$ ziYC?+lt*I?mCrs?=krJyHI4B{eor`6gL|jP@N@h1b&@h|%bJR6V2v4GZI;nf?lVab z@8Qx62}IZ#MO#=YLW=S~+)~=PVx#9JZ=-A56K896kT&I#vMzi*0e+Sjn)J>@Nupk! zI|m78+3jpy2d#3&8ZC?j{Yh=nM!^i;5A~HZWyRw8t;*(jru|fD+V~^bB2b;lKe(-= zzS{xqw^B@dlQhRw?IIrO#H%O3x?;IBZTLzR(1^hnSogny%B0g6|6CLDrCIsM=^|6J z9X@3kDPAH1hO)oMS4>izM(i3Q+!ViLF1fT@LU1EMg)|!!iJJk)f1U ztVP#L*GX+qFt-R2Fpy0vd9gLMcsT+YP+}9K1Z4y2%4w-XFXar;C`SX$vP{Noaxir$ zx#ND-FVd2RcY|a%dCcJMBdbD8KjqdBE^dej*>G)v&N1i$Z6$4`)1(-Rhuo=!j7}7-V%YUh6>E=uxyfV2mSnC5(p(Tuq z0Rmi>?^=CB1Cgg1A zTa0D}^_!5`(O>r_2~%O|rwSd#dl;9m*1H{_5nwK8ehB}noMkcG6#B)rH41$Hmp;aA z+%`a!_rL7SzqP7&3E;q%=4t+|=YK-F$5gW1)*Bz8;waidQ1Nfdf!n@_EzKMn^KU!} z5eYuc2TH4(d{rDhPWB@JA3X3ijSZAEVsFl3gxD5vrc~S#bUXadUKd1W-L} zYpI{4h?p|{ecHnt@G8vvrl4%X``=V85Nhergo)8pxXmW!2ie~BMaO%4c%}L??kIYf z9yGnD?7BEOTlZ9|QD+I=o56!LH`yCnQRtXx12%#?~`?Fy4#U7b4AkK_i0bf2pKp4Q> zy}?)g9}9JM0_`8s-C-!e4{w9#pkCbhqdLAELIiF9yaO8nP$mEW=&Ft33U=UI5CCoR zWOldh<~Uy@R^$*r?p@z7WJcr8nD1?&)E<(coRp7EtAec~%;s-Y?yB8lGx4w7`1pxQ z=5P|+OKKBOl{@;DTG~l`QQAS^_2#hvpcqH4$81IFy@>^DOWk~ z-bEx6Ul*`YbNMhn0QXvh*(NxJkTa()NP!}1o6dI|KE4?%@y~m%lT8pv@)ve}>+f~Q z!3n2V1hmkMwr?QyI0l_NL9SY%s5BHm2oI;legCZUjd=?)i!J4k} z2C0aT#C>U8GImYW4$HNSOFN_To2idU%!lX$d>v55S?aE3Qbs^5@Wy z7S7sTXio!Dug^804G0Pz6|YSq)P8jU4J0xdj>+K1(S=VVsIovU3MK$t5o*GO;?r8y zzg6vwprv$~Iq_E2!mWd?De7L4b2hUn&czAq#^E1m_!Skfsn1Po#cs#2zNbnx_U7Gh z6;q%3Q;)LiHQWY`3dlh+iF|b#qXjE=Zw-Q?21wmN=k8So{0d}&oXE1UPd6%BrQQXA z-b#X*;&br2JpAMsL@brgMlejClDhy{+KjKI+Dw4KPOYZpsnyQB9q0 z=jb?N+W2l&p!o<3xgD_~fR)Np21uE=Y?6@1Jz|s840tOX_F{Su00#@8pJVF_j(R`f zwLMA%!c!7BrXR31i|KsM2X^ZXG<#SEF06o&d@aj0G7jCmQ|}s}sCt_zE$9Kf878yR z+tR=|CZRVpKoo5$;`pUp$e8B08rT2%k!4&|E>V#5o+PMks)+AB$I|JttM3M`dvVh(_d;TzuLZ) z2Aq)TJu&cUTdyw9`Pk~eW6ozBo&vM>@+l|JBW8OcDyB5l={07tkney9+MEqK(T=cR<(zDdX2Q8S4Ftv=gV*S zqA6h8i4+ZpCdE6+L_bhb$W!Oq6ohSU*X_UT0)8zVV2ioTzh~y1!rl0d9*=6eI*@U) z-FOXbKGD09MfGs5@EGt#FE|^{)>t=9HLX{Zh}rDIS`(z+K$@4IAKwd$@&ea*?WRHh zYfzv1q?<3uuUBT0i2#>qS*ZAfmUaCwp<>B^=|usipH8~_1Pg>v(6M7r<^~}B`tGTy z(uV-h!$BHHyp&iR2ndsXIMM*(Js%}6(l3$%veRLa6kgInX1-Y2SWdC?U;D2j=;Ro& z;bwmryQsDsq7V4VW?i9Slk}DBaCSVagiV#>2s>dc2_S?soR`XrHHpqT1j&{Jm}EYmmEItdH`9Zf&w__Q zuk^s{^Tz8^?Yl5y%+6a?lTgCIK4f6bZNKs1ck~VKsf6!OCjh(JU+hTBXu@HV#6`7} z-p}X~74lzrPbV63V3?6qZaHef>{JLPui!6P4wzz+4;e08jashif`6cz^j~B(xqg5^?op>>8GR2nx^$U=v?c! z&)Y*evCw(&{O@)tiNF1J%*%eKY`%s)l8M0HiaRTW@ruslAX2g^0h9d+sI_izciEgU z>T1*%1ZP1=*iD{f1oInE1!j&4FWN?Le1$%Q2YlV$Tkb79T^hebaIvyS^?5LKkoT;f z-(pCrR1%kp7xMxWgUDnsB^X&AG6UMncck9e!A4g5s}2d{Mpb44X>J^(vM`Fm2|$xC zi(7r?rT(NTxhwGrIY1+a*6?liWw@p_%1my9B>5f+P|!@2TMT0lX339Ef3p9YIzgJx zl#1!`%U2`lSwH2lNBXra?R94>ErT)OeaiWGH4|6R#n%OO?7{I4TNnK2 zkgJG^uvok_khvADz6yaRYoFmy+#z@)?}WVFMSj4t)S*3?DaS`Q4}Ge}az?wq(B*CM z*Rn)m0~L*;h_HpHG0R*mG&r~v4OzOmozCk`F1viAxqk}hcRqY6=bY{?(JO`sG#{(p zWKrPA;h};vo|zHT@{FWLk zNXh$tYX^CMXw{!X<{z31cxBi;lV(N57p0J*kv(~s_S?G!g&0^Lz>SX>vrt>iyq3Bs z*{9*fdhU89lE_n1(o7TwmgQnGo;|8(L{U%*k2DpZU0htpWjjoUvM$bhVBg?po+Km& zPM|(TQv@bfMj|;C(iAu0WJ9a>2=GD|jrDB#Uq-}H4N`aiRnRZJ1#C#GZxt5954!yW ziiu^LsUE<08p5^|LQGSPeJB%G9(?yBgZpLe$BEzJqHFC)~z|hsy zdo2W<*N9LY9D2?Ey1Lq=5Vw5Du2LZ}In%ws&v74PH=1F$A@Y>~+|4(3zM}i=X`KKKA6NL>cB$6UK*G&@TuXyUFPLKQneAYoS55h_@n4kXk_fM?ZG%Z4& zV`uUwZl}LLm8ati%((NYlZ0Jo*r0Ttpl1eTI0Linp#7?RqbzH0qR)_N-xz#vC~CT3Fm^on1j zX_lG6!6kgkXd-+1GxkZ1UvUrmHXXJLNSjWm#c%Kj&uf?e5dQx^-{cl(!XO4ZVIbN~ zn_0wWykp)ZsWEsv_>;{}cHd$sYStQe(b$m*T`@~KN^;^pk3U~2nyou-Ad|+a1kOma8R+M5 zR2NGVyy)BeLvNm#NZ>=P{ued^c>j$WG<~@qA&jD0xGBB|`$3N|uobE^#Y6SiDaeHo zGc?!$o#`gHj|-}6Ib-9P7Z_0TsGGcX{ttU^9Tx@Lt&PgiJ#>kLlr%_4j}p=#NC}bx zf}}{-fPjEB64EV5gGh&@NJ%J2NJ*)bbbt5E@Vwji?EUSt&v*Vj=fCIYGtAtv*1Ffa z*0t6mC9n$Lp>)u+vB_ErEEA0gGquO+7Kor0fS_X$Yt&Onq^wDeA$2o2Jy%YKz z9R4jmd9ns%iElGpFQ&e!nEYn@oz?E|Z`#L|C#x=?DU!f1z6xnfCCZoW!wnskm9y_A zr@_Dk@EDE{`@S3sL>pys=zPsG~_>GY5U=~1koKQo5mmk$@RJ{9mf?#v?m%MZ`7PgtR($7HfEw1M#Y zzG`?=1;bF#Ldr!7dcf}AfwT%i9cW2SF!n_%7ws}gynY!Z2DO;FGP3NlhY%sP*L|a? zia$6C6y0T8BypF&LL?|v5{cyrA27uzUb zT&)p)N=q`tkWhgMx^(#`TbEHd>uwikfN7RHc=pL)oezL>xD$KM)PvkEwr$5DF(H(*2h^plZqjTl@cSPa8-r4Ye}| z83_dO_g42VGSCpfs-=y(!}#{Hp!7pLf?V^zM_eLoOAxijsQO*1uXCqH+$dVpKQ+!E z-YSM&_DzYs&B=_cVOK?ewz??41ig@Z$Uk(Jc`{$=l=KY zYB@zS$XrVocO4l!1GCN^f6fZH{)OcV$b*iReXFv>SANA|=IIN{bG87#+jbp+wZBV> z=K6;V@D5UtFZc!2eWRgn&;|zqr0`8|6J5OpT^Y(89|O??10p`Hf(7BfZIHG?iP1C` zDERohc>q8igePkq%ZnE8z60!(sQU-MzmavkARaGEm2fZP!B+s5Ubr>@pdkw&tsJ%S zhL#J16#Y{1$&iYFbrYyr6o~X?NpO@j6UvfNtTPunyMN!XMyd!QNO6B1<1uamc)^%c zNea8?+UT2F--m!00NOP0uhVw;e%kMP3t}*mOEb(AixB(XZB7VNSiuOz%S%0~vplvJCf?hp{yNYW1sZ~)1X67r zHkBv+kG>m(_D}KxJ`7Ru8sYp59Lv2+>;q={`8hsB!ASkOwQQ=%@F;qT1u$mq^J#Pf zVD-^oo)FRzjlWvX42^rt`LHq+DJv@?%YWO3yt$UAOL!v%YA+={&oi5UU5QWmnRC}` zvzegzgs9G)d*Qc;UZUz}zzyZEc$?az$u`lQGR|!s2j* z-iTHsZX=FWB?s8UWC?eNi3*iO?%N=})jnRt?5MmhFS6Wm$E{5ERQ|tP}jQqVJn?W7et$~W3t$c|(p$wK8*I!@dW0~b65`vrz zZ80!p^OIp`01?BOdB5Wsr88 z5UCKpnGgBf(|6o$F@g;3^dw%PH4-RBo7hM;`b|iwPf8>ILrfhrh(2*Q*~1Fvb*j85 z=IeO>uVomn>Y~jjN@Tm;>V@wfCUnQ|KScbUlD`g2v8qVl_z~)l2I}!}-q7q*w>-m6 z>UP1O;bfeC%05QKj#|%1i^>#xB>P%99*&X-Mc+%*BHoDUq0I|*TcnM$Tq|b zGTaE7oM*W_e)s>|;~(OARt$IQOV^Z0L#;#Ugx4Ol`(Qbj27`5PJzLde?gYFL&^6C| z?5z$y2)5Kt52hR%2?tVyU;fbYDifT;Mcv3K3;3cGv*>vhcPAUk+Rvqsb{_XT>rQdV zOJ`qieCIpj5qoHu1w;G&t(u*s6Cgxk04fcVR43NNY8phIjZ2C@1yud!Zvme*BHqXq z$_5=+-I97Cy}BUku6&aacQt9!rH%C}VD9n|Hq-wHC%0a{a0C4l952+Apb-9fn1m92 zgjmw1sUmIoc>8e0imJ5>mmSD|1Qf!s&rzrXz4 z9P{QEo}6O%?iKL&(pdx?=mFF*ese$}W`z+~o_D4r3BCt>HTeJk=gS9wzYfk!FpCQc z4#1dJ!@CHvis(x=m2WU{B=PAMMY$|SjIPiSQA2vMuF!$kk zzG_9J%l>bJtCAj{Z%G47*3Dr52_{61v?wE26%kkYaTdG-xuzciIT`aLo-cGsp)A)L zUEW{zCT|tYf+62%_{EF90cOQ206#!Gs7$9gaeK*e>b<>LYa4@%-&HW^rK`?)vBIna z3y~EXf9Otc?6t;v9|T2tDj;op2Y`T)iynhuPTJK!SEXPyF{a3kDIKo9WCBW_frqmu zQReaKzrG+aLHwI_Cg}gFjx`NjpQtBg^=$I1V6rZ;hSVN;cQivZ5xw|?$RY^s>%iD; z0rw3fkjVU6HwYdH0gG;eN5J_3f80eVIvvA&O|H995dMasQxbh- zCqXD<6yt9*ccZ}?c!yqlKWUr@)Hnf)L2)&a$8Z6dHZXR+L62J)y0FRtG zc-MOWa8rkOzP*vHO97H9FTmV~h0ZXt!`)F0=aqE#kas%37P6oOhE)34{8D7be!!fJ zC#x)9qV+_xpN8hB0n>E)kC^lQCFbn%2Y{YQI2^J932b!P1q{W>C5syZ=2Z8^CS_gVC*_d6(c8udk&E6GDSRl%F&s#|1 zg#zHo0(i9{zucA?Y%+j#48_FCTj8>id?R-MuSZDhS*Dl^7N9UHfUHPF8iqt9D|!7N zO+#r@dWDFssOEixY2}bMc2aa_Nkd~}ukfvz^T(od7HZtc zDN0>&85ZxsBIqT)9@c#jd(lM?2=2^k`M{nF48eDOSb<0J;V)C95$6y>>5K`-9dw%_ z(~t~6L&ur}-`uXF_b_3>2KblP3p6sL_I{1$f;d_MBEm2kA({cEBUT=N0ChnDRZ+ND z9zFE#rhv{6^4auzkccHC?WNfuLYNKwAC9(nl0!S9InthU)8*IS2R7&Hu-aZA?7YhJje@x;t$;iSN7XQY^Zj+Z;W3SFYQ zqkGS5y=HuC;UypKl2H=3f%$!y&6l?cm9&)zI&+!PH^Pk~!cQ=i=cIA0i?G;lAa{@$lCFAnn+t;L@emd0k~aam1I35l?y_o>xSsOUWKAIOq?;F|W#>*ZGIL*O) z02#h+tsoWhpyO#cfr_}tR#vI9CQ*G}#U~gH^@Y3kNM}tMj2WDN5o6I472x^sv@rXB zs}I0~SpSWSfS9rXZq+?F%)ONI&iMkDO;6NedP4F2*8+mNNR*HdBq82%EeM!`;?NO< zOGZ#fD{N~z-yS@2pA($O4oU>x-~wmvFOO?#FavsWuqnEqf+$|7e1YEAef%DHHPjL+ z!~h_Vmi!ZHXrwLiDnRaX1Eq0@*B@+v?=?^owsz;-J`m|CjTQkrtcvnT)7bR>dMN9I z9U8swH0_S4bpJ%}s{rFwuf7(v6f`;nT#e67o-Wrn&44e~+Zk+ldS7B86}1^(cZ8(I zlR^PQxD9ZLiOT}3&OjZB>6csf;6Zl^_~(AL{@zUvVmIKGlLPEwf)8y@`3S>CH!k2T zemClB_cbU;VYtN`+P)NwK{+DvEjmaq92W<_XYzMk7d@wL35VJngklaL4XR6u(O<@C zg{@(I1NSxwf@Ok84WV%fI&0u;aDxZYF*mPR#ImjQQqR64S5FR|R*cHeC8igDUKDq21H?RS>FakRr~|w=>aoEq zEqlDXCY$jFn6B+^)CnB>75?oO58JzI;M9IA-RD4eLn*PF56%iT!u!#03NVWacn|== zY?H~J1j$-!a@VZT)vu+gA-uuNs{YZ2C=nVJRrp&xVjVVaN!d>d*-gH~?Fy%G$qloO z7mVRVe%APHn({mgG6*=8a^JWLgvahx5)gV0^bh|$9}<7x(0}12#qaBZC)pB)DaQ}o z;nh`~muPF)8A8VTgR38aC_zb(4h$dj3M7pi;Z(e91**=0&dCTq%mFn+dT{Iud4U|j zljK3|fQP;PmLhoYoA`}}Wf9)@9n@-rHi9J|>M`EY%ELYsWJCmByAHrMcQoih};h!f^W>G<}PIpR6eR(DWH-3N~)Gb*@|Up4+X>WazC zBJTzM{xO3laLZvR*E?@B1)={V=Rn!B2*6i^@Bi|IKd# zH&f%;O;=`x%Ucv`n328=uX1`|B?Ek%j5*_?lFqD%-MxXdlg+56hk|QGhWU{Wwf}^B zs{+s`J1_ADL=k*TPE?!SJP2j<)N-fRFQt{yi=cDzGzY@$<=a7~7l(+B z5gQ#C3!^qe`M{&A|NoNzzjMm(d?_>Dr6Uc~u*Dph%*ad?pJ5^wp^PT?mn{YIr2j(O z-3aw~#j|NlN+UuNMeyvb-pqn9AE*7Iu!uo>b1h2?T@zD|z>QN_%!($o>xhxGYH?sz zu`Yaf8epE+tq0S3O~I><2u~I#pOni32j?D0Yb)|uo}2;+G3sXldoBTQ^hnijGi+DYZ}6CfRLO?Q;q69JAoSjKOONF zMJ$51C<|0ju7Y&A>P~q#7rKLa+xkv`klyxkxsd<-oB`hq%}p!0H|psT+DF-8d|wfj zJb+jh3&H~*P(*NT8 z(Hp=0Z`O5-Q4+9#+XD9rHM5=Ov|a7qVPHf`xc#OE#hodf5_@^8{Lsyv0HE8uH;0T^ zzhg&OJLHMy5a94b9d~Xw9dUh@*CHfQhCvTO5Yv@p;ui*1OATUC$G7E{2c3?sXOy+m zPgN$ERPRP#li&aS%}g|?w@k{*Xi^aMz3E;M82AO;JH|{c+iqhm*h`0s`qTdw zXUbm30e#qfNDv%XW4|LygsbJ3j0pBYsbwUf-oEWFRmYF;XUXJzS00giEfsLWG?!)$-&Yy z-V%631$d+qFAU7S`(5FN(J6H>{Tz|h0KQ=l2$EtSZvap(lFEI#Q-J9;-zdPrJHsis zKr21c>u*fKFDl%5HnNYPe1p{Lt*1Y500}AhL5(eFQ@!5(QquXbik>4ZCA%6#SGmq= zcnJvh9oU8_xjx+=0Z?L*n65+m_3ml4RCmoKPnvW0n_Z!g!hc=IL*p57-aGo&^8{pVU8P1 zd|yGQfR?SNYzT1!v60vee~?d*M~HYtJ5yV2MvME4Lr9@Mw?X1V-0k;7KOdM&Qxt0XOyHEy(nda`s?82>@k_?x=N->O)pK|z%)cf~#aXTQD@lH<9_CUZPp zO{GV>t=e*WGolzkr`^IgjFK7t06%=OAl0G$VAg-roeRX&PbLiOpISbbD2u8PxSf76 z_=Pq+hLlw~&yvdNtY#5$ne)fIKY7u?W!C+2C=~t#19FX2jMT(tt{C{-OTmtyIxtuC zYDINEG?0yNRz@`e!}^Q^)KM@$F-P2h`bULQAWK}1bm zEOyFQeA@Vh>9Cs%wN0eEWk&3~3RBRU}sZ4q((Ju&1LSE`rUbov7H&n0I0~ z7?a1;8skL5d32r4r7^g~kHS;lWO(6iHXmF=q)k97;v`)hD4s=rzDcWJ_opzCzfh!I zG+N4s07IO!xzzj7s-5EvbhG9kasJCfMo)WL73}&uzN)DrF+Lb^0{lWlH*b$xwo4X8@5ab4+43^FKy5qc2l7(&-gN1i^w!I|u@S^~A~ z0;GAq@|0af^28T0xp_Hur-$1iGSe^aq~hTKXcJG4`ZIPRP9$Cqfk)uK6f-aTDWg`E zJ%EW6eqR8Ponhj4X*7b)Vd zoPgVy*e_Izi&OS-tXOZTaH5k_g}`DV98=Flzc*|lqW8z7mK7sV7XS&9kW!*=OPjVc zs}SpANrEdJz}{YVeBd^#h=E}eRsSEwFP#%ul2OIjr+)?~{Fkq=*q4+&JD722 zFK+LATG;Pf_q(buf>TY2&ixawc0t5-o#enJ*yj*aCROhBNl=oFc+nWCO8C249s=ws z=7`1S8~e1|x<@AQeOO)T-G=E5@Br|(O4)*NUguH}awlKM8FAM@0{Q#n=Z;F$f6(;| zVc3NHc4|d`p9cvPBOsW~zVceq^QpNsdWUziXq(z>vSI8q2ApMWr%j9yX=iN-2Pf-2 ziVzV{LEAgQ&>kjORzw2Tr6@2JqqFgxwOE_nmSzAhc>edF5JQ9l&rufQeu6)t4y`?6 z{C=v|7eyHcpBwC*?g;RfbRrXGQ+J_&hkXFJBaiKPStLNF*~p-~plK>7qDNO3jgE=0GVq5>CK#iyh;2rZ7uqxb%2_QEKF5jc zId4lS+QbFuI}3i)(~qLFjR@u!u%3SPqqO-(HSKkIL^ak8V`YdVYUZ&`6pUdb=$!I_ zI-VCOy%F~x29m*~|8Ny>UippB4IYM>&w*LeLZoj?jY9Icpoy&jixD1t*yK@J`9xU$ zE=a^iM9u&b^P?vHo2|??xr!cVd*dKM?GIP_MovP`LQdH^=P>2~g}#ey)Npw&wn6qm z?MUC3(}v5auA*`U%f0SvVp;(5>Q)PJUIu_=nZ@Q~bD>|eX8gYV++$~aaYoc(#-gkz z5EFk3B#voQ2aZI-@k0!yj#qOPaHu=dsT1?nFy*umLI}R$KMA3UhWqzhu2JptBPx9I zo8Oy3?OtXUH^J3gp9?v<=!@%*bJQ?{09u7fA}}|GF2tO>`v|x?irQGok2q1Wo{vD@ zdi7S`IsgD+G$7X67Q83|u~z1v9|^l?KYOR%s^35-5rFa$Yo=c?|77#35}Z@QTCh9^ zm|E`!oz$B=hOFUgqw+iuEjw5P59;OAy35I#&dKzLD<&QW!r}Qg2CU&>GpDtn5Ih?^ zwvQ*@6;&FFl9klRBSSMGY*cs?UPH8jJMsnBl2M)7>Ev|5?PMV@wJ`M)oSi1L=13kh zh`lk}MZN0*wtEz=ye^0-ZLp@LTkB?|*G}$!9PIsv3y=+fMM0<(BHp}*M$+6eAI1g# z<^W^uXOJM2ouJOw&$-dpc|>hY&9W^X6<)Q+&wLhpV_y1Pq9=%%3k3K==nk1C(+-)t zXPTFX@>c)~KIa|y%=HdUC>d%2Ew|R#eik531^Juvy$-8s+Ld2Fq+8sH1+V}t1+8|7 z4+Mb6ejJFP{NDpo@Hwg54dU4Zow%qUHA#C$=BiDz#excYw;qW;8!XcQH8&`b{SoYp zaR5HGLRCA(?khu%NbUVw?3oWfm%;cjT@z~|2=$|U>J4EHMFbvks36#*icWmxeu=Bo zO0p(G4q~iO7Z%^ba2ZuFeqE*lA^k79j5;mwIgOYybq;jrcGQnjvCqiO+{cpaMa8?4 z-w4xPIKPV5xu|kfft@MdoZCO@THjZiB}Qg8|1H$L0Y1mBsK@>);1NhifhYX5QJfWW!VE_&X z;sT$$dmeX>>OoB)=<8lTH?Db3zr-+kad!0OeEIb`UjCZL>eSizyd}%Nk6DM*&rQpR@S>ykvj%^s2HcLRpjb4)ww{hvomkUcO+hb~=i^ z|B;pyUV&*;cc2nodvWK@qEu51@!B?BITtjJk5T-)YtxB97E}2-{hck}k+37>KWEB% zjO|HuULns36xojy7sXZ^?f_MQp^{q}yM#!@`v01;erOlOFE$XkFlB|z5Px%%Bfby7 zs8AFtM0zMtrv;fo)jY#J_`b}p8qdkG(L1Bi(@kpsh}tzW+3SQA(ZytA%Osj+XuFQ2DHsV zCgG3E{>m-?pQC`ym5@r$o1YtM>T?~zcsNSz(M@Eg^b*u; zfXqixg!-SOg%D#W@?!Ef;BY*oU7e<>+wT5&{8$JRl-ZyezQ4lYfA#f%fY*D(difM= zbgB~qk}uJ@c+P*rNJore{h7p)#~e;aOKqjK5QC~KH?1M@?C8-_Sku1lKTmAHm&R*A zUJw<*Z@KgC9rUfJ`ohCM7czc=rSPNp1WHJh8zo=>RJ7q^yyk!Pa8m~K=>%D7{QccE z^wWL1tx=8Tw{o@*!1qZVTv;0_f@`A1rewTb;Xuy-X?9F~T8$LDe@nv0?n4#^B?5eo z;0Ln@wM)h2@NpAts{x3hmFh#28Vn3QLEd_d!(DCDE<8qWx4FqD0c8&ZrtA4kXI+!( z!vWtcKpu2zYWwiKtR@Ig)K&30~cTVH6AvV{1pc*hgl|1|TEyd?t?9cB@kNQ%C z+XmB@XK%295sJK&9#Y1$w&Zd{()i@Ob|H2Y+&CphxDgDFlQ-?CV{T~MN~u@xAQRFy z3K7QoG@-I6kaCyjKi$A!8k({90D;cW&uEW_A^I&>sRc2pg>X0?>;^_!4?*5&yqR{S z!Rpdv7EyuSFM{lD68{+Ro;PB%-=S6YTNeHnI+Wy9hU0UXec^g|;nRC@?#*cU{)dQ= zBM~|0tEV_*dUPJ8ajXH^vH>Lqd~^M&*pjCeH#8s1MhGLZ`I67y@|4H`frr>E)v(%1 zja$Eh@%IjkIwDcOeY5M}NVnO`6#*V7W=c0RoPJ8+`Y;QkjD*9@v*SHPMa8V()nDVeeNx^UCs!pksrN-kZ3UtdcRwTJNm zYAHgv_NBxbrf^xx62LoTReptY(e4#;$>6fTtL16B`>9R~=Cd7KKhj2ZN=Vng#k8!z z-_%=sb}j+^Y1!ev$C!T=r%aLGF4X_K$6~t;YYJUp^}A3G|39I(Tr`&irc+WvvZ|+BLeApn- zWr8kq2f>#)?jB(PulVM<_H;>G5{xLQHAQFPhlR0 zW+wc77EuNXsBn=9hPiGbACP$|{0<7k7s?==V%-;ZON!$w28JV<%xB5&>A{^+kQVRu z`E??&43MWTp3^PQmZib;DgB~~;>J^jNIVBj+4xmi4C^Zgl z3fZ-?C)zAO06}G&Or$@+)VLcUsgI3j zZBHQz0=I{A2U0K1?pKuA9slKV3hOxPw*?TH&~j&X^yrjS2kSBne+M?wNWEb!hL6u@e6UHpDywN?=LamB!u|~iK3X{<*(I)}b(y{>k zj7Sq&E-)wsG~4de3?9w%f^kPH+Cz2(DKo8rMH~`nvWrb5)H*p{IKMgCdI2GpG);V< zmV$3K?yUlwen!^zR$Z5aybD*4qHd`3V=S!3wwI({P|yOaO|V4O!^-@LGOO-UpmiA2 z>_|n+M{+jZGK^v#Rw;)~u!+sjj=PSlMBz zUY4S{<~U=^7Nm`1Fu=L^3Ceb@hmW8qI@SA51u2DWT5=DGg&HEu)x^$(8*r(uh*!mE(njgk} z`IN}>q(pHP%YGP@x)U1!mItFb%j=DP)`MkZ{OR80K0lvtE1zU-yU;6n&^~AqB!;9* z(wHtm67N~|>W8rBkAazqeeVT}B!crh<#0mGhm#`d2AWy*iQYR~_@jMzPO~`Z%f~_M zwkgturFUE0O{n9&d4&?-u{KfX2@U_yge(B8R!#*!TFEMSc=j8*%mhlcU5N+HAQ&!m`o&4XMT0Edx>T zxouEE*$GH)aUQndT5bne)PQ6~_Vrnwck(Ds%Zd=mFd0{v$ zT!_rN`RikF7nKeDFDq!{lQ!qemal+P`yU7GgV5{CiY%q9=ODH-=aAhS6#YuGBA|;m207ggHkI2Fl>cH?4`vKvgolHfV>xukL5K<1_CP1Q*XG zg^&W;?`ew3;lSv=l%T#tzk}q9^CjXEu`+Vc>Nkg()E~wGScHP;nq+8o|G~D6=*+YD z%HIP6!5l0l`yhEU|F*bH`Sc=hoB%A|Crl|osaVN%W17Z7AI~6l1r=(Ih{8~O-{vSP zWe{NQET!wD>92?G(62~`ygC*sgB+|5qxXkR^hw^W81W(E#~yI69>^Pi$Hf>rUZ6&& zY850O*DYs13uP~#6|KEAU&}Y7F*|>LxuR0L-Fh`*{GqkOX#o#lWh0X4dFZ^-ZQ%O; zi0aW(Tc>JOV|2QXKYTH(FE{4{n5?zi@ahLFkidDB43H#XXGi9 zDzA|0GmI z)9Xn~4OWLCo1jk;E@56hC>@_Ey!}zv1nEk=Pjgzk4W93;^ej+=Ow`>TcURh|#0obw z&$$}F;BvP!oAtH07?bmS*YcCtii;f{W^T6-6q}!xi)>zUv|sxOGX9j*HmT zi7HE<${mRym~x;Ngb>ZF6vri4#3s}l?A48BCg>R;LfSNl#*CjRDxWJMDE4nQ)qDUu z$6${i$%%hy`BN4b$APHx#j7vZJb#c_IAVXLGO4zTyvM^*1YiA}jV^87RlZ{nK#019 za4ymd8Da2*j8pgYajNL%YG#{m@fdzQG+Wkxyu*9RI`+JD2*iy6kWTo+YA7RJu>*9J zbpq^AItDxHkzKgPk~~*XnD?J8Swch5k+#xtR=N_(W)5mu@j!PZrFS;qE$9`wx_9jB z^3osSW(?V6{6!l!<{qV2hE-73J7N->2!N)*%Od(*P>`^EPm=Vc29Zv2T&x4_1p_3K z9t@}xVYnym&)7v36BxzL6(|5&u~KJF#e8dZQUai-)#CW!5KFU zjI%|R6HuWRp_vVc0dT%m)e=MtOq2FZ$EPzOK^B>SzA=R83Yx2h(;8PPE#_YL{z1iz zYW@8o9m3ggW&{OSb%Q%I&wlFtz=Uf;W6gue_7`+K|MenoUx@Wo>0_=agarM`5Gelz zQlb#|x9^w5{7TGPt4hN~!)22dau=CVwL2_@D5qr*d$CRg-qKqOxGW@y$SJMa7M?v;`$4cDvEv;kP#rP zDi8*rD^8%T%u4?j$FkKc4rjC$dqbBmEbb0F@=_+!0QR}UD<+8c$~nB*>-9v7{h1d$ zpJ%0CKo2*Z98KRL{?tjh%XWTp^bIl0MBBD@mdMGKSs8hw@?jy#jRcE!uRR9nRSk@{ zR)=%v*p#O49fPhiUz%PdH|B2e>m#IBshZ^y)=TojN_HA(X0Brx0;LB8jAdBW4@Lpk z)#mh}q1`3D*Glvq9JDw#{Vthx8+|7~m9NwP6b(RhZB!c>Qs`5lDautz92TDFZYWzz z3^o}wR{@P2M=j-w=q$)iT_K>ua;jC_zypO^tye#0UIfCk6wLw;DDZMPwbLJ8a;guEv{jUcAyo6OTkb=oCkdX89t6@MO zrdqbJpJW@ohmB!@>T+cwyyD3a3LUE_C-eNnLWRG}6iyb4EKc)k<7feJuhC^W$t>69 zts_!CIG2T7$KQh~p*}Rcnr%Kz2lg5=_IP0o{z9!2?DlRLa*UgyeO`MXFghbeQ~356 z{5wOG3h2C&!A5XUNGgVrDhcyDxT2T1Y{+4a|AO3(<#BE_ypQ)~ z2HZ51q))Y~J^ssM?XzR6TVvOwjSk&^1)qKQJ_8dB_4y9@noL8)3?R&gB5jj3N#j}Y zIR=psVZv*6We;B6uy_hHyJL2*(d{Ww-HF4Ow`~%ehxj;+`+yqUaKVK*OSv}W()b|b zkc__};{TxOdPB_DwB}MB;YT|ITMR9acAiLdJo)a=P`8}2ii?9sxlHHeI#-a|uXClP zZHG0J>23lSI~8==FwozJuJ-lj7_MpPS9dV!Yd@34GD$idFU1SfXwJ>9eXI(=CPn{1U)p*l(*)l1E+w zqOs}5fP51PHw@(j2yeqj?xK{NZwv^-E)plH_MI>>$}JL{Epf=s^8Cs5r^y06X$YLF z?84<>TjCEJArzd+<7S0lzLpkT5KGQIlTqqK)|s}*^{08_MADYF&wa@MoUihs&^eDv zd9W=2-5Q{wys9bh7>af2dwSznG^-x53E8LMYsfsDIP}iy#_5W^?r!npqm=&p-?u!awB>v7|z(=qqf zkcjDmmg$5{+x94~zt=Yl`xTP88H2WQu7JpsfD)R32lDX7Cur%#=xalI3AHZ@?kZi< zn@G0ARDx^}L6cwkwVAgBo5BTUh9@xFE$N3>B!viXIUl!wdwp|) z4C-$ONr^_^XTT0$5(@5k?b4QZp_&_1@edcE-@h>*!e6RwTQcIpjHCru0jlWrmMKizf!y$2O2pbO26 zl5ImWvoF{)rz41^IfB2I?ohw9vIC3@*@F$k&*ig3fX<4klBBzbzA@=~Q~K12%GkGt zI>WPoU(iZOL(+NS>NS5KvJk?l$V8r{j1`rJaV&~?t?BAVC%>A2i?8mKpYyIdxrUAD z=dZ|pLV71J$67U4dJrKLCRq{e^LV3`(hh$($yvslD^d(wR>m2X4?XQEGW>?}{>Q8RUmb?>d zM61$2#AyOoakkG?;ns5M)Nr<}aRh_EQk9Fin^E-k z;z5r8McnG7&iVIALBWr=5eLpkItxkX0^XZ(J~2F@aow}IflHG&lLphs6Ix-b(Ow^o zwzPvS?LWno^}~C4d_%_PT4l2z)}g#_mxYzxxuHKx&{zq?jUG+;2WT0M>1BlegFv!0 zupaIDIi>;+M&c$!Jp=92541^Lw2ZgtKk%MrShB7=$PD)rdgN!{`{BaTYi{08(>8D68<0ZR?#3H`aE1un}WMy1k3B+6`n&=;xlZG0F z&7I?rQ}mmeR=pSLp+;)!W>Yo2gnLRrfohIblh0yzy=Jx5*GFlq%;kz1}xh*2pVq31si%b?5`4avT<;#=>*E^= zne{6UwflD3`s(IjtNhEFWQl{&?Y(B_#Wcmtb7nB8yc0@B!TAVGA<%`zGJjY+b!_#O z>W-RuGSTmne#pG}3ZC`2;a3@$Dw!hP?4y77mGtF2Ui2&8cAu9F{*u%qQ9eh4q0Rl7 z;;uxlzslN9kM0V%{q9;FTf4LLp08!%h1>eq`4GCNG@i`5hkAG%INkT=tvbVc|ji*?S5FznoJxs~`tf=SZq?a`ls@|gfylRt-5qE!@5Ng6>F ztc=&{ndfUUVFkOeW-Y6@t&)MZO6|6#F8J&QS{3W-Znvvg4}7rtXCUN*W|JxB%%wbBtG>b)?_(iev}hds{!fe6}(8|`*z}eMGP|jNYT|@5g*NLsp45H+wE7vB5E?O zSQE||ACrW|l8W30!Bm%WhVc-Eg}r>^jkukB0?RlPkvcJ&Sa>xC&HnQ0WTp#Q1O)o0%JqNrLXgrTX_GI(Yr!r{ZqLh z@eR8F9-qvWIlb*tjZ`keu$|c>3LJ~`;!H-tGR&&vS<8w&%|H%n%kThcLil$=-n5>C z7sr`b`iVV$D`(BB!Mb-w69q2Lh?)*v0^164RM)6a)!mYDd|Jj%XOb@(&^;efvXJqm zP(lJ*TK7|rbTS|@7ekz?M%iYI%AcP^!hgl{Jy3S{?%A#jfA&q2(L&sG`}*=H3cZTA zU^-Iob;0g(YFE5#?Aj>tLN}crsA*Q!2gS}S6e0QilEEfP{-*+4 z;|Jodx~79^*A?_Ni?jk{inlGBN;eA85JMmu zLyqV8vM}nMSw~#Rob`@;ORB~;?0o+hR@Mi_9eMw`f%B3FTu=gSubtDRr?b}!$}t_T z+J~@~9^h`8>Em^1AG#j(NI+(b#5)4S4ErmxwCd3rsvp0o55HYGaw0y5naNX}x8V3S* znUjMZ(kj{v{*BPGK+I=bZgLnrCBdWk^tiM3WO)rBsaO%$ntKjOjhY+$Z@pq=Jl^Lq zyN|Ct2_WDX)AdyFuuciLF}dtJ%PaL?OUD_t%?HXkuz;OR9@&W3Xy|UBg{z2n z6-2vO_lbbzC%i4wh{zPf|KZnXG&8YX66VJ_1YlZ#Pw>L~mOJ^6zleZNf$9nRz{!5#R4Y+fnQ&q;D1W! z3#@nH3RcZI-=9K%{OxIJY{}WUNrK%=qQ<;DdD5D4dxBVt!mAxkbwijZD!0Ox+|FK! zt0QrlBb#}oGc0-$Tn{np_n&3`0qfuPFOqS(%5f}{Wo2f%f7VMw$jTUTTLL~D9wo!e_EKC>4!4vL+TEFgp5m> z+S=D)JKkB;1d?H*xz98vAyOSX1m+fJ`6F8ae6HWYEl$R>!` zdEyGsmRogT)y~VUdvfSPHrZuFfiyBve=t6u;GG;I`UdjXH&ZLoba6&I!;Xy+9 zikjqu7%>;|(_L-PvA3=*J`wM7Z9;p(jlLA~-TZUg*r&4ap2#?9RX>%pMLdEGGLnV> zFjhn_2CjTRzkVu(QBw8#tDe2?M}zl$su}7Jg;T5+aYGrK^K zVtclBY+K#r(aZzZ`+|5zlA0-aJzM&*FH@HVVvoCi^;gv=#zZRMPL16{+Gwps?OQA0 ziFv^zMTx*3h7KqVD*u$E578dG(W$h8^0%jw$B%Dcf1Scb$~`RpSo6;r@oyZQ#Kfhj zKBeLt21;YDzn1xxYYIgC1B$6nZ3lcgjlGHrx9>Ix@Mdlwm3RsH`~7))clsp9dWZ+@ zAmH#|HW!SSD2^4PF9aoL{;N~&FFpv9O~i{N>MYe59EIl_^ELK+F9h(xL}#05XZ`)5 zvp(8HqO)mJ9FBd0wN06PtwyTHiQ#j|j35cSFAP!Ey_0&eoXn)eUE6!PZfSClUFEE) zFU#Q=D({FISo!aOgx*Ni%p3Odf=8_PcDj=CAC%H3u20&~_vjG#)qHoO_E;0&iGF5b zB)zy}5ao9Mymz?%Kz@j(>I9|4 zpIUp=O!`3HRwG-g_wy~kmT7+SJCmoEc^N>sAN{Ax(b33&R_19=U&$obTZe0`>ASK<6ASErZ6iJarKm-Bl5=6Q?mVgo>9g+fqN_Te&A_Agxw{&;h zxz=)jpWoSW&fRz4|IVNKdwJJ<=bU5AF`hBz^N2S{l}NOn1+@ zlYK)G-{RY+ND~HmPI~0MY+iW(!bz{62yB%hi8syrcZJmJHz!;9Pw8X4py(-A;zFDk z_VeY9en}ZOVTaK(H6Wt~-`0D<3E@{rs^i#umYCdEvj2SU+^v&q{&d(+a_wugTyJkN zSsvBiv?8OM`Fmp=7xYZE&N#y_VMl0*gqI#7?cR9FLbrd zcwoP^`moH@?m$GEXi$KvqXT44{Y-a~-$;9$8=!lb@` z%EMx2M%NeHcFeg#P3t_Av()r^$_$Gn7ivqweAAWq3#_=@CuK$#r!m^K`-w!gf<}@Y zrZUWy^I^hGh3e9ezWpppCt*=C7tAFo@#a)YyImh*tkOc==6B5Wy|d{2?C{t1+BKJ( zlW{Z~4sBwUigBgyjasg2*B>VuAN~Bi*sS0X~Un?R7?fLa1tfM<3cGEM6^zxtMgMQ`)<9VPog{-s77 zEm9@+>{Cg5R?uowwC86h6r}j;CAMMj5t@=)Qijq*%3DtA?xm)-r39Z)tWc^~`FtMn zWXS+Sty2V1LNkcxmDk@z(GTWbNo3@2_ds z#^Np6o0r+YY8JLbjhD<}`MZmCdw0)B9;{T)&bIQf{`uHG%fi1yz{j;Gt=(VmWyx)I zyuxFP&|TaC_yI^#CQ`OC8aEy+^!_Wq1)p!;CXyfp_z zd}ww~^&D2F8n6l*pvRiI)t*w;Oq%C3E^FY(2CqBj((%Sm*5#?QbHs9mf z_fem|V=`}{xxHT!CnP0TpgEeHxukI&D=|%AwVkq9cCVs+(DJ125Qodq_qu?Erl2Ez zG}Ou^Qz1t0_)ynvLzWv+c-$(3XG>s(%1}7h-WbGgo77EvTXLt7RF_s$>Gm~XysV%O z=%rXN=Jr2R|Kx85ZWN01Q6+g$_*viHBdVV3Z=kog`8_i{tL5`5_YpeRDE7MWwS`{D zPaboFghgHTl&izUIx@R^k&kvOGEQWsLOSVU3@^BEV46g|BmDmBnyup(LYl_&Ql=mA z54thhF`Zyvn(%ChPVP-{ZaWzAD0KxS+Tloysg z@v?SRi_NjIHlH;o7z0wa`ajL{TZq*0@g?=%G$u++0F`07*fxE9=OP#C4&aaGi_OdC zdPMuI`Qi^<4As9Tl-(kHF11_E-CEMSq$~Jm5_wycL(ILQ%etkRD5SE>2wBbcZM)>)eeqWf&pZ>ol_-T7?{Y3NwqFy^BDz)632(cs<8vUQT2KHYyrvE8=M#5l3-7alk|KC~)06XUYS7u3ncYPQD63}fMJ@5`U z#llNWd1V1ESS|qP@gYEvXNvw#W`P5zjDCG77}vgIfEq*oBxZ^jCTS10U@hf}1KuN6 zg6&^8?+=a_EZhoF-&ivDW`Y}OQ^>lpaBt~f+)FVZ&MuDJGIgtZuPtm;Ew`-7+fRx-h4-`qcn$T5(Q`)lJZCIf6f+6p?NnD zQwkDjHxVTINZ7kzdugj{qCB{|wq%QnpN<~7jGh#WmR5+X7d=e>ik>VHvGjOY}Nq|FOx44O( z!ACpdH*qB@0-5_sHB(sR-$#!2dl0oE3{}PnW$g$Jw+ij)ZIr<+^g<4@G-c0yK>r8# zyn{!Ie+9e>gT1^n@VX9A4ooZmL9q{RoTqQK#i-hLVlu=^tqpnD4|v?_w)$VnK6{N; z!@bAbZTjv9zf9bh-nDim4v6lwhd8;P?ffm0`1gPV>Chs0H{QpTZPT$1~%rxQqc@m@?*ifu!>pz55lfQ?`ko?u<$LuUAi# zVV^l+!_@EQq;yx2zWDRr*UP837}uS$Ph;6jD9?`4TP`muBAH){V+_uHSAsV&TB^Vk z7Nyl9vc~;3y5?}>6>GpLBPMsPs6~Ee7%u|@U5n=y0Yq^L5-)~hMnHSxmZ=797V_4J zUHD%HQnr#Ne!+MRe^=d)g2=q_VdXB8N$><##s zcFQ{O_`}ac_5Q|-d(5;eaay6XJ6~{v%2_7RUR@szdd)Bu_?rG!@Qnx2MIO56{L+?f zuU3s)miwCeLbo|^%~?JrAFa!@Man}Z({+@9QSf}=^e9e&kKaEe#AbHT_1Auof1 zO`O;sisO-=Siurd)GTsH*&VcR8C{Y1pB@vsFW?A}-qIfTKzBdT0%RUNH~bZ*VPho* z<|E<1D2Mhox%TQSykLVCuuNf?l@e;zFds%t#TeE47;mqj*7IC)NTan~8t-IiJ?{G5 z>(*Y^*rU&Nv1%Wpz50$RZiz9W&$*a4PDVJi+Sa9sZT#>CAIo`a6It~fvzL5w`t3bi zCQH2_j`8XCr-MSrx4teb!SG376syU3+&`2N7}QxZsp?-A5@oyg?2g6v{pyn?J@&^p znL+n*fXCijlkRBKu6S-b-?IWHpuDR)H#xhdDi(L%vGXw<-=ytTjJ$&6_F|1zQ32}K zexd%yorB@C@af~ZUJCo^&bwFS+(Rat6U?tZSx($#`|+^}Yj25;zg;>A=P6hXvg-^l zE5_{%BT7tCAn77x-R#Yl+T-+%Rl2aTuYV3%RpucV@ z+vrWzUtzT%6+Ty@SHm&_>Vi<)eEMy1Czl-U5}6qx4jrim(jY;DZ4`t>uH>S^&jWhH zOs{X%GY41Z@BEtTDf{2Qk)RPPLfth?gk1Q7PV7f0_Sy4Q;qU@V0h46+1jA=6rE^?C}JM#t}x^#F8HYY(Hu_K!& zitzU$@pZ9le7r9e_FEhcAFo{uJ!qEm8y7kIe9v6U??b^}0(QpJFp^V6%=gNR&CkDG zy=&yTZ{&JFFdMo*Hgtl>mA>{F-Tmu6?$)<=PBRoXnio&&t8sFl^sKsJ9(N@11{XDG zP7H;O6jT+qB^YihsY#;ObzCpA{P~>ByieSuefwx*%@7*E8*#8!B`7cOMXi%N6S3HJ!fsqC8|W;yUkM#6_IQa7rZB~wV%NK5tr2zqW`d< zA{b;8PTg~z=&qeX?bT&_l= zmvG~YVO1LQzzSjew_X5HDf@6)Nlj3U)Ay||1~)ji8XL6JQ=N4VV0Vu_gL&~DP_X20 zYFv?&of15-yhXO%wAyP5+tNg9(?K~hbe+B98?~HpQmBP`k<3~Z+q&|O0ap2h_}0UU zqpQ?8lV;kPSEU?Uw{#jgjf2ekgPiJE>PHUi6l%Xn8%m~#nifhu=_26rMW+<)TQChj z3CH#*gSZW$8`zPKXDF}hCg3Zq7-o}5&x>_$(P(k-_%b~A#%?AQXG0dkS}hD8{uNDr zxt%^*c4bu`yfyYjAU`ruvg#I~{(#I>j(?*#gWBxQgzc<?+{I2Cz)IU!-jUEf1FfuF&KM<;RMsup$Hfy?_xu0}oTm$R~@ zEJ3G9d4yiIY)w)}zk$F!q;E*+*bY7Kntl_ScnW50AEvjT$fGfsl-Ga(%&3~Q=xIUZ zNw!~ytva8c4yn=O!x0(mMK8CT`RB0^-dy8k_k=e8!j!u+h+DTIu4raMeHV`miKg=fgP$dC7^lh?zL# zP}baMDV%qPOOZ6P}Q#G!}t- z<^SN6{gBK*fBj-siP!MaC@6irIX!Tqriq;NcCsDk9Rt)d%(Cm9K1Vi!hoXrBA0L+n z+T9|;Gv^k-8L+efB z#UYALrJj|2PoQ&MW*ZOQfJ$cNx(Pj=mc=ct@1cHI4TRALt+=||oiyV+7e|Xgu7t>( zevIYDn|XM|XFypva!&)kGe4+EGY5tYFW`>28 z;|6nig4J<_xzLluIFokULt!kZNT}`m*b@wK)f=kqJbqxnhZT84gzEXWtFHIipI$nA zJh+3lFg0?(`O^XJpm}32qAm*|OpmY4uOp=dyhJFeTfJWc5;n61s`HB@H9onQCMM^{ zO6Sp^0wz1{G1~hi7^L7O6X^{g+7+Dpr`Ud$U(haXTs~gq^CT$9{miGL z?fGrH66jxS?Ylpq-04ej-C}is+5OEGsJcL_p9zmVExVQB?E!mOf3saiBxLMp_h`C_ zh{3O(rs+~=fL*^wOg_Iqr@|_aITe@l7aW2V{p|qf88Fbn3O47yaCl2U6G$XCg4UCjL93$sP$*FJd0+mJZe*rYECl zzBG}7%HZy?B@RXo$zW!3GbW-%&Evh-uq~5Pdw)3H5=dNh@vuc`t+7i^LFcBLuBPtA z+TyEbrQvs1V>@Ai=%?8^S1Oy82(*Z)sf>g9F9zHC*p;c8JwZz1_Jmo$LfrCQ>FHg_ z%O^3bL;9#V30sYv6r~e6WUYb@b1c;dLtS&nCm4}utT)5c6IOlOUT<}x5m-wve?Q?f z|JKoM#LO}OBJTFa2tPw-xYFC+uwKws_|2;;MHtYKe-;HdY#xitew`I;HWr?_^(3BJ zn2v;1&m?#{*;Xff*no3M-XJV63~?N{${AiqB-ZHd2|fP0Hk;BHt*Xs5P02LB4(y`O zgTz=+TPXTG8PLw&Cdb9)ckUKVoNt~gwblisU~;f-ra}nM=Htyx+!Qz3Eg8!iR=T&} z2>UsQ_+kswW5SG{Ii<4Cd;a1x+KivcHZ9;|V@#~F$pC!UvRTY!nrysPFlap7C%eF>ct*Kb?89;D0LPoJLk!Egmd!kXA(LUI#&5( z-_q0TSBdt-5|4&EB#CD-CIhcPF>zJvz9O|M(qsCBQ>MTfTgc3l@BCmX)~IrUnkAipa~pF zxgUoH-u$ima=b4Ne@qLSe!{dNJwn2XQDV~nQ$?~2=d$wAf}TL@_4()t%+}o|EuWcR zC}#}XO-J?6`{(++Vv3m&!*vDsmG!$znZD&PDrSvsW{Gq+e7_71ZM$7CjzD zU#w*P@a4bomf!72P0katru2TD^*q*L(U+_vj29}^?9Iu*KOLBNkHM#WTpKlmac@!{ zh#Qd@70UG{jRFR=ZZl)k|Dc#MBTm7kB;w;4WY#o3D;)p!gFRMY^=YyGMl9(jS4y9vWBF$nt9pX)mJ|KG@RxiEG_6kF)x4uI?WJ0GpMFXo|I34t zyd!)aQt>>_!Dn69s9$eTHMC@6IqOM{RP!U6-S$=aXvkcb!uwMr{|v?Sii0Al{l3aT z(J0kk-a{n@p$DlZ4Gz;0(OakqsaLL*&K57XRD}~nZFX4xgM*8dP`}Q$bE%gtO2Y5j z&(AS*9bpzyudX+*{$k?;AmqG~L{IMRBSsBy#p*b^kHWoi#k@NjKlR?ClEXnjcYk9z z@6vfK=$+&kl#$JJ>yD-hU$Bd}d)BS~>JI-m4()lBPH!TMETgfiBG&4VG-t2vmT-U! zRH5pAeoRivm53Tf!62}{B*U)e*maj&p!XGXzM^+ z@}E5=S#^h7Mf6zu*v%JnqIbzC536dlP@Jeo7%Z+Z>!;hfa9;>%?ioK}XsmW3saXx` zwf|rUMZqY2$9v)(f*&j0OR=(}^o{q5tId+-+_4~fF58U9N$z)^H#zIO_r1G$6Vh)A zWR3S!)3~r{KGNNZsXm!|nEW(JNZb8!IW*d|`cZF7&Lco1;qhd*Z355nNAW``mJbTu z80bFRlcbT2w}lfqh3>=&)KrZ1;C*{SI^BtPVoQm)eh&`LPf_4Jc;#NQN*W~7qnP38 zy?(AzICa@pKKxl3HKz0iaz(xV%4#B<_pA;-D4g+o?26B`c%K~(cH(j>)fo8s@MM*9 z8k%gBgB!#r_`*(?R+wM!E=|<*#L)F5%&BD^QZxC}eAobhmd9R>+{V~w_@hsn1-l>E z6*UX)U0xl2N59PFznW*r?y$9%VTuv5O6(kp)$uWu41Dw%k9J5DPK79^rm%fwJTWMZf%M)H{%O|2m2?;AHeJ8%teMcVOPo^v$ zH2H2xk7tc_^^|sIK4piO}Zii`70=?PxmwlBqob|3NmCzD5Q+ zF)Qr88SXg_XboKeb%dn$%aYl}?)7)>X0s3WxQven)tklahU_d(pXt4>ENoY~VJMM0 zEPXpbz4~iTlS?gW;*t6V_F}l}f#R$~)J^!;{n+*Ly)x9YC~_ntl9%PZmUpQ)KGL#oDCc;N&ScY?_PY!%rC^!L zwuXcfl_q@5eV${0wBBuMlria5!eXm!leHLBq|(P)tg^{+b#$exX&SvzBC5{GfrQMY5#r9nNtN%P+)kTepSo8v9xM1;1b_W^^N=AOVWaLTE{H_%I#JoLC>w z+d{z_;nAopD5i6MzNTF{<*5K#pmkL8e;dJPPsDrVu;gImGUu~}Zt|FBNo9b_(XV;o z^B!LEq73)5y;F>SyN>bN&8qwL&DA!QnDalRSvDZ()~|VW)lJq6x#Bf-n8Znoc1(5! zXG_L;b$OMivlt@FuQA!Q`yywQ!p37>1O~1lV_Ov*_#H3AF!Yz0u05wH8dR~`lHPq! z6#O+yVE?jjslX8W+4uXY;7n@Y+OV*~el50x#c3$FWQWNo7h9ad=hx$v?q;xL4t6mZQ3PIu4TEmPM$x{s zBzh8SGveVj6>RCTK(Rp!%)7dM0uzpM=(m;qCw)gft=+B9Mm(+kve_U^@6j_kAc~AX z?NF$yk6V{qBM{bB8B&bA>AQ|XV1^!b07p*WzYEdB{+SK1HIy_xUa7qLmG57<;HZ#R7>D7>8;F3xw&B7~*eC zV~obX44HzgjffC6T=MyU`_TmE-*uLpe@|uICy{CIJv@59a|b;j&se<}uUiaAw&#Gl9j|A)KA+VP z7o66%8eGfW1`6pWB^~5#tjX3d9}tL<0*NF>ol5I>@^TbGN{DG&Pcnvo*{Rp>vgVoe zy66BXq;vmS?(6J>MOveF+-5p;|2q=l1U+ljg8f$9Gws~4w>_jwJL+^sAGyXQihQnn zi|{sXRjolj+M=DCloa1J@6|;NyI1L7mbABa5HMrt`5gQ@1|soGhQokkKpMMUT~#b- z(ruc~(0d0%^XaoVc86m?70M5ou2-%$K>K&~a+;S^D~DkZBVwc6)_ZYC4qxP)CUx<* zs-c%Jc3f;tq1%z(DoJ`1^>tepdYfohicq0&>}=Drto$8&9WLRgXjKC$Swd)tt5l3F9JG zq8g52fV@&hug%A*_jGQPqjh7jKiO;c5c8L?#V9|m!C$&Wq4i?mTb0<6Z%;jovq`ee z2OGG_WbMg{!N7Q&B&o~?++FNq;5;c_*oYmDn1U-Ba+&CJ{%H8kfN?vx>FQ$ZF8J>U zGOSJ5=p(>I$=R2{(Bb=V-0-&pmiL}mvGiI{1y_jnscN&^oc48ndO zHD5Ve2lPU4Nhx!frN(HXE9&@S%g=EC2e^()<#)N49%k?n7l#DlaqFhw9@p_wd>?8* z>eTEcF!x#D5LPo4+H7luCg*H(oblqw`&g)WmqmH7_RRlyN^0>y)&Jm9EoHw*tKf=J zymVV`zsUf-@Ql}JFlW83X0Wu`K;NIF^3BI%K`m?L7V)aiLD=^VwX3!BqOkGDt7OcE zD87CKd`3=23%0n^sq+@j~S?JLt}D+&D02rDX3 z0X?qxkd77iw|4@V(5)-*&rayLb$}d$kMm`Ds??M6)!aOj&Noy8hJYoETZg8Zr$U}_ zvw9wX9c=WjEBmxNcJ$(>E6iMgWM3QX>QUR)9GwP0fFt7qC|A_?f%xi*ivmw^&?1mU z=5YTF1n1rW=6ZT1t`hV#aMO9j>B(1Sgz4_qzc}TAn{JutQAwRf@~M985M+#(s>syc z_u95!nSX~asw(X@>&mYXiH$8)cO&B_29J-I0mr!SYtUQ8)A|x0C60cXMsaH(x=QtN zAIEg}E%CVYv3)~AcXr_O#Sp?xftr?1#YSSqOCaj2z5YOb@x6#YjltWi%4cEDzEP^2 zu;LHDBOOYn3F!26$_vj3X2Mk!RYjA$LJO+gw>RcoxvD7bX*tyLZu*AmCT)@-=5^R> zqcs+4xV1lu`h7@X29V#G#PZRC`)z8wk(`HXXWvD(-oOt>C@k1 z6`ZW9X%CBfbZ!z_qpCS?TPgvAcd|M`LpWd^Pix^<==s1-{6-_jv`Fd_nmq+ue&AWc6*2C#q*HCHle@6OWnAk7`FWWU4 z@%TEuIc&tJzNlCt3C`K9vV@Ks>NfSed5XTinoFfIupD&rbpq0zU!3y{ar>QGM6YV^ z&AeoT39$WSqg+FoKe8M9>SKptoeCqq7elI^2_nNRA?aN1ZHRz|isPS0Hd(6;Gj^qJ)P}}BU{9B=yKYn5a?Ks^ zr6m>6okiLXWMVi%OY=&}vD@!s(vh;@YpzdMzQ5Nrl0>8wf6s06x~|-uQV9_`jZf)k z1#+>h0gJb*OW$6K>ykfk5pyyqYTHPtb;Xbdd$uZEpM8qGy~e@G9JFS!hfhR_fb3b$@~^F(nb4c zq}xDio1Ej^L8c{b!K6KB)Mp9!%{28KWJYL@xx5*NnPA1-x;C*bL_&JG z?TU=MJ{1F*vwfXwa{0b#BDu%G0}bl1=_$&x3XIi0a*+|mi%CxoC{c)_Ys-86b zCz@8){VS}oPj~2~ss_}D;I`rG=ech$GHv%RYzEc=y=DXu2)mXnnc{OedUrX+DHEd; zO0D*Z)?*=R0M!LbZQL}brSqaB_}=uAQ=b@xMXHOYv-TAHcv2pIJWGf;nZER3+=55H zCzrk#KJ`*obbS7aZqizQN))j+A2g=QfS*7898dPr z2}*^1e)PcT$YrkMM{nG;4Z8J2ntpQk!4G*xM^%Z_=^YOOzcHe_&ysU&N<9TDmCAD^ z^fs}K3Yfk{dsWSR1z-NXsx0=HV=xJ;To;mkxsR2*^G$r5g(w*?eBpW6f!Y*F%?NVlwf8$AGmm!^3Im5%pb za(f5^sgo?TAFe-2{qnZ45b43PWqvz6ola>gYy51;yuH^IXcKdK$ly;d!SJF}p3!>v zLqXv+E{B?}_wE)MONzEQg9T?OURrniEuEHZ&W52o9*O&ozszPn)%l~{ffR1l6??Oc zSHJbaxV!CYbcF{i@gjp>3|Jn7424T3$2T*-ZpSV1;mqz-B|nEJum)pq{)%8!Brf)! z@3)A*-C(Y9C@CWVA~X$|%!G%y4I4jx0;!YdL@w00p_l~pwA@P-`dK_RA7)wCCC<0e z4nbqjbAEw6S}a{$BWAuzrMT1xW8JEygc_%1Sqo|JgI`+5fM%`u+im51J!i&3oAD_+ zw+Vh7EIVcbC?unm1%7CX6;|2aBs}C#71^kcylOgjswe4}V?*WS9uUp=z)TpQV(mc2 zx8Y=@!7$T>J{ay8_Ni)>((YH1v(6LKFdI_Ss*+|*L$n7~;aA29J4M4qE!7scsZA%*z_b}%=2v*%5zM$Yu;?Z~|imrF=TyN0fn)yP{nzTEuVI*@$vnaXn+hO6M z=VH6+MuBUVgnUd4aj@WT&riL+EoBFnhgD6pfg~!ymCNN1#?~3{a=N&<4ET-9odJGL zZ9&+lPH17(q$|zo!P;veLoa?W%Vg4JJ}wY&O1{Z47}dcmi+d-T*vO&qT$L%5j z@hDvnxcRrQr=;`t-s-27{(B-BV=B3>6(bOPnxIo4YME*CVo)AM|5;mkGCWX!Xs8?p zGRi)3mhlu%kw+U z+NhzoU);o7-q&Rkyu>ql2bGKvO47^+BX%{Ad2PHyT6~@wVcpREG~(CzWx6|hJ8|iG zz{1oCZE*!X^y0-a53VXr*}&_zFKC@}9WaN?C_`HxvSKG5Yh4{Bdg?15;_pwJawd+u zUm7ApiR7ri0<_cvqb9-e8}`5ubjp=Ki?!v6hJy5^RuiyQu zW)jJnW6EZ?OrexxEuy7sX3Kotb*T-=9nft&GRqM;QsuJc^kf^FVDaA0sxz|z;1UqLLF?%mmn~4FzR_SzlX6teDOIQ zLeNBVHCp+kq5`u+v4jZgtZVuR+AQuo&Vxf+Y`mAnP)P}nv)45jwYCbX z!Z@;!5Aws<3LpOG70;S?c;VpPQzV?N_WL<~7c zruxQ3o$F6eHH)pq7gwH8ODu}Uco4v2mBdE!ACDnXP~$#ia5n*{m|k;}SDsv^`<`;F zYgmqBce&E(Jd1l$4B}n6ZfU3S*fAB*j-0EU3>|nm4+MojK8}I58o9nJfZ99{7a9sC zzD6U%4~^F*rG||F7TT`ltiR#UYjmq)4k}vd1&ILR=i3m($#HABH?U!RkqizpBPoM4|oa#qTVOsk(`V^08 z7K)q`Q`XCz6D5BjRbsSmXnRb-suo)GS;TABYD3FMBx*DoMTBu_9 zrM8!i#m*OJzm8>!{+F!5Tb9(wiIKL?TR*VMMrmk+$+Y~?8wEi0FGhyc=#AoW- zhR*cSIHdJij6deoTh+r#0t=;e>(t;>G~*DN`O?Yf&G?r}j~hjpRc7=!-yDC=?n7?& z@V_>@MfKuaEVCr!Cv77EE=5(qG-&xJXWabDgsfB0>lWR#a4rF$jtt^Sttcl9Tl0TnG%SPwD8gY!AK?|Pr0-A&3HHaj z$%M#5q*Y?=i9oh%fL*xqn1~RDgFvNe(T3W=T zz*0X}pzMG5)i7B`QZ(?|Agp3TcWW`%0yqp+auJt?73?p|C7zH2xl-v@t5Nr*}WhDP_iQa-Rn#mR!SlD>`A z68_o9^vld3)-R4Ycy|=TgH5D))bqY(XbL%ung|hT(BS?_|3mz-1d+g-<#6i%!3s)Z zORJ;DN`7*Ql|}$*fpNWy}{Z7_Qnw)Iye28>e>o8 z=t6-K>+6k1IIg&hh$VP8zW!z4d)KQbh+q$qSw9Uu_~JBTEZ1<}{5wFu{0*%zFPg*Q-SC_xLj3bj3dXOmDleC7B!lNrX-O02{M1ESLR2E=OFb&^H3U4ru*BN6kpet%mUdZ5>=?s)#6fKbQN- zGX#XUS`W6s&gn-4q~O=S7=>k)fHdL-1ZINW4k(UafdDUg!?)j4%fN#Lj^Y5_qB(Gq z^M-*|!pmSf*AY~>YCK#G4-Nk=3N$x^ zkQDYv#at!t%5+oBZNdoDtu%4Spbh=L{%6jlAJP zg98)3XOd|^4NLs;czz|pG1=B>>77L;;K|0=f)h^mXUP$q@1rsq7jK$cMB|!%M9NUV(Y{)xZRCze@W85Dv^_BUIw4G1I{8 z2n|o7b?(34!NYla6pwCGJ^LzA%*$0!s%$`(MyUErj`yfDZ=SkoqI0VJ0Os)V%lsou z%Xu~ADK+?l@6QaO4q@`u`59|L;C_q;2FlAKKus|SFkoVW_|#>8;1bRUpA{hePPg6b+w4a5wAsRMu;j)6|%Z9ew~Jy%ojeoL>dHRqPJ#`vY>!S3Vrb1Evh=p0;%S zyNEAFZ-z7#C07Q(2)04yBeOHFZj4B#@`3w;!@Gx&V-a>T_-W;xJ!4=8?pWV2hRsGWu6cRzu?WZ{l;9SJ#pEjEK|l| zDNc^8rRX73Z#V8{u{K^e>1Hd)(=9`|501V`2tDX@m8%77?f`V*`yxK>%zu#+*&T_c zsp}kiH1b{ekh6wN#AY-nM=(KB@CcR~)XaSc))ih%>(EX#Kzk+Ckw{$y$}mETH}gj_ zt&(eF$|pS6KzXwK7I%fVbZXh?(6P9gy1KezY-e z>_`e98(E3{->#+!b|4ETNU&ten@5*6mdPu|_NmXB%Y=vyi6*N@ioRCT<)tR23}Lkc zp3iWgSt)CwF`}XZeVwLneXBP+!GPLE%c@R#kz#M4@Zt1DO%-zK>&rbf6AnV z7}XZXAWU{wW?Z{~hhxC67k7Mv+O$`a^|D|e@(~YY zI|I1c;0)oN!lN5Fq8Qe#V3R5~<(WTL;wu<1Eb^~U3h&Du3t@!k|+lGk*u+RmCV zn;M-JM&UD*N&?gI@UO%?<3Oy{`d(uAbL;w@PJoK(HIQ57i?a{{&DLk-PYQODMLl-C z#Va4gb!3FQJ~bI}r<3QGeR}DI+?;=ExBq@~?h-_oP1=)#+TIEw@3@*Jp!psM>38i< zwo!V4`ED^`V)NmlRmnxDwYuwiz}RI8U9dH*;^JPqEJO{Yz3cWuO0l3{Ln+^S`DSwE zGlq-99lH>Jx_nJ`7@wxAV;Kvz=6b*gdBQkHPrTV^I@`lU!U8e{9dAWO>!=!TXw_i5 zjndS)$=bbjX9tm>aq{G|$8bPB0cwGa)}|{^j;=RN5TO=fn>F~sVN?)s4C}k;m-`Pd z%}l#Z`y7KfCTow%y0C#eg=Zi41pF68>ZLUU3}|!M#!8NC-mkRz%yPr^?ug;l>97Vk zcwQun*fFG=FIPLvKTh5>X^I@rFz*BcN{yj8=1*IVe5omvxRMkZzo{re-^8RY*|s#6kB3Pt&m{r z-T&+(_U_$XNWn6DgNW3AbY>&FDeA~)(qBJPtk4)8Q68^Je*MpAMQ3d_BEFw3toc|Me|GQI5tSI2Y_YlcWWPom? zr-%su8m&+_seEggAqFH}o>%aK$FhrkmoQNmC9(z{{->Dy@Ap_eKE5y;gbJDDlso)^ z-T$36r46^-Se9lq{S&YA{3Bi$7VG2drX#`%mDJa#>o9b^lH$Lm8u(vzC{z<;^+BXJ z(G@`QxDi_2AFv6C*z#M8Bh+X|wSnOp(Zx*tE^`pSkRX{|{1B7Qz>FEJQ|4+asPV!dYQ5 zlIXXP`D|zkr@g>G(>Hb)=zREZrjf|9@y9V@kipR-^A`npMD;(Hp|T^>#1gCUf6g#S zUWu?OAULRpxDf?%4v(2Yf*gXJpC}R*JvbPw^^&tz17v ztHU3WJim9c|9Kr`eoG`qe%oaSKMHUCV~G)MH~&jYhWsQ+B+QWDI{8<*=09y#iIo(T zkpvm6oB{$?Fi`luVggdwP{de^n3i!SzWt3>fV7zG5i-#ajUgsNC6Y%rs)VGl&oaT| zH)6ekZ1AmQ#PA&4AZU}UL7$mWhUoW8Z)8(aCHS0NImD*2CjKjpCc+B;@4gxmF3Elk zycP$!lh$?q+GhU)Z7pCq=x%=01Pw05{wQYw=>-X{`v1ku8mdIte1xa#xpMCd3*YYY z!L2Wsis-*sIdw=&;f>!Rk_XuAuutMnVgvUfmJO0m@%rz7xcwA8g@sVZulaCzG&Err z%&aq{@PL;Z_Wrg1^h|5H9@2Mj5KoVE_ zqe?3A(>vzhD6doUp@5X76X;Y80P!a2quw+z8hGm89zrsZr^Wk*L4v+Or$W)Wh$k1I zP4Mbvh}oogWfQz}37FpSDFqARuP{8`w01b^K@ll1*B;BE4hVM>PKK`2i&D0|!c#H> zRPh_2+b4fztWdwsWOt!EWRr&91pOKy^S{zjVm#gd9kXJfui=9*8dH+)S|4N|73gUK z^PsX>g>WvwZCAeya4OM+OMfzpK|%sQOKllI0|{`18WH|h7h%M~s~xW>R88O=UASFT zjwV2+gHqhvU67dHcH(Y15YvcqfjaWp&on>Z2voLMooevPJhR?t6F*xIz$RgR56Zxl zVxG?BZ>3n0|Ex#+f3+U*Buq0{$hqV<|F7n9F%avn6w<2RJgxfEh?XnYTyZIbEq!3p z7RFWr?>xjX6TSg?i>$=am=0|qo4;VIMD_)KY7n)Ck?lDJL~k4FQ40S9;n8HBm3Aa+&YGHSPLUj>TA887G`gzaO2a1&VL?_Y0X!8!hebw=kZ z6P;-zc>CeMhNR#bM39Eshh06?#17jQWgOkCA)m3ng119P(!(RUr&YWSNl~TX)5efK z>H{57+V6jj_MTQDgSZ)CC<(~o!+y=Q6Ki*>X?f*+O37$a) ziQ6fN5o7hCMQ@~8p?*I!gqI6`6M;xF+U4v=9u)`Z68)fzH1IK^*?0dMZGvZzL1Y?o z#IqifrISwF&7+q}phm$c22Zt1Z4Etzn4f{gD@QJcyasT3;8RVh9K}~CZvWv;(Sloj~n|^jfrUn1J-{U z(0_iwBo7Xv57LbLm*5c&jQFC`j60NuYfpSbB!!WaU6qp9FUCZOgPiOP>3iLM{WRCH zv&^KMasLcLCh{vbk$ebp5V4RRtv=!x1xvD1|- ze#ZrQP&l9h1sTSBE~~NfZr>95Dfx_0bgFCt+s&6ux2>s=&15kzsORB&NC*jArdE*w zT)_$St;HcjD#RYpy$Jp~MDpwES)O>QxiVrSa;IU@?iVl4WWHmd0pq`ka7eL~xS2Dwh#q$1-LN?^0nG3Au zn#P?rt=hYua3G9D@9h-z2r$UcsJltxj{g#|h49+^LP4Rvtss400};K6{U1kf2;Xui zSxrkU@8{K%h>9>(9QX>)n*1EeC`HU2U8nIdl>ZSywi8=gdB z&j5#vw`N&b8ezzRYjVEbrzNtFLTqX*imb|4P~e7M1RF$>wh*= zhLLkiEU*n+mzy*)?{)qdn2y7TWHw7@b-^+WU_%n+ARFf*#*MU4H zR~0dHC_hDmaAkre@_^#`(1ugh(z6tPX1hbUobd=#;?@@Ml8c5qL!Nt9*Cg z9+9CV!lzH4YTN2YD^LiEUM-YhRVyK*x&QkffMERJ`2m;?YT6)YHx`Ihm?AkKppA{x zYvcmA+rO)csh|odf)S&^ZUKO^K<;=IQMwABe z?>CDX-k=l+gdD?bQ1;=sb?{$Z?f}Etib@GBa!q)UeSCb|pd|#`fZvwN+cYje29l4B zW2XUPHKhAHVjix z_D|63zqrI9cvV!?DyEJD>^=~380qA;|1O<0+DaHH;Il1il~jaWP62)!p6Nz8;J#i@ zHgpA#WW-$_txw)MIKE!c>9FT}2!+qCmNV#w(xze|?3 zoe0NC6Q~2-RH9VcwdlBB(h>VD9E z_6d&Yfjc42)^?LM=`g#-e9sTPk}S?=bI)08oE32oOBG4YKW3cNbrMYfcW~d65YA^+ z&*8Hq)VmNx!eqg=?V4-uBk^)kC&c1U$aE;YJuShbx&2Bnkj3G&?;^$bZ>?JZ9#b z6b9R+i6S7#o6YZ1foRQ$B5cP(+E4;5T)z*wk!^xt*_x~ab|m{x7eU{@7rY~0kvI4g z0f{5BNM+R+7qG81hltr!evXvQwv&)f4MnT9{ACB!rQB`$N#)mdMb^4?sTv$!9=#I`yQ zD>@A`NJ4C`7~7Ah3saZ-jL9g>A@O>MpGKc+m*KT}#L^neN?N8|3-#zF9&HuE&<>Vo zHiy5V#gWHvtA{0R)Q5i>j>Hf^Pd*x9ZH8>9sEUbc2PWimqMC5*1=wC96`nnj%Mn3e z(>S(Y9Vi!qES!UHDsg22$dih*6*sOkrOm(}(G!U-XD-Ek)|%x8-sX z>?lud&z~nyS=NA$M5}qc*lhgX!j={Ej*q_7ss3CF-uTRMz-G)ezVD3U`a0mW%YQaZ zO4?IZ?027mOAsH)>qyVTy5H%Su)MnEdNb@Y3S z{h~CbsXs)rnq}2vzRX5)5Qj>%au0+ELr&0_@@jWv;I>;k=*Yj{l{9G=cy7IP1Birb z$0@?N!lZ=y^Bzq?k}jV_7+Mpf9rX>aqiw=upSj zjne8_7b;Z~RJ^@?+>4v0vA?}Mo$x+mm)+8!^IQgzM+hQcCL~_J!fOFFT&+uAk(1^` zCq5Q52G6_nGDBuq)4A)n+5rF3vDEBWW7_kHW4_z@_FJ})eP;uR zK6R?xvEn>o^L*Z9n9e|jPdHVrlvr14BwmeLzn`&3*$fC$zLXK*_HJU+-Ke98rg^jV zSNvz>%RJNu2WW}46zG`LunFK%PGw~Mae1sStzk$&_OWND zD(I-Jtyuf|RhHJJ4gvqF@|4JZpuuaKib&Nd6ULV%CO7+aog4Oaj@IF) zHsoKwEamDqd?ndzER2{7yN2m!7OBozCH?7!xiiZURejc9!CETg~Q2}I%NAggw9Xhx~n;pZu$>*RlpHcQAE}>QHglJC%##>OK0iBY3S5F?% zBLc0lsAL1lwwofci)up|dDItALCe9yI)1h6;?ObvVSEpv4z)I2gOWX+3F!|Vfk(9W z2v@p0b3fr3E^FFw&%zsej2NtQt(zgea8rJTaGbIjNyoCR)f)v31=5yB)YA(=n_Tt2r=m7lT;;)mkz_UMBz5dp?* z7i!#*`1=*jbU&Q*!)m^uL0z7)8mgMa#^6Ulqi8LY>N3L_3 zwlqVM&GlX}L^B96I`bIk*X6R@6TS%hW4nUuN&ly@;_yH&AXJYO`EV4r^OzAwJ=o5i3+vyLMHP+1X z=j@bU(~u5hiHLQ+;AID3n2rKjj5htZD+4@K4|RzpQ|psQ+mX-QDq$SrP2b<&P-3V0 z7Zr6JU4q&JH*KhW-&opax3ENFwf10RX3C(qq|WmsGG-H|wQV$~Y&xX=3Mj7$jM&o3r$&kF7XRL$*sps=rIQuLw49f%SBjKr*`43pHJ9{_44b zx$k|8&@OEe6+65lhbV$Nc|4tKE#`J#Y3fQyB3OW2h^aDT83DlJsuV+x@`cFhU8y-p zi(CdEP)&KDvhfi`{@Kk6l$eqJG>$oQW0XJ^ zGJ@1N99Gu|FZb!pejwkrgM)U+;^Bz9VZQFem+>&*HI~2;q$xtd^eHU)(O39vvj{yX zmWS+74^y&kQ_I9))>(iLnE-@CM-o*B5^r6z31ahXfL-a6-F#Tz%c9r~Ox6BocP+j> zQ74Qh_!I>68R<-PRe6+KKOX?+>b=FL1tAr;vtgAo{J@jsU2U&j)*SNoe4=fhrCvEl zeAGdN?p0g~-A`8f(nF*L;MOJEOJ#jI>yo$|j}R=l4_{ffC!k z@R`OU{M6BL*yfG*C-Mw^faI9%`CdqxwuO9(Vd6N^S z{dktAtTr{sJhP;~WkCY$)K@?lkyj(y^{*^2<%Gnpni>VYMK?O|V2bx)Z8_Z^xh$ZO zc*olDj5!|TMn|=c&+2pj5070JTBl!t1Cb#&on(`;Mh4Ef;H+DMA~>rsANyCC%cO5R zGjyn!v+n2n;`rts>OVNMpY_z~y;an(pD{buPO0*RKAC^~c-#eYsCoqgg292+@>& z5$dE)cg~!AR5+P-qS@&1d9Noi{76mfmd$o$uV&8QyjkqcYk`3E2O4=wY;XLP3M%j{ z>b1)Q%8kUwL6x>}hu?2(RC~FJx*x0e*m%^o%SWZqNhIdw&Jd5-5ITzGvAR zw7qw?+D1Xgd68~D5FC8otmJv-d_p-+<70I2{MfZ^QO4S^^L2Zg*bDEX7R~tM-U$@F zt1za7l}Y0Wb)uh3l|EHC_$ZOx;tU~_PCkW+r(q>MZT5jEyc^=uI^}qY;iXD&qJnP5 z_D>1f2f&(~lRs`Q1v)|#X>C$ME8B8zSe~syIL3-bg)i9z8=CEYZ-$|sGLmp#wea+* z`9^#bynn?xmvW=Z4+MlC;ni%TM7D3?ORCu_f)`IMhXQJGq*@w0XvuLV##U;k`ei>j z4i$I-C+MP$Tb}O=##I>!SN~+64r8S`f-2gy4jiTUeF2fmpbfRG_s%{`D_u^NR%Uy{Zn5l;Xx{ZW;ZZKO_m5@I{;G%3%mkEkG za0ow?0{o^~7M7i=g07WDpeB?iZ-w9)2{6-(jDCG z4}`w-72~GDRGIC8?8nDg6Q}=Fx2|{S3pWJoLJp^b`4Ea~SRB%DA-GsB`gl2Cwo1LI zX^@WZIds{n5Jl8WQ*x@;`?fc~CP2YZ!nJ>7!5*M5fZ~OAhj^vzJ#gHaFt|_(f1E47 z`^?phXVhy~@Ma5N?UWl{3z=CTaIh}>;KSkl*3ze-P!~|NQGKwJCg4O;-C{6Z1*IH7 zAb10TstxHn)bm`{4esXGedUf#V2gn-(7NbDL}+XA>0)fC2FhEB+*-U7097-PA`ft+ z?~+-rO29v&!5j2Z#ARyj+@YZ&X0!awYs|$$$r>&mfz(=+x4+T+ZQdF0ct4d3HUQTW zM4~}~os%(JsIK9C0FNEd+XKj{v|+UV%hbcXYG{WEDJwGvw;k?PL;&sp zH200pNh`$hs58tpREUj3fRv%c0Bjh_6GVZlWif}KBzVeFA@JvSyP1%0qj_I7bdUW^ zraR$dDzZUnMCR}VNHOPXxV0Qz#=k)NAi*syhiO1;P>mZ*%$B?TBA@qd=4dB8J74;O zSHRHXBn^jexn_G}^G%hEcAM=D!a19_Kg@`Ql7m;rDpVM4j%7-b44W z0s9t6NOT*cqCO~xkfJvuOyRxjc_A*5_gKXsM+#OgH$L;5XvvESptd2e zbZ`Z97#3qjzN{L&Pg$MFTIlvn)Je + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/multiboot2-common/src/lib.rs b/multiboot2-common/src/lib.rs index 6f01e285..a28412b8 100644 --- a/multiboot2-common/src/lib.rs +++ b/multiboot2-common/src/lib.rs @@ -15,7 +15,12 @@ //! - header structure (whole) //! - header tags //! -//! # The Problem / Difficulties +//! # Solved Problem & Difficulties Along the Way +//! +//! Firstly, the design choice to have ABI-compatible rusty types influenced the +//! requirements and difficulties along the way. They, on the other side, +//! influenced the design. The outcome is what we perceive as the optimal rusty +//! and convenient solution. //! //! ## Multiboot2 Structures //! @@ -34,7 +39,9 @@ //! //! Note that these structures can also be nested. So for example, the //! Multiboot2 boot information contains Multiboot2 tags, and the Multiboot2 -//! header contains Multiboot2 header tags - both are itself dynamic structures. +//! header contains Multiboot2 header tags - both are itself **dynamically +//! sized** structures. This means, you can know the size (and amount of +//! elements) **only at runtime!** //! //! A final `[u8]` field in the structs is the most rusty way to model this. //! However, this makes the type a Dynamically Sized Type (DST). To create @@ -42,7 +49,11 @@ //! are a language feature currently not constructable with stable Rust. //! Luckily, we can utilize [`ptr_meta`]. //! -//! ## Dynamic and Sized Structs +//! Figure 1 in the [README](https://crates.io/crates/multiboot2-common) +//! (currently not embeddable in lib.rs unfortunately) provides an overview of +//! Multiboot2 structures. +//! +//! ## Dynamic and Sized Structs in Rust //! //! Note that we also have structures (tags) in Multiboot2 that looks like this: //! @@ -68,7 +79,38 @@ //! } //! ``` //! -//! ## Fat Pointer Requirements +//! ## Chosen Design +//! +//! The overall common abstractions needed to solve the problems mentioned in +//! this section are also mainly influenced by the fact that the `multiboot2` +//! and `multiboot2-header` crates use a **zero-copy** design for parsing +//! the corresponding structures. +//! +//! Further, by having **ABI-compatible types** that fully represent the +//! reality, we can use the same type for parsing **and** for construction, +//! as modelled in the following simplified example: +//! +//! ```rust,ignore +//! /// ABI-compatible tag for parsing. +//! pub struct MemoryMapTag { +//! header: TagHeader, +//! entry_size: u32, +//! entry_version: u32, +//! areas: [MemoryArea], +//! } +//! +//! impl MemoryMapTag { +//! // We can also create an ABI-compatible structure of that type. +//! pub fn new(areas: &[MemoryArea]) -> Box { +//! // omitted +//! } +//! } +//! ``` +//! +//! Hence, the structures can also be build at runtime. This is what we +//! consider **idiomatic and rusty**. +//! +//! ## Creating Fat Pointers with [`ptr_meta`] //! //! To create fat pointers with [`ptr_meta`], each tag needs a `Metadata` type //! which is either `usize` (for DSTs) or `()`. A trait is needed to abstract @@ -76,23 +118,36 @@ //! //! ## Multiboot2 Requirements //! -//! All tags must be 8-byte aligned. Space between multiple tags may be -//! filled with zeroes if necessary. These zeroes are not reflected in the -//! previous tag's size. +//! All tags must be 8-byte aligned. The actual payload of tags may be followed +//! by padding zeroes to fill the gap until the next alignment boundary, if +//! necessary. These zeroes are not reflected in the tag's size, but for Rust, +//! must be reflected in the memory allocation size. //! //! ## Rustc Requirements //! -//! The allocation space that Rust requires for types is a multiple of the +//! The required allocation space that Rust uses for types is a multiple of the //! alignment. This means that if we cast between byte slices and specific -//! types, Rust doesn't just see the size reported by the header but also -//! any necessary padding bytes. If this is not the case, for example we -//! cast to a structure from a `&[u8; 15]`, Miri will complain as it expects -//! `&[u8; 16]` +//! types, Rust doesn't just see the "trimmed down actual payload" defined by +//! struct members, but also any necessary, but hidden, padding bytes. If we +//! don't guarantee the correct is not the case, for example we cast the bytes +//! from a `&[u8; 15]` to an 8-byte aligned struct, Miri will complain as it +//! expects `&[u8; 16]`. //! //! See for information. //! +//! Further, this also means that we can't cast references to smaller structs +//! to bigger ones. Also, once we construct a `Box` on the heap and construct +//! it using the [`new_boxed`] helper, we must ensure that the default +//! [`Layout`] for the underlying type equals the one we manually used for the +//! allocation. +//! //! # Provided Abstractions //! +//! Figure 2 in the [README](https://crates.io/crates/multiboot2-common) +//! (currently not embeddable in lib.rs unfortunately) provides an overview of +//! the parsing of Multiboot2 structures and how the definitions from this +//! crate are used. +//! //! ## Parsing and Casting //! //! First, we need byte slices which are guaranteed to be aligned and are a @@ -122,6 +177,8 @@ //! # No Public API //! //! Not meant as stable public API for others outside Multiboot2. +//! +//! [`Layout`]: core::alloc::Layout #![no_std] #![cfg_attr(feature = "unstable", feature(error_in_core))] @@ -270,10 +327,17 @@ impl DynSizedStructure { &self.payload } - /// Casts the structure tag to a specific [`MaybeDynSized`] implementation which - /// may be a ZST or DST typed tag. The output type will have the exact same - /// size as `*self`. The target type must be sufficient for that. If not, - /// the function will panic. + /// Performs a memory-safe same-size cast from the base-structure to a + /// specific [`MaybeDynSized`]. The idea here is to cast the generic + /// mostly semantic-free version to a specific type with fields that have + /// a semantic. + /// + /// The provided `T` of type [`MaybeDynSized`] might be may be sized type + /// or DST. This depends on the type. + /// + /// # Panic + /// Panics if base assumptions are violated. For example, the + /// `T` of type [`MaybeDynSized`] must allow a proper casting to it. /// /// # Safety /// This function is safe due to various sanity checks and the overall diff --git a/multiboot2-common/src/tag.rs b/multiboot2-common/src/tag.rs index 2ff85104..29a4da53 100644 --- a/multiboot2-common/src/tag.rs +++ b/multiboot2-common/src/tag.rs @@ -10,7 +10,8 @@ use ptr_meta::Pointee; /// [`DynSizedStructure::cast`]. /// /// Structs that are a DST must provide a **correct** -/// [`MaybeDynSized::dst_len`] implementation. +/// [`MaybeDynSized::dst_len`] implementation. Further, implementors **must** +/// use `#[repr(C)]`. /// /// [`ID`]: Tag::ID /// [`DynSizedStructure`]: crate::DynSizedStructure diff --git a/multiboot2-header/Cargo.toml b/multiboot2-header/Cargo.toml index 20321308..0ca627e9 100644 --- a/multiboot2-header/Cargo.toml +++ b/multiboot2-header/Cargo.toml @@ -1,8 +1,10 @@ [package] name = "multiboot2-header" description = """ -Library with type definitions and parsing functions for Multiboot2 headers. -This library is `no_std` and can be used in bootloaders. +Convenient and safe parsing of Multiboot2 Header structures and the +contained header tags. Usable in no_std environments, such as a +bootloader. An optional builder feature also allows the construction of +the corresponding structures. """ version = "0.5.0" authors = [ diff --git a/multiboot2-header/README.md b/multiboot2-header/README.md index eebac8d0..b33cfb92 100644 --- a/multiboot2-header/README.md +++ b/multiboot2-header/README.md @@ -4,9 +4,18 @@ [![crates.io](https://img.shields.io/crates/v/multiboot2-header.svg)](https://crates.io/crates/multiboot2-header) [![docs](https://docs.rs/multiboot2-header/badge.svg)](https://docs.rs/multiboot2-header/) -Rust library with type definitions and parsing functions for Multiboot2 headers, -as well as a builder to build them at runtime. This library is `no_std` and can -be used in bootloaders. +Convenient and safe parsing of Multiboot2 Header structures and the +contained header tags. Usable in `no_std` environments, such as a +bootloader. An optional `builder` feature also allows the construction of +the corresponding structures. + +## Design + +For every Multiboot2 header structure, there is an ABI-compatible rusty type. +This enables a zero-copying parsing design while also enabling the creation of +these structures via convenient constructors for the corresponding types. + +## Use-Cases What this library is good for: diff --git a/multiboot2-header/src/lib.rs b/multiboot2-header/src/lib.rs index f9dd25d4..e2121b68 100644 --- a/multiboot2-header/src/lib.rs +++ b/multiboot2-header/src/lib.rs @@ -1,6 +1,13 @@ -//! Rust library with type definitions and parsing functions for Multiboot2 -//! headers, as well as a builder to build them at runtime. This library is -//! `no_std` and can be used in bootloaders. +//! Convenient and safe parsing of Multiboot2 Header structures and the +//! contained header tags. Usable in `no_std` environments, such as a +//! bootloader. An optional builder feature also allows the construction of +//! the corresponding structures. +//! +//! ## Design +//! +//! For every Multiboot2 header structure, there is an ABI-compatible rusty type. +//! This enables a zero-copying parsing design while also enabling the creation +//! of these structures via convenient constructors on the corresponding types. //! //! # Example: Parsing a Header //! diff --git a/multiboot2/README.md b/multiboot2/README.md index 9d65d1c1..5c15d837 100644 --- a/multiboot2/README.md +++ b/multiboot2/README.md @@ -5,13 +5,19 @@ Convenient and safe parsing of Multiboot2 Boot Information (MBI) structures and the contained information tags. Usable in `no_std` environments, -such as a kernel. An optional builder feature also allows the construction of +such as a kernel. An optional `builder` feature also allows the construction of the corresponding structures. It follows the Multiboot 2.0 specification at https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html and the ELF 64 specification at http://www.uclibc.org/docs/elf-64-gen.pdf. +## Design + +For every Multiboot2 structure, there is an ABI-compatible rusty type. This +enables a zero-copying parsing design while also enabling the creation of these +structures via convenient constructors on the corresponding types. + ## Features and `no_std` Compatibility This library is always `no_std` without `alloc`. However, the default `builder`- diff --git a/multiboot2/src/lib.rs b/multiboot2/src/lib.rs index cc8f7f40..8027c79a 100644 --- a/multiboot2/src/lib.rs +++ b/multiboot2/src/lib.rs @@ -17,15 +17,16 @@ #![deny(rustdoc::all)] // --- END STYLE CHECKS --- -//! Library that assists parsing the Multiboot2 Information Structure (MBI) from -//! Multiboot2-compliant bootloaders, such as GRUB. It supports all tags from the -//! specification including full support for the sections of ELF files. This library -//! is `no_std` and can be used in a Multiboot2-kernel. +//! Convenient and safe parsing of Multiboot2 Boot Information (MBI) structures +//! and the contained information tags. Usable in `no_std` environments, such as +//! a kernel. An optional builder feature also allows the construction of +//! the corresponding structures. //! -//! The GNU Multiboot(2) specification aims to provide a standardised -//! method of sharing commonly used information about the host machine at -//! boot time and give the payload, i.e. a kernel, a well defined machine -//! state. +//! ## Design +//! +//! For every Multiboot2 structure, there is an ABI-compatible rusty type. This +//! enables a zero-copying parsing design while also enabling the creation of +//! these structures via convenient constructors on the corresponding types. //! //! ## Example //! From cb3f83c7af8368340363e29e1be1509f42719331 Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Sat, 24 Aug 2024 13:30:18 +0200 Subject: [PATCH 2/2] workspace: prepare new releases --- CHANGELOG.md | 5 +++++ Cargo.lock | 6 +++--- Cargo.toml | 3 +++ Changelog.md | 3 --- README.md | 20 ++++++++----------- integration-test/bins/Cargo.lock | 6 +++--- multiboot2-common/CHANGELOG.md | 10 ++++++++++ multiboot2-common/Cargo.toml | 2 +- multiboot2-common/Changelog.md | 5 ----- multiboot2-common/src/lib.rs | 2 +- .../{Changelog.md => CHANGELOG.md} | 6 +++++- multiboot2-header/Cargo.toml | 6 +++--- multiboot2/{Changelog.md => CHANGELOG.md} | 5 +++-- multiboot2/Cargo.toml | 5 ++--- 14 files changed, 47 insertions(+), 37 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 Changelog.md create mode 100644 multiboot2-common/CHANGELOG.md delete mode 100644 multiboot2-common/Changelog.md rename multiboot2-header/{Changelog.md => CHANGELOG.md} (96%) rename multiboot2/{Changelog.md => CHANGELOG.md} (99%) diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..5d848768 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +Please see: + +- [multiboot2/CHANGELOG.md](multiboot2/CHANGELOG.md) +- [multiboot2-header/CHANGELOG.md](multiboot2-header/CHANGELOG.md) +- [multiboot2-common/CHANGELOG.md](multiboot2-common/CHANGELOG.md) diff --git a/Cargo.lock b/Cargo.lock index 9010edda..40ee3afd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,7 +27,7 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "multiboot2" -version = "0.22.1" +version = "0.22.2" dependencies = [ "bitflags", "derive_more", @@ -39,7 +39,7 @@ dependencies = [ [[package]] name = "multiboot2-common" -version = "0.1.1" +version = "0.1.2" dependencies = [ "derive_more", "ptr_meta", @@ -47,7 +47,7 @@ dependencies = [ [[package]] name = "multiboot2-header" -version = "0.5.0" +version = "0.5.1" dependencies = [ "derive_more", "log", diff --git a/Cargo.toml b/Cargo.toml index 57e82c6b..49bd0ea7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,8 @@ exclude = [ bitflags = "2.6.0" derive_more = { version = "~0.99.18", default-features = false, features = ["display"] } log = { version = "~0.4", default-features = false } +multiboot2 = { version = "0.22.2", default-features = false } +multiboot2-common = { version = "0.1.2", default-features = false } ptr_meta = { version = "~0.2", default-features = false } # This way, the corresponding crate dependency can be normalley referenced by @@ -21,3 +23,4 @@ ptr_meta = { version = "~0.2", default-features = false } [patch.crates-io] multiboot2 = { path = "multiboot2" } multiboot2-common = { path = "multiboot2-common" } +multiboot2-header = { path = "multiboot2-header" } diff --git a/Changelog.md b/Changelog.md deleted file mode 100644 index bac17705..00000000 --- a/Changelog.md +++ /dev/null @@ -1,3 +0,0 @@ -Please see: -- [multiboot2/Changelog.md](multiboot2/Changelog.md) -- [multiboot2-header/Changelog.md](multiboot2-header/Changelog.md) diff --git a/README.md b/README.md index 012308f6..1ce60e83 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,10 @@ -# Multiboot2: MBI + Header +# Rusty Wrappers for Multiboot2 -This repository contains the crates `multiboot2` and `multiboot2-header`. -Please check their individual README-files ([multiboot2](multiboot2/README.md), -[multiboot2-header](multiboot2-header/README.md)). +## Repository Overview -The `multiboot2` crate helps to parse the Multiboot2 information structure -(MBI) and is relevant in kernels, that get booted by a bootloader such as -GRUB, for example. `multiboot2-header` helps you to either build -Multiboot2-headers yourself, or to parse Multiboot2 headers in custom bootloader -or similar applications. +- [`multiboot2`](./multiboot2/README.md) +- [`multiboot2-header`](./multiboot2-header/README.md) +- [`multiboot2-common`](./multiboot2-common/README.md) ## License @@ -22,6 +18,6 @@ at your option. ### Contribution -Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the -work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any -additional terms or conditions. +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. diff --git a/integration-test/bins/Cargo.lock b/integration-test/bins/Cargo.lock index 7d718dc6..dff4de92 100644 --- a/integration-test/bins/Cargo.lock +++ b/integration-test/bins/Cargo.lock @@ -96,7 +96,7 @@ dependencies = [ [[package]] name = "multiboot2" -version = "0.22.1" +version = "0.22.2" dependencies = [ "bitflags 2.6.0", "derive_more", @@ -108,7 +108,7 @@ dependencies = [ [[package]] name = "multiboot2-common" -version = "0.1.1" +version = "0.1.2" dependencies = [ "derive_more", "ptr_meta", @@ -116,7 +116,7 @@ dependencies = [ [[package]] name = "multiboot2-header" -version = "0.5.0" +version = "0.5.1" dependencies = [ "derive_more", "log", diff --git a/multiboot2-common/CHANGELOG.md b/multiboot2-common/CHANGELOG.md new file mode 100644 index 00000000..d2ecb870 --- /dev/null +++ b/multiboot2-common/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog for Crate `multiboot2-common` + +## v0.1.2 (2024-08-24) + +- Documentation improvements +- + +## 0.1.0 / 0.1.1 (2024-08-20) + +Initial release. diff --git a/multiboot2-common/Cargo.toml b/multiboot2-common/Cargo.toml index 8ad25231..5ea30f70 100644 --- a/multiboot2-common/Cargo.toml +++ b/multiboot2-common/Cargo.toml @@ -3,7 +3,7 @@ name = "multiboot2-common" description = """ Common helpers for the `multiboot2` and `multiboot2-header` crates. """ -version = "0.1.1" +version = "0.1.2" authors = [ "Philipp Schuster " ] diff --git a/multiboot2-common/Changelog.md b/multiboot2-common/Changelog.md deleted file mode 100644 index 8d3f3905..00000000 --- a/multiboot2-common/Changelog.md +++ /dev/null @@ -1,5 +0,0 @@ -# CHANGELOG for crate `multiboot2` - -## 0.1.0 / 0.1.1 (2024-08-20) - -Initial release. diff --git a/multiboot2-common/src/lib.rs b/multiboot2-common/src/lib.rs index a28412b8..5bc7d5e9 100644 --- a/multiboot2-common/src/lib.rs +++ b/multiboot2-common/src/lib.rs @@ -141,7 +141,7 @@ //! [`Layout`] for the underlying type equals the one we manually used for the //! allocation. //! -//! # Provided Abstractions +//! # Architecture & Provided Abstractions //! //! Figure 2 in the [README](https://crates.io/crates/multiboot2-common) //! (currently not embeddable in lib.rs unfortunately) provides an overview of diff --git a/multiboot2-header/Changelog.md b/multiboot2-header/CHANGELOG.md similarity index 96% rename from multiboot2-header/Changelog.md rename to multiboot2-header/CHANGELOG.md index bf67ee82..d18a5953 100644 --- a/multiboot2-header/Changelog.md +++ b/multiboot2-header/CHANGELOG.md @@ -1,4 +1,8 @@ -# CHANGELOG for crate `multiboot2-header` +# Changelog for Crate `multiboot2-header` + +## v0.5.1 (2024-08-24) + +- Documentation improvements ## v0.5.0 (2024-05-20) diff --git a/multiboot2-header/Cargo.toml b/multiboot2-header/Cargo.toml index 0ca627e9..c8ca8787 100644 --- a/multiboot2-header/Cargo.toml +++ b/multiboot2-header/Cargo.toml @@ -6,7 +6,7 @@ contained header tags. Usable in no_std environments, such as a bootloader. An optional builder feature also allows the construction of the corresponding structures. """ -version = "0.5.0" +version = "0.5.1" authors = [ "Philipp Schuster " ] @@ -45,9 +45,9 @@ unstable = [] [dependencies] derive_more.workspace = true log.workspace = true +multiboot2-common.workspace = true +multiboot2.workspace = true ptr_meta.workspace = true -multiboot2 = { version = "0.22.1", default-features = false } -multiboot2-common = "0.1.1" [package.metadata.docs.rs] all-features = true diff --git a/multiboot2/Changelog.md b/multiboot2/CHANGELOG.md similarity index 99% rename from multiboot2/Changelog.md rename to multiboot2/CHANGELOG.md index 5c4faa82..6a875fe4 100644 --- a/multiboot2/Changelog.md +++ b/multiboot2/CHANGELOG.md @@ -1,7 +1,8 @@ -# CHANGELOG for crate `multiboot2` +# Changelog for Crate `multiboot2` -## Unreleased +## v0.22.2 (2024-08-24) +- Documentation improvements - Improve debug formatting for EFIMemoryMapTag ## v0.22.1 (2024-08-20) diff --git a/multiboot2/Cargo.toml b/multiboot2/Cargo.toml index 0f7e61b9..05ff43cb 100644 --- a/multiboot2/Cargo.toml +++ b/multiboot2/Cargo.toml @@ -6,7 +6,7 @@ structures and the contained information tags. Usable in `no_std` environments, such as a kernel. An optional builder feature also allows the construction of the corresponding structures. """ -version = "0.22.1" +version = "0.22.2" authors = [ "Philipp Oppermann ", "Calvin Lee ", @@ -46,8 +46,7 @@ bitflags.workspace = true derive_more.workspace = true log.workspace = true ptr_meta.workspace = true -multiboot2-common = { version = "0.1.1", default-features = false } - +multiboot2-common.workspace = true # We only use a very basic type definition from this crate. To prevent MSRV # bumps from uefi-raw, I restrict this here. Upstream users are likely to have # two versions of this library in it, which is no problem, as we only use the