From 2168664fa2c23fce7f4040f360af57cacb3752d9 Mon Sep 17 00:00:00 2001 From: Gustavo Martin Date: Wed, 1 Jan 2014 22:08:18 +0100 Subject: [PATCH] C# In Depth: Chapter 9 --- CSharpInDepth/Chapter9/Chapter9.v12.suo | Bin 50688 -> 54784 bytes CSharpInDepth/Chapter9/Chapter9/Form1.cs | 88 +++++++++++++++++++++ .../Chapter9/Chapter9/bin/Debug/Chapter9.exe | Bin 14848 -> 17920 bytes .../Chapter9/Chapter9/bin/Debug/Chapter9.pdb | Bin 30208 -> 34304 bytes .../Chapter9/Chapter9/obj/Debug/Chapter9.exe | Bin 14848 -> 17920 bytes .../Chapter9/Chapter9/obj/Debug/Chapter9.pdb | Bin 30208 -> 34304 bytes .../DesignTimeResolveAssemblyReferences.cache | Bin 865 -> 1453 bytes 7 files changed, 88 insertions(+) diff --git a/CSharpInDepth/Chapter9/Chapter9.v12.suo b/CSharpInDepth/Chapter9/Chapter9.v12.suo index 5b7fee9c60ba2d03738e19f3d7c41d5d96b838af..73aa76d1ee1f9c4db630d67a605dd4da783024df 100644 GIT binary patch delta 2212 zcmchYZERCj7{`0st}Ekq6x%@=-DtZaL+9Msm>9}dT@&POTLmL337rgOybCQagVF1R z88RgFK8aBSC<8SbV9*Oj4JPG96Bl1t%|64lrKKXujf3^ zb6)@Fo>O_7N#1YTQQwFc_dV zW1Hxw0b`?7gn$L0Q=0l5e(@{CObs^8m$Krvm*Jex!w<|t!t7A;%oXep1>BqG9gg}C zFb?Dcj_FnbKM|f|&P7RYnVs%dRP-cIl>;6D)qqZW{PtQ@>Oc_iNM!cuf3(#BrhWhW|QYLm8b8yyt`?}{+DSmY@H(2+XNpu zE6&Pm-+3p+q}f(>*|g9W8j#|monp4Qv=MEcfGuf{3Q?uThNn?b%y9s}USkoZ3aWE1 zBL5wQr_P|z)MFHx8lqDp14>~?DnWv;;H}ZuQ>?I2;#}ENb+Zz=}jqG&?NZ~9Ff)E@*^CBpz9;2*|ZxpIx9)hrqdL11xOwx@0BA$ zd`QQOOK4M@Op6~I;WrL={|uDw`smX4KRkYa`Jr|mi6_f8>NEK$^@d%w7xxRr>APd= z*Bs;N{Jq7R82uRF3tfzV5kbESn({0{1D!NhYC<&F1WPnFvm9d*G5y`8rAloyrv`m0X?^W!dI@q`$3tG%#MN-3AO_ZewLov!hWdsq ze-r9)AgedVnuM^cVq7{e+0tuQdpl|bb8SUA6g1+3+M^EkVGn)*d!N9?;PGhJS zxz}h(XBAyLu*K#=r$M_fHD2vHSSxB+he7kFx=?WdUR>t94BDc2rEIIPzf_U^2q6a~9anD?e$ qHzs!mg&KS_C6XtCg5=#PN_`rn;GUG4`dH2(xmivYrvwEf!M^~DWf=+p delta 1785 zcmb7^T}&KR6vyYx?oy!p)$VrL77Da%EjCkKmX$(-W-7!_D6H*+iG^$}v{p+X?G9Ef z-6>Xl5L1|wSWPscn}``@bLRr#5xOHX5!JEb|J2hx#J1Vi*Ryf%q!+1)u>v?uFt0scq}7!$ywm#Q|{u ze#a%T&FP?V0YQ@tyx|MMBr3N3E(qj&mftl*j>Tg7A#)(ueXUOF@nS{PavJy9%4zH( zg1NX=o?}(y^Anp0UZRB9OsvPlT|TLTdh3WvVjHoY;Hn{NcMuN{?F3iCal7B?&J7-< zb}Xi%+%1*Gsoz0#5)Tuce3;rp#8~XKCZ2GQ|JwIaUX2D*joWKdqi3}myZ{?ZxlAp8 zadmEC_Ooc*TKaIGwc*yjD(}Cv*~!}MW^D?IO5%RnnCj!Du98AtZwmx@d7B%DUYldOJ~ z0(=D6*0SU*FL@;GO#t|GWrINtD!$Kfd+?GAY*dWTqxBJZH`wmv0gIYYnUidBd6TTK_#G3yhJTA6Kx^(bXk#;NVecq9|Jo!*yYi#Nh zW4U0bsxL@kNX5l;-?fdnVeSu%Z+cRDYFJM^JyL+-XRA?ewChr81>Adt2J@T&{f!y{ zuMO3qdZET6Bm_n1qqpg#&`YA}*$ZdIs(rf!AsVT#4L=gC+Y=o;^F;5-9-0R{m+iRx zE%sfk&{eHpg<#CNtBRF~4i@TaFuS=<-Y!Qa?f}RgUsa+04`C)bzY;hQvPs59fV@ diff --git a/CSharpInDepth/Chapter9/Chapter9/Form1.cs b/CSharpInDepth/Chapter9/Chapter9/Form1.cs index 366618e..839212f 100644 --- a/CSharpInDepth/Chapter9/Chapter9/Form1.cs +++ b/CSharpInDepth/Chapter9/Chapter9/Form1.cs @@ -14,6 +14,8 @@ namespace Chapter9 { public partial class Form1 : Form { + delegate T MyFunc(); + public Form1() { @@ -143,6 +145,58 @@ namespace Chapter9 Console.WriteLine(compiled4("First", "Second")); Console.WriteLine(compiled4("First", "Fir")); + + /** + * + * Listing 9.11 Example of code requiring the new type inference rules. + */ + Console.WriteLine("Listing 9.11 Example of code requiring the new type inference rules."); + PrintConvertedValue("I am a string", x => x.Length); + + /** + * + * Listing 9.12 Attempting to infer the return type of an anonymous method. + */ + Console.WriteLine("Listing 9.12 Attempting to infer the return type of an anonymous method."); + WriteResult(delegate { return 5; }); + + /** + * + * Listing 9.13 Code returning an integer or an object depending on the time of day. + */ + Console.WriteLine("Listing 9.13 Code returning an integer or an object depending on the time of day."); + WriteResult(delegate + { + if (DateTime.Now.Hour < 12) + { + return 10; + } + else + { + return new object(); + } + }); + + /** + * + * Listing 9.14 Flexible type inference comibning information from multiple arguments. + */ + Console.WriteLine("Listing 9.14 Flexible type inference comibning information from multiple arguments."); + PrintType(1, new object()); + + /** + * + * Listing 9.15 Multistage type inference. + */ + Console.WriteLine("Listing 9.15 Multistage type inference."); + ConvertTwice("Another String", text => text.Length, length => Math.Sqrt(length)); + + /** + * + * Listing 9.16 Sample of overloading choice influenced by delegate return type. + */ + Console.WriteLine("Listing 9.16 Sample of overloading choice influenced by delegate return type."); + Execute(() => 1); } static void Log(string title, object sender, EventArgs e) @@ -157,6 +211,40 @@ namespace Chapter9 Console.WriteLine(" {0}={1}", name, value); } } + + static void PrintConvertedValue(TInput input, Converter converter) + { + Console.WriteLine(converter(input)); + } + + static void WriteResult(MyFunc function) + { + Console.WriteLine(function()); + } + + static void PrintType(T first, T second) + { + Console.WriteLine(typeof(T)); + } + + static void ConvertTwice(TInput input, + Converter firstConversion, + Converter secondConversion) + { + TMiddle middle = firstConversion(input); + TOutput output = secondConversion(middle); + Console.WriteLine(output); + } + + static void Execute(Func action) + { + Console.WriteLine("action returns an int: " + action()); + } + + static void Execute(Func action) + { + Console.WriteLine("action returns a double: " + action()); + } } class Film diff --git a/CSharpInDepth/Chapter9/Chapter9/bin/Debug/Chapter9.exe b/CSharpInDepth/Chapter9/Chapter9/bin/Debug/Chapter9.exe index 05bb4c59be8a261f3fda8c32f28e3166554efd8a..9c113c80fec33b3ce6dda9c419b0717114a40798 100644 GIT binary patch literal 17920 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 P{sY+Z|4sOfJ@CH(c)##i delta 5716 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 diff --git a/CSharpInDepth/Chapter9/Chapter9/bin/Debug/Chapter9.pdb b/CSharpInDepth/Chapter9/Chapter9/bin/Debug/Chapter9.pdb index 9f0e2f3971fff072bfbc6094c33945c194dc4bd1..21b8cc917665c4b833f76527c5a99762d7a26daa 100644 GIT binary patch literal 34304 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 P{sY+Z|4sOfJ@CH(c)##i delta 5716 zcmZ`-4Rl;(nSQ_T&fLFAroA)ynItpGB$G7Lq(6ymY5J4W(ArW9r8K43@Y7N%P_^7T z6Y#X%^iD)MmQp2Nl~wed(jF8}KrVCbODXa^wh1Kpp?{_De zMBPd9eDBZmzTf-(-kT}hEeieje7@;h+kdiwik~r(A|fJ09Wa=I@zlDZ?`(<|))B2` z!&ai@;i1NOS%Ihw`lXi>CH>*0v;57X)qZ&nOlkae_;-nR@ge^)(JH$9*F@8dN0EU) zm*P)Sn3lJrizXrsTAWB9ok_GyAXA&aUS3fag-N>8fp@p~56e0+-G5p(7;M(usDDm& zFA3A*VU8z9RtyNDkjz#R*+`!afkwG&kTF}urhQb^vL`v>%-mUIbtlE1n~2TVf*nsdiF^#P z@fxQlce@068Z>fh(vKsh>ja8h=W&hW+*+qLS1567(}zmjTDNX8wa%%_Jy@dFrN3RG z)=i}*on-FkC2BJ5m#9f^DmUe%a&MKmsr1)N+|*QRy;Gk{XcGggPrp#2)=#B2I1Rb3 z615>cIzjcEhN;}Nlg@1{antE%C%8^}oLasQD;O*gwz8g2@&d653&c%4WH})>#S>=j zLwrEBm|D+NHi3%93%L!jl-S4@u(8?ne45#80-GDRQRN(`=k}n|U>nN468_v9TspSC zO@Uz_It}vS=;`?k=VKG{apQ_+e@w6NaNP8K3p>#*JGpUZOv;1sAWu0{TbarxP`Pol zOwIlGL^+AOkxgW0!W<9ROj2|w?C9Axwi}L-ZC7#Lw$S)ECI_0611-mNtRT>K?5cya zI6sbNyE~hcMVyF>8)E#_jZP%2Q=N~ha^^At7trMJc$rh?1v$!{^2s@R!{bGbHgjhj zo%>fdc0!6bPO`o_VQq36M?b{f%mefTMD;<;f{16FOqJ7g*vVw)!;?_;$D5tzDyQ+V z=QLNduQ`iFY>!8ssJno>nC48&y@u4eHv#TNoOU6A#?9xansYee#qBVuwmmRbA4KsY z-r}@Wl{|-?mTVVyGktE!IB9^+Bx`AavFd}f{06Ja;$g%qFc5#4mGM-))lT)_ueWIa zt9q%8>N+&~BCc&*jSl7RL8&skh=-W_7G$j`ABP-r7sDPHD3o0S#a#+0Z*Q~Q?#m$c zBT(3+yUU_UPKYuN0-G($G9(KYN7lbmJPT1}7 zw?-0vvTUZ;qhh3%y@Z7}4aJV3SoM+l6)+C)sgv22><>;{!?g`t@*jrot|}RG=TU^a zx@2fr+fbdqlv!&^#wzzCB_*dD-qf>P?XFdB9Pi`H0qcA6JnSqUljyuUi>DykbP|Um z9R{fU*(;PayB<0F?#XE#YINNxh;wiWnH$=#8C%vsn zY6Gk=LHW@W{J0iMepcG*WwsZY+CEO%t2kp-b`v*w@b&D~s*kpSf=+ND#5*KmL9vIi z753q29P+R#RTo5=IlGB+O(=I1wMcai-99A9<0)+0dV#q?M5LXJiNXw(XxcTB^fvsn+L(YEGAPdvk#lyHBCKO0Ca(VP#;U#f%X7&+%9_@L|P^Py( zx8v5E^UNsVHDN0{&Ro??V|Xke1!Y!WwFVo6{u6ovBgkCxNp~BQ@xk^HS63dkEaajO zTILbnDKJ5VjldJ3;_*PI3jCoA!WHMK*C)Jn@X9EeV>yU*BvgMWS=l&^OMTEjO9K?8 zLv#T0kCgoH^c=hug1ui7gE%`U#UsF7a+9>_KDi(G&kA2q__jjN(AbeyxJ2P5g<0+>Q;D(!o4OB z=}sj-0y#!cDCSGBMCmQ_IpF^QZCYgQoMA<2i^ZlK(545h0W8}o>nW>>&H#1#v(*Pn z#%6h@%_G9@%kNqLhk+BR0*CoW;yt8QCwRbaR9=7ZiRYa=`auDZHdj zrx}zY3-877iRsj?v?#yc!Z(k);fwMvf$vIa<*+8O0nVWgL3N@5Tm4I+&j8OTtPHb! zb@(g5d&5V7uZ2f|8U4pVPd^1bt^X3StHc5i&9$Nnro&=2@CC6J7?(RJ+lc<@&csm+ zOVC?0SR0~$K`Da%v6Z!-(0QuG@f=m!APTgxPuHi}H$;1|1;TVoQ9BJyr$SM)uni2l z7aGPtMBU*pVzVDDI=%2WG2&kowWq=lqks>Jnyx>Id9qY#Lv)?~GnA7kYLDqJVP<}a z*A{`RZ*KSW?^>UWz7S%TXaDEbKq3tt)S3MPBTRRAXZ@N8zhX1AFDvbKxNcv=z=ZfqC&YVsL!YsN#(7e>y1{?T$FDzy0D5IRYA8JSBM_5 z*J!2pm8C~~*4Qj8!QLM61!Ie-Da!X5H;FakEn_FJ&*&GO9y%*PX*EA5=FJWa^O_9Ea`d%0#&&Ss8puhtydXIu{X z5SWh2Un9AfM){m)uR!x_yIwZppZJezGvT;i>s0RDqA&7*wg>?aYdx?W*RGTgMdpTT zREjyYm);J|p*p$;n5W+W+m-wY`UT_&bphk_8DK`)@1Q?Ho~JBJ=&O)dkjKHj%6$zz z61oA8u)Amny)K{D29>;D$^2-$i|$u=gigxs+7WtI-i3RY?Z*|KPU%K8?_Pb zNv$oU;h2VToOSgC&k4Mg(x(O9Uh!1k0=z6Dx1*UWb2ztA5Cu(B=paDiK4YxJWhrsn zTkuu`CGP(S_IgaDaat}Fhs3bJyOi|H>Y7EL-&q$I{R#&dmwpE?EqL8wD1NH6r>t>V zKzIzVIyfvyPxJ!h&2%sBuXmyP7wWS9+~m4xJM%ZXxliucM!mc9{U6)uA4;zAH>5U= zjHQ}|wS7l^mz&3n(#Y$>Gb7Q}oTefY>mTi8asa4GPZ))lh3;YM0 zE*2O0ziV107W#8DEAdrNf94vo$REvYl$|&DJ6jg$Yi_;W{lv%opSJu-Uv=B9H*W15 zd2+^p7+IBFEl2KdyGQr`Y5pz#-UYYJTer}?{pg$iC3h~kIw`4&j18`MCE)0hBSmATf zSlQ3YL4Vi63J)ELXtAGg8s3DS7I6{B8VX?=m9fG%xjPgUr()k06s|%Uxcg~o=-|bv zGIm>F<|+c-ZWuT`Hh{zeH3ZE;ouEAAB_kwbh3~}*58#*kOghtrM7r;bdV(nxD-4@9 z=YK+&5oHhLP#Omw6|vpqT*sWk3G7!S#R!inX&6EjYk@gr#!sEXGuZL5!i%cA=aIYN z0b3XU_GXynxJ4+f>BJypuX|ED0Qkqb;SK} z_p!qB7%YC#8_xz0og+OS{S+p2UX{Q3nTY04t{Ep9dorBHOdeAc{%?VD1{*esiAg3Q zNNluN;Wya3g)=DPocZX*TRi8qy_oldY3g&ZZcgD3ylzh6k8CU}3zWa8W-!bh3|hg$ z-tTW*yeXA3K#Rr(Q--0%Qn8c_8QAjyy~Tfe@y&LEmt=4ze*LZ`Z_FP5k{2%w#Q%D3 z$G@Z7=Mrt`UD=yGMsNPU^QslY7rnf)t-0|jZDh?-Lqs3Mf2!l3AFcDR@2-`PuJiYF ef7ws3936=+dpB$?5558(T{hyZd`Ap*82<;{D6Ogh diff --git a/CSharpInDepth/Chapter9/Chapter9/obj/Debug/Chapter9.pdb b/CSharpInDepth/Chapter9/Chapter9/obj/Debug/Chapter9.pdb index 9f0e2f3971fff072bfbc6094c33945c194dc4bd1..21b8cc917665c4b833f76527c5a99762d7a26daa 100644 GIT binary patch literal 34304 zcmeI54V0BtxyRoF<1mOIAR;2_0K+#9GkjB|gEJr~6kir42E)u5W^|Yt&p9BL<*|kK zalJ|0)>2DawBnYjt>}jLYL~jKmX(#Ih85k^yyfj0*AmTc-W6Bx@4r9J+2?Q$j&P=2 zFdP5#yzl!w&;ES&-p}6eKCjE#ni8GK&X!bV{j~ZiQ!1COT2wiwx~68}=_4CfMT9<4 z6ob@*sk$K4nZLb%PKFv7abX$7sEJ;Cy*HeSHBh23d$y3NDFy}Dt=CEx9LV954W(f)URq0i?ZUU-&bZ92oM=$x-xb#gcEX|6)hoW6d8~`p<_iee&kSm+sQAp)jfO ziD&8`xaWI|$KAVrP~MfDzzaFcO>xMuGFe1>izZ2}Xl4U@WKtsA=dDx&rE34TU-OL@ z?tgmwH6K`ZXyVf!erAA0du&#s(Oz2`%3r84&BrFadLs{LQO>c}1MpY*vaX8rLqwSzuo zmUG1u?d7~>YM@l@pFjVH>+E9d`TVti{`y|)^WM<2HBhSd@16g9ww-z^_Sar~?M1!T z{gyWBn%=hd%49r|TzlE(WU6sX=h{`Bn-fj(wJYOYoyoQJt6CcqU5h#si#B(-n{{+B%v|T1`H!%tco=t)x$@IY_H#inTIsbDUc)(&~X?B{FIC zT)8$T8aJtBN?U>;)>4@k7PzT4$Cyf(WlWC9d#ILe&P!XzHp9fJ9rSWeYixoZ1Z%l& zhdu<|<4$gHn+e0|@z7)#I)<)8%~uPIPcdru^O6vyv2%&Oou zk9k)ky*v-HI^T+1S5jpBuyL$W|G`@<*iyGF9IOv#ED%F2?x?En5U zex+nXD-UJW6TIxxPiP1W_C?d|cVR9k09vih<(4nSKI@A|U*rEMM8sZvJ<&sMi4;*HI?4b`g~ zlh-D5c<;d#=)68zt>F|;f+K3>(Zx|&+4nCw^xdz&_h(D?jqBg%U+>$yUU4pq8qE8~ zGTL14wDhi#%jh&v*5?=I{UYxVF^Tf%WuC1Dcd}rK@lWp*6(qaZTp9heY=hA@t@oF_ zvrM~plWDz&&pbVP1zrX4BeAY4!A$VC45e!Szr23kfR*3b zcl#3u`t9ud=K&L3+w&ea+s=jTAZ+vc&P`pN9r2FTvd-o>oiDVJhQ?H*>M7@0qVakx zBbOEjem7~Yf7?V9^Z^zUJzAkQpS?}en?qV zzpARXs)oRG+1&IuvRjlxyVdM0z1h)Z6Su}cg)=NMf3e$g-J=>s^Q)Uuor#M#tXpU5 zZ+O&q$b&E@qUUuar)V^MD=pc(-q*{%Wv71qexmQ#^WW#c(fU7pzpwZ6%4c`#w7NTW z8q4kbzCOED2?U)X@PRW0Gnj@8llQ2=-h)3q+4FcOLamr@XT|bK6efID2QCPn+PmDpI&LKssKo zbZuwt+mGA6?WW3b2^x=m;0#E4D>r%hY!Sa$on+<=l*(d-)4H=jT9u@=<><6()z?oX ztul2+LRhZRq_vG_dF86D<=LA_%lm&{Sg?5hEc`!>18*j%8e}@k$BFuXTYh=ZuD81X zSJ1aGc2amenXdtq5S}HfqV0C`EWhpK3#jj`Vc@MmPdZ-C_Z_-^!9Fg&;>+XLXs(e> zi0{VuP=96_ylOX>RG19evs64bVHkO>pn(l*Sz}uVPnAdMJq$D_c>d|xIrR~wdj6m0VLz7nwm9NC`##tA5m6hIAF`B2)3k2eVmlM` zBgjkE^VQy?k)?lz?QQHq>zCOUjMJax`hf=8~JrhclI zF)%5FyG!zQM(`{zpBp46+gi_n^*E4@m+R?#7V`h(>x?}*pH0f=iPT9U|4;r(-O*_^ zD=pPYsr|oPU#D=}?UwG}4HT*w6ZhIRm5DFW1xkbhQ?z z1V_yEIP$rZtNeV<;F)Z44|%LaK{{Tpr}J6J{~J#}cNfU#-@^Zsf2ekp4RmiTvvYmE zjXvl6+|X_&P|gDd$~lW?YL7Z}_5kU4xze@Az?kN?{CwV~%?yI~S9Cp*d_Dusx0~5K zQ$C+3k89AAj+gWKWN19W`Lb|6XKGPJz+^LF61U#J3&z~qIY=m<@&mOPla813`J`+m z&8PQMcWV=e@IsJL(keg9GgF^|pE{Skbs;ZV&sY9NBl|{vY9W3tdeYb2T!=5b7N7B} zAYbEx_>3C``My84lJ9o%{WST04Ox|I40@12FNzZJ)aFFT(s;+lRIBnP8OdhzmMf$D zNd_0EsEqPB5}CevGA(WGX75`(Y%oW^E78`G;+e`u+Bv+IwnQ?uAhFTcotiDoUozg* z+0kqT6t~98kl)zcEL9UX-6DtQHMY0&h~F|*4$*I-!gSjkH*IKcT;9k_{WvEx zh{498{kWs$Z2H=74SBxY>Ibq@`QRac{>2;Dt!wLOOD*jrD>X(&??8&n)EXJ>85Eb9 zZe$p@k0CR|$mq9T#p9W2WLRSyLuQtd!M{I-%xoj0-;xziYmSkrJf_TCGskv+p8ZN+ z*|?v-{CGQ921dBu67!ewqx>m4su^#WcFLU0d~gqj{1nD2SR+0N4wCLc(w)rx*$fiOm-;Lu&|@y(+>V|}XF2ju0=32H zKu5aSyhKq4_ADL6r*SjnZE0-ZET-z%<9K|Ui`{>oSmFcelz-djf8o}6)8>@2-pzWd z$?;8nI?oqKha}2>RpNB+b_PAw7Y52)U4F!;)6kaWz@I6P+TsQBwFVu@dl`)rQl}5P zwlL#}87FGY^EdxaUh$Rnxie?n^L=r!COE>g=CA#O|4=@WjGJ+93G+}}V|&{N;`RPD zvZT6aw=+z8s19T+FQYf#CPCb>%vwR?rpl&(U8a?;sQj2ey!cvr25<9cxsw7u4vpc( z;+Wv#5cP3Xv+G}DzP1yYd?-D;_Z7?RooU>w0t)asZ(!3O=W?gCr8gERZEv@sUPBb! ztoc*|mUoWcD)i*fNw1po6bfF?zH2M2w>r?P4cbKYvJDhV@5(@LMzmDPWzyT>^!yq( zEZ=9)^X)Jvx+J3~JFt~#v`hh}NXZz9fc7H{**6@AX9^y{vF;AEf>U|HrGM*~` z=b2yp+kCF4Vh{6NdRk+uj#RhmKMLHF&jxd?zw?pr2W5Cm%l5F(G_H&6*VH5ZBR!gX z_3;Hze8BWdD0P^=8mfN#A?QTtC!y8QyP%Xi{SdSk`U5EI^Yl-lbED`Jb0`RD-@FF8 zi06$^`qa&zgf8KJFZ6QgH=)a+k3dN?{R^o2g7(p6+tZ-3)%QWKg2tiLU^)RMZ|R$$ z?}vT@x(>Pn%7C8U32lMi3*89)7icT=+t6#EKZ9Ni{SEXw=pUd7=wK>52|X8@f{urN z09p(EAaob>M(CHJABOIS-UR(Q^cLu^p|?T@pB6>br}snE_YOgKLH`6*Um8jKe+fDcdJpw}IrKs9uY}Sz z=@#g}L9c`EhkgV4UFdh9--8~4J_7B}S0?OvuCbiu+6b-ybHEm`$X)AMt-Ef4o(Wcg zF%ET(z6Ux5)Pp5p8CV0}4(5Y}U>tZa2%jzIeky1JvmE^WRoqVp?*MND>%a!k04@WH zNBL78)&reO^Rg<>0&p!*{!?HuP}wGe%fb6W7r4OG!^_z5bHJ`AVwrV_oPdKs;fK_l z`rV^Yjom+jo(ugkbTafY=oCk_ccp$j&)qMCJ`R5o^a7y7mau8=y}@o1lsZ zTQ&OFjG^j>^flT|XYghMwbdnH7$u}f5r#9i+HtRjv91<~KZu&CF?{`zzREfuSbsmJ z@xcVTL`IS_o3j1_dKS;jWfLz!8CO-eE`JMi;;_DM;W+-};`kpI$DcECT$YJrD{)&N zHD+eD3hsq=puqTU@-Y~yx|Z#o4W-V^n9nojUpps^h0^B6R*`Y}oxxLmlScFActh1^ zy}hV!Sf4Z&Jj{hn8f`J z(2JnAL#v^8K&L^!0>y&UjB8kRl%^l*>}&exP;#Bdu4p-54vhgCpETx70vaDwp2=V? zP~R6cK4`2N?J(Yy^%dfx4$WC@h&hKX`UqGGT0t7z4fcY^!SjIgRM99f7c2+uU>n#4 z^j`W&@B*mlL*0P+U^VCh9|OC=K5!5m24`SoRiF;60qtNLxD)6+(v#o?P*FyFU@lk= z+QBw(H`ogv1KcZt~v&RBnpK8ipZjQF^{;t&XY2H|4c%8A>`NP@pS9?m6;s) zNUXHy7f>zuNVYZtQ~_+njBAUbiq)^vALLqLfF8G5Im-A~w;*seSjy{k0X3lHVd?w_t4gH>&>`6iW*azmB@>_krtDDSWneMFxztu-| zrE-UBL0h)0|EoNy9u<&HD+~DAj1gwfE^WsL&7p%b>j#^kSSFvcEwzV&#u;G7qyF-6 z2(N$&;M-dLZ8>(?4z_{2osIJNxP#iy*Q44|fojVH>a=`JwjRxyqvLD4+`SdQuGiTi z1zcHFh*^j3*=~+tXOT7=7t_dD)(#q#X*{p7^TwJbq?>Q}L=F z=yxh(pz~cm{N7Vm54(?V>OzDbYWEwvXJ2+-SM@4A-}kEAKoj=8bCA)yCsReLhk82R z=0sd+DxWgC!$3M-&i6gk3YK4Kb}yf=U#)(SpU>?spR!9I7+1=ZKA-#oGt6iA(z553 zd|EFPvD(zyT`XgdVV|pH&D2ja^c&@6tm%8_o4Lu)#oKsp?IM=3FZEB^jlxuPRJWQ- z2SViwsE=t*Rpn_;odTtwr)!}g&3tO+)VD!3r`molDOI@E&tC--&Gis^x9|Tdk8PvE zW5~tCrMz4MRUYdyac9R6#bN6?X2u0>bM_K0b#c@~RW}WpI5fWx%8VxmrAVj*dl^F> z0nY-RGZ_Wug5{tcjO;({CDpIyW93gcg+gfNCuOnqO+U4<+>9gOE;^aoxDAN@ls|^L z=R4i={>~moyZcQ}PU~{Xzt_oca&(@1{&^?2)7?M71SI)e9NpyTY1p2g&vWws=+gU| zi*JR~|4%2s)6scOPx~d(@9&<^;#&7lIQkC9pXd1Bck!L((!0*_|HD0h$UVQs-T&U* z|H$cYa_J6q`TLzq=K)7=cJvmfx5Cl$9Ubk`Tju2c&&7L-uSb{e0(XCQ3BI@XTm#-C$j&}0Dck#UB1c34tYCN}zLY9KMxXe@5OWNz1A>r|(&IiR z{W>Hy8s`SX=TRp9T(&8*)z4$N+id(rqbR7Dn_VXoWWw`R5MAdE9NF~(%}{`EpSf5I z7S6{nnYxT%_QLazcfH{CeT>D{3#$=W4>X5v1KYvf;2y9aJPI_wJO>VgBS60^7zQeV z{vQHb`^mr3`fn|01u2jQw}CssZmwkd(OdN6qpERf;zAiXm7O{ zXw7&d(7N%{U>CR_JO~~JkAtVc^WYVb4MUB*?v*$Gix%(vV}|X&c2S-E$VIhxQIpYv znU~I<*)a1`D{jA>8h$%96Ac$bOr7Y-Z9wU4z5Ced_>XBs^BShlon61M0iBD!QTHdrPoUbUx?A1;Un$<>knglX2lYuS`_3p-MY8`drFG>3?WM&k@$rrsyAKL8mX zO$wgX%+}8tYiDZxlarmW6-+AP!|x=cEj z=X9F0Iu&M|%jS*fGCG#$bmCbZow*LvA-ar?}td7nYs+&wIIcb&ts8ybNaBQoY|95-{}awDO92yTo=gyL zA3XW63i-TO;rX>sKCdqk`tdZMHvpd3qnR>6=?#a+n!<#T*N4;xnvBOX-!z`0G+gB2 zcaF;mnI8LUN|X7%OYkL@O3IAc6%5`tRNbp? zRAr{x3QC`p553u)l!a5FwC=5>QNK?6&gEKdE~+pb!>EC`hUe{%MhAbw>sX%C3H(6) z-X=$f_`HtgIUN?~J{|q`IY)>1ypH8Lo!MEPI;<*3hxojXSsneRBS(k$ypH8L z9R@?6H~qdMM~C>lj^#NW9A57?>o*TE_hVfzYoA$J{W#mp>b!0&vIls*tbOKWsq-<; z#~wznh!r`2>UFJ*(+%44V@5akAgR}}Jf~yo-um>fWYaSTLcP3w?&O1Z)cMU=lzXt# z>sX%CG4*cK7{>bBwVld$`fZZ=XAP+RoSU zu3?fde6Y~#S{bL?n6(wni)B&n3p1}{c~+;E^nCvI86Eesifb=#pIiCqq~YyF@$}8J zE&I&HO?&vVY&EilU#9qUtc=qQ`d6AEx34Kn_63C3u{@^}^skBd6MduHmjPbK@|+Is z(;NPFH6VZQ`u?>snoB<0ZD&P`Rt$@FePkPLuJ`CudG6Om%H?oyt}dcK>^Foz$KK;O zGa7cbm7LFPuXHL7&LVajGJ7fdm{)ByW8uu{vl?pZ4fELX4vNljv9u$t%Y#2J5HEW) z@~xsv=hhSVY=&DCjve=qqxOF)ep)zg_mR`%-2WMT)c((ipB+1$;`=|gTymK5gX%`l zi}6Ol^K0l(S9)WC&i>>F@#+9Jb5sy-C6KM;2k}~goWuMe-WE`dx9u3b9q@{kLGLWQ z1IcA3D81c)_k2eM@eY7uadK9xXnh`nCx-R=HCK*iG;G^V4Y zf_OSx#?*FH5Km{uinWn`SK-frh04;?S*~L3t}|N2cshGEHH^$%D^8t@dbS9!0zZlK z6DCO32VLtuF#nmL@xur4^nSP4o|4|T`u5A$(|c61YC=9wXFa^0Te}!JrKd9-Za6dR zUmJtQwWIfxKC3ib5koxzVF`auC7au@4BPnz^h->S@mgroax#n9W9;FH2w508JUfPR=&*{Pi$!KY`WGy z=*gWJoJjlq@bIh5e*dC(|ED`&NVoekJzsw|9X6RYwD#`*l(?_*og^C4PBLi{%^!`Oj`Vxpz6DI2 zPWwmSaNg(Kd(XM={y6u?5-NRF6S%=7b%cJND-tMQbPOV_L=jc z&u(N?K^9iwM%n|ZfOzTP=)U9`JR+cW*Eb^ zF6zql>bAvxqhop^cR;o;S8dGbkc>XvfNeXZLz%V}c%;M+KR9l%P;kizB^FMqA7Q6TQ3QV>>ghtEMM|P8h1vQ^40HRT*|oIUfR(=(j* zYRvU7%EZ;LwT{NU>G~#2*e~cgZ+FV=ZHiXkMdo6QWTm`fU-6wS)QLeulDIY6lT4xF zZ2cCD`9(Unv^#FzGhAe)ks=pai|q7toJp4k4{~@tbgWd#iw;Qi<5qp7zJzGKUscX)oOdH`tv60WGUvo(=jPTIf!#8pa ze~@G{=YCsvU1i8;BiA-PmAX=7#Xv0{4~^tMYJdKYVFd$Q z!9WKGO|(m&b1>j}JOcHNKu~^(MW!y?wS)I_rcK0{zl-j_3VXJVmUCa!1w}V~*{N_+ zdm9~~@xrZ(oERYV3jm42(s_EIjJrHgGd=$=X0cDXC(aR zZ2FOd0AD(9lU(VPY*bzHuwHsT}Arbk&_rm&-FGCtWH}p}(v!A!Vh1Y0Ow@%v=Wl74Sa= z|4Ge%F{TkJhvZ5prpvc7g}$?r!;rN}Rr}dW4$wE$x39)RU#hwO8Y`vN#AhxH)&Dur zIY1EjpQwRTH*cD}msMlf41!JciS<+m+7Nk`YKFiOZ-(G?X63xcA)gfkSydJTVTQ8k1l1l9`N_?WU@CO z>pHqncP}40YL7hH?)ZH^>F|_9puQ0m%G(MhG}sbm@S#?ia51u8E6$|#4XZ2PyKQu8 zw7QJiM*seTy3is;hdq^BM>&Hj^j<@O;jp>~#L%L~;#f>kkP9=&*LZhqo|ej^M;h;z z%IHF4l~hMJ@m@pjrYdqZ>1cP8S8Ai@nyRD?^bYbSn@p6^Y)ZI{UPhLdgk?s5z9(yJ z87h7W*}SQv=Rs~DqAz$CXa#K`j<8@3$PMv z@b}6; zxDmV$>;`v&_kly;W^fGL0v-X;*kBm!1)l)}VoU^Ign}>#z6|aHe+~A5Z-EbhAAp14 zryx$MU?L`LFUY6D5SR~+fNpRauoFL;8^ zx1>lvqAM-;Di{r33U9TJ$~psew*6D;qqYs}^Sqe4wU8Z<5y%AO6yzd=*FD^Xfy~~5 zaJxf604ke|l;56j-h^ub_aSOygiShaX(*u`opA%P z(HrOrRDl`?y3?q>V~GsAfsVR_8GM|tGj@n8hF@mtMoXnl|bEo3oPN#yk zt{9Ex?=#G9#dkzJ<#aif1Q@S3(mh=(X??vuiQBcXKWO8#U3D_rbgk=%j9Le} z>tffdwMxQBd)Hg&Vz)P|37z9>!Z74GB7R#<4dUtTS z?CPboJtzuL3u7mK@_#Iahm1DNE}yVREux{#DkdK~gqZNklr_{~HDR^$(`AUv>5g-c z2^tw{*G;f;d8kYG`WaQRQtgASy3=Q)3BPgr^n)3aj6*$Zn@!J`smJL}e~SKXXeFw~ zSB&>nZ3bFebYbgnAr*&^O5sgpAdsf#Jt>|u^t_K?4}r!za6DZNSQHLm-eChp@;>AA zwtcJRxD@x*)8el?wOU?wKXjuITC zVj5w)4BV_x(r8)#<4do}$F^%)E5Hl$;zk zj>#(-!zX7k39_+q0#(HV<)b)35?nxDJdhVGlv|vfUzC%X1Xj-t6wU@IvI@`4OUW-U z)^p1*$}I-T34rWk17c1d5Wx!~_&@|dh!6k~Aa}9yOrF3ryIu&${g7=#7o$8A0|NsW7c-FLWC0PZKtce-0!gs3O|D}KpTs0KxsfSVQ~)Fg66WLp z5u8ARm1D98%WN|)Ad{=iM9)Ca*udD(l8X@}2U5hKBFwfV^SlQa7Z)2hnj&rh4uB9g -- 2.1.4