From ce75f1ca36c499498082ce57df32f664f6c45e60 Mon Sep 17 00:00:00 2001 From: gallatin Date: Tue, 2 Oct 2007 15:59:54 +0000 Subject: [PATCH] MFC: sync the mxge driver with HEAD, modulo some slight differences due to RELENG_6 limitations. (no TSO in RELENG_6, no VLAN tag insertion/removal due to vlan differences, etc). --- sys/amd64/conf/NOTES | 2 + sys/conf/files.amd64 | 5 + sys/conf/files.i386 | 5 + sys/dev/mxge/eth_z8e.dat.gz.uu | 1083 ---------------------- sys/dev/mxge/ethp_z8e.dat.gz.uu | 1089 ----------------------- sys/dev/mxge/if_mxge.c | 378 ++++++-- sys/dev/mxge/if_mxge_var.h | 34 +- sys/dev/mxge/mcp_gen_header.h | 8 +- sys/dev/mxge/mxge_lro.c | 8 +- sys/dev/mxge/mxge_mcp.h | 102 ++- sys/i386/conf/NOTES | 2 + sys/modules/mxge/mxge_eth_z8e/Makefile | 10 +- sys/modules/mxge/mxge_ethp_z8e/Makefile | 10 +- 13 files changed, 461 insertions(+), 2275 deletions(-) delete mode 100644 sys/dev/mxge/eth_z8e.dat.gz.uu delete mode 100644 sys/dev/mxge/ethp_z8e.dat.gz.uu diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 58554fe054b7..093c840c80f0 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -230,6 +230,7 @@ options DRM_DEBUG # Include debug printfs (slow) # (requires miibus) # lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and # Am79C960) +# mxge: Myricom Myri-10G 10GbE NIC # nve: nVidia nForce MCP on-board Ethernet Networking #XXX# still calls MD i386 kvtop function instead of vtophys etc @@ -238,6 +239,7 @@ options DRM_DEBUG # Include debug printfs (slow) #XXX#options ED_HPP #XXX#options ED_SIC #XXX#device lnc +device mxge # Myricom Myri-10G 10GbE NIC device nve # nVidia nForce MCP on-board Ethernet Networking device ath diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index 0cd5939f45f4..5ba15266be9a 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -184,6 +184,11 @@ dev/kbd/kbd.c optional atkbd dev/kbd/kbd.c optional sc dev/kbd/kbd.c optional ukbd dev/mem/memutil.c optional mem +dev/mxge/if_mxge.c optional mxge pci +dev/mxge/mxge_lro.c optional mxge pci +dev/mxge/mxge_eth_z8e.c optional mxge pci +dev/mxge/mxge_ethp_z8e.c optional mxge pci +net/zlib.c optional mxge dev/nve/if_nve.c optional nve pci dev/rr232x/os_bsd.c optional rr232x dev/rr232x/osm_bsd.c optional rr232x diff --git a/sys/conf/files.i386 b/sys/conf/files.i386 index 620a56a47529..32a17e343c80 100644 --- a/sys/conf/files.i386 +++ b/sys/conf/files.i386 @@ -219,6 +219,11 @@ dev/lnc/if_lnc_isa.c optional lnc isa dev/mem/memutil.c optional mem dev/mse/mse.c optional mse dev/mse/mse_isa.c optional mse isa +dev/mxge/if_mxge.c optional mxge pci +dev/mxge/mxge_lro.c optional mxge pci +dev/mxge/mxge_eth_z8e.c optional mxge pci +dev/mxge/mxge_ethp_z8e.c optional mxge pci +net/zlib.c optional mxge dev/nve/if_nve.c optional nve pci dev/ppc/ppc.c optional ppc dev/ppc/ppc_puc.c optional ppc puc pci diff --git a/sys/dev/mxge/eth_z8e.dat.gz.uu b/sys/dev/mxge/eth_z8e.dat.gz.uu deleted file mode 100644 index 291ea0f7fad9..000000000000 --- a/sys/dev/mxge/eth_z8e.dat.gz.uu +++ /dev/null @@ -1,1083 +0,0 @@ -/******************************************************************************* - -Copyright (c) 2006, Myricom Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Myricom Inc, nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -$FreeBSD$ -***************************************************************************/ - -begin 644 eth_z8e.dat.gz -M'XL("%364````V5T:%]Z.&4N9&%T`.R]?WA4Q?4_/KO9P"9&LF+$!5$7Q795 -MU%BQY=T'-`IHU$#0TC9"(($$"!`Q0L1`0S8LV`8*)"K0*(&D%5ML4;'%]T/[ -M4%U,M%&3;.P;V]1&77E'FM*H6[*0!79WOJ\S<^_NW9N[0=KW\WR^?S3/,[E[ -M9\Z<.>?,F3-G?MP9QOZ-/_.2NG\G^W_^_O/WG[___/WG[S]___G[?_-WTFQA -M;Z(7'W!;[3[VS[*?/,-#B#;YF-5.3R6PIQ%OKF/6578><8UF%KYYSH&(FS-O -M19`YQC#7,6:M")@9V[:665UE/.BMZ&,=_C[F\O->;^@4JSK%K-[0YZSJ,69O -MJ?R,K1\%?!F,N7?RH(H[8N;,-9;R]K".AA[F:HC/Z[J2V=OQSMTLO;R>1UH< -M(19*G7.@\@5F<8UCYO9B#W-\C6A)R2):-BYCUN<7>\Q\\\(#+Y\-FC><8)9F -M^S36;.]FWOHIS!L(L6W+6%IS8#+S;HPPPNV@U5^2^U.WI=>P4R.M2PY/<1,X&%!(^*NS1!Y#OC8IBV4AU\^]Y^1 -MR^?Z(S^9>Y+_9&Y_^"=S`ZXUS!J^?.ZICC(A*UM'&6059M9UGS/;_,=01Z&/ -MV+JES!Y)65#B#7W`YEFV9- -MO6_Z39/N8C=-93D(-]W';GH0OQYD-SV$QT,:O0#/:7QUA('7`#^7S1Q5)+NT -META_((-`OSO5"OXM`^Y4XK^.>'%<0S"IW:O%VP/E8VGY-N1QU'UJ?IGWHDQ=WGQ!LTQ/3:H0,+-5FBE_(&4Y4\J_ -M'#`CD%ZNXWL?:/53^8#Y&F#,J/<15.?-E=0>+]JK*_,PX*Z'3ID(/T]9Z"?= -M0KXDP';J8%\C.$I'GIL(-V!T_*=9T8XL`MI#ERD)E9\?M0R.5DO&9.ZXT8H=S`6(HW=)#EAG@8X9RSFEWB#>UEXZO9 -M.&]H"]I&#J6],9Z93'BZKJTVF[RA:>Q:9L%S,LM.Y@/>T$3`;63W/,D_*0@S -MV_U/`C'P!V<$[PW5(X\<^WG-LVU(C@1\OCFNYNX3/&R>^XLS+N)E[L\E;W-?H'BPFXS? -MK6&9]@?DFST@Z6OEUKE=8;<#.'DUR1?RK@;N5M(%;T6(\92Y7:"I%_G/GA,T -MY5O/_(!PYP\'GOP!*M>:;^4U^79H4"AW#0\6K&'FW)`IY*W8*&RAMZ(4LF,C -M4<8;/"7?2N7P3?EVX+H,.(J)EK-N9L.[\ZR@*S\[8LW/NX65F;2Z)&0O=.@E -MBK.1WI#.D+X4A*PL4I,/>QM@T$,;E1NNR9_447:0S0SP4$?9#M81V,MFEOE- -M'8$M;$8?]\TOLU2W]WW`.LH"2,MA86O^H;1"%P?\&Z`U,K^LC-WW)/=WE+40 -M#A?BPJ&:?&?(FM]Z=AA#G@:2V[ET4R@IO:(ZN2/P`FLO.2ATM[TO!R'`9IX* -MI<\K82,`]R7I,!]1S7(^B_"9I\[QML(M@-]"LLBFOF3&Y_V('^#M)2^QML*# -M@/.DAS;E.\.;\B=%4O+S(IOR2\(I^8="*?FM?/.\29!=BI!_ZKQOR?J>]TW$ -MC95U,B^;U\PK.;=I7IZWHACU."^;=)]OFE<"^!(%OH+T`S`U"/5\\_S?G:&V -M;)U_B-<4V+T5#:*]>BM>@'R9@]JKMZ*<%:P94XWW:IX"N$T%=M(5GKI@#EH[ -M='5!WKE-"RH04!>4_P5%QQ?D:>T)8Q:8_&0K8\,0AEM5^S+@OF2"C_W23G8) -MOR?A=Y_R>YJ//2/[*-B:LBIVV0EV23",=H[?:?@=RKW^#1ZIV7$(LAX@&\#= -M$V'76=;`0(F5#SC3>&K15?RJJ1_"[TS^ -MA#UUVVHV(3W`K(WN2%[Z>AM#?Y%!O[E[A[_Q-+.0_Q!)07D5Z9RO>8"/3OKLFB[U5P0Q]L@'WR"C_"=)S5)DD2"]5 -MY93`5[)0^PJO1E^XC)$L[*X0_U_(L;HJS*[,77,U]_9QC[?B<]:(]*I*'N&; -MBBS]JWEH-_K.2$H1E='I8]>VR;K(S]Y*?:JUR`)K@,LG;$'&.*LV@<91M"EG&RR@O*;NV'S^=:Q\9"ME><8)<^XJK@Q[G[ -M4LOS:X/H"R^M\+&-"66%_"61T[RW=G54#I_FKHEP^NVM"+-&Q!/?P.-1^4TL -MTR*[](DR'!Q^NN>J$/T>1Z2C'>;UHSV2CPA_(P"?/CC@SH#_,Z9,]:V\H>G4 -M-O,2X,^(X;_L/[S"MEY7H\E3H\M0,IO6R!EV>_;H\A]5WZ5^R3,1UZO+X -M='G\FO=+!]RCHOQ374=0#\!#>@L=)+M,?L`IMJJ2!Z$#V8#/5/&KNB/@I?[T -M2OT9-3L*`W>FQ1%@D&4OZK3/&YC.,*XAF=:33JEEIE=*O:'QBUJF#[I"?8)& -M/WNH+*6,0VH9P-U#^B/&;,"OY,N3& -M[=*:;W>=85>Y(OP8='4']#Z)GN`A*3<(?JU+\FB\ZZW$V#1%P%X*V![`/*G` -MTM.B/(?3$_[*9:"YP4\^D'4Y4]\YWO&^>=JU]_9I?!]!LAN8$PXVEM]#'+BU8V`A?T<*^V(W3J4 -M'4'=U(->\W%F?YSJX!BS%Q(_"";$/^RD0V[##*WNAC7ZN3XR7[+,*5@(8:&D>3'0&NSQU5)J+CB+`Y -MP-5HEGUD!+3N<4=*T!^61#8OS1:_E32B(X+R#?%';=#H9Q4[5A&QSJM7[&\O -M>$TYQD;3NYF;1T]^.>(W'RE7NX#1]0:A&`$0HZN5]RV"A_YBC-M&UT=2()\: -MDM?H4MX_WJS^;OPGC2%'DXSJ$]9'E-8QW]706J.AU7J,C9FMT-H;3^N8V0CH -MX,9,0LA6WK4!_>,8.\K/D'5"<2B#9/%/9HV^BE]%?=0S9+^$/1I3I[-I\)/&[%7;EA5]Q./%$_0W:+_*5&_&ZNH#Q7:/L_LEN!@VN#%LI/ -M\S$R_YA`(ALAYC]JECL[&N"'0\KM#5GH<\\RHNT8NZ)2Z/"*LXQ^>RN_S;R` -MD3;QBH,M%7+^HZ7L).NG.EY)NG[%I\V5?J)KO\_\7:6=7.&C\OMKECOV$`_$ -M;V`2P<#^CSFD\KM-C)FOJ!F"5INT@V.M\7U6,FSGV+'QMG/LA'C;.79R?)]E -M1I\U=I8N3Z$N3YDF3YU2SD9=GNVZ/'LU[^!Q[$&U?OK%/-S8%LV[F>92$->E -MQL$V,_@<`=()!5]`IV.`O](:3\.5]G@:KG1&^TG@1WV]>9Q=)=H3S=>AO>72 -M.W#5`QYRN#)/AZ]$AT_;_]OP7J/AP99D9R;H2R_BF]1X\I=`;Z]+S(%FT5SK -MR&/LRJWD6RDXM?X/4_C2]7]7ZOJ_JYB&KT#Z>O9@>NBAA\GW`E]^\H'@"]A1 -MIHWF=X^7T]B[%WU;445"?4I=GDGM-F!F#N`O5/41O^'_7R%\7KYY21UWY=5# -MCN@_KE9LV/)IU!;1!_=>F\'2Y'S;54T:?0XXUM[)C[&K%]!<*/D4Y$$J[)<0LE`S]%IWI,L;"1#.+;+?6ACD[C?RT*=U&?L"5[>BS&KI -MERT,0A_/'F>.!7B>PW.ZBM-3)7#ZT%]^AW#IXH.H_[/IH>J\P6F.#.Y.>L@@ -M?@)LZED?E$8^XQDAU_CXD.M9]&%F)O)\IS)6'S)]W-CT -M>C9K<%GC)G+W\._XV+A2H2.Q^!Q)`V1A)EF`#^1+5(]J7TAR&'"/@__O*%5] -M<_C@?I*5DG9(EQ;4I!V-2UL7C>]3X\]3%Y#_-4]1GG@>K[$;U\$UF:B#<\9U -M<$V.L=Y<4\R?9D:X*E$OYZA>J!X&R_^:!E7^Y^$A?)Q=.SVF3]<^I -M6!;C)X/G+P?+8OQL51;HC]/YK@)^N;YYW=CX-GL= -MB\D;LD$>S?KGD&'H.KCNGXK\/XBGX[HR8_E?5Y-8_M?M-9;_=8=)_N#)'V^/ -MKSL:XPGE(0]W#[N4WK\J;VH`?E/C<_#OW:9Q_TK^1*%NC/&\(\:RS'$5^0E? -M>PVZTX7?&('E]K,Y;MUWH@VT^,9?MUEKC? -M^/I8\/_)8/W^^D29AVV@/'*]^.LO$(S4XZ]OI732>4V>$N#*B^GZUXL5'%J\ -M6]+]1CK]];T"7T#()V\/E;F:,>`X0W`4?ZU=J]-?/ZK"D8U18-OXKA)&WT&[>EZVF<_8F/73\YOBU=[XBU)90GVA*[Y$+: -M`GR%A&U/;5]?529H#T23\'7@=T\B&778&:V[NXZS&^ZC<;"4U8W).OYZC65U -M`YPUYC*6U0UCC65U`_P?YAK<+F[((;L/&FFMHNL+=L-N8?_["SCTSL#^WQ"S -M_V.H3=P@_"G>#_M?SX937Q#K`S(-^H`;#AOW`3<<->X#;NB3>GRC(UZ/;[3$ -MZOCZWO^C/J`6>/^"?KA:UL>$3?&TW%AA7!\WUJ$^:HWKX\;]QO5Q8POD7CNX -M/F[L_FK]\`1+?#]\8^"K]\,3LHSK8$*><1U,*)-U,&%O?!U,J(G5`63S;]9! -MA.I@-6L\SFY:@"?D?\LE.CJ"QO*_R0;Y-QK+_Z8)B?N*F[(I#7)NC$A_=N1W -M*GTZ?_:F4E56H.D5O(?TL%ME^68OF-0S@'0]TH"^MJ,]>.F'J6O>86G -MZ'7D9MJ/82"'F^U*GCQ!`_2G%D_/6IJ'O%GT?Z"#>X,ATH>\-,`'<@'F[X=\1Z`=()7L=#M]2U6S+C=>WF0$S7;MH>G^<6 -M6WR?-B'X?V0/W@#NSZ0MR/PO79D;C77QE@;P^89Q7=]RR+BN;X'_R][@41W, -M&JY+]QNWUTRK,;Y,AY1AYNQX&69.BLD0]/_?R,A[G-UZL931K?_4T;'/6$:9 -M'LC(:RRCS.[$[343[9]Y!]O,6VVNW6).0+2][X1@2]QJ.MG*6VG\Q]/'LEG> -M^A"MA=D(KJ!2S-.G;R0]O8;T]-8\V;]SEEX1A;6JL#J<&TF?53@Y%U&MLQVW -M[C.NMUL]QO5V:Y>LMV_8XNOM5G^\?D.N%U!WY0YNN!^+;YC;55;%KCK!OB'V -M_M'[B/4FVJ]AYAN6=Z7C=Z.;!VO-O+/6S3N]H9/DIUQZC'UCG:2/!Z4LOE%. -ML`/N;^Q7Y[@2E4?[<0CW4',KP!.`#++5^=\!]VT6=>T+OVU(.S3$>KI576,` -M[&0MG@TR;I:ZEH7?^>?!I=!SVT8=/=O1W\U6<#0-A8/J2>H7U>-MA\XW-T)S -M!L?9Q!=E>YJH\S]N"\JY+]G'S`_I]6VB/3U@I&\3,U5]@\]&>)?JTF=)O9NX -MKS]%ZT=/%&,'/E*V*Z3/TN6KB=?+VX)#S2-*WFZ_2_+V3=VX8.+1\_`6,.;M -M]K1XWKZI&RO=+OK__D%]Z.W35#_+<0WY3[?O$/Y68P$?[S#RMVXOC_I;$EZ. -M!1OA;S7I_=XLUAS2^URW'TQO,*2_3;%W3P^V=[M6+V@=&FQXXF5 -M2\L7.184%2U:M^L:W'9D5UU5,<)1.N:XXE:F0*Q^*6G8QMW2EL45]'DYAK01W/NKT=(WQ^UL4]U]"ZRJ3KB=";FZI9V3+:TS9I -M.G_=SQR+F?D8>^2^%F@KO7M[0\SA8M;C+/=3I)GX'1'$!90U^TG/4IQ8'W5_ -MJ[[A:69MV,F[=X]DEL:G:5UOTA:?^:%*LG5;$.]CCV037I1=`ALT!>./*14(U0BP.5.0?TH#`OS**2T(Z#>G`,\=J(\[()4[ -MD/\.V+0[D/<.Y+D#>>ZH1X#T[MB'@'QW'$;H1("??0?*OS,-P8DP#:$0`67> -MB7QW(L^=R'/G(00/`L;Q=R+?G?!3[D2_G`6ZLT!W%NC.`LU9D$@6RLP"C5G( -MEX4\6NT#CW1#?W>#Q;N2[&_GN!I]WPU^_&[*Y&^./NT'CW:!K*N"F@J:IP#L5 -M,IP*?J8"9BKHF@J>IH*VJ1C+305M4PD>N*>AQ4\#_#3@FP:X:9#7-.";!KJG -M@89I@)D.O--1_G24/QWE3T?YTP$_';BGH_SI@)\.?/<`[AZ4?P_PW8/R[T'Y -M]P#F'N"]!^7?@_+O`?Y[()][D.<>\'D/RKD';-"5C7%#-NH^&_60#;ALZ$DV -M>,U&.=F`S499V:B_;/"4#9[N0Y[[4._WH:S[0.=]R',?Y'_?003`W0>]NB_` -MV/V@ZW[`W@^^[@=]]Z.<^U'?]R//_:#I?M!S/^KL?N2Y'[0\`+UX`'`/3$:` -M3CT`.3P`V`?`QP/@XP'D>0"R>`!R>`!\/`#Z'D#>!U#7M"25`WW,0?X6`KQS@R0&>'.#(0?X+O+F@K95>#/!TW='!"_BKA!Q?B7. -M-#C.&86C9_^NDB3"H>97WOUJ7GKWP2;))[T[D6_R4>7ID\])=<2#RQ>EW8*R -M>NF=?BOET?=1?EV<:7"<4WQ'I8.3?!;RWBKPCG=+9)>D7Y53@C13XC0GTY8A -M^-;03/1JXOV:>(U13X:/"2/.PXKST[E -M>2!>/DY+K"RG7G^T<:;!<5KY./7ZH_#I--(?HS13XC15/DZ]_H@X8_DX=?J3 -M98G)QZG1GSN[E:=?>78J\E';_3"E+&KCPW3RT<:9!L=%Y:.%4^435/1@F(%\ -MC-),B=.$?*)E:.0CX@SDH\9KY'/7>$4^&CPDCZR0?-YE4][]JOTA6C1V8UC4 -M;OAD^U?M7&272//KTDR)TYS:?$%=/K.:5J78$))QE:2;ZMP'T="AX5>USXEXCFCKP8!O;;H//I1JUV+XI9TG_$@?+]_OSE*>-K7]*O#) -M.EK\2EG)!O+7INGEKTD;)']M/KW\_1JY)2>0OQ&,7OX&,''RC_)K(/\XG@WD -M'\=WO/RG=JMV(89?*_^I>^7[5(_RK(N7OU.O_TI93B/]UZ8ED+_32/^U^8:0 -MOS.1_AO!#"%_IY'^1_E-+']G(OV/XSM>_M/SX^7OU.G_=$7_IROZ/]VF^G"A -M*TJ&4_GTU-I/S;LI_EWZ4N=&EQ?&G3?!B':7U#57^4-$6N]RKRO+=:;;^J -M[=24'>=O:<[V<@3WVZ7IZZ]#AY^K6VT8@G`WE&^8J7 -MYWTVK2\9+\]L91R2'52>G3%Y.O7Z&>>?Q9?K--)/)=Y(GDXC_8SS%1/+TYE( -M/W7I>GDZC?0SRI.Q/)T&^GE_H=;WC)?G_9GR_?YLY>F(V3?G,&E+G,/B[5OT -MW13_KMJW:+K&OCF'&=NWN'B3<3S9-Z?6IOFG?G!I_\H$* -MY5FC/,L&VS?G,&/[)N(-[)L^WJF%-[!OSF%#VS?GL*'M6Z)T3;F#[-M@GG1I -M">P;R2ZGR=B^B;0R^9ZCR#.G<+!]BY:MLV_1;)0)X&]HUD-L-O;-]$FN+GS>A2GG*\#/YHSDC;#C7OIOAW -MV0XUZ=%V2'%&[5`7;S*.=S(5I]H.E?2X=JC$:=IAKH.>L;S$5RY3GF)<=XQ- -MRJ/Y^'YS.F\NF.M"%$!AP/VB-KCT@?2O2 -MS$RN+F#/9M@BS;!S%>S?2-Z3?!^L\;&= -M$^6W78]DTYE%Q]BL3CI#@%OGM+K.L#3Z!MQ3]2'Q/04R]8OS!,[\_^,\`9(S -MR@H`\#[1[HGP=ZYD$#YP'_/."N<7(H"&^4B?C_+GH_SYP#O_(`)@YZ/L@@P$\%<`G@H`5P`\!9!; -M`!UB+D*T*^(M!1!-Z*0$<1]*((=!3U,E8,N&+(IAAXBT%G,>19#)AB -M\%\,_HM!5_$!!-1S,>`7`?C_,4H?S'*7PSXQ<"]&.4O!OQBX%L"N"4H?PGP+4'Y2U#^$L`L`=XE*'\) -MRE^R#P$\+H%N+D$92X*,E0!W"?"6`&\)9%@">90@3PGRE(">$LBE!/56@GPE -MR%<"NI9"CDM1UM(L!)2UM`8!<$M!RU+@70:ZEX&>98!9!OU:AOI9AGI<-@L! -M="T#_#+@7H9Z6@;XY<"W''#+0?MRX%L.NI>#AN6`60Z\RU'^]^@)&I:#AN64 -M![27HHQ2)P+RE4+G2J'SIO&@=:F";>KXDW&<<[ -MM?!!#7R\;&;#%R:9%<`7AMSTLC9(-PV=[AS$3YSL=#S%R5#'5[PLO]\G8*(X -MM3+]_F'Y_OVCRG,_R16P5"?)NK)%G($\U7B]/)7X0?)4X?7R]"OR2$X@3WVZ -M7IZZ]#AYBC(-Y!GER4">4;[BY?GP9$6>"DZM/!].D^\/CY?/O%!,GDZ]?HHX -M8WDZC?13B3>2I]-(/Q5Y.!/IISX]@3R=1OHIRC26IS.1?D;YBI?GG"TQ>3IU -M^CDG7[[/*5>>.8H\R?X,TY4MX@SDJ<;KY:G$#Y*G"J^79U#1KV$)Y*E/U\M3 -MEQXG3U&F@3RC/!G(,\I7O#SG=BOR5'!JY3EWOWR?VZ(\&Q1Y"OX4^S%,QW=O -MU5%IIXCGR"=QZ7Y=NFGH=*<^?U"7WZQ-KU)L'M5+U=$H?>9(03P=58K],X`S -M?34X'5T:>9`LOXI,]'V:D5SBZVG>--4NQ\IRFK5E`49I#_,4>Y+?I]H3)4^R -M`6U^I=SD!/6E33>J+TVZ87UI\QO5EU\CW^0AZLL(SJB^#.`&U5=4'@GJ:Y!, -M#.IKD%SBZVM^0+53L;+T]37_H*RG^4I_.K\AOKZ<1NU+*=>9J'UITX>H+V>B -M]J7-?Y[Z<@[5OHS@SE-?SD3M*RJ/H>O+.53[&B27^/HJW!M?7TZ#]E58+.NI -M<*/R%/W+V4]HGCI&#[WK[;T29QH<%^]3*W"QOH1DKHD?U%_%IYD2I\7*H3B] -MGZW2K)>;2G>\K!9FTE/BT?87"ZWR?>%8^5R@^C/"EU1Q4+Y$_JF29NB?#DYS -MZO/%^=]Q:0E\_6^?+S\BP](N1>W*<\&K3]O3(LSD?X/\G\'IR62OS.1_@_R\1/+ -MUCF4_@_R]0?+WYE(_^-X-I:_,X'^+RXYI_/]X^6_6-'_Q8K^+QXK[;,SKK^@ -M]\'V6<29!L?I[;.`,[#/,M[8/D?3#.RSFJ:US\YXWUY#\V#[+.F.M\]+.J5] -M=NK\^27[Y/L291R_I,'8/CN');;/(BV!?=:G.?7Y$MAGI)W7/@N8\]CG1#`Z -M.@SMLS'/,?TSYEN;[F-+K8GM,Z67=$JYE_0IS\/&]CE*BX%]CM)A8)_U:8;R -M-[#/4?D/89^CLAW"/B>"&21_`_MLS+.!_!/89Y+OLIK$]EFDSY)R7U:J/"<+ -M^8-WFA/5VP0ESC0X+MXF*'"#;((:;V03-&F#;$(L+58.Q>EM@DJSWB:H=,?; -MA.4]])1XM#9AN6(+E@O=/,9FU='Z(:T]1=F5[`43=I/J1PU7WHE,VO2?D]I-WW!3/A=HJ?G7Z-EQ26):5EQ4V):5MPG -M:.EC)L<*=LD7[!%Q9J;?N(S'*6W`S2P#&Z*XM.7LT.;5E?/J$'C;SX/W\\1X -M'TVA=5C(*CUBCL'<'&+)$N8$P0C^^8:YG[K&B6\TQ?FKVY#N#?4P6A.>MH:Q -MFP-Q>1;H:1H14FD2Z>NU-"'-K$G;':O?1QV)ZI?6F[WTA=4XQIHMC-94^[9' -MOUM^%/K_2)[FG$.ZG^;JCD"`T1T%=,XB^+B\ZA0;2>>\TEG,!>%99GD725FF -MFC?1]]%4KE*F_QFQMEY6K.8AW'2N9`3Z)\Y)#O71&O7EKC54%I53R)1RZI&G -M9XARAN"O[.B%\\<4_AZSG8>_(!C97LU -MYYFBS:P\X&./;8^=!TK?JJ[\K*!)G*L@[H'2P,(F/S96[JE8J9SSL[)UVKKX -M<\82G4N,-MU+Y\GZ-RTIS@WQ".P?^HY5T/_RH^*_4DWC$1P&G[#KN)+65)<$$X3N.39W*OV1N\T -MD#29O*';F4*/1\6ME[.>KX6//EI>L'(1/9S7/7Y]JJXNTJCNN7F5C_:F/#-2 -M/9N@W*'NBZ&S)*'/=Y(N4YTC;?*1RG5B3\:G5F9.9(OH;(?^E*>H7DQ\T\X\ -MY"OWL56!Q.=0%K'PYN5UCC&,SJ$W_V9M%]V'9*K";[*K]!MT<*+C]9-=YN.L -MO)5O*H(?4.Y)2(/FC`DZ)Z"'@82$YXXLRY;W&3Q^>PN=HS6&_>@8>_Q6BYW9 -M\?L7^"W.CJ:T.)E?^7F3)8F;.>+K[B1(:O@P"TL?D6:] -M^JJQ]COOF#S)5559P2.A8#K7WB%1U_3=ZZOE>1F;ZIJ,:-WJYF5TOG$D=4>G -MZW%F?N6LSSPB@/YV-3/3/3.@]<@;B`/_%;QF1Z?\?G^U*;)Y1V<,OX41_E6C -MF7GOF%ZS_/Y[]6CB\0#>$]0IG2'("$^C.U+C.L/,RIUEYB_8ZBD'JHSST;G` -M_:E+H`.K*WSL^@/JFVUAE -M?'Y@NLFS-;UBGCERFD^B>S/X:3Z18/&>2>]X3J!G^GK/[O30/(9VF$=M#_&S -M&T\S>I^EO.FC=_Q4]O3IZ@AIZ6'I%UE>AQY8>ROJWZ"%:*&[` -M75$13T]%M/ZU=4BWSCF6KG(\7I8:9ZL`?\C'PIGB?&^Z]X#HK2G*I+,BU5\IGHKD$ZSZR@`LT6^7@2V=G,SZJ91M:LWO$^MMN&Q&X[;8]HN]?DPVX?T2?F'U6;J#P4/E=N`]%ZV?]@FBS"XJ!VVZ6IX+LD:$C0CCZ!BS[!S\C7(-KGD[\._S*"/@)MNY!]Q;,Y(JE% -M^T>LM[$]YDC>B("I>H\[DE>GWIV`--H;V(BT])"INE&35NN.^&K-D2#LLXWL -M,OD%C<)W6%NHRD7P)>37`[[6"A_WI-L"NUVQ[YH,85/`MXE)OM>*,\&I;=,] -M9>#E:E<%Y$CR"X;8B`#W>QED6#Y037LJ.Q`WLXQ'Z+[#",D09:.?+2RK(C]Y -M[7BB7:GG--*'J&YL7C0AW01^:=]C!7@R:W@R1WS;W.#)#)Y0-T0?[>M$WS=* -MW,$C^LGN5-BV.J)9 -MI=6HON09282OTH)\A:"G,P$]_QQ:WC]XB_(3+=`E:WH('2SD!!IJC,H=86HR -M[3$;IW%JCU72=T%;XFB/G.S(@+NR5&UW(]8[DJB?V@,>C7"DF^KHC*RI:$>& -MZ:AS!]]PXS60CV.$B=WI3[HQ=419R$+]-NBJ.,ZJKJ1^1=X/4-GC8T].%OY7 -M2I%#^F25L'\_+H_Y:.NL/O:WD+0)5SS'-R^9''&G<\?:='Z-QACNPCNDYO&+/O1S/&Q=EJBZ#17359GO%25:;21;3@O1IR:4I\IM>8NV>ZR!]Q -MC::Q.+\"=L\]7)X=&!;W9*;#-_?#-IPBWP/U?JJC/BC/K5E-Y]94?4KTWQRH -M9C>OI#.$J_8VE],^.I==X-N59X;.C`?^RY),G[(DN^6Q`;*%FTPK%RT6./+UI5OG3%$I%Z]X*B -MY73X3D[F!`=)I^"AZ5._5S`U][LS9\LC>+0RLO&:)?ET+]`QYMXB[VQQ-<3O -M>78=0&B#U+-!B1-ABT+O-M#;HM+K0[QJ%V#[1IQ@KE/I)@?ZQIVST):JR9;( -M>WS63X$OCCZE&K*H$O?)RKLVJX6=('BZV^<8JW:B_^Y-7^^@L]IJZ+Q,]G\@M!F&D=;"$:.@ZKS->.@5+R71GT\V&QY]T]UM7I>&NS&OFT1 -M^`FK^?[:E8SN*KJ"[@Y#W?ZOO'-B2:&V_-PP'X[RFI2R6M6RI+ZYQL..F4GG -MD`_^3W6OJGH=57\)&,N(GJ -M^$65-V0+_\4EYK>(+SG^7)^OY:U6^E+[:^'_8+Q\!?CJC=0L*:1[Z:CO]JRF -M,P+=6\6];X`9+%\KW>F8A/[-VG.H*`">K*&61JKU/&M>V/4'S-#]J#1 -MR!:,6&]6SJ9R?]HREHG^^!ESI.09-P*>Y'/$^FX>E#RZ?2TH$_U,,-%\CAB3 -M"%WCK'F%7T3TDN>$[.=W=6M7'>^!'^LE7 -M(?C&DT+?NL@7IKD2HL%;,5WQ6S8$55HVXMU(-G48UPVXV;"!#.PO")C&70;(C'L*K>0_\ -M`C/%YZ[APXE.Z$,6R:WV!.F+A^ZM3:+ZI+L]&T]0.]RX3^U?%5L41!UU*VVJ -M2_@::SR,=(KT'OG2Y3ACHV^H>\WZ4^KB[JB:NJ`,G=C2Q8L7K5SE6%`N#DUS -M/EI:/(5^7/]MQXI%3Q0L+88!G^!`K/RIL^43R'>GN1/'&+*SFZZC\0']/L9^ -MF(DG^J`?CI.V._G4@/O):M5VX_<6'TO-$GHP;!+:U),-ZAV1O*;`JK9K^B8( -M_&5%-A79/2OH+JI-Z_BF`BM/G7,`LD^COKG\+>Z7\ -M=.]4#WNR!;Z5S<Z(5OP/U#VY%*>:=Y+:V%(![]OD_V -M"47CJ?_`>S5\C/'*_%L2\)<1/T@GWNE<19/BLTZ(8.P!FY-'=H>G%-GXZ<^; -M4&=6Z(9_Q'H?W2.403HQ(G`UATV\N"!D8^K]?Z07LMW\,#K_%:'\IUD:VG9U -M#_NA6.N@-D@R.0O^(8-#*..`8P6[&'+^E&1`?L^+ -M,[I#MY.\H:V+NA -M[;#U=%]03=][%=L9?/\4_'[)\3TJZT=U[QW](WO/\T?FF"/>F]KRWF5M6>\R -M5X^P,6:T>Y11`UQ-#+*T1?KMJ>#?0N/>C@#ZD16_(QK'[3G)K)X5;XK?8FP' -M?KW%7336#'E[NQCUJ;!CD5JB,2SIAKPL:GZT)27_CWHH_VZ2!VAJGRUETM8% -MF7Y/D4^>5CX_RB+YT-U1D=6?-X&V+,@@HI9!]:^,":RPI6F>%2=()]>GS[)8 -M(Z>_.%![BEFHWH3-$.E"YC529Y\4]AUU5(-R':B?)GI*_!>YYF:7M&,AOU^<^)>[K9I99WG7J5'3;"9C)/I9V2)F#\*MZCC9E\Y->BSD3'\9RZ9SNJX[= -MV;JI7-5GE1]JAX;K=*MY&WQ4M@TV,`WCX+2>=+H#-JTCT(:Z#K,])X0/:YH9 -M\*?#YG:2C#7QYEJE+T+\V-PU1(?LGRB-[@C(7>.GNV1"T3S]>4E$(^`SHK#] -M>1:Z3YS*U<0EYU8@+]6I$C?@WIPS]!V2.PYYJN9`7WYLH_8:MA8U.);1'8Z; -M-Y$,PFA#X92BAEMZF:D*>BGO7MW\HA=MS!7A&`=M;B"]2.^C^="B)C'_F/K4 -M`6^PE[55?\C:0M[JPR?]%CD/:2&\OZ^7"MZ2H?"2S]D& -M&RUY>K0I#-SAU$=]L*\NUQDV[#C;\AK*:>H(=8HYJCT1]#-?VIDRY^KZ@OWX -M68Q1;?#=:/SN(AM&?E]5F`WSEI.=W7$(.%Y\*TCS>FB3W&[^_6D?(Q\'[5CF_.4-?&`M*5;?N]/65[-Y5JJ*;(Z?*#VG\PBY;)E=T?? -M@(?7+*^F-3&EC'24\0C?M!Q]XY;#LH[$;[(!IM`YVE/PXU##61J?_G@?=U_M -MZ;H$$ODS&"59[UUDW,Y]#WW76 -MC/'8KKRT;6-8)M+&G&!;KPN960:"S7]%20KP9M%XO?TD^>M;GQ3^YG-L?`3X -M:)Z@=@P;3W,$B',6A&U,.T^P80R;$%_NUC2Y+E6;1<\G_.RJLCOH;MEM=+<3 -MQWC7+->XMOX]O5[JWXCUU8STCN:LE+D(C/W3.4]=,H&?61CG2$OO2XRGG$L^PDVMJVASTK][/%8>)-QKR.9OA7RD[:^=X`UVL7:T\YEE/$QX`/.JX'>7W5$0KA8R)'JC -M\T,*']Z3`E^+%QRH/*FREOI5:_*LW,NH?@@>L'YO'V`_CZ\7@@'L..#]%LU_ -M4IJL8X]E#$9I/ -M'`-YG[,SJ7^\#GC'*3Y==BW4OP3X?Q@1AM -M%S8?55?\H.GVPW=3Z>(NUN09#N -M[R;>ZYK('R:>!]Q/H?X>WR_[8HD[T;IXE#?P)'@#CX(WY>[)X^PI<6[]A?'S -M5+:4[0Z/9PSA>.8202/J!/;A\A/LJ4X^[(=-%XBS0<'IVT%W6"IWUAYG3Y^! -M3?>)L2#*@WYH[-#3U517-^]G65(/GWY\C[QO%&/%I\?#]O;*<8BZ9F@2:X9: -M&WMA-#Z=)=<4:@OQ.X/&I$3O$R'5_CV=H=C^^7\$_BGGMC9/8*+^^[D]]=H&TL=GLK4RR@U% -M7-+^/#V1BW;^],3S^Q3/[%;]$2EC&W1S>XN0<\W<5CK+H:J*?WJ<;9\7VKQ\ -M5M@ZMQ<^R%7HRYD8IY1C3!W`&"3,+N9_FJ]O[$MD%FH,B?.!M -MY`FVX_WX^G.(-B+;UXYZFK>XL')W%(OQK9O77&"^!I4._,Y+1/N%RV%'(!&N -MK3O%>2"N;3OA+Z(/:K;3/3RPR7L#;-5NZ-3G[&)O:`9K;LAD&)>F\7[GR&>@ -M.['Z3^(=`>19Y;35[E1]PYV_KX0>8MQ.OP]/<_#0=G.DI,$=*8'=\*'_*U'/ -M,1%]:@4SAS$6WKJ238!N9J;[I8\@^X&==/>W33G;Q*:<;3(1^FN1Z3^Y,@P? -M6>!=R<8WG(1=0_]:\)GT!6C<,:,OG8?_X62[3\3./O&OL<23T911CVY]F%KJ3K:5)KM(OONI -M"^PS?[(_H0\,G*0'_QK>>LL0_:4E4B-]_L@PC$7\`QXYOUU?[=T8T?CY]0LH -MC>*\J/\L4>_U^\CW5\9/;SBB<;(?)UO>*/>,C1APUWM4FT[]FKR_O?ZHSU2S -M?X@];C;EOGFSG*=_UJ+:>,)!\]^KUK"QWQE-\^V,[FWOE?W.LQ-BZ.J*,I[Q]?Y.RK6!)MVQG]C>J?)8199#O2I:.\G]/Z=0F/3?3G--S -MH[W4=YW+2YM)8U[ABSYGO0GY$#?R]2^"EMJU;`+==PT:A-WS7[Y\X-H,9K]V -M.W,.N)_+])E^E";F/*C\S3O9+4A[Y:PO6=;3<^UX=VK>ERKK49T^]EQ;XQ>B -M?^ZD>8E(35U-;-WEN7:%EO;F,L;$N52CZ%RJYV##ZGUB70/O0J?(W_LAC4'^ -MYJ%SJFCNHJ""94D?MJX)_5%UC/_G_HOFM`QM]W/2!^2;:EOQV\(WU1?B:44[ -MJ,.5KQ;>E6N!(=\%H*+`(?T -M"0`/'"I\M`[H3#,:+P%N*^A1][T-N!OV'BF1<]*4-X"\J`.T\X;#ZMWU*E\; -MP`^E[1%^:T.WCV76*+H3H'RU)ZE^4=9*\(ER\&Z3>KKKMW*LTS!!SL=)VJCO -MB:,O1:,C8PC'\@JI([6="J\9DM>Z:L(I^6VH3]26J\;!SVH`%W+<-=D[-L"\ -M#1$6V5SGR:KBGN-L]_L=P=X+]!MVR_[_;#7S5GZ#4?_V!6LT>?WB?BW\WB/V -MO-.:&?6A&..6J&/WPI?C.@-W>LAFB,U -MM?N(!Q?M8PH->*A-.E;3G-V>'=!W'ME4N^_">-@CYB1<(?Z%/Z5V'_ENM57) -MUJD-W-.?6N<9<.\Y=*1"ZL0%XCVD\KY'X1UQ8J[CEGHQST#O_L3]95T3]9?H -ME\Y(631FJ?W2A='1F/45RCBGE+'W7RQC[U!ER#6\ILP+'[LUAH2NU-3MDS;[ -MIR^$W,QRKF9'J[@#ULRJO=TA%K(^6M<6Q+A_];NLAS6)?J`M(,9-P7.I3]G. -MNAMI#YGPYW:98WK6$7B7>?-;F3?4BG:W(PB[U!J!37+U\+"01QE\PH74?^PX -M=+P48YX^9<+-9=`Y>1UF0UJ3&TMI->%6>([+MIC]A1_#X-WP:^XJ[5\!-/ -M,^F,Q_*NY(#5EK6\_5U!="?O4^UM0$&8XU -MJE]U77R[1JY'QLN^!;AZ]7J1O6!%\:.+%W_;<=^*HD5\"5\OY%.('[R9Z2KS/BWU9M(]0@9FL -MO/N]E@B-5Y/EW://'Z%XN0_KIR'RYP?W2'D^W^9C^^0ZO-LEYL-HKG][%?6K14H_ -M]\)HL5:[^G.:NZEN/$MU6I2A^)+T;HV<_ERLHY),R8_RK/R0-9YBEAZVUT9S -MRK']\7L7$7Z^>&(G/YBDIH/)?`1KAHRK;/D<>BS* -ME.^SN+6^,'PZ?`"_9Y/,\,P3;6W]V\>00_)O1PV0/AW>W>C -M-[-$Z-N)DV+?00_M'Q#?3YR4>PYH+X'<^]"GK%/M#6CGCZ0=?.&_Y%[!%VSJ -M]Q0^]L(DDFN2/74SXIVQ/5;/^TE^T.,#WC+"]\(T=5S0;ZVK[Z^IJPM8=V8% -M:FK13[U0B/;6,M0=D+1_G_;N1U*+)M+^_>:`T&4SZNJ(LI<_Z0OVPKK86E58 -MF6-YH5?Z%R_TBCF6S75ESZ\-F@^L]9GWB+VW+\#_^=4$=4\0X!H(E^'=R-'Q -MP<]E7[]A3&&$;'GJHTUB/;[L)*W_#9-C%0DSX/[Y9%7?Y'>4/\_Q,5?9A>OO -MSW.&FE^15WU?@]UW*[S'X?;WR^U+\OD3YG7&"_>*,\OLJ_/Y4^3T*O]]1?H_& -M[U>5M0CKU_ZB1,KZ%_N@;W:I?]$X^+_UT]0Y1\074CF(/XJZ+M7$ -MSU+@^]!W]VCBI\GX?1C_OA#0Q$]2XL?ZV#-EFO@)2OQ$=8U/B7*MJ6\7WN95T=NV^&A][*B,&\_.0DI?62"9KXOU*/,8_O1,U -M\3V)=&A\&BLTBC?5&\=3/[<=8W.QAT?L9?OEQ?1]7_IN?LQ1Q?DQ]F)`V>]B -MH3T.M,^TA[WX$<6)OH7VGJZEO:'(&=I73RX6G>@N!IO5L+ZV._3),V -M[*+<`?>+?3$;]N(T)7[F@/N7%DU\9F*?<4XKM\X)GCO-`Z'3/+CM8]"]F)%= -MN"I<,]=*^QGIC.+0:NYWK6$6Q%\T$V.(F64#?.M"VIMRBG64A9FKC[Z+3.?T -MK0)\L+2.L@#;LYC2/V(S2ORLO23,]@#W[H7J?HE?QKY_`PU4GBM"\^"__(!H -MI;N!,78OX6]2GUI+=Z$[P+4_HWW" -MOW+`QI2@_RXQRK\.8_<0V>TO/&9ID_:G1W[0#)A?;1U13M\OU96A#S3_9D70_/H*CSDD;/G^-#'>)+^5?-6N,.W= -M3./6H@SXE-;P$R4CS_677+0;X]?P*F?&,Z?9)/7<@`].YUQ7+1)CPN3VDA#S5GS(JE92'>U?0'T8[34"O.T$ -MV_]8>I"9$4R>9>0_[G^2]F&#[U;::^U9>3?%_=3UF5AOM,H]W/LKZ1VZ]3>> -MNGC_RV>#R7+GQ(/7+W>\CL]\GN-EU]M+R>_ -M-C\;/I!9[)O>),IK)1^IH^).#[?.[Q(Z54Y[(3^#O>B1Y6V:WRKY?_EBXH%; -M"^ST?8RW0:Q_^F@_3N1T'?.L%/2E\)0"^FZ1?K_(Y%X%E%7@E/,8!9/DG$]! -M]H8QS-:?4I`GY?+R@XYES$ST2=F^W.;Z.]ZAZS1/)CR$W@O -M"&>A+E_*IC/)@>,IX##AN4;RK\))7)"+D_`I9:`-OGR=$E\HX47\E9KX/,(' -M_+W]JYT]QTC+TR0_&K[E;+$3B!#WDW -MJN6574,^PX'+Z!N@6J6_D#[7*V^I\Z@TYZS@30/>ZPG6QP[8Z9LAY(=/\\H+ -M/%7NCY:Z]DJGR`NZ"LZ(-?=J(_[C\QRP:+]#,H(WW$\;W?M^("^ZE[IF2;&T -MC0?V1T[S??PT/TA[,OEJ?@CC.>8ZQ<;0MW%59?R$&+-;B_+1]@NK3K'4*OK. -M"[:#QGP\!?&;B@H)!^VM>T -M[QXTH)TFG6"OCA(R]FD5K%`C0X5=O -M572RQ,=>A3[`@.(W/>D=.F@#S`+`Y;NW:%\M^X8<+^Z75W3 -M0+WZB';P5LQ3E]0-D&PQAO6&>ND[GV+`>M`NNK3?&""/1Y2_*=^PSZ+U#_)K -M:+_9YS9:&VY.32)[DNP-HQDEEWROH9` -M`]K"*CL/#KA_?<#'?I(M]INF\!']-3Y''QW[M1[YTT)F&WS5$*_&) -M?@O^TZ^W-.\U_OZ86^=6A-QBO:,$^O8YY'FI-\B8%SC;]YQE[?9^UH'?M!?* -ML^Q_68^#&?:_$?A>\$^LA`MMI;?J,6;WHL?K@$?LA?=+.-HCO:R]@GS3^I*. -M/1^R#OO_B'*H'_6L[!\"]UP[<#L5W'W`G9$8=^V!"\-](737-ET(;IJ[\-KI -MFP$?JQK-+L;XWT][R>5^G-=&D_\HYJHW%=G$7O,O&(OM,?^,T7K4@/LU2\R_ -MC,[1V7SL-:?<>Z'.G1S\B'`EH*-![M]Y;8$Z3NU/*6I0<#GTZT3J3>V+*LK5 -M>]W+'=>5I;*'%A4M6KIZ4;%C]N,K5]STZ.+%CAF+5JU:L&11*IN]H&+?_&/"U'S,+^NI+3K"_7DEG(Z%M=J'=/'$,,*Y/:7WK -MOTOCU[<.(>^?_3(0GC^'9*#?VO!7FPSZ^'\WJ.7_RSCZSA.^0OE'<_[?\O]O -MX0@,%4B'X&]T;SO-K-"?@UO.0B=/B>\K>ER/L[$8/YBISRVOX#U5IZD//_H6 -M].\0?)YN^`9I6R/,U@%=F=''0S0_1GLVO7AO6QUD[_G_2>O#G@YXB>W=0M=: -MT@I9!OJ)P]S]^&QN?GP:XHZ^$LE*?F5M9S+9[V/LT"E%9V?(;SJ."G\,=!Z% -M+XL^X^BK:./HNX^N5\;8]'N*XC<=HGN.FE%3S:6,08^30>=1ZLM>69N53&M3 -M'1C/HX_:`KHV[AG%J]&.]H&?O>!]_X#[M\7H7\2>9+05#VC;AWYKRXQY[.JM -M@-\&^+82#WWSU21I_..3X.4`W<,D_>SW/U?H:),^S?M'J?\B&JB/QKL8S^P> -MQ6M4&E%FEX\=%/W>5L1+O.^OC[A?*R790";F8^S]/)JK0#F'Y3CK=Q?3=[*@ -M^3#*.@S\A[:BWC;(N75^C+V>);]-_=VD^+;\>A8"=.+U/`18[=?+$&#A7X?? -M^#IZQ=1U^Z.L^!(P:7@>EKZ,7?`,HWK`BP#*^X428C#`+`7C>@)_Z -M!GR[-Y#_C58$Y'T#>&#Y/0X$Y/-,1,A&@/7QH'S/1H0FA,,(70@H -MDZ;JCR#/$>0YDHDP"0&T'T&^([,12A!`]Q'0?01T'T%!1Z!A1U#FFZ#Q3>1[ -M$WG>1)XW0>.;X/=-:.&;R/ -M9N2A70ZT6Z49/#8C7S/R-8//YJ,(D$U+&@)H;`%=+8!K`4TMP-L"&;:`GQ:" -M`5TT+'@+M+T%+^XMT/86X-\"[K>V(`#^+>"C7?]O0UYO`]_;H/MMT/`V8-X& -MWK=1_MLH_VV4_S;*?QOP;P/W'U#^'P#_!^#[`^#^@/+_`'Q_0/E_0/E_(!C@ -M1;6P5I3?"ORMD$\K\K2"SU:4TPJYM`)_*SS-5LBS%?A;,19N11FMD$TKZJ05 -M>%J!YQW@>`?YWP$/[R#O.\C[#NAZ9Q\""GD']?`.X-Z%GKP+7M]%.>\"]EV4 -M]2[J[UWP]"YX>A=YWD6]OXNRW@6=[R+/>Y#_>Q,0`/<>].H]M)#W0-=[@'T/ -M?+T'^MY#.>^AOM]#GO=`4QOH:4.=M2%/&VAIJY0><]M!!.A4&^1`7T"U@8\V -M\-&&/'347#ODT`X^VD%?._*VDY6"_-JAC^W(W[X?`3C:458[^&H'GG;@:0>. -M#N2GG2(=R-N!O!THMP,T=H"V#I39T46S9`C0*2_*(<_'B[*\H-,+67@A-R_R -M>,$;[3CS0@9>Y"%OLQ/UV0FX3OBYG6BKG:"K$["=U%;1YCI!8R?*ZD2^3I37 -MB;R=H*T3=-&VQO>1_WV4]3[:V?N`?Q_TO8_R7I_TS`E&>^+H7C14ZE_%GD6Z -MM\X'N\#_(>_14WZ;8K_E_7E*O+PO?2P/$KR(6R[B_$J<:7"<,PI'S_Y_R+OR -MU/S*NU_-2^]X%BM/O--YD:_G*,\\Y9E%O+CZHK1;Q)U^?0*O12E/WN<7'V<: -M'*?<"Q\/)_DL5>Z47%YBB?Q#TJ_**4&:*7&:DVG+$'QK:"9Z-?%^3;Q&+F], -M%NEQ>$@>;V0H3Z?RM"KR4>LS62F+Y)RLDX\VSC0X+BH?+9PJ'[_"9[*!?(S2 -M3(G3A'RB96CD(^(,Y*/&:^3CR5?DH\%#\O!,5)[9RM,9+Q^G)5:64Z\_VCC3 -MX#BM?)QZ_5'X=!KICU&:*7&:*A^G7G]$G+%\G#K].5(9DX]3HS]'9BO/$N69 -MKH-\;SZD/&O4]JO`)^MH\2ME)1O(7YNFE[\F -M;9#\M?GT\O=KY):<0/Y&,'KY&\#$R3_*KX'\XW@VD'\^#XTW&\4ZFXE1]/"4]SL]3XC0VMS63GK&\Q%^K37DZ -ME*>J;U&_1_!MX#\I\8/\I\'Q3BU\4`-OULI5[\NI_"CI@WP]E;?$Z9IRE3)5 -M73+B29<6QY0;5]JO:3DW9<;Y?@;RU*?KY:E+CY.G7VL;C7@RD&>4KWAYOENC]27CY?FN,@YYMTQY -M9L?DZ=3K9YQ_%E^NTT@_E7@C>3J-]#/.5TPL3V[^V3[^]YE&=]S+[)^^SI&6_?HN^F^'?5OD73-?;-.6;)IH_%WO(K70>T1YQ[N#[]>H>30^S:PDDY;"++8*^M9<0?7^/V7J-[X^]L=\R"9- -MJ=\F6;?_4Z>O6U4F)`^2"V!0_[\)*-^U*?(X>B7MNR%9*#+HT:QO"1FH]4[K -M.E0FZK`3Y1ZF.J3O%NB\1UI5&'`?S?"Q;_7I]*N3\A3G4[T=G:BG45U3`AWB -M.Q^EGD<"MC"F>[*.J:[*5M.^+KD&!UT5WU_%UK-^>['<_QY=7_:4S9?PM"X' -M>)M8HY/K>#FT-H4XB\)?-^!;Z"P9.@OOHFZYIV07VF`C\/C8H9:.2L8B/Q3G -M9[82/.`L_`=Y%ST18BEE=_#_/5^#Y%.`C"GPFWM<@_C;E"1H_*,-S%NCJ0AN][;CD8Q;2%RAUU";7^3YX -M@?;L=S(I[)2+]+*:,Y7G-,`'E'52R.$# -M<0\'VDV6W"?QIV[:?P.\MP-GTH#[3\7J7DC:DW_._=J3NX2-^U-E]#N9FB7Y -M::8LEE;(+FLP\SH%C\>L[.&G/7@1X*(S4".;Z"S!';WRF].=LX@7VF>AG(<[ -M"WB/QO;\_$E\>YEDMXU`O&;_\Y]F$WW*/H6)Q]B?,_#\1@_QMY!EJOQM(WFN -MICJ0=K6'?=!%\KHEP%:2CAXC^8ESY3[HIG1%!U!/'_R4XJD=H)V7D=XK95'= -M5$B]E_JMU"7TY@-Q5H$:KY1].^*SM/`*'M3]!Y-(_WRQ=D)U3W@RJ5YT^*$C -M'SA)?]5XA;92Q6YT1>0WG_:@]D -M?_/A[=R='@I9E^2UAR8*.]4PBF\?<'?EJ7=LQ?3[S_[V)G$6:3?!;3C+;`&T -M.VG3NFI\S+I1MUSI?)*"-:GTC6X> -MZ!@->AL47J<=9W\)*[+J1OD-9.,V+)3W3]!^+;+/SU!_9>?!E@;2Q;]8U?X* -M]-7+=OO'>=1W03?SY+TT?_FIU,N_U,C]_^+,9GHO3[*GKR/=#IE?:VH0WX#] -M)4]W;K`9<:6Q,[2E+41<=4PG_S*-<`!7#>+K8_$2ELX<2`^QR^2Y\-&R>R0M -MLHU0_T-MY-R@-O+'?-%&1/OX2T!3YF%U#T]_@3UMP/VAS<<.*NR2 -M/*1O]U3]#N5UO14RDRYVM:">Z[VH<]C5.GGGSX'\'SV+Y--GHJ>AA'?+6J'>PD7X$4FI]5.?;UM+W49FBSDDG2`>H[DD/ -MTM??+W1`G$>&.**)=`"XT/X/*'+^4#DOZL->[;>&P.5H<83%_NOR<>RR%D>` -MSDK^Q!N:SB@/[<4FN4(^6V`["J$WD,U?)\3ZLO\6;8B^U;HV@SE0/QE(SU%] -MNELRZ!N$_QX+>KJI3\9O*^25:%_R1-IO1?M<:/\6[2-#WW3T./OD=EHQWDI[ -MO-W#N:N$^[7GGE=5\%-T]KEC);OT&/O$3ONW7/^D_1E_[8K?G]'M5,)DQCX: -M'PO=3/]B$&W)Q4XC1.82H -M&SOC&VYXR+.6]C!W/T+TT%G9%_8-5'>IL&-?B#UFMA.@Q?5WE@R?]!\N<39V -M%ZNMXD'99KL_DCI;8)=[S3^Z6-@:X0=WP_Z_=DC9HWU4\0\ISQ25+I^0D3C[ -MZ=(!]T=C8_7=+>R[U(GN3/"_1]"SDEU)>UO3P]Q#/C+I(NJA$S1^5+Z.F9%^ -M-6C8HOHFR&-+"K(,\DFFKF-7HXQJ56=JA9YTD]T]*N3Y!>TS_:@T*8`\L7*_ -MB/V^Y+\(+CU`/DXBF7_TJT.3F:?JVY3O6:7O -MZNY_PLZ:[9-A%SXN]IEJLB_\N\"/BV5=RG-OZ)W.J)%[=!V0P<<3:9\NO>/W -M`3I/#GU)B_0[/^Y2ZP[]1PO2Q;=HRMBB1;;GCZ/[?PD'P77@9VGU[>MKELZ:6#^=5=F;>>G*X=5SP\B:Z[V5& -M>9`YEM7]?^Q]#5R45;KXF6%$(#Y&HQJ&#Z>BW;$E9;O695LL*MVE0B'3PK+2 -MLD(SQ8\4%?G*6""^VLQ%Y:NN_2^[:T5[;2_MVC9M>I<*&6KQ7NKJ.A'J:*@C -M#(+,S'O^SW/..\P[PPPQ(Z;KE=_O_0WO>9_W?#Q?YWG..>_SD&/+B-^],,/= -M&$S`G_BF`V,(?1*,ML,W'5AG=C4)R.ZBQM)GQP7`G*#<44"+K@J^KMX"=7R\ -MD+WG]GNHD?N6>>U18ECB7=^^C7/T[=NX,>Z;TM&W#.C;-^.\ZUM7GJ-O77FC -M[-LN[_N6=1WT[0WO^G:DW=&W(^WGT[><:GJD-8I@G.G@_>S,?^<'FZ*P7V0B -M_/]";C7]EMLWG=&V$OS&H!/\O__-Y'S\+?/-Z(KT[5/,)#C73*G@IVY@\9HP -M!F(!M;9F6C%7@YR6/)?Q[MD!.5V1L9T&/9=5UZ,@[YXU@=W3N=@>4]Q>7UC5 -M2#JK<]N]&20,=1;^YF[#V!_C`^X]@S9&9Z,][H>]KE3C>!J63?PP]@A^=ZA7 -MF4AL-AF7F@7U#Y"%85D\5Q+WDSO[_):1X"U0-_[>J\JE+VTC"HQ1@K%&>)P1 -M_X#^@F]5]G:^!Z>A'*==(0Z>/TV^;'#CE]8V, -MTV]/>L9IE\*!4UZ7!YSZN\=IUWVCPVG7LE'B-(3C],@B!TZ/7./`:=<^CM.N -M/0Z<'M&=/TZ/!#MPRNL;&:='[O:,TR/I#ISRNKS#Z9$:P*52Q*G2,TZ/Z$:) -MTS".TZ/O.W!Z=(D#IT[Q^G1,Z/#Z;'PD7#JG0US3$L\?"OG93V9GNI!'&)\;J'@6&:MX!^` -MWWC`_^CKW]5)CGU8*XP+H`4[4H2"FC4TWU\AY(]78$PEM]_)LN]$C=%^$20& -MXW6`[Z_`__L+C%H#:3".%,?"D7?5.'?H^TEP?G4WX/>$)]*V\-RQ9OY-IY%] -M4XAQQQ&&Q\%C<)CG2B;"!9T@)R:C[XS?+H*M>A7<7P/W?N+SX!/DN`W;%9^' -MP/T1^STMSR,\1LOQ%E;&WYD`,.]+WID(]S62Y^%P_[+D^35P_T(OCT%3GVJU -MB+$GCB?X%I/I>(+H7_RXO^!XML._.*X1RQ50+OG^[[C2X8\_6N^/(U^8=;WVWA?0[%ONU -MKL">H^X[\']O9?XOX%(+]U9'KKG'.EB\O9>>[^@OZ`YWQ+F4L5P[OR[#[@!>?S?X/Y/R.`]\MP#'#64+A\=XZGY9A,]VK--P>*2E0<2U -MQYBJ4T@\QJ'"_"PLQE,1YBD(HY^HS(3GNSEY]VO7\F^G4:93LZP482OL,:NR -M89R!K[/GH/,#6/X*K-/G6-8G@T7?N)NO.72S[ZUY+)B311COG,>?/KG,+B.B -M;,1!69Y#YOA[4+;%_BTY?@/.XNAJ8&PWX/=X)\\`#X=5O$/BG[3*21W\8IQV -M+_LKQM)Y.H_+8G<;R&*>.WP;R*GPL9F_3GF,*P*^32-<37#IX,+X!^3)`9($ -M?,OP8<\](12<"L<]B4YRJJQ64!`6OZI`:&3QR.!]N'1P-.6T"6Z*1R[:![--:W7^SS/(T*1?@V@=?(S/%^ZG" -M5_47F.+M:R`X#\-]DGU-F\?/,J5)\FKB_4)[7DT/<3FP[O?P:Q53[F+9C;6X -MM@3W/&XE/45,['L\>SP[:6P;M]\:?PGS-LN[LVQ%F'71,_P[X#,I%,I?.DL4 -MO+TSL_111D+/"F(,GC/)3T3GX7L!E9A'^$L2C+G/L*U:2?R\"BC#=?C>.208 -M;6"Q[F2,X]Q?<";9'N<+VZH$_5_IDH]ZSD/3;\K*B+OIZ;B;5KO$U5/U!BU) -M[GW34,?SP9T!^3>Q^$T"QJWK3Z_B:VYG]F-\8`%L!)X[],P>Y'T:\%Q1W2:, -M92<#?)UY#Y]!'1V@ZY-%W8[Y@7F<,1M1L5@'@IGE#SQ*S(]C?#R,"2`4G%F( -M^R*@VS%6D9D&/9U.`S/B<%\8]V_TE8B[GGBHZUZX'L'\36#K;X%?L"EZDH?V -M\H;RP_4L`=-.Z8BA9[Z/Z[>>-0:R.0!AQ\F2H*\]FQW\V5-IYT_XO]J>#PW^ -M;S#(?[Y+_'^W@<0DNK1E$]<=S7ROJ0?WZ>Z%ZQ&`[[+G3'U)SN(('/5388R6 -M'NM0+E6&([\P7I=Y&@VL;,1S.)@ -ME&U0IJ%MB/%^V)YT)I'#7.K_9":/7XMYS>@Z;;`]+B7N:U#YBXMMEG0-[FNP -MG!O]VM"+5`PD,SB9+%`Y+$I"P[ZXA)B;%]:$%=+,:D -MM!6_WH0YG^%_+3UK&X!?EO-$C'FN<(I/N4*+L?#0=]#B_('Q*;W3YV;":6E. -MLN=OE93!'&[:P\MZQ%AEY@P#*>@>FM."GJM$?\!`SEBI)6.;.UGN":I:V,-R -M,)@;#*2/Q9SF^Z#F!E?Y?^KI%8N?>7+I"YF:.7/O98@_Q8_KUF*EUS0H-OO24F*QUPS.K5J!H2F4SG.4)E;-8 -M+2RN"X_'TC>#ZP3:QGF[[S;$+@WG$6-RNB4"G7[-1GD>3-M9VDSQF1X`OBW%N,S+F5Y.PX_N=Y`ZN!_C,^`>4]YOE.2`_5\^J1M -MO(;':3B[:Z3\8F[G,?_#2EK8U4!E_H3FCP,51_V/Q -MM-`8`&5Q-']+A7PWW%0EKX6RW`JP`>[G^=1`LKVP`> -M[B.JJ/_K&EKX6B/`P[T:[JL`KULK`3X*X.%^NY$6;EL#\'`?44W]:]IH8?4" -M@(=[-=S_KH,6ULT`>`W`P_V[\/ZN;H"'^XAZZO]>.'W34!5FS:50!CXWZ+]M -MDQ:&61<26A:=$(9Y-;8=AC']AY;ZOY\(=6B@[GI:^)]IU/^##*@C%NK>20O_ -MG$?]/ZR"-N%>#?[M5P -MWP+/]=A'N(^$^R_@^=]W`GP,U+\C#N#A7@WW7V=2_X.[`1[N(W?1 -MH.,$^0#SQE!+K)S3^RK:2&$F(M?DQ#9U -M$DL"^K@T>%(\US&#\ZTE&8LQ#SH\^UGN@-W79>7U_)P6^[\4\U>+_V=Q_]>2 -M@.\RNZ./L/[;"C69-'02QO:]"^I^_$/!)`\UD7&:M1]!_8,L7K4=EOIK,@4& -MRYX5?Y1CD%>S/`R#NX?6!DIC5!@#"-I(PCF.QS&PA.^W8GY!8]'4-401-J"4 -MY;S(XDV8=1N^9/OG6#_4::-!&6D89P;C154(4!^TIUO[-8[[P$<]N'YIT4CR -MNK>AKX\V(,8N>M)FPUB+19[7,"P+@#Y=XGXSBR6):QA'B=7*SS]:0!.LSF+C -M*'DZQDI5Q!H<56\+CM%B[I[!7!4Y5QJM'2S*2*)%&8DM"W6D6DZ;]F<,$!H: -MT\9RY5BT1#.;D.PC).SH#"+/::?"_,7H#Q",[Q?4TG62/`;E0GF4;N-\L$/@ -MG8W[@'?ZM41034JW6K3^EHU:Q>!&;8!^@8G8J@XWG2N+.8C^]V?&WV&<[*#M -M&"/X34,FV"@?%:R=LNAX6UE4U;DW -M#'FXYJ8_.$!NR6#YH<-K,&3BW#AS,CU-_8.-@,=#M-!_ -M&2V4F36_P#G3VH(^$/4/!'VOB((+:,=P3:@_V2/"@+X&F$*_:0`;!<_;X=?M -M/FU_@0V>KV9V*A5`1LLBW/I*+(8OME$>$5\I#,4^!KUNFPD\R?)TT-+HA)PS -MQ`^?->(Z.=QK5LFHWCQ`X!T%51UN:CQKDL-8FUJA#-Y]O/*L6&_5I(6Y*PG+ -MZ8'YBY!7P;<(ADNA6>4'LF';AOX&PM'@Z`0!ZJ!E4:"?HS5"6503Z,I,&F%0 -M"MLF)<.8P/^S!=C]O]8&*Q$"'FVF]UC)OC5]J(_\3"$Q*KAT0EE,&EQS,U?A -M.JO0:"O@,==3S]!^MN]>@'%;>>Q)%GL]Z.D8S#F'-BW:L\!#L11MV;-`Q[-$ -M9<_54^,FMKIHHX:+>7E,:,\RGQ]C5;J)IPXVLAQLD#9F@_!<\E:A+)KEY4!; -M@Z_3"0?M]@+*K:TX(P4NP(%@-LB4E7:9ID'&1J&P/UR,K787P@+.\J`M/YLE -M(Q&NZ7#=:=LV*#:"UA9FBG&PEM3!OT&/14%95FE`H^5E;N,=NFS#+C' -M$HYY?W/,U+CI!1*5>Q+N^\"76T^4"(=Y?UGN+O#MLKMHUZ8,@,/8JF!AMW2U -MD4WX#:R-!+2:.UACW5X$N4X$T%Y"\*:#;6PW=)-5,I!HJS>0V&KPW>QY)F>;PZCPG19S\`:$K@1>#JQHLO/Z[)4: -M8MJHE>_3'B&6"`/J/YMW>)/MNA!X&P2]S'&W<"3<+7*'.YA3P@%_JN_!7_BE -M@3]YMR?\V0)@;BXQFH32F#2]]4L6>QELDKD4=*H`0VT'/L=ST)KI$+ -M&`/P&UH>8T#8J5FX%V$@M3"OMYXUDZ.R<1]8V%PR:9)`,PCJIB-IR65J"EG?_1+D!Z#=$/:(DTW+2,"J$2_F=V&=#0*O)_+=!+V`BZ?!!T -MN4@W8SV9G`MW6`=W6`B_*B1;PT`CV -MB-P"=D&E/6\MX-@&\XY53I)"C419O9S$8RQ!9@.=AK:7D[BZY22V]A38&6+^ -MVR?ZE"P_+LS[R^`9BWLLV.,>]VK1AQV:2ZRGM7)[6[0(\RIB/L;/D!8O"R7/ -MI]N*GI]+GU<%52\E\>5+21SP6&S="6AK'>9^@W&*.7[9O'7"_;QE'YOU.RV+ -M50NZ^6H*]N#^;G;NM%]O/<3.FGG'E^,VLSX'&)OG`8\@CFA(5!L%6P]HD%0# -M>*(K`#^G2!RT'PX^=&SM;@+ZF-S`'([G%\&.OU&P@/R4B/*3FW&G77:.ROQMHY.=\5]= -M9K(3CK*#9`=U863G<"%/]R<$WS;8,'P -M.6?0XIAS!LMPS@F:YDYN+%4@-\&BW'S])ZCOJHC6!2/(36FTT:KBM@,%VP%M -M5+>R(W/8#LCO=MFIYK*C`AF*1[NA?(.3_(0/DY]`+C\[!DGLC@(7FP'XN;;' -M0:=!D`&T$2[^W!,LN[3E)YA$K1\L\#SW#%(^]Z`,'96%K!^= -M#(4^?IG*T`\X!X7-O+1E*&S&I3T'A7G,J:.)(7F=,N5T?34[QY*GM]Y!V-ZZ -M3/F,7I5`A)*,)LQ-@WOVKTGVT-G>EDSYLGU/OT[,7S/2GCXMRD@6W^-S=E%& -MBOT>97X5"KTJ!3MO)9OX.*Z9AV62@'(8FP@;A[`& -MV41VG@KNDW`=%O.OXOH6';U0FP'W^'P$P<8_T&?-3E^%)[?Q[\- -M\O]W>#]YZ-L@_A[PTM4+@&;\O)_`+.X]@?]_- -M,_= -MN@&'?^XO#"^UXQ#[A.?SRN`YP`9P'KJZPSYF3_@L>X=$E4TA";BF1/TB61[5 -MV=V$^6>I+Q^F>I.-X-H0KGO;7KIY8NIZP!?,N[D#1*G/,6%G"&VU:#G -M0??#G*G(/4,B$%]"2%354=DUB^:M(7G>Z=%KXAC>89X'/2]GY^=-8">4155Y -M68_']4\)26K--)'9V`?323+K)&'TUVN[B1 -M)GW>.8(VAK57*Q]._^L6S!S_O1$"96<%0B.4.`?P^4H]'VUTC&]BOV=SRB`)<+D/=KE7NMR'N]RK -M7.ZC[/'> -MT30RV:/=6QJQE]<;X$N]'OU?6JH6^ZOTI=Z!$>H5^ZOQH=ZH-,_U1HK]3?*E -MWF%G!27UBOW-\Z'>Z&'GZZ3\X!LO1,\=B1=\XX/H$<:OGN$;#T1;1^(!W^@? -M,R+]?:-]S,Z1:.\;W6,\\C_+CUX:@>L_24+)<2*$1LA?$I+(O:##PJK(A"3F -M'T\JW51-Y.#ORM_>T"'76Q-PSK'M7#L@NQ'*,0.)&>Q.5D_0<5*>DT3$/(%F -MC+&2>@8S.PR@WS\!WK,"_T(=`^1=P21+6L7@3"P';7F$G.9JR6;X']KL\S,1 -M>2W8T_V%D\">UF2(L<.Z6;P0Z.]+8-;@F("9DVD_O+]@I/=!ST],55$3__:O!W!S_<>( -M`UH:;3+G:F/X>H+&B'XIZ.B]S$!XG/C=(GAOPW)GX/$5\WB5YWI49 -M@VL$UZ_!,<"\HL,Y!M=F>/Y5HTZ$:^^675_6"S2&YPW%N#-+B^ -MWB!/5'"_4K.+C3W`V"2MSR"[?AG4V60&>P9@MF";[O!M41VNLI;&-`H:@^:6 -M]+MLN49J$_.+RE.-Q`]SD+>"C,XS;.$6(.!%P->;QJL.EQT -M=!F1/]E-Y."'AE"7_?Y-&528;?2C?+WQ))Y-"]UTDLAQOU\_T$&J!_$\>Q*I -MS6'G)I0IB\!GM60$`J\(/^D`')2\VOB.T#;.BG[,1E40W4Y"\4P`V`WQ3Q[( -M8VMTN/8X:-%JH,X;K!NU,?8UR\=/*DD-KN$57KL'X!7H;^!9`;0/!(LVBNV5 -M/:\E4TU$!N-3XKFYVJ4DH*7K!+$6.\X*I!S1D)^D$SF>%]BQ@23LT^XG-"3: -MY#VOW:CQI">LJL-%-J`#W3XI\_>=`RP/K5!OT"".V;<#)O?XQ>\#0LT\%A+B -M5CSC![@UD!H\3R%^+R!LS`@4`)>X!O+VV8%Q-K")2P=)'/TC"<6U7H;/;_+$ -M-4^^]@FXU$!=-P!>AW#ZQ$HE8=\7%%Z;P'!J[@!]YZ$)'E+50=Y -M5]T!\]PD+>"S4GA.I6#?DLDFI^V'-W6K3K#_V;RB,B@Q!QOFR<7Q9BXGDT[( -MM+94ZVE*MQF4E1B[$NFS?0#/G++SF4>S@#8#1&Z+.%PEA,0TVMXP:!B=^IV_ -M0<+UWY`LHI2!5MV=Q";1T[-.:@A^L]2R\!"AA3]2,EKE`ZT6 -M>DLK;3-?$XWFW]W()MOHFW+2&Q)#;"$Q"G-(3,`^K+N>0S9F1N(.-/ -MR"8;>=T_?AW+V1JO7*@77-9XI7L`[^:8Q/7=R2Q&WMO;.^3()X[UW:_QV1>Z -MM9V2]=W)S-Z%]JV]!40.]TV\_,=;I.6._1->SF(V%-X<8+<+O]]VF'J1;(=X -M#[9#_&5F._QDP95YSIU.OCG*=YT4XZS\4-^#[/36UTGN?BCYS_/!>O<)[GXOFWL+(IF[R?Y^+?\SS/ -MQ7_@/,_%E_+Y++Z+SW/Q];Q\2K:TW#'/\7(^S\6;1C_/3;I(\YS&PSRGN]MV=QG7S[-%X^ -M32DM=^CD:4J'3KY]\^AU9GIY'_M\$U_W!'LT!]W!'O6'S_[ -MX(K^D.J/VZM\UQ\_V^RL/^[XX/SUQ\\ZG/7''3MYW0D/>J\_[GC9L_ZXH\Q9 -M?]RQD.N).YJX_KAC#2]/2).6._0'+^?ZXXZ](^D/Y-O]*A>^?=[.MXGM+4-\ -MF\CR'0C`MZ_T$$4IQD,Q`=\^@7R;F#\K^S0-,1#,;>70/]U<_]@B#$K4097P -MGET/O9W#]1#R-/(V\K4[7M[4#?IGF1^UK=-.1+[F>N@(0?Y&WJX^RWEZAX2G -M4>>\F]/!=0[P,/T3Z!S@:2DOX[="R,?F==H8ZSKM#C\'80;B? -M1->).F<%USGX?3'R<>URU#D]3CKG1@.1H]Y!7G[M+-,Q]/UW)^G9['^7AZ(B__ -M>8"TW,''O)SS\?32T<^#5_;O+NP\>*?AROZ=.]]D>KWOODG2M"OKFNYP>I?6 -M=YS>773%AW:'TZ1LWW%ZST'?;."96H<-/%/+;>!)R<-MX!D'9J,-7+0D@<\! -M]Q8#KOWT`P,$RS%.RQ7;&&WCN]M\MXUGU#O;%#,/G+]M/,/L;%/,U(GTF^>] -M33'S#<^V\\!E_KO_ROSG=OY+ -M/H_Y[P&7^2]E#.:_!USFOQ1Q_KO?A_DO983Y+\5E_DL1Y[\4>_^^=* -MRQWSW_V2^2_%B_GORG[?A9W_9E^@^>^?75>GG,?\E^IQ_AM95S_8[M#5#[9[ -MUM4/YCOKZK3;KNAJ=[IZ=K;ONOI!E_7/.?GGKZL?=%G_G".N?Z;)O-?5Z>HX7ZY]7]@$OK*Y^R./ZY\AZ -MY>$XAUYY.,ZS7IGWE;->F5MV1:^XTRMSZGW7*_-V.NN5A[\Z?[TR;\!9KSR\ -M5Z3??._URL-O>=8K#[_MK%<>SN/ZX^$.KE<>WL++YZ9+RQUZA9=SO?)PE^_[ -M@_.#'?N#\WG>'N#GX?N#Z1_@_J"#GQ]9Q/8*D:=-`P2?N=\WG)1\9=_0UWW# -M=)?][_D?G/^^8;K+_O=\\_=\Q_[WL'W#^2[[W_/%_>_YXO[W?''_ -M^Q&MM-S!W[R<\_?\$?>_<=ZT!7,I87.FI=X0 -M^WWS9DXF\*%I^+R)C=G7C?,`S[.F8]YS)7V?WO/<'Z'[_[-@HPK:Z;N*WZX.YPN:/0=IT\J?;.7%V4[[.5%;)U+J)J4C'/N;+`9P`Y5E*XB -M"IBCR2M@`V.,-7W7/I*9@S;'HLFI65*;X\DOF+V!<9_0%@';`G-(V,IB&JU@ -M)Z.-,61/+W>VIZW7&V(M(3&[>[<=KO+&GJX1;8SJ?QI[^@F%[_;T0K.SO?'4 -M9+N]T5OFJ[VQ*-G9WG@J7*1EL??VQJ(^S_;T(INSO;&HC=L53VEMF)-&MJB+ -MES]9)"UWV!N\',IDGQ@Q+L%3":.P.9I\M#FTE[[-H;I$;(ZGOV__:[>++H_] -MOZ'+GTKQ79&QA#[?3AM!?Q)<8JX1+QBKL=+'Y]/M_F.SV?C -MKM@;[G#Z3*SO.'TN;R1[P_-ZQM+@SX?LC:7!KO8&VA>S!L#N6$L4N,91LASL -M#[`]](8/21G8'R68GW$9V"#6MT0;9,D'SC9(QCQW-@C8%QHKV"%H@]C`SK"\ -M88BM/"6Q1YYUMD<&RV*:!J\W:"T1WMDC]C4/C&_]SV&//+O&=WMDB'EDZPOK'4I?UCZ7B^L=2.% -M"[3^\<\^=RY;Z#M.EWM<_QC95U\I.=^T4NN=KYYYP'F>7+'IBJ_^?7/C"XV^ -MSXV9+N>?5AXX?U\]T^7\TTKQ_-.*V[R?&U>.5[=Q77RF> -M?UHQ35KNF!MYN<-77SGB_I?S_L"D2VA_0'.9[0^LOG+^R:TN7SG@NRY?X^/Y -MI[5FARY?:_9.EZ]]PUF7OWC?%5W^?;I\]7FBLR]/F+1%KNT.6\W*'+US5>.2-U -MJ9R16N]C_*N-DCB/&],\GY':8',^([7^O2MGI-SIEG5[?=LE<;&R -MOS?^HV,_QVL;\0+NYXR5C7BI[.=L2K^R?N)J'V:?1]S''(_Y#T9>)\^/*XMI\G9]?+MH-V[_IUD?WW0>YU_S7,Z_YG]U_NOC>2[G7_/%\Z^Y -MUWNOV_,=YU^'K8_GNYQ_S1?/O^:+YU_SQ?.ON1IIN4.W\W*NV_.]\/_#+B'_ -M7WF9^?\O>?3_1[877ZYRV(LO5PWS54$'E?7P?;HA7]5P2-0[+\]TUCLO]7G2 -M.Y[VXM`_!1LRUEL?]9]O+R[_/.*KOJQTUC6%,\_?1WUYL;.N*8P7:?BV][JF -M<()G.[(PPEG7O-S-=4KA#.ZC%A)>_M(N:;E#U_!RAX]:.'TRWO(5VR7]T7UCT^F>:F$[1G&M4F!=:)>4GA61P^LT$?\0$@ -MS^-RS=2XP@I]SK*2CV(Z%.]NAS(;4;6:;:P.L..@/[^:50OP[OJ`N>S&3:8& -M[WCG5_6>\!B6'T-T-P/N-$3N[KEW[10%>&H'<]*^=BTUYVXC\@IA?`#F+ZIC -M>7>+UAAD$2S7*N8=PGQ%,$\!WQ25?IPU/%_0JL4O+-*L6?+",RM>7*.Y:7$0 -M+HA(VE!B.]2_J.JUB411-Y$0;!/JZC#(YV2S?*YP+P>8W'/0CYSQ`768'\F_ -M**`._H?VH3_%"GM_[/3.!7I/`=W!\Q(53P[+&O]+NC&=P+MFH=AHA'<2['R# -M>;[[<9ZE&7W,SR-0-F`^U9)I0'J$42B.2:6G$-,PC7;Z6:#"?=1GH -M45-91'R(+$\6DD'DH"OC0;;B1;EHQC[^#:1\]FI"CB42/_#Y-=[1O82M2]'" -MXJ8Z>!?UMI?O)WGD3\>X&]V/^Y4X&'-6>Z!W::Q0K@9ZJX'>:C?T5HOTOJIS[,?]BHF/^Y4&W\9=&C^* -M<7N@=UD4C!OHK09ZJ]W06RW2>\*78S_N4B,?=VF];^,NTW[_N",]T+L\7"B/ -M!'I'`KTCW=`[4J3W[25C/^XR`Q]W695OXR[7C&+<'NA=$0SC!GI'`KTCW=`[ -M4J3W8_>,_;C+^?FGPO)*W\9=X?'\BT2O)8#N&D9S?58"RRU_5%:934,B$J[* -MSY.!3Y9XU4$B!Q\G(\Q``F&L&;0\>B'^"E"/%72_+3ABVF"1L?F59XDFUT24 -MK3D&`CZ7J95\0T(,1(YK*Y]W-Y'EJRB%NI]!OZC\*(D'^S&/POQ1*1`-U!^/ -MN(2ZGPJ;2V1_>6J`(#X1M^!#Q3.\@@7UP&,]1:OE?'P!V[NBDI9%)`DP9WE9K\?]/PF^FP#?PWC-@>]7NP'?32*^]UQU -M<%R/!WPW`;Z;`=^[1X_O5P^XX+ORA\'WJ^+YAX@V9WR_NH#C^U4"^-8!OAN] -MK-=C_DN)'@?^'CZ'.?#]V@(:HA;Y6PW\?56G>WRK@;_5P-]J+_C[M9G.^%;_ -M0/S]FNC_J5WX^]T@+X%OE; -M#?P]X4L/^`;^5@-_J[W@[RWON^#[!^+O+7DBOEWX>TLBQ_=K!L`W\+?:2_[> -MXC'^N63>`OX>/F<[\+TUD89$BOP="?Q]>XE[?$<"?T<"?T=ZP=];;W+&=^0/ -MQ-^O<_NO--*%OU_?Q?']>AHMBP3^CO22O[=ZS'\MP3?P]W!;P8'OW^P"?(O\ -M'0G\_=@]'O`-_!T)_!WI!7__YG47?/]`_/V;A2*^7?C[-U$WN;92J2H[SJFF^V2C;/'[_,I*- -M,ASGV[=<.#ME^Z:+8Z=L3W9OIVQ7<)QO:_#-3MGN>?UK!#ME.,ZK`RZ:9BV.OU,2[MU>J -M1?^GNM(W>Z5F%/[/<'ME.,YK31?.9JG]ZN+8++4[W=LLM0LYSFL5OMDLM59? -M;);A.*]??.'LEOI9%\=NJ5>YMUOJVCG.Z[)\LUOJ,WVQ6Q#7B'.T53C.WPRG -MH1'*,,!YF)7(&9X+2)$4WX@OM%?8GE9Y]"J82Q/I"A6QAD9O$+Y5$4MY=*;P -M9#I)/7Z8ZJW-1*\X2Z9:26CKYE,D=3WTX[26//`B`3H/D-F9)`S/WUC+8IKU -M'2:28R5*_=D![)])GW>.Z#<+A'ZK):V93<36JPJVP!A2NTF@+20F>865TMG= -M]*S0JPW&NO3I)B*$Q"38RJ*3

@GAP3RL@9PO8``JLR<Q_C?NWY`>G5Y".]FD5Z-8X-O?ZMDM/KS6K?Z/5O'O==1[*7'/12 -MB_+UUAH:JA;EZZI.S_122^1+_0/*E]I'^5*+\J4>(_EZ*XG3:V>*;_1Z*\\7 -M6TM"+U&^_CT6Z"7*UX0O1Z"71+[4/Z!\J7V4+[4H7^HQDJ__)^Y_O67UC5[_ -M/HK]K^%VFH->D:)\-;33T$A1OFXO\4RO2(E\1?Z`\A7IHWQ%BO(5.4;RU<#7 -MOPO_?9=O]&HP^&+C2>@ERM?O-@.]1/EZ[)X1Z"61K\@?4+XB?92O2%&^(L=( -MOG['OX,H_.T"W^CUN\JQL0]W5:%]2(-CDFVE$=/"\C5$/V`EUN"8!$MI1$)K -MMXW@WF/J^L-4LY:,P[,5G;)=DQ><8^?1XFO!AA8"JC(KGB(*M+'1KM;W-!'$ -MO0=:**L19D,'Z0*\M69V`&TV$!O2'O!K*XU>(SRO(G507\AI(HO)I$*N"6S^ -MS`&2NI(0S0:T]7>QLZ?,!L3S(,]K"=!L#=K[8T.;WXOGP7ZO$^3`9WD]1&_] -MFH1FDT3\YN24[/=WN]C3`2)_Z^S\S6A;'OU7L?PI\#4R\#L6Z7->1Q[9G]U) -M6D';0GM)+5T=X#/\/M@WGMBU],O[@\ -M\V//$.X3SQ-OM[GGB[7DN-OL8\<3;&<7Z]VCL -MW$8=VKF<)]0N>D+M1D]&<)]XUNN>) -M=Y>X^`5CQ!/O9G">>'>:;SS1V#(VMO0?VM&6%GG"14^HW>B)"5]VRO[PS,7E -MB3\\+O)$,ZZ%CCU/_$&,7_R>U3U/O+?)Q?<8(YYX+YOSQ'O)OO'$'T9C_XW" -M7M]M1'N=\T2DBYZ(=*,G;B_IE.U>?W%Y8O=*SA-@D^/YLS'GB=V)G"=V*]WS -MQ'^\ZN+?C!%/_$&Y_@CU;T"42><-$3D6[TQ&/W=,K^6'9Q -M>>*/+XL\T8QKR6//$W\4\WS_,=8]3[S_EHL/-48\\?Y.SA/O9_K&$__I\?S[ -M]^VG#_<]/@CWWO=H>NOB\D53S87U/9HR.%\T);KGB__\\,+X'O^YA_/%?Q;Y -MQA?/KRX?/&G]R^L__&G/,X7?YKKGB\^.'!A_(\/ -MVCE??%#O&U_\>33G_]V>2QCN@WPXPWL?9,^!B\L7>_9?6!]D3Q7GBSW+W//% -MGT]>&!_DS]V<+_[^R,?C+BY?Z&P7 -MUA?1-7.^T%6[YPM=](7Q1711G"\^,OK&%Q^/8O_/_1F4X?[()Z7>^R.?1%]< -MOOCDF@OKC_S5P/GBK[O=\\5?;[LP_LA?IW&^^"OQC2\^J1J;?9!]+79?Q"+Q -M1B+['O\L?4LY@+C"2OPA)T?;,$QS8-`WP<.':9` -MWV3KWU5DA9%2?583:5DX0*9FD=#E!RD%^%4T5TMF+R.!+5U&>-9$;'IM<,M" -M`VGI:B.YBXFR9;"99'=14TO>IR059@U-#O+#/I:#&+\5L_Y=2_`SP'-<0_@][RSSX-YY^]>ZT% -M=O[YDX1_]M[GK=^R8R3^L=KY9V_RY^E-P#][PWWCGWVC^/YA-'LFS<%VG\4B -M\5E$_FD:SC_HL_RMYN+QS]]>/T_^:;:?F1X;_OG;0LX_?U.XYY__*O;6OQD= -M__Q7$>>?_YKK&_\TC^+[Q]'LKWR68O=M+!+?AO./VHW^0=_FTT,7CW\^/7!^ -M_,/]H;'CGT_K.?]\.L,]_S1_ZJT?-#K^:6[F_-.\Q3?^^?S0&_]I='Q -MS^-?UI&8?^,9M^FM<7N*UDDOA+GGT@W^@=]I=:+:/^TGJ?]P_VK -ML>.?5M'^V>_!_ME_G[=^U>CX9[]H_^SWT?YI'YKT/]N4W%X^'OOSJTO+!OA3CX7Z9[)Z'OMA_87RP+UHX#WU1Y1L/ -M_7W!V.T='=CBO1]VX*:+QT,'HB\M/ZS=R'FHO=0]#[5/N#!^6+N2\]#?#_K& -M0P?JQVZ?Z7\ZO/?%_F?)Q>.A_UET:?EB_Q/'>>B_V]SST'_/NS"^V'_/Y3ST -MWSZ>E?R?KK';D_HZRGM_[*NW+QX/??76I>6/?97)>>BK)_O?,Q>/A_[W^*7ED_WO;LY#_YONGH>^/G1A -M?+*O#W(>^KK!-QXZN&SL]KK^L=-[O^P?MUT\'OK'+9>67W9(S,=YJ-H]#QVZ -M_L+X98$E#60X(U2\D-M'A%97D/":!*^;,N -M@.V*#\N?9&!Q@F6&?*"C'RU^M2KS9B([(3/,TF]F\=^;>7QRPRSL>W^A(<5` -M7BS">+;>T<:0(KY?:B"V>'S?@/V',E,@X+.`*/!>**YL&`R)-N+_Y[8=K@?: -MJ-!WT^6\23IEAIL&0R;%:^:$4?@_%OHK!SAQ#8*@I]LQ40K68Y2>J4??.VK3@C$>I(HL4920"O96,OBX;?;^KA69(C -M!C<;LPS@4J!/[0:9LA+[U+N66N&^RT!N;)'B5?+>31Q'WS2;`C-2+&MI6\77 -MA$`?Z.!9VI*=1@?*'R:@KPZ2W$4DZJI\:DJUD;"K#H;1_6D'0?;[2'8;-;9F -M[B'91TCPIB4D/#>-FG):Z(`^ZR!I-<.5N1_@#L"UA^2N)XK9F2;,)1#,"8+I@ -M[,E^F4317_BMTB"[>IF$GAK`J[\=5H299I!-V.V`830<@H'G4,^K4,RL>!CHJE6L5R-<#]48_T`EYKQ'=A[$EU=CQ9 -M39B?8L()V=$/4K-UA,6H*8OR,B;,49;_O-7:`WKC(\IEY.@WL\7Z\)F=5MAO -M']LPCF),Z?K?OXSH>/'Q,[;B.>XQ_Y%$?ELZ\/C -MAN'Z\+N9#GWXW4]]TH.6$;I@^+C)7N]>&)KY@^+#96>C>&$SN']&&@ -ML=))'X;&+.PO/&'U31^>L`[7AR<6..O#[SSF^J&ET1IW^C#5>IIRWHCVTB?[ -MKG0$GF\:N:VH)B_;\AC_V2,?OFF(YWS87>,]'W9G#.?#D_L=?'CR`Y_XL#RJ -M@?/AR9>'\6%I5(-[/CRYB/%A652#=V,X&3?$AR%1#4Y\>(,AOK_PY&;?^/#D -MYN%\V-WES(:ZIT6/-H/N"SXA.U5JD_.<3ZDVVD^+'VVV%4PC_>!W8(XG -M6[\VF`8]'4,M*B+)\13+\A"O)>%PJ6I$O,+_\9C'J7PMB0O)5Q)[OJ:0;H!C -M.9U>-V&^)ES#$`*A/5#9*XV@TDMG:0:&FO5HZY!I_H4Q(8>[H`=4.Y`GQ"F:T8ZK9"W:>A -M[E,P5C'?DVVC5NX=CD]YG/]Q[2EU4PS&1#D6EC4^&=>A>C=F>,G?ISW&/ZYX -MAT31@(JFV2\?IJF@<3`/$,9E:1TX26A@1=,^;;>W;>WVU%9)`6T#'T5#@V/B -M+:K#E8.JPXT@'YJCLKZW/VL'67N4!'3*^MISO\(U"U."\YJ%:0&1G=E)9#V[ -MP"MK)P#G?)E93IT<*SV&^7'*P>=)G2PSZ-;BVL&9&L#?=R#78?#_$J`3R5Q% -MKCXA.Y.!ZTMAYO')MMQT8E5-2K*4QBAMX+<(P!NYQTF4OAN8409\#CSPI"V` -MY0K3/?49RUN7VT="@#^&^'96=]C`IFXJ\!QTAP@\"\5\=GJ3D52#_V1;G3'1 -MU)MQ->:A"S43974/\-MJX+<>$A=F$G-;BGQ&"W]55=?#>9CQ&?+P"N"SY6UYT8CSPH&S=9KODL;0!S7!Q1S@MIS@6(>4)9_3\P% -MZII_#^J58]X]$0\RS_S4N]_!3[WL6S/.3[TMERL_?9[.^,G/$L'X)%-O_0/@ -MJ;?)F5_,'?\7^05Q]'GZ(+'CALE>4463)I?(5E3"O-=/`UP?Z"_L6&$AC(LL1!KI5U*;9]O13EG*_+V==? -M^G8"[8,IJ@\P499$3M_GD0,?K0#X41V5G -MOX!?.?R^`+]^\#L=Z_)N3CG+OG^'\I#F>F-MAT@B4];%_V22]M -M@'Z/\8]LP=%IUJK#F8#/X-8&*_GM":,\=7(,">DB2K1Q9G5_1-'.*3]!8@=/ -MIX=9-J:3TJ4D47A.%?3*4:(8!!MR\+F,L):%1@*RD-EJ-I!:@*7'TD/O6T`' -M/C_X:Y*JM>ER#I$0T"=*?=;;;/UWW'JY1F\]0LJ>!?T$-FCN?-#%UCZR8%$> -MJ9;JXJ5O.G3Q:=#%):"+1@"X- -MK5E.PBTK0">?SKAZ6P[7R=N7@TY>`;;J.9?DB0Z(514R#=T-3%M.!EJZ_8CZ@-/"+E+:0Z#132$0"W"?C\YQG -M2$BJ]IS.0;,C(LT.D5?.`LW0=X#Y)!3TNYUV@%\YXG&(=D]\Z3R/BK3;W]V, -M.3#'#\VGC':'B'TN!9R'[N@!VHGS:;5(NYI5YS>?VE9KY34B[;8_ZBWM!CW& -M__X>VE7Z2+M*">WV`%T:@7:[76C7)J%=$]PW.VC7YR7MQO5M1_(]-. -M[:O<&1VT4X/TNZJSLN7=L(:'VGGH]Q%)4EH -M!W*G!KE3N\B=6B)W:I`[M43N#GE)NPE?7K:TDQ./\8]'IEVDCW(75>6@723( -M723(7:2+W$5*Y"X2Y"Y2(GDF[VTLN7]K)NGVDG:]R9Y+0#N0N$N0NTD7N -M(B5R%PER%RF1NTU>TNZQ>RY?VODU>$T[FDZL:&<^Y:"=936GG9UN-A>ZH3U) -M"R,3D'XVL"^9;9FO"$>:W-^%-/O=D'UI'=&^?-^)9J5K76CVN`?[\BG?:8;K -M-99>3K/MPGG2S+[.;*?9(:#9$][2;)S'[S]&IAG,]C< -M-HQF?'ZSCCB_C99F+O/;946S\4J/?C7XZS;0>;AF&6H$7]I*C\TV@R]M'9]< -ML9S$6M:!+PWT*SU%$DN6$X7PO"H(_&K%8`'XT]^!/]UE(@+XT_HL`_8WEGX' -M_K0!Z+-P._>GO['[T^\[^=.O+!7]:1'_"XZ`/RW%_Z._\^!/Z[[7GT8_>@?Z -MU*,CG&:6X*-8&,``T&^]/#K,'1 -M:8/!$>&EP!^V7E40[84YJE<58%J=$8;RPG`OZCCTOX7"Z.2:ITA";2>99I^# -M4)=9RKC>8[IMM6.N>J6'D-2&<[J<(T`GJ`_7$O590*=-0"?@:R=9^0IHE65S -MZ+?U`6P]^GSF)+8.+A#,U]Y&*WZO*25Z"]?EK2ZRN/^Y^AHI1Z%7(%/#/XUT,HTG%9JD"MU -M(OK,S#<>1JN37M)*](\O2UJ%;#E/6HU"KL`'!CM#*(R9X896(%?4M!J%7(&/"_XRT*K;#:U`KB+WH`_,?-UAM-KD):U$?_>R -MI-5$C^<_D4Y(+SNMK!):68!62)O!4H<=:%LM^DNKI3YN=#+SD8`VS'_%F-?; -MN,]+RZ+3I/8?VGQZZX?D`4:K/S!:#=')$XV^N7#VGQ5HM.-\UR1<:)2]"&C4 -MZ2V-PCW:?U;PD]"_19\)]R!;NXRD9"U1LGU(H_,^9,51\)U6@.]D2<<\IXGH -M,Z'O9/>;6LT#;!]2;S40])?J`![])?2;T%<"7(>@KU1Z@C#_5>HK/=&71YQ\ -MU6=]]Y6J3W$_B>T]7A*^TC6>SP2*N+<"7^NU5L!3,RD>),I9X+L"?QU#_Y7Y -MKMU>^4$QS^>S3`]G\'X$&6#AO"UH3K0:=6=)(&&@NR$1"1; -M05Z$$"XO]R^@`T@'E)G/#[Y)4(\!+4*XC!QA,H+T&=%'>O9+G_>'&8W$_>'M -M=AGQ=7_8OFZWPJ''O-X?EE_G>?_?0:/*,:11(]"HTH5&S2*-F)_DH%&?%S1R -M\8TN*QI%*+Z?1NHQE",URI'1F49J48ZX?^2@T4DO:.3B$UU6-%)[7/^6T&@, -MY8BOJ;K02)0C[A1($=15WWH!\T&>XWYJ>R\WSYBD=ATZ!_=#[X/V.6DI>M-DOL,T.9%+^RYISS1 -MIOG[:;-\#&EC]WDDM-GN-6VN]WC^863:J"N]HPV??SAM#KFAC;@V5Z9N]HXV -M+O//946;&SSF?T0=A71!&E4\16)+.DFB!7!N^4Z%;2N05JU`LU"@UV?M)C*X -M+IV4`5WT68VD=:$!=.&?2/$JHOP\O8?,;J`6?7C_6%7LC+(" -M9<42&J%$VB"^+=^J@DHV$*7M6U5`-LI0U_CD09I.RI\"V`5?$SS?_/E!I(/% -MHCE3F(O[0VS[^[T*S2>YKUNZ'9C_:XH5FC2+-*-S3;+:$9.R,[.IJY -M^+"7%'"SSPE[TUB<>):TL*\:(5BY^%\8%\)Y6 -M\3-&1RO[/#9:6KF;P^*-PVGE\)6=::7>[:#5*.8O;WWD?TI:_=3C^A_@`NH5 -M&BOE0A-<.KB:H6P$,A+7E*V*E@O7:X:X2Z],ZC?<&0D+R -M-:R^D&XY$?L73/W[C`Q>IHAS@O&TP_AK>QS!;X:0D<2P)TG81#M[[J4@3)8PC<:B^(J/1#I=K(Q%`(YT^ -M@Q!QW!.`-@WBV).<\2@SV/$(,`L`=B+`S+#7:RM@\73YN`NL5R-?[#<2Y&6L -M]VJQSF0^9I9G4J2U`I_I1+AP-IX@/Y--ID@9#AL@A;V&P?J?*P+8M.&P2BGL -MM1S6,@-@YPZ'M4Z4P%['86T$8-.'PVJDL"K>WW$[`7;!<-@D*6P$KU?8`[`+ -MA\/F26'5O%Z2!;"+76'K&!^0&T0^B.2P\FD`F^%F;'ZL7@X;Q?LP@&-;YH86 -M4MAH7N]$`\!FNJ&%%#:&PP9T`.P:-[20PD[BL$&;`3;+#7X=L$'!\0"3#3AI -M;A\,260W'[ZTB?F_D\!,0OT5N\(O/ -M=:*LQ7+8\>D`6^H&OU+8FSCL).QSI1O\2F%_Q&&O50#L%C?XE<+^F,->UP"P -M56[Z>X,$5LMA(U(`MMH-+:2PDSGL]VI%W2CIYZV2^GY* -M@[1*L3[=\/HT4MA;:5!\J0B[=SALDA3V7VC0Y+TB;/-PV#PI[#0:]),L$;9E -M&.Y1#@K`%N`ZZ38:=$N<".MD!TCFX=LYW6\,![KS^"?YB@YW-D;FS>2J$_([ -MNL18(SPFM_SGC*^$JL.5J69JE995R&G;5#-1L%BW(3'Q!B@W11QN["^YPV20 -MJ3-93)8"(@.[:*`"+HQ3:RLQ-L)[`WKK*=*:TXUG.@?U6=T$ZKR-KLA(A'8Q -MEN[B3KAG[8+=`_-CBV[5(,(\8PJ)J:Z6ZG">,+@Y3V_M(;J<$Z13\LP4,2F-O;?M<)Z' -MO=7O;!\1>;*5:O7O+AV7=;Z#1CH9:BO.V;(S&"/ZW+NP38.L7:A -MC.,YL46A\;!O#7.LOKI?IU,/DB[Y=+9V_8EJD(CWX_!^Z@8B.R%/-.\%J]-= -M'7HH[\7SFU`7\+Y,7WU,AS'1X7TVM[9V']/ILZ!.7C;_$Y613%F%=4Z?X:G. -M&Y0D'.,DPV7<2EK=3T"6"V;BOMZB^9OL<@3S0R7@Y* -M+"K?2HT[-R2-,Z];)JN`YPA;"V4(#[!&@WQZW%#,:OGTG7J0%(#KYGBZ,P+[ -MBW540-MZ3]8SL`W!/I2">VLA/(]\/\>:*<9XSD>E:?6T)([M=!>,\:OFRNJNI5L`KEFC)C?!>^=@S#OA?X1_2^SK7LZ#J65X#^/5U5Q+2_M+[FS' -MV'0XUC*XAS$V`VQE;^Y<&?A1LCI'G3NQ3]@/C`WV.4BL8$DGMPP0V>>@::JW -MTGJXJN&J^@R>?0I7,Y2WP.]G\/LI7.#;J;#?J[.I<6H5N1'K!WP^TBF?;<:^ -M8ZQ'&G17AE.\/'G200+/X=?$?Z77W>!QW9TN_E\/,,WB_[OATGW_Y5J?I^N> -MN-'#CN9*S1@=W+U=1/Z+1+C6.)?_(H67/:#B]P_$BK]I<`&>4J#^E%)>EE(% -MOP:XNIW;3X7W4_.0GA:,]PZT-,CO2D`:57#>D@F4E4T#WJIV\,_=DYWYY^YP -M%_ZI1#UED-^95\?Y94_OQL5P?[<*ZMFC>8+5P>RWBA/@\V40!N-\)-OW -M1$,Y^HBX7^R'YYV1)_%7;XT'64HF0G\Z`7<_'N0ML%-^#YF23>*Q/M3M,(Z] -M=2B+O"Z6AQ;K_PRL>/RMQ?[`(/WD1X4VL`ZW9+Z0/O-<+[>RF,$?4)M!F&\?.AK%(H@3K6#K!U$:AG'_2E$NN!_NSE==U+ -M/LYVIK58WTZD.9/G#6Q,H+ON?;V6/VL"F"9J229T8SJ/T\^?[]]?O8D:'?V^=YD]SJO8[]W8'EVW@,VOV`:^+]:7C/79<34%^L'Q=4\VE.]$ -M7F1X`SW:FXN\>&\FO+^G'._7L7L%T[%#S^]IPN=Z\+$KG@=>$@BY,9S$FPO8 -MV':9-\Z0?6(E!/L).&KJ+YFA@ODB#_L*^GHW_;=T@GT&?2;V;T:Q2/O=.$;$ -MYQ2N^^#9+V[!OCO&/6.Q%,=LW$`'I!?215(G\GXEU+5+G)/R13W?5'DM;4%X -M!^S,&GR6`VU/S83Y'N=>:[\.ZMVEVV#%>:T)<0IP9Y`?X;Y%;,,$\W4<7(D. -M^9_YC3-_S725?Z1WI9";3!@_K"*:4_*9F\2Y0Z3US"\^`7F1U)'N0NLFQH_K -M4F0X9GBW2:R'C9GQ4P'C@1:Z#L8YQ`24_!F_7S`^6"+VO7F@`-^]>\$Y.7L7;-6DM@$> -M=SD(WF_0/(7P]S,=K7F4_?^>YF'@U1-$`?4%((_:^:);?O\;:*\#KG>!;=*` -M^$9>CMU"IO67_*+-SK?03C7BGM/GE]<`'S.N7UXAX;``\!D![KXOC:@!X -M)=R_+/:]2H3_J9T.HJRVE*/^933X9;/X[DZQK4_ML&C[L9C54(9Z<"K0GND^ -MS)LCEJ'L\#;N7\GX$.P>!Q_]LMY%/Z$NKFR%.E"?(B^A3D6_`>K+$N5'['-R -MB#.OW/\X\,HMDKJM[N:Y.JX#J_D[R;/$L>WB8Q/O$6\Y#&\3)'@$O-VW281O -M0EWND-?D#^RR/%Q?W/<"RH.C7\E;7/1%DWM]D;Q8'&^]BVSLY'T7YQ:@0ZMY -MD,TKIZ`,]2>V+9V#:CE>15F^;_YP.MRGE;DOSED6DZM$6;2W;0,:Q4O:K7=I%VFS%_'`QWC? -MW\;??8#-Z_2[9#][F?T]T%OOX7OXOEU_H>ZRHFYB[3TP4^1QYC?8[2*+7`*+ -M\9V93GN@DNNS!_+Q748_T)4YY^@W=:N(HK8']>*=>;R?#QSDXWC@+38.KE,K -M>5_NS*L=9,\^QK'@LPK),XR%"\^8[^OZGF#)&`9?QW,H!=1NM>O>E`6\GRD1 -M=KT+>&E`W/2O"S!9_F7Y/N8_C5247\=W(QY'R.//!OTL'W*8DV7$K_1_E -M!]I7XCWC^VSB!_]7(PSVB<\1#R2XVM1'Y;,/X+S$;=79[XOK,$2WZDV8%V81 -MNXZA_:L,V:_X:HSP&[>W%\R:Z&3'0!E(^N.6=-01J=DBOJ)K2W-ZK/W -M&?5F[T;[VL;L5]%6D\ -M5]V9[SQ7S=XT7$?.3AG]7#4[%O6674:* -MO;TK[/A-G2^U"VNVTJ+^DM1XZ1C+H*Q"7$-@N&5UI2KJMCJ/C8\C-0''@3X1 -MM#^`=@_8?/#_+[+KAG@^J>U<@=2^NK,#=:7H>S:#O5/IE,/PWC1-YJHER]<\ -M>ZMFR?(E:Y8L6K9DPZ(U2U8LCWMAT7-+GM:L6[1:$Y]U4U80<8#>H5FT>O6+ -M+SRS6+-\R=.WK'IF]3-K-(M6K7AQ^6+-38NGW!1_^V+7/(A&X>QQ8\59$A`F -MRUP5EK5D.5_/2WMCZA:2"<^#ZWZ-N$[=#;\*A(-QQL+_`=!W37])VF*#_"&V -M!@FXB(6Q:>C93XU@LV76@>U5=Y:$5ZXE"KB"X5+*H3YX!_3\@SM9[&;Y@UI3 -MX)(D6K0DB=/EP9OL:[RI+Y-4Y,].^8-L?[8">!G73<4R#G>6**"/2LQ[@KDG -MP+>DJ9M(&/QV8Q]A#!UB_P_7361C4?27/*BR]QGZV6&0IY5"OY38#W=K=KB^ -M!?U:)*P%/,7P/!`5M5S>H/]5=?!_>0\)+L-<;063Z'ZSE>@S.DC8>FJB?SQN -M%/M;BKK@/Y9V*'`,,#<$U_5X7"-4X!HAW2&UL1YD>@+MJ]X"7/-[\""T/4VT -MAZ@[P%XWYH##=SB]YRR"=TR.^N -MH\7W@'=-TO9$7KO#A=<2?[V5MK6"EX'TK>@CZ,>V3=E"M'5;V1IB.]35`FTW -M`4V4;.T3>+-<8.LC+8S.64:2.T`IY@'`7(5`TP"@:?#4<**E)7,RX9YP&L^Q -MVFD,[[9C&\`+08UKDQ1\O?:AE4AS^IL'.NAUCW5PO#VT4C_`<>+`PT,S['@` -M_FZ'=H)"V3S1P^K`/C/?=1/@A,T5#\7C^R]=2\AF&%MOR8/3B -MZYJ\"WZ0EQ6TY*$JY%EX1V?/I>>.EM"&0K&%!&`;>\,9O,E=&ZY\M1Y6G?OW?2T<[Y4EC.U9.ZTUR82!>_?W(7N^B<=$\!L-L@?47GJ -M$U^OGC<3]7GL#/&@WR>3-:,P>)GXK(['7Y58^^+H-\[D&L#\OA_PXLP_>@7G:68V^F -ML[QZWJ>8][+S/L6\-9[V*6(U?.[6W8`R..]#?17@`>7@O\C'Z^KG`T[=DD7B8TTRZI8-@+SV\ -M*[B+S?.FZJVT&^9!8W_)PS"GSF?[2Z50!O.@T78LG7Q2WT9R7B"JJ=TD?NHR -ML@C;R#D#>%^/:PBLG9I;UI#XW)-POS&"3.DF=V-[B$_V+(L\PIZMB\#S5;E0 -M5HWK.[=DDG^5]"<:^P/W9HZW1P+CNE#'/A)0+;#QL78UN1'8GA'N[[:/RR!_ -M.)BUX7@>C.VX//_7O5$>=:X2]2'@K9OMST"?.&\^@GK1.+4><[N2&SKA'FG[ -M6@S?.P%<[1)M*W/OQF20B4?6&.2/+G3LQ3SRJFA[F/E\\S?QGX%>)OV([W5S/L/50C;T>Z#NNX<1#>2#T -MMQOJ"()VND5X3:=\_C3[^X`3.0U*USCO6\!S=J7O%'_W.,K8?;OXV^UB9]&XWY4'])?,5;LJ5 -M4![EIASLF?G37,N!SMU0GF(O!]H81=J\S=?3Y^_:2^XA$IH"'1YAZT9PCW3- -MPGN@L9QROPCZ^DBS.)^:X=Z(N9^@K-'3O(VZ!?E"I[9BNU^M5E$PUA/(ZAHL -MFXYE+?C,K8Y5X[K:H]/1CH'?F_1Y=P"?/@KCG]_$;;!'V9DI7".&\FG2+O5?#+SH0` -MO,RU3O87$/XQ_IS[_P-S6-T80"=Q,@A*P*29&%#`?RP<'@8&(;#Z_T``$8+R -M/X`Y+'#U<'D*`-2]8/-^,#!"[;-`4N&"1_=_!I@6;``T@M@0P@HT+P*L^/__ -M/U#S8?S_R'R0""H?")ABD"R09TX!+Y$4ET'(+Q!`LY453/*#B`J@>1I`>:$* -MN"SSET8DM:T)DH$<$EL>0@GC"T/J`AD&3A@3D3R$SV!3B@A_$1V8 -M$'9YB1^H?,DEU'+N<`-2C=`,(?]!$$,270S$9U.`B@D>Q%"/(<;H`"06`-/_ -M"LI=.@I&)&!D8!YH)PQC\!]2A`++23`%@O_A!>=_J,1_J,!_*(/,>AQ/Q0L' -MH'7ZH+E"8R"6AHIQD6`#$S"UL`!K5#8&=@8.8,V"56\#@X,$D`"B``8',#]A -M5)RNX@>@XA>@X@]&Q>DHSLC(",00%@,6@"[*"`5P/@,!_1CFH>I'!R"WF4"8 -M]<"V';@-\1\"_B"K@Y0[]S,8&!XL`&(6!H:'-D!\@8'A";"]_%B%@>'IF0<, -M7R9`E:]Q#?%0,-0ST3.T4-#553`R,##7-S#5!_(,#*V,+:U,C15R*XLR#0W2 -M4Q72,HMRRQ.+4G$YD3*@`,2R_QC`(8,:"JQ06@.*$8#1Z@8#HX4"`Z/Q`P9& -M/1\&1O44!L8P8(\G1(.!T?\"`Z.7"@.CLPJF6'P$1*P2J*<$*);/PL"8?@(B -7UES#P%CW@3:>I!B`0P8`1^0I`TAI`@`` -` -end diff --git a/sys/dev/mxge/ethp_z8e.dat.gz.uu b/sys/dev/mxge/ethp_z8e.dat.gz.uu deleted file mode 100644 index b810dfa5e1a3..000000000000 --- a/sys/dev/mxge/ethp_z8e.dat.gz.uu +++ /dev/null @@ -1,1089 +0,0 @@ -/******************************************************************************* - -Copyright (c) 2006, Myricom Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Myricom Inc, nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -$FreeBSD$ -***************************************************************************/ - -begin 644 ethp_z8e.dat.gz -M'XL("%364````V5T:'!?>CAE+F1A=`#LO7]\E,6U/SZ[V81-&LF*$0.B+HKM -MJJBQ8LOM"S0*:-1`HJ5M%"0!`P;DQQ)"#&G8A`5[`P*)BC1*(*E@;ZRH\1;O -MB]X7U<5$&S7)QEYL4XNZ8?3RK.L:LY0$S8]LKF+7*R8>\Y?VLR]_/JOR\SQL\R5PGF=4;_(*Y -M5K.,MLK/V8:QP)?.F'LG'U)QA\V<54V@O+VLJZ&7537$YJVZC&5TXIV[65II -M/0^WV8,LF+*BOO(%9JF:R,R=11YF_S;1DIQ%M&Q:QJQ[EWC,?,O:^E?.#)DW -MGF"6UHR9K#7C*//63V?>0)!M7\926P/3F'=3F!$^[_)I>)X$3#^SES!VG"5G -M[@`>G\1I&G0G3SOL9(SD1.]&?%QI8[:GQ_)^#AHVXMDXEO==M8.E`]Z&_)4^ -M\R/YE+\6\3?N8+8#+K^E=B?O3RMG)GL%2TP+,A-X6-B(N*O219X6']N\E?+P -M2^;]/7S)/'_XY_.^YC^?-Q#Z^;Q`U3IF#5TR[V274\C*UN6$K$+,NOX+9ENP -M&G44_)BM7\HRPLFE>=[@AVQ!)>/X7:BE_?Y9/Y[.9M\^8SK+^\G]^#=C^DV9 -M=UV?-^/N6==/O9U=/X/E(%Q_-[O^/ORZCUU_/Q[W:_0"/*?RLC`#KP%^-IO9 -M722[U)=)?R"#P(`[Q0K^+8/N%.*_G'BQ7TDP*4=;FQ@#_P&23T*E@&E29<13 -M5G@"/RU.(!R(/^@S%V<)V0&^K3*+\;W9)HL=[7E'N!4FX@ -MMMQO34#:&,(CR_Q6.NHXA])]+*59S2_S?BM3EW>^H%FFIR24"YBY*LV4/Y#L -M8DKYEP!F--)+=7PW@U8_E0^8;P/&C'H?377>6DGM\5O[=&4>`MPUT"D3X>?) -M:WM(MY`O`;#=.MC7"8[2D>=ZP@T8'?^I5K0CB\"U6>(";*:$3;7K8*<@[68? -M^]8!X#5'RTW--BC7K.#ZOH)KN0Y7-=)^@#JB=IR@P;5#!V>B=,C8K_)KU-9. -MN],/PQ8]?YH[6-#,K/C=%*QR,%ZSHN4ZC%"N92S9&SS``4P'XYM7 -MM)QU,P;:/&=Y<0)H\YPR,P[=[O8&BUA!R$PPGK-GD;9EA5?`I*SH$N\U*WS< -MNJ+[^FHVBO@(0Q^]0=BOX.\B-L]`:RQ1V(?YN-#K`TGDRX^PFO -M#[@^EKA6$IR?T@F7BH=P#-[*.<%[@Z7(LY*=W;S"?W;S2AM"%M^R\GZ2+T]9 -MF1?\*KB)>5VR5O*[=1 -M/-A-Q.^6D$Q[%?GF#DKZ6KAUI2?DM@,GKR;Y0M[5P-U"NN`M#S*>O-(#FKJ1 -M_]A929/_]$\%[J^`9_X@E6M=Z>LLIV1M"U*C-L795U(W.:M+HD9"]T -MZ&6*LY'>D,Z0OA0$K2QYO\O9 -M1CBJ$!<*UJRR!:VK6LXD,>1I(+F=33,%$]+*JQ.[`B^PSN(#0G<[^W,0`FS. -MR6#:0\5L-."^(AWFHZM9SN=A/N?D6=Y1N!7P6TD6F=27S/YB`/&#O+/X9=91 -M>`!PGK3@YE6VT.95]G#RJJSPYE5YH>153<'D52U\B],.V24+^:8TS[^QF9Y:WO`CUZ,PDW>>;G7F`SU/@"TD_`.-$J.9;5C]_FMJR -M=743KRE!O36(]NHM?P'R979JK][R4E:P;GPUWJMY,N`VEPB[PE-*[T!KAZZ6 -M9IW=7%J(@+J@_"\H.EZ:I;4GC%E@\A.MC"4AC+*J]F70?>%D'_M5!MDE_)Z* -MW_W*[YD^]K3PE\C6.%WLXA/LPJ$0VCE^I^)W,/>:-WFXIOD@9#U(-H"[I\"N -MLZS!P6(K'W2D\I2R)'XV@_KJ-+R/!MV3\!RS^Q1+1\C8[0Y74S^$WYG\L8R4 -M[65L65IW&^QL$:2QC9>$>C -MF[>$!AUFHE.EA6@#G9>=8&-2?[0NB[U=S@Q]LD'WF`C_<=)S5)G$25^NRBF. -MKV2A]A4J0U^XC)$L,JJ"_'\AQVI7B%V6N^X*[NWG'F_Y%ZP1Z:Y*'D9_U3]0 -MQH.[T7>&D]?Z44:WCUW5(>MB5>8VZE.M:_N!ZT+"U8G\H+H.L[5''F.(L&D?9AI!EG*SR@K);!N#S5:UG$R#;2T^PBU94E?/CW'V1 -M96_%$/K"B\I];%-<62%_7O@4[ZLMB\CAL]QU84Z_O>4AUHAXXAMX/"J_\65: -MIOA@Z78./]US>9!^3R32T0ZS!M`>R4>$OQ&`3S\TZ$Z'_S/>J?I6WN`L:IM9 -MZ0CV76B#@S -MNQCO'1$8X,#[44V>'PV8K_T5XORQ>2YFL7DNMJGOH*_?7D9\C?T`^9L0JF6Y -M%T_1X9BIPS%W.*T7%^ORE.ORU`RG]>(&79[]NCR'U'?I7[),Q'7K\OAT>?R: -M]XL&W6,C_%-=AU$/P$-Z"QTDNTQ^P$FVII(/00>`?VRFBE_5'0$O]:=/ZL_8 -MN1$8N#-M]@"#+/M0I_W>P"R&<0W)M)YT2BTSK5+J#8U?U#)]T!7J$S3ZV4ME -M*64<5,L`[E[2'S%F`WXE7Y:4^UA?K#S&^F/E<0G3RG#C3O(Q+VXC/39LE]95 -MK.HTN[PJS(]!5Y^!WB?0$SPDY`Z!7VM%%HUWO948FR8+V(L`VPN8QQ58>EJ4 -MYRAZPE\)@>8&/_E`5A=3WSG>\9S+-U<8MCW0?DBUIV'TB:%3O+]V)>KB)+L$ -MON$5G>P8ZZS\8W757]E%\'T&R6Y@3#C.6WT,R(ZB; -M:M!K/LXRUE(='&,9A<0/@@EQ]_%3?#XGOQ;]M8]E;.749U-PLT+EW0FX+'XJ -M3##5B$-?92(;=@AE;_*Q;]?)\5)&'N&*0X.3QM%D1X#K"[O+1'0<%C8'N!K- -MLH\,@]8][G`Q^L/B\);*J>*WDD9TA%&^(?Z(#1KWK&+'"L-69[5B?_O`:_(Q -M-JX>[V9N'C?ME;#??+A4[0+&U1N$(@1`C*M6WK<*'@:*,&X;5Q].AGQJ2%[C -MEO.!26;U=^/?:0PYKAZRJ(];'Q%:Q_](0ZM30ZOU&!L_5Z&U+Y;6\7,1T,&- -MGXJ0K;QK0^J@>WP&RD^7=4)Q*(-D\7=F#9_-9S0'0_$D3XH/PW?!^V2DVTA7 -M:L-2%[Z)7T5]U--DOX0]&E^GLVGPD\;O4]MPZ42646KG?2/,M02>1AO&>+J_ -M=8+(ZXOT930/XY;ZT\LNO85XHGZ&[!;Y2XWXW5I.>2[5]G]DMP('*H8LE)_F -M8V3^\8%X-D+,?]2X'%T-\,,AY.491K^]E3]@7L!( -MFWCI@;9R.?_1YOR:#5`=EY"N7_I9:Z6?Z-KO,Q>7RSJYU$?E#]2X['N(!^(W -M,)5@8/_''U3YW2[&S)?6C$"K3=K!"=;8/BL1MG/"A%C;.6%RK.V<,"VVSS*C -MSYJ0I\M3J,OCU.2I4\K9I,NS0Y=GG^8=/$XXH-;/@)B'F]"F>3?37`KB>M0X -MV&8&GR-`.J'@"^AT#/"766-IN"PCEH;+')%^$OA17V\=9Y>+]D3S=6AON?0. -M7/6`AQPNR]?A*];AT_;_-KS7:'BP)60P$_2E#_%-:CSY2Z"WKTK,@6;17.N8 -M8^RR;>1;*3BU_@]3^-+U?Y?I^K_+F8:O0-H&=E]:\/X'R/<"7W[R@>`+9*!, -M&\WO'B^EL7^M[$,_VD-C+XO'=8SP%"8,,>O`9I?=A]^AS2Y'N,:5 -MY6.7UT#_#&V6H6TWL[1:=[C'&PX0SJVRWUKKX^XW\]&G&/,OA#/LWC.4G%Z7`(G<)E^2+AT\4.H_S-IP>K\X6GV=.Y.N-\@?C)L -MZAD?LQ<2C9KXF=P]>B[!^Z@\Y#'NT]?ZUHQC&:#S-/*.%M7S@YC -MFNW[0?/I.#2W"]F90;=Y6!KYC*>%7&/C@U7/H@\S,Y'GAY71^I#I$R>DU;.\ -MX65-G,+=HW[H8Q.7"QV)QN=(&B`+,\D"?"!?O'I4^T*2PZ![(OQ_^W+5-X -M0L:\7)5AS,M5F:`Y-%R7KLI&O!%\(7<;XB^'[P;[?-5^\N,T\771M@2ZD8=\ -M/(_KNXSH.6YGYI'D`?Z_.LXFW1S:+R -MAFR01[/^.6(8N0ZN_KLB_P]CZ;C::2S_JVOBR__J?<;RO_H0R1\\^6/M\=5' -MHCQ=3>.H-.Y.NHC>OREO:@!^4^-S\._=IHG_2/YXH6Z\\;PCQK+,?CGY"=]^ -M';K3@]\8ASH>"KO-E8IL/SW.OG.3E*UC>JP\OMUA+-MO]T*VGQK+]CLL?K_Q -MG0G@_]/A^OV=*3(/VTAYY'KQ=UX@&*G'W]E&Z:3SFCS%P)4?U?7O%"DXM'BW -MIOF-=/H[^P2^@)!/_AXJLXPQX#A-B";AZ\#OGDHRZLI@-"=;=9Q=>S>-@Z6LKDO4\==G+*MK -MX:RQ*F-973O!6%;7PO]A5&=C_:Z/V -M?SRUB6N%/\4'8/_KV2CJ"Z)]0*9!'W#M(>,^X-HCQGW`M?U2CZ^SQ^KQ=99H -M'5_3]W_4!]0"[Y_0#U?+^IB\.9:6Z\J-Z^.Z.M1'K7%]7+??N#ZN:X/<:X?7 -MQW5'OUD_/-D2VP]?%_CF_?#D+.,ZF)QO7`>3G;(.)N^+K8/)-=$Z@&S^R3H( -M4QV4L<;C[/J%>$+^-UZHHV/(6/[7VR#_1F/Y7S\Y?E]Q?3:E0G/COEA -MI4_GSUZ_7)45:'H5[R%)VPTG=7`[9#FF'QJ4TP+Z7HU#7X>Q?ES?J_0UK_)D -MO8[<0.NF!G*X(4/)DR]H@/[4XNFIH'G(&T3_!SJX=RA(^I!?BO&*`=Q\+1RM -M#Q%LFSW$#&!K]#CCP+7$PHWZH5@O0#K!ZW@X*G7MQLQ87;LA$-6UZW?$YKG1 -M%MNG31[Z/[(';P+WY](69/Z;KLQ-QKIX8P/X?-.XKF\\:%S7-\+_96_RB`YF -MC=*E^XW;:Z;5&%^F77DEZ>E.^[-\Y2RN/P%I56!W.3:3/*IR=1=J9W[#>MOX[P>IXM=?H)]5^S] -MH_?1&TRT7\/,-S[:DX;?C6X^5&OFW;5NWNT-?DU^RD7'V'?72_KXD)3%=TL) -M=M#]W?WJ'%>\\F@_#N$>:6X%>`*00;8Z_SOHOMFBKGWAMPUI!T=83[>J:PR` -MG:;%LU'&Y:EK6?@]_QRX%'INWJ2C9P?ZN[D*CJ:1<%`]2?VB>KSYX+GF1FC. -MX#B;\J)L3U-T_L?-0W+N2_8Q"X)Z?9N2D18PTK@I8NS`Q\AVA?0\7;Z:6+V\>6BD>43)VRVW2]Z^IQL73#ER#MX"QKS= -MDAK+V_=T8Z5;1/\_,*P/O66FZF?9KR3_Z99GA+_56,`GV8W\K5M*(_Z6A)=C -MP4;X6TUZOS>+M0;U/M2;KW -M4907P:(\$W7O2>=('Z64JY9OT;TGGB,]Z9_,SX:]QZZ3WKVR;.'RI47VQTJ6 -MEBZV+WSXX<5KUMA+5]GON/W^[_[`GEE^=?ED^_+I5Q>E,!6R9/'"HA$!M7NU -MIVS=R=BVG<(6]7+9T8X?,S5=QS):VK3+V&"+VAJ9HYE]&>MJFS -M^!M^9E_"S,?8BKO;H*WT[NT+,GL5LQYGN9\AS<1O#2,NH*S93WV6XL3ZJ/O[ -M]0U/,6O#3GYT]QAF:7R*UO6F;O69%XNUJ*V(][$5V80791??6&UF6\N89>,I -MT+>2<<35M1:'6-47M+X]M3UV?7MJ'6/3CB#X$#"^FP8]FPZA3H?_.AWM=3KT -M?3I\\^GHCZ?#!DW'^&-Z.4(U`FS.=.2?WH``OW)Z&P+ZS>G`6^L1(+U;FQ&0[]9#"-T(\+-O1?FWI2(X$&8B%"*@S-N0 -M[S;DN0UY;CN(X$'`./XVY+L-?LIMZ)>S0'<6Z,X"W5F@.0L2R4*96:`Q"_FR -MD"<+>;)`8Q;XS4*;SJ)\0<9N1S]_.^B]?2I"#@+HO7T3`LJ\'33>CGRW(\_M -MR',[:+P#XKL#/-Z!?'<@WQW@\P[XZW=`-G=@_'$':+P#=,T`W`S0-`-X9T"& -M,\#/#,#,`%TSP-,,T#8#8[D9H&T&P0/W3+3XF8"?"7PS`3<3\IH)?#-!]TS0 -M,!,PLX!W%LJ?A?)GH?Q9*'\6X&B_#M1_IW`?R?D=P'_7?!A[T(9 -M=T$V=Z%.[@*>NX#G+N"X"_GO`@]W(>]=R)L-NK(Q;LA&W6>C'K(!EPT]R0:O -MV2@G&[#9*"L;]9<-GK+!T]W(E',/ZOL>Y+D'--T#>NY!G=V#//>`EGNA%_<"[MYI"-"I -M>R&'>P%[+_BX%WS+\J:U -M/_T<8S[8@(;QS$+?#=%OFK_$;[_RVQ3][:#X(27>3/#TW1'!B[A+19Q?B3,- -MCW-$X.@YL*LX@7"H^95WOYJ7WGVP2?))[P[DFW9$>?KD)>E7Y10GS10_S<&T90B^ -M-303O9IXOR9>(Y?I;2(]!@_)8WJ#\FQ1GJI\U/I,5,HB.2?JY*.-,PV/B\A' -M"Z?*QZ_PF6@@'Z,T4_PT(9](&1KYB#@#^:CQ&OG79K3Q; -M8N7CL$3+7S=IOR[E?M#]&BL1M)$;OA -MD^U?M7/A72+-KTLSQ4]S:/,-Z?*9U3278D-(QBY)-]6Y.7QIM%R78D\,8$SG -MAM'0H>%7M<_Q>`YKZ\&`;VVZ#SZ4:M>B^*6=)_Q(GR3?[\A2GC:U_2KPB3I: -M_$I9B0;RUZ;IY:])&R9_;3Z]_/T:N27&D;\1C%[^!C`Q\H_P:R#_&)X-Y!_# -M=ZS\9QQ5[4(4OU;^,_;)]QD>Y5D7*W^'7O^5LAQ&^J]-BR-_AY'^:_.-(']' -M//TW@AE!_@XC_8_P&U_^CGCZ'\-WK/QGS8^5OT.G_[,4_9^EZ/\LF^K#!2\M -M'D7ETU-K/S7OIMAWZ<]ITLW"3BIQJFPC]GUXO,DXWL%4G*J/IZ3'^'E*G,;F -MWGF0GM&\Q-^=],>-*EQ?"E3?-A'*;U#57]4=(4N=ZER/.N:K7]JK93 -M4W:,OZ4I-\;?&AX_3)XJO%Z>,;Z?@3SUZ7IYZM)CY.G7VD8CG@SD&>$K5IYW -MV[2^9*P\LY5Q2/:0\NR.RM.AU\\8_RRV7(>1?BKQ1O)T&.EGC*\87YZ.>/JI -M2]?+TV&DGQ&>C.7I,-#/>PJUOF>L/._)E._W9"M/>]2^.9*D+7$DQ=JWR+LI -M]EVU;Y%TC7US)!G;MYAXDW$\V3>'UJ;W*>DZ^R;B-/;MWGIIWQP:?_+>^ -MD>QRFHSMFTASRO<<19XYA3;'OLAUJ -MTB/MD.*,VJ$NWF0<[V`J3K4=*NDQ[5")T[3#7#L]HWF)KURF/,6X[AB;FD_S -M\0/F--Y:/(6)N?>=_,B>G;Q[T)UG];&U3/GVH7L;XEOMC-%\>]MRFIO/<_B8 -M=9-^;IZ[OU?^BJLGD=:VNOK[&3=_O[SJ7]&7Z`T>8T_OY`'Z;I/62YW? -MIG6#O'77[6`V9=U@7%NE?MU@^;O#UPWN7RKBWN!!@N.WAH:4^-FZ>+^,O^]) -M=9WA_:,>T/C]MVBM05UG:!C+?;O'\IY=.WE?'>A""`RZ[[-&UAZ0O@WI9N3O -MZ/,P<1Z/B3G#YDRV/-8Q@#+9:Z,T5)UFJ?0-N,?U$?$]'3+UB_,$3O__XSP!DC/)RL?N -MRR"Y@O9#5"]J_#/B.[1(VCY*HS4=;W&(O;0L9-YRAEEH7<<+^$8!A&\&'X&?L)TCZ209")D(VPER$8@1HV$\V(=0AU",T(>Q' -M.(1P!*&?L7P+P@2$:0CS$9`G'_#Y@,MO1T`Y^;T(!!M`"#+V0"K")`3D>0!E -M/8!6\L!6!.1YH`,!=#T`N`=!TX-H20].00#L@S,17`?`NAY -M\"@"\LP#+?/`QSS`S0,/\YP(X&$>8.?M0&A`0#GSVA"09QYHF@]ZYD]&0)[Y -MH&4^ZG<^X.9#5O,AJ_G@=3Y@YX./^>#C(?#\$.A_"/0\!`U\"/@?`LZ'`/<0 -M:%@`NA>`W@6%"*!A`=(7H/P%*'\!\"XX@`#8!2B[(!T!_!6`IP+`%0!/`>16 -M@'(*;0C`58CT0N`K1'F%H+$0918"MA"\%X*/0M"U$#PL!-Q"X%E8CH!R%H+V -MA<"UD-*!;R'*6PCZ%ED1(*=%D-,BX%R4CP!Y+D*]+4+YBR#/1:!O$?(L0IZ' -MP>_#P/\P:'T8^1Y&OH=!Q\/@[6'0\3#TXF'0\7`?8T6`*X)LBH"W"'0609Y% -M@"D"_T7@OPAT%;4@H)Z+`+\8N!>CCA<#?C'P+0;<8O"U&/@6@^[%H&$)8)8` -M[Q*4OP3E+T'Y2U#^$L`O`>XE*'\)X)<`WR.`>P3E/P)\CZ#\1U#^(X!Y!'@? -M0?F/H/Q'FA'`XR/0S4=0QB-#C!4#=S'P%@-O,618#'D4(T\Q\A2#GF+(I1CU -M5HQ\Q!GF6`60;]6H;Z689Z -M7):'`+J6`7X9<"]#/2T#_*/`]RC@'@7MCP+?HZ#[4=#P*&`>!=Y'4?Z/Z0D: -M'@4-CU(>T+X<92QW("#?#KDL!Z_+HK\2;C.,=,?!G"Z@_ -MCJ5)I9/25+JT<3[8,7J>+7"8HWS]V"/??]Q-3^([@O>(P!N1`>CH4^-`"]/$ -M^S7Q)N-XAQ9^2`,?*YNY\(5)9@7PA2$WO:P-TDTCISN&\1,C.QU/,3+4\14K -MRY_T"Y@(3JU,?W)(OO_DB/+<3W(%+-5)HJYL$6<@3S5>+T\E?I@\57B]//V* -M/!+CR%.?KI>G+CU&GJ),`WE&>#*09X2O6'D^,$V1IX)3*\\'4N7[`Y/D,S\8 -ME:=#KY\BSEB>#B/]5.*-Y.DPTD]%'HYX^JE/CR-/AY%^BC*-Y>F(IY\1OF+E -M^>#6J#P=.OU\<+Y\?[!4>>8H\B3[DZ0K6\09R%.-U\M3B1\F3Q5>+\\A1;^2 -MXLA3GZZ7IRX]1IZB3`-Y1G@RD&>$KUAYSCNJR%/!J97GO/WR?5Z;\FQ0Y"GX -M4^Q'DH[O/M<1::>(Y_"G,>E^7;IIY'2'/O^0+K]9F^Y2;![5B^M(A#YSN""6 -M#I=B_PS@3-\,3D>71AXDRV\B$WV?9B27V'IZ:*9JEZ-E.'%'LR -MOU^U)TJ>1`/:_$JYB7'J2YMN5%^:=,/ZTN8WJB^_1KZ)(]27$9Q1?1G`#:NO -MB#SBU-MKP0%93PN4_G1!0VQ].8S:EU*N(U[[ -MTJ:/4%^.>.U+F_\<]>48J7T9P9VCOASQVE=$'B/7EV.D]C5,+K'U5;@OMKX< -M!NVKL$C64^$FY2GZES.?TCQUE!YZU]M[)C];I5DO-Y7N6%DMRJ2GQ*/M+Q99Y?NB"?*Y4/5GA"^IXJ!\\?Q3 -M)YM#GB_&_8]+B^.`Z&$,__-PP.CHT_OBY>%;K(1[?VG0?QMMZWUR+ -M'^F94NX/YRC/"5K_W("68?ZLAHYA_NSP-$/Y1_QU`_D/\]D-9#O,;S\WS##Y -M1_SW<_%L(/\8OF/E7]2G]^5CY5_4(N5>U*$\&[3^O#$MCGCZ/\S_'9X63_Z. -M>/H_S,>/+UO'2/H_S-I[?/`L[`/LMX8_L<23.PSVJ:UCX[8GU[#VS -M@#F'?8X'HZ/#T#X;\QS5/V.^M>D^MM0:WSY3>G&WE'MQO_(\9&R?([08V.<( -M'0;V69]F*'\#^QR1_PCV.2+;$>QS/)AA\C>PS\8\&\@_CGTF^2ZKB6^?17J> -ME/NRY*>$H_6)CRJV()'A6X>8WEUM'Y(:T^1M4[-FM^@>WE`7>ND -M-'OV.<1N&9\SD;1FBGA:)TO\DU3SXN3:Z+W91A] -MWZ9^:Q5RLRM"=$Y^]4?,6\^KNX)'V()29@XG//I9K9NWWU@IOGEMIS7,$VS% -MXP4!EL0W(LW,V]/*6;(F[1=4CIHOK9*9-6F_I;3KOV0F_"[6T_./T;+RPOBT -MK+P^/BTK[Q:T]#.3?26[\$NV0IR9Z3VG&>T>77EO#8" -MWLYSX/TB/MY5R;0."UFEAN8^R&0$R>A7J:1@=5FD3Z!BU-2#-KTG9'ZW>5/5[]TGJSE[ZPFLA8 -MJX71FFK_CLAWRZN@_ROR-><$ -M\LSR+A)GIIHWWO?15*Y2IO]IL;;N+%+S$&XZ5S(,_1/G)`?[:8WZDJIU5!:5 -M4\B4$?@;X1R5^>>G -MI'WF^MASQN*=2XPVW4?GR?HW5^3D!GD8]@]]QQKH?^D1<^H/2//X<\- -M#?""D)4UGB&ZU\Q5SQ.0?*R!_I<4T[L_X=HQ"`[#;]A5?,D5.06A5(%+GLV] -M9E_D3@-)D\D;O(4I]'A4W'HYZ_E:M&I5:4')8GHXKEY[38JN+E*I[KEYC8_V -MICP]1CV;H-2N[HNALR2AS[>1+E.=(VW:X+Z&R'@>1]5"\F -MOOG%?.0K];$U@1'.H>P+;7'5V<_.N*'KH/R>3";[*K]!MT<*+CC:][ -MS,=9:3O?O+8/]>*)2X/FC`DZ)Z"7@82XYXZLGRKO,UA[2QN=HS6>_?LQMO8F -M2P;+P.__P&]Q=C2EQYM^=$VU/"]C\]XF(UJWN;F3SC<. -MIS1W5ZUEYE?/^,RC`^AORYB9[ID!K8??1!SX+^XC//1 -MN<`#*159@^ZRFF3S;TLH?,H=/\:ET;P8_Q:<0+-XSZ1W/R?1,V^#9G19\B*$=YE/; -M0_S(0T]+*T\ZYO08TL+9OU3]!`M -M%#?H+B^/I:<\4O_:.J1;Y^Q+U]C7.E-B;!7@#_I82)R%'J9[#XC>FK(,.BLR -MMYR)^U&$G=B,N.2]A0A-9$MG75/%D3<0L:<)\_J4?":Z:Y#.,RLH1[-%/IY` -M]G6=W2B#SK]9+LO(`.RU]PO:T2=PT2?X&?D:1/L"\M?A7X;11Z!M%[)O>#9' -M.*5LQ^@--K;'',X?'3#1/0KY=>K="4BCO8&-2$L+FJH;-6FU[K"OUAP>@GVV -MD5TFOZ!1^`X5A:I!AF6#M(=$Z8NQ,UQ\C#==Q@F&:)L]+.%3A?Y -MR163B':EGE-)'R*ZL:4\/4#=$'^WK1-\W -M5MS!(_K'GV89\_?3A4;\<3/Q1_KS4]&';%?HI/,X^UG%D*!G0S7I[@S8MCJB -M6:75J+[D&4F$K]*"?(6@ISL./7\?6=X_?9OR$RW0)6M:$!TLY`0::HS*'6UJ -M,NTQ&Z=Q:H\NZ;N@+7&T1TYV9-!=N5QM=Z,WV!.HG]H#'HUPI)GJZ(RL&6A' -MANFH-V5D(]UM(G=YD^X+F6T,VBA?AMTE1]GKLNH7Y'W`U3V^MCCTX3_ -ME5QFE3Y9)>S?$Z51'VV]U4[TD+,E!N$W1LC[G3)`%R/ZK=Q]_1DU*.XQ](,^%,W9K`! -M\/B,.=Q,=)W:.+[YWV]@EGJR&7IOAG>HV_8TX5^2-5 -MXV@LSB^%W7./DF<'AL0]F6GPS?VP#2?)]T"]G^RJ'Y+GUI31N36NSXC^&P+5 -M[(82.D/8M:^UE/;1564(?+ORS="92UUG -MK2Q=7+*XR)YS4PJ;NW3%XJ+K5ZTMM3]6O'BEO63QZK6+UY0N7?F(2+UCX<./ -MTN$[.9F3[22=@OMGS?AQP8S<'\V9*X_@T8>ZN\LZ6J(7;/ -MDG@U*'`A;%7JW@]XVE5X?XE6[`-LW^@2K.IEFLJ-O?#$/;:F:;(F\ -MQV?#=/CBZ%.J(0N7N$]6WK59+>P$P=/=/L=8M0/]=U_:!CN=U59#O]4Q3YJ) -MAV$S.8V=R>87!+?0.-I",'(<5#U?,PY*P?ORB(\'FRWO_JFN5L]+@]UHWAZ& -MGU#&]]>6,+JKZ%*Z.PQU^[_RSHF*;&WYN2$^"N4U*66UJV5)?:N:!#MF)IU# -MOIE([U/UCF1$ND=],[N;=QX@/EH/\.PY?@=/@-9N5L*O=G;1.8Z(^?-H>+GW8CX$D^1[3OYD.21[>O#66BGQF*-Y\CQB1" -M%S>F:NI+W&$4.L6/0A][T"8M--=#]VMM_YK1N:7'<]?=QFF.A.8&Z"Y"P%PN -M_`+`S(%_TA7XG/+W[/E2Y7-CI/\;^';"P8%38=;:\%WHV$;P[Q9W/0&.#6PQ -ML1W"M]C8H,:#AJ.U7],Y7?"!@)/\7=<*=CG=0Y(;NHW3W:VN?MX+/])/O@K! -M-WXM]*V'?&&:*R$:O.6S%+]EXY!*RR:\&\FF#N.Z03=+&MRXK&+0O0GVOVR^ -M.@,#^GV,_2P3 -M3_1!/YLH;7?BR4'WX]6J[<;OK3Z6(NZT'DB:BC;U>(-Z1R2O6>U7VS5]$P3^ -MLL*;RYAG)=U%M7D]W[S:SU-6U$/VJ=0WEW[!S!?TTUU5=";BXT.M]>)>*3_= -M.]7+'F^#;V7SL\#F9)'=X1^:\PY3_%4M&VJWO9 -MS\1:![5!DLD9\`\9-*&,%OM*=@'D_!G)@/J4/6?$N7%I=%])NKOJ`[F9N8M[R&OA6S;J]@MJH`'ZIR\B&ZD[?+V<#>"^Z` -MK:?[@FKZWR_?P>#[)^/WR_8?4UG_7O?^D=^S]SV_9_8'Q7M31_Y[K"/K/5;5 -M*VR,&>T>9=0`5Q.#+&WA@8P4\&^A<6]7`/W(RO\F&B?N^9I9/2O?$K_%V`[\ -M>HMZ:*P9]/;U,.I385G4_&A+2OY_[Z7\NTD>H*ESKI1)1P]D -M^F-%/OE:^?Q[%LF'[HX*EWW1!-JR((.P6@;5OS(FL,*6IGI6GB"=W)"69[&& -M3WW94GN26:C>A,T0Z4+F-5)G'Q?V'754@W+MJ)\F>DK]7$5\V)3[[Z+Q6U:E -M!7EQ`G03NEMC#V]>/U7<6^I^W$+?!-*W@7N>8JE[QC`;]?G/B7NW-F>H_=Z6 -ML70.5TV>6=YU:E-TVP:8:3Z6>E"9@_"K>NZ'GOM)K\6AKOT7.0UH([V\IK0JZ6!!JHC[#>"P)OPA]^*?27WC"IOI$ -MY^"AF&]9"ZHR6'B+NP6T5/%!![NQ@N8;GLA"_Y6EX/U*P5L\$E[R.3M@HR5/ -M[J80<(=2W#[8UZJJTRSI.-OZ.LIIZ@IVBSFJ/6'T,U]E,&7.M>I+]L2S&*/: -MX+O1^+V*;!CY?:X02_*6DIUM/@@<+[X]1/-Z:),\P_S;4SY&/@[:F97&FJ,W -ML-NX.4W,JXL@F:^=V$+]G6RVA^EUO7]C?0_$7ROCI_\MYJ -MCKH;=&_-\[$M^$#:TJV_]2>[JKE<2S6%RT(MM7]G%BF7K;N[^@<]O,95 -M36MB2AEI*&,%WTQCPZV'9!V)WV0#3,&SM*?@B6##&1J?/M',W5=X!JRNZA]F -M5$,'MW;[3%OEW;/*]ZEQY_EW9:1X@02^3/H)5GO[&3#:) -MY@@0YR@(V9AVGF#C>#8YMMQMJ7)=JC:+GH_YV>7.6^ENV>UTMQ/'>-:0C -M7<&O/%6E/.Q9]C7:VO8'/"7[66YO4*YKSF?^1N!K',]LP+78NUR,W:_TE!P@ -MW.O(YF^#?*3MKYWL'>IAG6CG&O2!4+61(]$;FAQ0^O%\+ -M?&U><*#RI,I:ZE>MR5.RCU']$#Q@_=Y^P'X16R\$`]B)P/M]FO^D-#D_%85I -M`#^05=$NR$B.%;=O(UI];/M6;^E'AO:;;`#T?D.7F*.K73\G&.;2KM5EPC=J -M\N%)-D'8E1OH+L*ZF]),LGZ)%_)+C.I8,P]E(UK5.L9X]F"8YA/'0]YG,YC4 -M/UX'O!,5'RY?Z;_R!Y++ZOA/,YBZ#H3VN[5`KJTYR%9A3-LB=;,N4\D[5_I_ -MM7[DGVO(;P+LCQOF&OQ0G\=AL^`7)7D#9YB\:['N9?BG27PP2MOYS4?5EB"YV>-/;O;)=E/GX\G2[A8,T?W=Q/O>)O*' -MB>=!]Y.HO[7[95\L<<=;%X_P!IX$;^!1\*;E!RUWTE -MYIEKQ=Z;$\SN2OC+,?;4NQC?.^0<[U/]/K9?SC^!?RJ7R;45RZ#[:6MT3N=) -M,>*P_]^US)]U?*W)*DF^B7]FU%"_3LXA-LQV]#H)WH#A-M*:"1;!#- -MYW_E&"/H^\IAI?,L\$Q%?#K\@#S00W=LF?@JARV<["H.?^48C6<1\&>9KT&E`[_SX]%^_G)X)A`/U[:=XCR0JNT[ -MX2^B#VK-H'MX8)/W!=B:W="I+]@%WN!LUMJ0R3`N3>4#CC%/0W>B]9_`NP+( -ML\9AJ]VI^H8[?UL)/<2XG7X?FFGGP1WF<'&#.UP,N^%#_U>LGF,B^M1R9@YA -M++RMA$V&;F:F^:6/(/N!G73WMTTYV\2FG&TR!?IKD>D_ORP$'UG@+6&3&KZ& -M74/_6O"Y]`5HW#&[/XV'_N9@NT]$SS[QKW&8][AY1KRYQ=JQ8OU#[!EK'`-] -M&8A>YD:VN2ZS6M0?S.(%OS\ZWJ&3#&=F)?W8VB[]YWGGWFS_?']8&! -MD_3@'\-;;QFAO[2$:Z3/'T["6,0_Z)'SV_75WDUAC9]?OY#2*,Z+^L\2]5[? -M3+Z_,GYZTQZ)D_TXV?)&N6=L]*"[WJ/:=.K7Y/WM]4=\INT-(^QQLRGWS9OE -M//VS%M7&$PZ:_UZSCDWXX3B:;V=T;WN?['>>G1R=@\P2>E%+:>1CF]$'[11W -MR??+_N=KI?]Y]FY-._6,+U'6TW.=>'=HWIFNBZ -MRW.="BV=K4[&Q+E48^E*9"W^A)\P%U -M>*(?>E&,Z3&&RX"?;!U(?MX3;U\6Z3_-<7@W_9C\*Q/-M9Q@NPYV8AR4BUY^ -M39"?L5_.1AU#7-5N6N_;M35VO6\7VNPNR+\!?E(#)-*`]X8VQ!V$=%('W;O@ -M_SXG_(WS:[.4'_5!XX-D=YWDN[D=[U:>W#RD\-V,=YN]"GUR\O.4ELZ37RK$ -M>#B#Z`TG[ZO7[DTCG"0'?S+RT;VPWTXXJ,J5X)#/0G!AX)`^`>"!0X6/U`&= -M:4;C)Y6LC^*&T/<)O;3CJ -M8YDUBNX$*%_MUU2_**L$?*(,+A -M*I&4_#;4QVO+KHGPLQK`A1QW3?-."#!O0YB%M^SU9+FX -MYSC;_4'74-]Y^@V[9?]_IIIY*[_+J'_[DC6:O'YQOQ9^[Q%[WFG-C/I0C'&+ -MU3%NN(+V3R`><=Z`GVQ<)(UO>;Y9RFK/;X0O1O0&[_(0S>&:YYN)ARK:QQ0< -M]%";M)?1G-V>9Z#O/+SY^>;SXV&/F).H"O(O_ -M0?>>@X?+I4Z<)]Z#*N][%-X1)^8Z;JP7\PST[H_?7^YMHOX2_=)I*8O&++5? -M.C\Z&K.^01EGE3+V_8-E[!NI#+F&UY1Y_F.WQJ#0E9J]S=)F_^*%H)M9SM8T -MMXL[8,VLVGLTR()6=UW'$,;]9>^Q7M8D^H&.@!@W#9U-V6<[XVZD/63"G]ME -MCNI95^`]YIW?SKS!=K2[YB'8I?8P;%)5+P\)>3CA$RZB_J/YX/'E&//T*V,> -M.O?.O;9HT,WRZ!R\+N<0K4E9:.TFM";?GEN>P,4Y?<&3C,[$P]C&[`WTL-!C -MCC$-92Q]5YBEHZ^P4=_2:'`NWF[:(W8$OT_!MX&ON*L,?N(IYMBE\1/)KS$Z -M(\__F,.LL9D6JL_SD_DOQ!VI0>OS[6=K7BJ$_.I]K*D),IQ@5+_JNO@.C5P/ -M3Y)]"W#UZ?4B>^'*HE5+EOS`?O?*AU>M<"XL7;IHZ?*EI>MT:YNI-%;ETO_R -MRWF"YU>3+W9^O#P_3<[A/%_I,VV3Z\;P0SU7A@C?-*E;+V9!MZ8=8R]DDI\! -MV=5[*T^P[15DU-)G[P;J*GQ+M7[,NB?80*S#3EW>^UA&F\FBCO -M'MU[F.+E/JQ?!,F?'W3OG1O9>V65?27U)U[+*88V/4A]'^$D'4#^:MI7(O>E -M[H7_O[;F_&W:WJU2GGL[?*Q9RM-=)>;#:*Y_ATM\9Z'LAWAAG%BK+?N"YFZJ -M&\]0G:X-*KXDO5O#I[YHH754DBGY49Z2CUCC26;I9?ML-*<`0])/=2V`#AW^W;C=[,$J9O)[X6^PYZ -M:?^`^'[B:[GG@/82R+T/_VL; -MZ0Y(VK]/>_?#*643:/]^:T#HLAEU=5C9RY_P)7MA?72M*J3,L;S0)_V+%_K$ -M',N6O8_8>_L"_)^7)JM[@@#70+@,[T:.C`]^*?OZC>,+PV3+ -M4]Q-8CW>^36M_R7)L8J$&73_OZ]1?E^$WQ]WE=_C\/LU92W">IS]Q^[S -M[VO_HUC*^C^:H6\94O\BJC[^[5Q,^4 -M\(G^-C33DW\9"5^BKK&I\3;E7C4_Q,3-/'I2GP1ZGBK)MZJ -MVE;Q?6XEG5W;7.-C3Z9'87X95/+2&LDT3;Q?BN-XZN=V8&PN]O"(O6R_NH"^[TO;S8_979P?8R\&Y'Z7M?VTQX'VF?:R%S^F -M.-&WT-[3"MI[^J+8`WYC>;7H+\4W@<`K_')ES0`P=`YBT(GM:[M;`^]JM4:<.^E3OH?K$_:L-> -MG*G$SQET_\JBB<^,[S.N:.'6%;ZSIW@@>(H/;?\$="]A9!QB/^LL#K$]P+U[D;I?XE?1[]]``Y57%:9Y\%]]2+32W<`8NQ?SMZA/ -M?9[N0K>#;Q]^-\F`-,3'XTFVWY@#S;]>.61^8Z7''!2V?'^J&&^2WTJ^:D^(]FZF9UA+/.N3:OWJ.,WQ4^AZ%:#'B=2O&UB%E_[7KF<:]=B,29,["P.,F_Y1\Q50G6T?R'U8;37"/"V$VS_ZK0A9D8P>9:1 -M_[C_<=J'#;[;::^UI^0.BOM%U>=4%VO]<@_W_DIZAV[]A:>LV_'*F:%$.>[8 -MK_:)5&<3@+LRGN[:+V?I&"LDX)EZG+TB]HW)>>67DQ%W!:]9E5D0HG']JLQC -M[.6%M%>(6U=E\IK5OJL:F#UL7>WO"MSF*5A'\TY?0,]6^UJ_IOW[KW3PY%69 -MS@K2F5NRH0/9!;[IC>+ -M\F@OB:FK_#8/MZ[V")TJI;V0G\->],KR-J]ND?R_<@'QP*TEY(]>X6T0ZY\^ -MVH\3/E7'/"6"OF2>7$+?,-+O%YGV@>22+"F7 -M5^ZS+V-FHD_*]I6.JK_B';I.\U2R_)>S6_N(!]&&+CF!]X)0%NKRY6PZDQPX -MG@0.$Y[K)/\JG,0%N3@(GU(&VN`K5ROQA1)>Q%^FB<\G?,#?-Y"R/HO2\;N: -M]D<3;MHG`#WR4]EQ['HZK:W'^Z8D.D_[:GK,/*V9=XO]T'(>N%_,7\*.`WY4 -MH]PWZ4>>;'4]FO;N*C"]RIWFIF/LU=F*7W6'6H[`"7S(NTDMSWDE^0PM%],W -M0+5*?R%]KE??5N=1:ZIB)'VL:6_>%3O)F?X@=H -M3R8OXP0GQ)C=6C83]B_;=9*EN.@[+]@.&O/Q9,1O+LLF -M'+2WKNHT&^\2_LN'F-S/^IKP"8^QU[)HC0(!.OS:38I.YOG8:]`'&%#\ -MIB>]0P=M@%D(6([G)!56DUZM>\_2O=N5[];M@^[7=JAK&JA7']$.WG)X2D7Y -M(,D68UAOL(^^\\D!K`?MHD?[C0'R>$3YFU<9KH?2^@?Y-;3?[#C[]84=Z/FV -MT=RFM@-SHJTE0!Z?D]YV]?73OM8T[LX4=S2(/CP08L:O;"S@3MB_ -M+?#<,N]D"@L_DO\M;OY>.6R)]>4SOD2:$W0]RVCM=2SJLE?<#Q'D_7O/T/T0 -M']%=TN83[-<.2R6SU!YG-EI;;@U.I?L2K`UCF&67O*\AT("VL":##PVZ_[/% -MQWZ>+?:7(7XK[:U>Q"PH/Y&^3LC&R(Q/N?[823\OC8?_J1+PUTIN)W#=%*?*+?@O_TGUM;]QE_ -M?\RM*PN#;K'>40Q]^P+RO,@[Q)@7.#OWG&&=&0.L"[]I+Y1GV?^R7CLS['_# -M\+U`GY]PH:WTN5:S#"]ZO"YXQ%YXOX2C,]S'.LO)-WVIN&O/1ZPKXW]$.=2/ -M>DH&1L"]DM;_;0KN?N!.CX_[^9;SPWT^=#_?=#ZX:>["FT'?#/B8:QR[`.-_ -M/^TEE_MQ7A]'_J.8J]Z\=DCL-?^2L>@>\\\9K4<-NE^W1/W+R!R=S<=>=\B] -M%^KJX]2!Y+)-"BZ[?IU(O:E]<7FI>J][J?UJ9PJ[ -M?_'#BY>6+2ZRSUU;LO+Z54N6V&T81QS%&$;X7HB_!3!M&\?2=Q[_-1GM)2/Z -MC<\1,6Y_`O"UGS`+^NH+3[`_7T9G(Z%M]J#=/'8,,%6?T?K6?RV/7=\ZB+Q_ -M],M`>/X8E(%^:\.?;3+HX__9H);_#^/H/T?X!N4?R?E_R_\_A2,P4B`=@K]Q -M=/LI9H7^'-AZ!CIY4GQ?T5NUEDW`^,%,?6YI.>]UG:(^_,C;T+^#\'F.PC=( -MW19FMB[HRNQ^'J3Y,=JSZ<5[1]D0>]__=UH?]G3!2^P\*G2M+;60I:.?.,3= -M:^=R\]J9B#OR:C@K\=6*[D2RW\?8P9.*SLZ6WW0<$?X8Z#P"7Q9]QI'7T,;1 -M=Q_9H(RQZ?=TQ6\Z2/<1Q^U%71M -MVC.65Z,=-8.??>!]_Z#[-T7H7\1W7&@K'M#6C'YKZ^R'V!7;`+\=\!W%'OKF -MJTG2^/O'P4L+W<,D_>P/OE#HZ)`^S0='J/\B&JB/QKL8S^P>RVM4&E%FCX\= -M$/W>-L1+O!]L"+M?7TZR@4S,Q]@'^317@7(.R7'6?U]`W\F"YD,HZQ#P']R& -M>MLHY];Y,?9&EOPV];^GQK;E-[(0H!-OY"/`:K_A1("%?P-^XQOH%=\XB`"? -MY`WXH6_X$#!J>`.4OH%>\$V@>-.*`,OXI@-A&D(>`O"\"3_U3?AV;R+_F^T( -MR/LF\I![XT&;\,#R>^P(R.>9@I"-`.OC0?F>30A-"(<0>A!0)DW5'T:>P\AS -M.!-A*@)H/XQ\A^5N2A70ZT6Z45 -M/+8B7RORM8+/UB,(D$U;*@)H;`-=;8!K`TUMP-L&&;:!GS:"`5TT+'@;M+T- -M+^YMT/8VX-\&[K>W(@#^;>"C7?_O0%[O`-\[H/L=T/`.8-X!WG=0_CLH_QV4 -M_P[*?P?P[P#W[U#^[P#_.^#['>!^A_)_!WR_0_F_0_F_(QC@1;6P=I3?#OSM -MD$\[\K2#SW:4TPZYM`-_.SS-=LBS'?C;,19N1QGMD$T[ZJ0=>-J!YUW@>!?Y -MWP4/[R+ON\C[+NAZMQD!A;R+>G@7<.]!3]X#K^^AG/<`^Q[*>@_U]QYX>@\\ -MO8<\[Z'>WT-9[X'.]Y#G?O4^6LC[H.M]P+X/OMX'?>^CG/=1 -MW^\CS_N@J0/T=*#..I"G`[1T5$J/N>,``G2J`W*@+Z`ZP$<'^.A`'CIJKA-R -MZ`0?G:"O$WD[R4I!?IW0QT[D[]R/`!R=**L3?'4"3R?P=`)'%_+33I$NY.U" -MWBZ4VP4:NT!;%\KLZJ%9,@3HE!?ED.?C15E>T.F%++R0FQ=YO."-=IQY(0,O -M\I"WV8WZ[`9<-_S<;K35;M#5#=AN:JMH<]V@L1ME=2-?-\KK1MYNT-8-NFA; -MXP?(_P'*^@#M[`/`?P#Z/D!Y;TQ]^@2C/7%T+QHJ]<]BSR+=6^>#7>!_D_?H -M*;]-T=_R_CPE7MZ7/H$/$;R(>U3$^94XT_`X1P2.G@-_DW?EJ?F5=[^:E][Q -M+%*>>*?S(M_(49[YRC.+>*GJC]!N$7?Z]0N\%J4\>9]?;)QI>)QR+WPLG.1S -MN7*GY*/%EO#?)/VJG.*DF>*G.9BV#,&WAF:B5Q/OU\1KY/+F-)$>@X?D\6:Z -M\G0H3ZLB'[4^$Y6R2,Z).OEHXTS#XR+RT<*I\O$K?"8:R,*(U\WFI0 -MY*/!0_)XJU1YUBC/8M7^$"T:NY$4L1O]LOVK=B[\-^5N^=@T4_PTAS;?D"Z? -M64US*39$W!CE;P`3(_\(OP;RC^'90/XQ?,?*_^VYJEV(XM?*_^T)\OWMJ1_FOSC2!_1SS]-X(90?X.(_V/\!M?_HYX^A_# -M=ZS\WSD2*W^'3O_?4?3_'47_WQ'Z3^FAO\G[U^FIM9^:=U/LN_3G-.F1^Y`I -M3I5MQ+X/CS<9QSN8BE/U\93T&#]/B=/8W/9,>D;S$G_M-N5I5YZJOD7\'L&W -M@?^DQ`_SGX;'.[3P0QIXLU:N>E].Y4=)'^;KJ;S%3]>4JY2IZI(13[JT&+ZT -M:3Z,Q[2^H:H_2II5OK^KRG-(;;^J[=24'>-O:&QP^3IPJOEV>,[V<@ -M3WVZ7IZZ]!AY^K6VT8@G`WE&^(J5YWLU6E\R5I[O*>.0]YS*,SLJ3X=>/V/\ -ML]AR'4;ZJ<0;R=-AI)\QOF)\>3KBZ:-]R^.9*,[9N(-[!O^GB'%M[`OCF2 -M1K9OCJ21[5N\=$VYP^S;<)YT:7'L&\FN*\/8OE%:9Y]\[U+DV=DSW+Y%RM;9 -MMTBY.ONFCQ\F3YU]0T]H;\G70^O8`W1GA_N"`C[WFT^9%&0?M"VB. -M_XW;Y;Z_W[31>H!%K:0V@@MF/L=\7T9H_[3?KZA5G^:?1^CXW -M9S)O48!5?<[&TIH_K?-3?.U.?@!E=6_<*7DAFA>8I8UE7PH(/9_ -M_#Y?7:D/9Y$3W$0T#LM?Y]990/F:ZN7ZCK*(!I\K%?RW4,9:U$KF7\ -MS[/*.FLQ9$MG+'MHKP%]%X*T\M9`D&EY'$A9GP]Z]P&?W\81HW\@)D@O*\`!/-^T9)3F< -MI7L,4!;)H_$I9B69M!5FL370M]9RJO?_<:K?^/K8[^=#-JE*_3;)NOV?.GW= -MJC(A>9!<`(/Z_W5`^:Y-D<>1RVC?#0Q@"Z.Z -M)^N8ZLI91ONZY!H<=%5\?Q5=S_K-!7+_>V1]V>-<(.%I70[P-K%&)]?Q:&\1 -MQ5D4_HX"OHW.DJ&S\+YU5.XIV84VV`@\/G:PK:N2L?#/Q/F9[00/.`O_:?ZW -M'@NR9.>M_'^/LP_7<3<;HOH&;OMQ]L<_H=QTY9F!YV$\Q^'Y(IZ7XODDX,,* -M?";>UR'^9N4)&C]TXID'NGK01F\^+OG(0_I"I8XZY#K?AR_064X$!WSE]`T5 -M\#D!-XOP4]IQ]H>3BJQZD`9#K0;A]PG\8>C -MM/\&>&\!SH1!]Q^*U+V0M"?_K/OUQW<)&_>'RLAW,C45,U--62RUD%W<8.9U -M"AZ/6=G#3WOPPL!%9Z"&-]-9@LU]\IO3%_.(%]IGH9R'FP>\1Z)[?OX@OKU, -MR+"-1KQF__,?YA)]RCZ%*(9:K\;2=YEE$=2+O:RS[L(7G= -M&&`EI*/'2'[B7+D/CU*ZH@.HIP]_0?'4#M#.G:3W2EE4-^52[Z5^*W4)O?E0 -MG%6@QBMEWX+X+"V\@@=U_^%4TC]?M)U0W1.>3*H7'7[HR(<.TE\U7J%MN6(W -M>L+RFT[F643[1O_H;QS+Z\E&;G2QU,?JV06R;?S1K]H#V=]\=`MWIP6#UHJL -MSN`48:<:QO(=@^Z>?/6.K:A^_]'?V23.(CU*Z33?8Z`ZS+*?LHVN-*YY,4K$NA;W3S0<FC_]0NKEGVKD_G]Q9C.]ER9DI*TGW0Z:7V]J$-^`_2E?=VZP&7'+HV=H -M2UN(N.JH3OYI)N$`KAK$UT?C)2R=.9`69!?+<^$C9?=*6F0;H?Z'VLC986WD -M]_-%&Q'MXT\!39F'U#T\`P49J8/NCVP^=D`Y#ZGGB.QC*[*0OL/C^F^4U_-V -MT$RZV-.&>J[WHLYA5^ODG3\?Y:AUCCZI"'7R\8ZQO`[RKT/]+\?[NW@6R:?) -M1D]%#^N0MT:]@XWT(Y#\O(_J?'L%?1^5*>J<=()T@.J>]"!MPSU"!\1Y9(@C -MFD@'@`OMOT61\T?*>5$?]6F_-00N>YL])/9?ETYD%[?9`W16\J?>X"Q&>6@O -M-LD5\MD*VU$(O8%L_CPYVI?]EVA#]*W65>G,COI)1WJ.ZM/=F$[?(/S7!-!S -ME/ID_+9"7NUQ]F-.H?U6M,^%]F_1/C+T34>.LT]OH17C;;3'VSV*5Q5SO_;< -M/FQ$.2#MKVS[H/CI-U2-EOT\/?3.>&ZSBIB"C[2/*/XAY9FNTN43,A)G/UTTZ/YX0K2^ -MCPK[+G7B:";XWR/H*6&7T=[6M!#WD(],NHAZZ`:-'Y>N9V:D7P$:MJJ^"?+8 -M$H98.ODD,]:S*U!&M:HSM4)/CI+=/2+D^27M,_UX>4(`>:+E?AG]?>&_$5Q: -M@'R<>#+_^#.5-_H6,@W^KM"A(.]'.1W."F8]P3[Y'#33OK^.M`T)RCGDG[21 -MW$!3.V1DP?MOE+ZD7?IHGXAO"?A7&>1?I'F#TYC']0/*]ZS2=QT=>"R#M69, -M@UWXI,AGVC[U_+\+_*1(UJ4\]X;>Z8P:N4?7#AE\,H7VZ=([?K?0>7+H2]JD -MW_E)CUIWZ#_:D"Z^15/&%FVR/7\2V?]+.`A.?K/W":.SJ9%'[`.6^G[A;8/N -M3R='[>91T0^V]FO;_ZS -M5--6B(_:VF(=D20DDF0" -MDT"8F;-_:^U]#O-@!IF!/&KSQ_G,G'W6V8^UOGNMM1]G+Q)P-UBX;X82&$]\ -MWHUG"+T7BK[#Y]V89UXM"\_B- -MQ,1UR[KR,#&M\:UN7\0XZO9%S#373>FH6R;4[?,9OM6MK]!1M[["2=9MK^]U -MR[D*ZO:2;W4[=-!1MT,'IU*W_%IZJ#.*X#G3H0?8GO_>WV^+PGJ1V?#_\8): -M^@7W;WJOM9?A-P:],/[[1Q;'\1=L;$8WI.[664AH@852(>#J)G9>$YZ!6$1M -MG5DVC-4@IV5;4]XZ,R*G&S)WTY"MZ0V#"O+6&3/X/;T9TIGB4GX1-1/IK-Y= -M=V>2"-19^%NP"\_^F!ET]RGT,7J;I7,_I+R2^V?2B#P2@&>/X'>'1I691.>1 -M&G@:=^ZJ?/TBQ8'3WE^$_/TB^/> -M>=JG>=KW_N' -M#%/GZ:%0!T]Y?A/S]-"=WGEZ*-7!4YZ7;SP]5`>\5(H\57KGZ2'#)'D:P7EZ -M^+<.GAY>X^#IX3F5#IX>B9PZ3P^G.WC*\YN8IX>?]\[3PWL=/.5Y>>'I -M3,\\/7QJ,?3\)@U_#]?@]X;&4:AX[UL*_Z>QGWQ3B -MN>-(P\_!8W0)>`Z'2!=RC!R[`1C< -M'Y+N:64AX6>T'.U@:?R=64#S6Z=W9L-]G=/S2+A_QNGY%7#_^!`_@Z8QV685 -MSYXX&N_?F4Q'X\7QQ7\,%QW-N43L1T\'6/ -MMCG2^\UBNA+2>YS236(Z^+U'+4[I'6+ZK.&B8Z%.Z:U\W'Q,[3@7MW^OF.84 -M_ZB_5DQ+,I&=B\0T-MX1\?`M>);A\+.S4_@9TOW@RV=[^SX1>'"L9BR>8DEV -M`HL7!3@X8(LG]M+L!'C>(F',#L^I_+9@T!E-0LDK^/WT=04#>`Z9A4@Q`C%N -M8.<(.U\_G,4+Q+DDBXU(\0*W#)"HK-MIWV$RP,\#N1[/^AAX`F@-_#S&+Y/P -MK-PZ=J[*EPO&SMDI>3T)Q@T60SY^MSZP%&F,`VP.,`C>>1_/'3H=G)]UNG1/ -M([RW3GK/$OQZ$MSGF>3WAN(]_(>QYZY&?G:/(UZ;;]CZLIKU*9JZBV/T2W;V -M:T.1%*/N2QC_SF?C7^"E!NYMCEAS#W6S\_:>?JQ[N&@@TG'.I8S%VAEBXYN! -M&(D>OQ..D$FQ#`>">/X#,/ZYKI!CX,LT;#>DI8\_XVG@&9$^SS%/P^E1EB:1 -MUU[/5-41/9Y#A?%9V!E/)1BG((*^I[(0'N_F^)W/7FI\%<[P$SSOGYT\?7R?U -M$;%OQ$!:H://\?<@K5KZEAR_`6?GZ*JA;=?C]WC'3P&&(W;^DNA7V.2D`7[Q -MG'8?ZRN>I9.=R?OB0!?T18_G6YC(B$HA.1N";12TY4U`L*PLZO*A*:V7ED\#YD87H0BN:=R9]"BU[I$.J5S?DXT@4+19WCN2Y>P7<%] -MM*(3>J#W>`[Q<-')/N!_%MO\*O5=\85E5H/^KW.)1W__#V^;E9,;,^W',O"?=SM53 -M#87DQ0^]%O`.CP=W"OJ_F9W?)."Y=<.I-7S.[=0!/!]8`!^!QPX]U8K8IT%; -MLQJVX5EV,N#7J5_A,\BC&W1]DJC;,3XP/V?,3E3LK`/!PN(''B:6A_%\/#P3 -M0"@ZE8[K(J#;6:PQ&I*=2(-S(W%=&-=OC%7(NT$]Y'4W7`]@_";P]?/@%WR* -MP:2QM;RQ^'"#:\"U4SK.T+-\G^NWP4TFLB,(:6?($J&N@SL<^!RLDO`)_VNE -M>&CPO\DD7UPM_M]G(G,3W,JRB_..%K[6-(CK='?#]0#0]TDQ4Y^6LW,$#@>H -M\(R60=M8+%7&HX`(GI=E`0U^I1ECQ0X7#8'_8U8PFNSCC>6CRB5&_+)P- -MPL[!J-BJ3$'?$,_[86O2640.MC1P118_OQ;CFM$MFE#I7$II8G8AS6SZ[))9*U`(L.SB)*=!^1T)F7%&<>9E'BV#RUJ -MB,8S*>VE32T8\QG^:^@9^PC\LI@GXIGG"I?S*3=H\"P\'#MHT'[@^92^Z7,+ -MX;*T)$KQ6YW2P/\WM_*T0?&L,DNFB10-C-FTD*TY.!XPD5,V:LWA%FB++:S2 -MTQV.6)U\[<>91X2@&9L!-BH0KIEX)8WIS6S:C>`KK`KV+F*-)L>Q',>X;TNC%$&&"Y)MN67)-NI;86=!,+O$3P3 -M)=E^A+(X+Z,\;J;]#&W',QF6`W[K\7S&M2QNQV[Y3D -M0S[OK[#/5/-S&L[LG2B^&.JW)^<0.7XW;M\]I,[9Y@8>@GQVKH;)`0K?/A/\GFVC@0!*5S=#`N!FO&!IX7$V+CX]` -M6@S=/D-/`X&F^$07O`/V=\8"^%U`BT%'!IY*!9IX>`>O!+AOH\5#)DA+@'N; -M>MLK8Y1">`RNDP86G"8S#Y-1MA9O!`\9U[?$\EP -M*>C;>.:?A,4LHO++>FG1C$$:IEU$*V(ZJ/SF,EHTZV,:IH-[;0<-W%E(BQZZ -M"VB5M$(']S_-HL55.4`/]S%5-/"Y=%K\LTR@AWLMW+\&[:E.!?I(H(?[7P31 -MXB:XU\)]3#4-?#.3%K_1`O1PKX7[YU-H\5LJH%KC7PGV=F1;7%@)]%-##?6,W+6[(`'JXCZFE@:\8:/'+BX`>[K5P -MW]Q.BU]=`/1JH(?[??#^KWN`'NYC&FG@?RGH:P$M$;8""FDP/@==N6M^5H0M -MG=`*?7P$QN#8-0AY_%Y%`_\[!O)00]Z-M/CM1!KX3BKD$0UY[Z'%[V;1P/=* -MH$RXU\+]?LC[+RU`#_QW<_R\\_ULUT,<`_5Y:_(]N&OA/;!/<:^'>E$X#>_<`/=SK]M(0&T$<8(P9 -M:HV61!S/'\+G[T?@N.[J8^RYT=(O -M8BD`GQU"6A,9#>)Z=;B&%@60H:#X2$)HG*H" -M=!+NZ8LP$[DZ/[JEEUAQKYJ%ALY/Y+IJ]"5;6>X2C*<.S[87C-#3?,S,TJOX -M?B_V/P_C8(O_,_DXVEJ([S+_Y31A;;,7JUMI^/P4Z!-W0-ZOOBV8Y>%F,D.= -M_0[D/SK`Q@TB+0U4MPJ,ECW[Z)U\D[R6Q7,8M8W-,93'J?`L(2@C$6TE/P_! -MFG;`AG$*K26QFX@B8B1(EK^9G5MQVK#U8[8.C_D#W3TT)#<1SZO!T[@S@/:LUTB@_?A7,&Z$OB&4@K['8\L['$^UR(%?3_:(RX;LW. -MI,2YD,/$OI#OH[2V@7W(8>THRPZT416QA<8VVD/C-!@#:+1`1)R)Q=RQ:HAZ,2%YATC$X85$GG^0"LLR<%Q!\)S` -MD(Z^X^0A2!\U@ -M^]F*.(RY$O%!_R_PO.V0W7C6\&L!5>#G@&Z#,@LTB@,#N+NZ%^=E@L(&(NB! -M@3Y,#[=NT2C.;M$$CF[1!)VMB.WH[.DGNDSP:Z"]U@)(*]"$C!9H0FE87%=] -M-@FU[QI2VBOT>GM%;,W95P,:<>[.V#-"M)DLSG1D73[TD9K!YLMZ2*3UU0"V -MO^R>&^A)&ABV`/@XCQ8'MM!B>:+Z_Z#MM4?B6(H&!ENH3!$%%_B`C->$!LJ" -M1)IX2%?1XH!"H(V"YU'PZW&]=[C(G@'R8?XN%:#_5L1XM#_L+&`LHS)&7R6, -MG:$,.M]>`9AD\3YHN3X^_Q0)P&?-.-\.]^J-,FJTC!!X1T%5@^W-9\QR:&M[ -M)Z3!NZ]6G1'SK9F?5?`$8;%!,`X28A7&**%P*=0;41_8/\=Q"]+14'V\`'G0 -MBMAF&J97"Q6Q+:!'"^F<(;6P:W[J<)$0#VU.D<:1G4V@OX(>;Z9WV(9;7<@+?"L"LH*L%LS$^"Z#:[;[15Q*7`UVTNM^^!J@:L5+@-<;7"U -MTU)K!_QVP740KFZX>N`RP=5GWS4_'<;\*KC4<$5!'0S2'!H]0[/$<_4V54#= -M05=%05I.N<#/W2I81_N,.29US\P?^C+5A_S,WB=0Z@!?:8:PK/0 -M"G6@WSM-`R390@HZ^D9)00:UL_D0G$.$,1SV(2M-55M#8VN$4'T_GEEN!]VX -M#6,.6,4QGY6/^3JS^DG8=O(2CT'P"?E!*BT$W1INM6IFUV]EL0>"A:"7\^+GU`3I;]/D5"Z^0"GB?X.:V,8^=%Q^;@NH:)U(-M[SQC(8=E -M@3.LS)[,CQ5H)D']M/P&HK#F9MZ>E4VNJP(]:@V+2SLF4X3>DR50N`KP/&(A -M+"Z5BK*TEL?6X-ZK`__\$^2G.-II@K+7C9>E#60IX1]]`Y37F/Q`EBC#;>NH -M$.Z$?^:;@0QM(O[K05Y"+NCS4=#GHMQ@V*FLP_@:QT%N\N?-=;@?M+2II!W+:`W+(!BW*B`3XT@T\BMX)O4"7%P`4>V\'VV.0D,;R?*&O7$SV> -M2\C\H)-0]GH2T[">1->?`%]#C*6[_+22Q=JE@:0%GK$SE`7I#.4A#8Z'Q^R) -M[:1&+I5%2S!&(\9V_`!X-^,CH2P_U5Z2OX0^I@JI74OTE6M)#&`LNN$8E+4% -MX\A!.\5XP01#8OMHN#O@0P2ZX!/=`/PYP2)@?(C83P>7;\>ZET`/'*SNW;@ -M4]UZL>ZE8MU!+@U.;X#M9OP$[CGLAP9?_MF"% -M_E,F]I^"S-NEOG-8-O/[D^L[0?.^9GTG$OL.]AO6?\YIWPD.N[C[3G"HA[YS -MT$O?47GI.ZISUW>"]YX_FQ.Z?;1HO,T9M3ILSF@%VIR00D_]QEH#_294[#=_ -M_P/D=]FJSK0)^DVYOM^FXKX#!=\!?52/?4?F\!T0[U+?J>5]1P5]2(]^0^56 -ME_X3.:[_!//^\^(HB7ZQR,UG`#S7#SKD-`I]`'V$"V][0N^]N/M/Z**+V_:$ -M#IP_VQ.Q?[3(N^T9I=SV8!\Z+`O;/[D^%/[ZU[0/G4<;%/'3B[L/151=W#9( -MZ77_AWHN*>R5*4N-M6Q/3*'1]AW"UNEERE\95?%$*,MMPC@WN/[_G--Z/%LG -MDRD_DO8'-(BQ<";:'T!+^QS)MDL)2W-76`.SEW@;;X[ -M?#NEN'8^-#<@<:B,D"J<2RZ>E01M9&O80R%O%`X5I1!(2Y/26!SDH@`JP#/H -MR^MP[1S/0->=(;)CLEGKH*]&XMHU6QN]ZAH+]`%%YPZV+P7W(316(D8#;JRA -M<@41=@VI:%A<.J[#50&>I+T)5%Y`A3F#+;AVQL[IA?K],=\LQ]C:]1N)LAYC -MGE;$I4.]+-*\E;[4RZ4V"$=X\OA'N`(X`6NBX)N -MDPOU`8D8>_676_OEN$9N__DU%MR/A?L+,(;#8=GL4\E'"8_;)YMMQ[GK>^$> -MUQV%(96"[=V2S7X=Y\TCLDA0);1-I,U!6I-L-EO_A?MRG(O%6*XX1T=KAE2L -M#Y?'I0MSAE0LQ@VTT&6A",<8=^\TGRFI(PWS@-]2P?A3SSL2\O<8/"XU+ -MIX!M'F]#]E&O[/+:"!FEM&:P!;^+Q7E:=NZ[[/+-D+\">3%JQ[XSX>X"ERYL`FRRV%MY[ -MW1LGRNV`"K#A+CL)(X`+"2-8W[?R37)F%V21-[$]%"!#^XLJ!9L3M:)<>O'9 -M<93+SJT@$TZK=-2?W3-Y"B`+MO]"%ODNBX=U!N1X);7@"<84<0L8^>7&$3F. -M,S#]CX,C\IW'",8X(A5KB:(N&W@.>5+58$NL),>M(+MLP"[P?"?P#VP-SN6W -MU`LD5``ZDRS2!ODIZZZD^.W<`/"P=;@XLEOB(=8)]_I5P'.@7<(Q%!DMM=D; -M/RM^2:(J="0>YY1HP#4L)NMB\`1P?);\S&?4:+83G!O"N6_[TS?.3GX*^`5V -MMV"$*(WY9CPCPFPDIXC]2=#SH/O!9BH*3I$YR"\A++;FL.R*-Y=N(H6^Z=$K -MV/>L:.=!S\O97GPS^`D5L34^YN-U_A/;+92\W"*(;4[&-EM&",[A+GX"SV$_ -M3832EUNPS>!S)/H^EWMEPD1E4YS#>_J:1B$T+A'+QCI@;);%IPGC._+?.&(G -M--BY#C9?Z^"]_3H25?Y++G?[TR(/,G'M)2ZQ,\M,%F,=S,?)O<<)D[]1,T#L -M`3?.QG5ZE'^^#>1_9@2_L30;"\\2]#%L0QKY>/E?]>;2'%_E?]4TR?^JBZ#] -M*C_:KYJF]JLN@O;/\:/]PG"8Y1H`[B]NOI5]-'QK!3I -MGMF441+D=A_J=J]TNX]TNU>YW4=)]V!'9IR077T%^*&%)MG5S>+S:/SV%VQZ -M]`3Q0J\Y)KN&Q_-[^FH-W5I(A!+KP<7;0'>!_*A5%0@^PE7X[3S&FU)O?(?V -MRJX)QO;IL@Q$"+A1@[Z@4&H]:`ZX\6JZ:WYZI5P(JBP2U-O,U+SH%.BATQB3 -M`F2\B9H-&X]#?:]YXD`>Y`WE0%E=X(?O,]JZP(^W'NRTM!-C3C<1\^RBP=9] -MF*='_[0\9B&4^9VE&@6AVQ61OLGTFFJO?F]Y3!O/-\B??+V.?VFY5JROTH]\ -MHQ9.D*]87[4_^=9ZSU!N4D38<`_^<^=4/[^R7ZN>2+9^R?WZ[SBG\5:+X_!^9\4HD8 -MS<0"?B?+)\1&*O,3B1AST(+GM22?PB@1(SCNGP7OV0"_D,<(>4LPRQ(W,CHS -MBV=;&2.G!1JR`_X?EJGO##`3>3WXT\/%Z@233+U//(=L@)T]`O5]&OQZI,4S -M2'191([GEP%M)IY'XFW,.50>I\!WAT+C2$$=87M3*@429`F-"[KG!CH,[S=- -M]#[H^=G)*FKFWQ$.`F^N#T,>T'*]V5*@FEH*/;V!BQU-K&8H.! -M+EZJD?OH/WZ#[:\US$5;]8W3D/]W>V7?2.5S"M9N]EV-3&V!,KKAO@3IX'F. -M^-SD]-R$>\_$YS7B\SZGYWU9I_=[WLO1D[OK4`;?&##)%_-SW63J$=;V(&N+%U1+YB@,AA'!J&^WZ<]\=ORZ1"3>KSV;X)Y:*5,&8=S@P&K`C_F08ZHVQ/\UOY -M73-L.([9H@JANTEX13:)P3WT*SXI9'-T+\J%U-%AC=JV13,7\KU>VD/T\'$E -MJ<,YO.*K@G#_$/I\N%<`U\B03W2+)@K/[XXULWW[.*^KK%]+@CKZ!M'&:VPP -M-L*YQ/_L(7+<5__B&1)/0^-2%AU2D_V:`^`+_)H4G*6?2]]1"Q5Z,PV+2_$= -M@]_W?1;X#4*XA>^] -MPN_+<(Y7W`,XVSAB(G6XUT+\+D'(S0P6@,^T2$[>/#,RPP[^\_`DE8=\Q%%^Y`]Y1X+XB6RGP -MVQ)!0;8RX8B&V*V:J%B^YHDQHY7UATG0@-6K2V?0) -MB%W -MT->4W_,2IL;O_SCH=9U+2)1WU'23MZ[N!ILZ/QYXW2P\JE*P;^!D-T8?@-&6 -M8>,Q]I_9,-60&F/'87Q?Y$/6>G+=,=D-'R7;3E*Z:TA=A6=NHNQVC^`>5V83 -M#N>`W$:(W#YGL$D(BS/87PU(]&0;<*XY+(9F1PC -M^HF2@DU(NP%C&W,Y_G(KR!%L0OD9+D?#SDMX:=XW-TM -M1PPYYIG_CL]>-63W.LTSW\C/RI3=V#541.1P7\[3-8N?!C5OXD/$^-U_'?)IGK2\3>:IZ;CM2V7;*HO_(ZIFAJ_ -M8[V>_S.Q38W+<=C4N!SO-C5NWB6;.AF;JB-3LZEZLZM-G3]OZC8U;J&K39VO -MY'G'ON2[38T[Y=VFQIUUM:EQ'=QVSH_F-C7.Q--C&YW3'3:5IW.;.E\_>9L: -M<8%LJM*+357^F]C4;WN=_[RDXSWI^/D+IZ;C;PKU3\??DN;0\;>D>=?QMP1? -MTO&3T?'?[IN:CK_YH*N.CP^>NHZ_1>.JXV_A9S[(;GK&=QU_RR?>=?PMG[KJ -M^%N:N2Z/#^(Z_I8VGG[3#N=TAX[GZ5S'QT=.7L?/O$`Z/LB+C@_Z-]'QMWK= -MXSBQSOENET/G?+?+N\[Y[K9+.F,S6=\]TD5YV3L&WJ.N>[M:XZ)R&3 -MYWWK6=]U3L+WO>N21IF(AB? -MS*&S!KC.LL\94J/>JH+W)-WUIJB[$.^(>\2\1YTU0(7%ZP*H'7048I[KKD,$ -ML8^81YV%6'_1">M<3W4[]-0?0$^=$?64B''\1@OQ;0$]97/64V/XOD(YIJ=* -MW?34!C<]M7Z\GOJFB>NIY\;IJ3]-DYZZ7>.*[SL>EO!M\QO?M^>YXON.)+'O -M'/`=WW?<,(;OQ]SQ?4><*[[O4'`9MZ -M:3WUPMC41*_K'Y?64SV-F^[(F]JXZ2ZO^U\NS?UZXO>=45/C]]W[+LT+^,+O -MN\JGQN][HOWST;]7[O#1OU?.??3YJ>-]]._=NAA]])(\'G=/=L]'((<`X\@( -MP70\I^>2[SZ1[WZW;6J^^_<4KKY-TJU3]]V_E^KJVR1%B[*M\]VW29KAW7=/ -M"G/U;;YGXCY,4CSW;;YGX>GWU#JG.WP;GLY]FZ2%E]99+W;?YOO-EVRM+[H_ -M*75JNO\'ZDNVUA=^?W]D:OQ>5.6?K5T\XK"UBT>\V]K%K[K:VGMONV1K?;&U -M/\BU]T5=TOV^Z/[DMJGI_OO+_=/]2RP. -MW;_$XEWW+WG)5??_\-9+NM\7W7]?QM1T_Y)UKKI_Z4M3U_U+#*ZZ?VFY*-L9 -MONO^I8][U_U+-[OJ_J5)7,2Z?VD:3_^APCG=H?MY.M?]2_=>6I>]V'7_ -M`RK_=-&R0HKM+=/$+PF>=UW/FIE]9Q -MIWL=]R&W_:\/SYOZ.FZ:V_[7A\7]KP]N\QWW:8[]K^/6<=/<]K^FB>NU#XO[ -M7]/$_:\/YCFG.W#/TSGN'_[*_:_VT+@VM*DZ7,^I@==FE?VA=_+35/C -M]\J<2W,+OO`[/65J_'ZDWS]_?E66PY]?Q>8NA9KYJ:A/%X/?`OI74;Z1*,!/ -M(,^"CX[G'1K[]I.L?/1[5EV;G./L]_SX=>;SX!ELZ`^!?X,Q7>P5<08;^/'H -MYXSY^^M=_7W;O("%UK"XMJ%=@TV^^OMUHJ]3^R_M[Z^_J]ZR^5O)[ -MABK\]7M6);CZ/:N#1#FO]-WO6774N[^_ZI2KW[.JC?LWJZ/L&#]*MJJ;I_\X -MW3G=X??P=$B3O=>/YX>LCIF$[]/NA^^3]*_A^\RYR'V?1[V>_R7:AC8WV[#P -MW]LVK$Z_QQ.\UBZ;&[\=,$_D]WN=VUI=\..;WK"]Q]WO0S[EW!/R?;*+`^9ZR]>`' -M@0]D-+U-*L`/*L/XK^O`%[*]*OI"ZV]R]876_=:3+P1^3J(-_"'TA>S@[UA? -M#5A8=<+)+UKMZA>-5L2UC\X+2++.\=TODN:`\-S[?UV_:&W+U/PBZ&0N?M&& -MFR2_R.KW?-#Z):Y^T0:U*/-EOOM%&V3>YX,V!+OZ1>M[N/^S80&?#UIOYNGK -M4IW3'7X13^?S01L2)[$FTR:`WK]P>]^\KF#XU.[RYQ-4.9[\]]?F)S3VN=CB[292SS'<[G%WJ?7XB^Z>N=C@[@]O; -M[%8^/Y&=P],W$>=TAQWFZ8[YB>R.R:_-1%Q$:S/*?Y.UF9P%EVR#+[8A>XIK -M!4_M\<\VY,4X;$->C&^V(?=OKK9AZZI+ML%?VY"3-S7;D+O'U3;D_6WJMB%W -MQ-4VY+6)OC7*.=UA&WBZPS;D -M]5_:.W>Q[YW+7^*?OBIL=>BKPE;O>^<*U[CNG2N07=H[YXL^RIOB]Y*%"USU -MT?8U4]\[5UCBJH^V+^%YY_MQ%L3VF[SKH^VWN>JC[4JN=[9G\CFC[6(\L?P. -MYW2'/LIW.@MB^Z;)KZ/YY*>>XW6TZ?)3+_9UM**>2_-%D_51MY=,S4?=X?7\ -MWXG7&8K['>L,Q?W>UAG*LMF>4D7Y>J(HPW6&K@-LG:%T;)U!\EN+GW?U6Y^Y -MUI/?*JTOV-S7%WXTSG=-.EL1U^[/^L)NT7?=_2^]OO!T]-1L17&ZJZWXR?-3 -M7U\HWN=J*WY2R//>\:[OMN(G*[VO+_QDC:NM^$D"MPD_J>:VXB)?=9G2QP^Z[/CUDEQ?;1BD*^- -MCHVQ39^*NNI9MS71TO>]Z2IOZY\XK@8_=J$_8^NOQ_KG3_9-33\]Z[;^67[3 -MU,?6S[JM?Y:+ZY^EVWW73^4R[[YLN=OZY[/B^F?Y`CZV?E9<_RPM=$YWZ">> -M[AA;ET]X_@*^L_"7, -M`^IJAO:D>*TKY)7\^ERRS4:/&-8/DCY9Q:T1`S.3:$$J0;^I^6JS`O/$V-'P -M+`J?V:&.^8\3>>7@S"#HZS,*++1_@PWJ##A[9VZWXJW=D&8GJDZ+G>4!/B/4 -MI^*V>J#W5`>,-SKC!FKR#3L57L\_B-@^EQAN!-ZIB=S30[A9E!&&.N@<5&K\PPR:YFL=LP-AS&E`/;!KBIS'LW9WQ,MXT9CZ]4 -M;UKS^*H-FS>IYV6$8$=S*D.)Y=#`RI+G9A-%PVQ"L$S(J]TD7Y7!8F[#O1QH -M"LY"/?)G!C5@#+O`BI$&^`_E8WTL4GTD>1>`O'6@4WCLN)US(G)F?H_FIA)X -MUR*46ON'BW=J)-S0,FOS,-IFFGD[8F&I1D9XO]BY9$A.[@#:)2;RI&6LO2]( -M[=VY[MT\[S'L(EX7R'YX3D-C],EV7B?$^%!!)HG=BC&KJZ*%RABE4!Z31,MC -M%D#=VRNSB7J%74DJ0+^:*V+T8;)"65@FD8,.U4/?THO]HAWK^)=_/N?XIU-#?`NZG/?WJ_2>\6GH]W-GMO]TRAH=Q6TNQW:O<]# -MNYMYNV<,3G^[J_C^W^*J1O_:_5.O\1\<[=9ZD??/(H5*+I"W5I3W -M9;W3W^Z?FGB[?UKC7[M_IIY$N[W(^[E0:#?(6PORUGJ0MU:4]ZR/I[_=/^OF -M[?Y9E7_M?L[K_@='NW5>Y%VM$"IU(&\=R%OG0=XZ4=XWETU_NY_C9T$7/U?B -M7[NKE9-HMQ=Y5]N@W2!O'.E'>#]TU_>VN;N?MKB[TK]W/>_7_G?1: -M/.BN<3(WYL03W1EL_POK:%A,_&7;"V4PCDNX#,8L+Q8)F1$F$@QMS:25^G3\ -M%2`?&^A^>VC,@M$2:_NSJXFZP$R4G?DF`N,T2_%L53E8:('_[&0@OVH$H@:\M7K"VKN'\>D&$VC:!^5./8`?O5T9L$8K?CY0EH1DRB`S?(Q7Z_? -M/SGQNP7X/0YK#G[_O`?XW2+RN_6RGAF#7OC=`OQN!W[OFSR_?[[?C=]5YX?? -M/Z\2^=WERN^?+^+\?L$,_#8`OYM]S-?K]T].>ASP/=Z&.?B]:Q$-TXKXU@*^ -M+^OUS&\MX%L+^-;Z@.]=-[GR6WN>\+U+'/]IW?!=T\KY79-.*[2`;ZV/^-Z5 -M.@E^`[['VTX'OW>W`K]%?&L!W[,^]L)OP+<6\*WU`=^[7W7C]WG"]V[Q_"^M -M&[YWQW!^[^H"?@.^M3[B>W?[).P6X'N\S7;PNS:&ANE$?.L`WS>7>>:W#O"M -M`WSK?,!W[16N_-:=)WR_R/V_<>/W><)W78K(;S=\UX5R?M67AA_ -MY16U9W_E97'\\W*A?_[**Y,8_XSW5\;S?(_IW/DL>]Z_,#[+GFK//LN>%,[S -M5RS^^2Q[!OSQ6<;S_+4EY\YO>>VV"^.WO!;DV6]YM8WS_-5,__R6U]+]\5N0 -MU\AS]%4XSYL4-#Q&&0$\C[`1.>-S$2EQYC?R"_T5MJ95J=\(MC2!;E`16[A^ -MJ_"%BE@K]5G"BE22?/0S:K2U$Z/B#(FUD?#.'2=(\E-0CY,:\H/-!.0\0A9G -MD0CH4\J&(%\\LVD(`?R(:<(6P,(?B,+ -MY_QW9A/]SC-$_9<10I(IEV/#&5_E^/_$^;_7>NI!C+C/R+?WFR8Q_S?>YW&2 -M5PN7U^O[0%Y57%XS!B>0USXG>;6>1WFU^"FO=E%>S=,CK]<+N;R:ROV3U^L& -M?_PEA[RT8O]Z(X.&:\7^=5FO=WEIG?J7]CSV+ZV?_4LK]B_M-/6O-_1<7K]( -M\$]>;W@]_V`B7\M)7F+_>C,2Y"7VKUD?3R`OI_ZE/8_]2^MG_]**_4L[3?UK -MK[C^]<:`?_)Z\=&+_^F4;#=>)_>OF,N_RTCGU+]UY[%\Z/_N7 -M3NQ?NFGJ7[_D\]_%;];Z)Z]?>MV',I&/YR0OL7\U;P)YB?WKH;LFD)=3_]*= -MQ_ZE\[-_Z<3^I9NF_M6`G>#:8_)3GU%U-IF!>RMZ9;^>DW:6[5/3UX,/+02]D;7S -M$:)`'QO]:N-@"T'>>Y&%LA9IMG:3/N!;9U8WR&8KL:/L@;_V?/&B$884*]%7W]7\]B^P71!\3]((]I",AL$_K[TR.;7XG[ -MP7[5+,@!9X6#Q&C[.PG/(PGX3S)^[N^:T<_EF-"ZZ0FM!SUQ66^O['=W7EA,_.Y6C@GP97$? -MT;1CXG=BS(+?=GO&Q&^7N8T+I@D3OTWEF/AMM'^8^%WK]/C2+6WH2XN8<-,3 -M6@]Z8M;'O;*6I1<6$RWWBIAHQ[G0Z<=$BXICXK\&/&/BOQYW&WM,$R;^:QW' -MQ'_%^X>)ELGX?Y/PU__0C?XZQX3.34_H/.B)F\MZ97]85'!/@D^/^ -MLVG'Q!]B.";^0#QCXO?;W<8WTX2)WQ=R3/S>3Q_S#WW3,R9H'<`Q@8@)-SVA -M\Z`G'KJK5]:Z[<)BHG6SB(EVG$N>?DRT)G),M$9ZQL1_/^\VAIHF3/QW-+=_R:_W;#A:@OWHWR??QA>//"XL+PZKD=?QBR."X,"SWC -MXIW]YV;\\4X;Q\4[5?[AXMW)[/_WN"]A_!CDO06^CT'^M/_"XN)/;Y_;,2_1W[\3X<<;%>Z?/S3CD/0O'Q7L&_W"Q?Q+[?SWO[Q@_%OE+AN]CD3^? -MOK"X^//Q:8_FN/B+V3]^]!3[)P&A@D;8$+"@STT -MKGL4Y/N#3S^C(-\DVU]59$,_I<:<%M*1/D)BM(<$=? -M/SQK(7:C)K0CW40Z^KI(0091=HRVD[P^:NXH?)\D'P(\Y",>/KR'\3O(VF[[ -MJX;@/B;IFS!C;Q/#8D$>8''4#8M&C?)%W`\5RLW^CIN>7$B_-@D_'P0_V%J"^#G`X5_^/EP$M\_ -M3&;-Y(!-&K-8G<8L(GY:QN,'QRP'*BX&G(X?CIV.A?_CIG,3WCY-97^E*D,8V5J>Q#<>/UH/^P;&-\<"% -MPX]Q_]3PP\=#TX-!_^`8Z..P"X>?CV=,$3_MTE[VZ<'/1Z+_\]$FS_CI.NOK -M>&ER^.D:X?CI:O,//Q]/PO^9S+K-P59IK&1U&BMQ_.@\Z!\<*QV\@/[/P2GZ -M/WQ\-7WX.2CZ/W_UXO_\]59?QU63P\]?1?_GKW[Z/P]`^.J?[G`OH__S-%_X>/PZ8//_\C^C^?>/%_/GG*U_'7Y/#SB>C_ -M?.*G__._?IW_X'D]Z&^)OH_!NC^ZA1Q#/7[NE?STX/2M29E"?1^/?59WX3#TV?,7UWCLLW2.H<\4GC'T -MS])S,Q[[9PG'T#^7^(8[/,]'$.? -M)WG&D.G`N1F3F3HXADPU_F&H-VWZUKKZJGT?E_7-NW`8ZKOVXAJ7?='/,?1% -MN6<,?3'KW(S+OE!R#/7Z^3UR7Z,[AN[=O&[3FJQUJ]0+[[U3N^2>'RZYXP[W -MLV6#:'E&C3+P6S_%T6NH[(`*&1<,&_PSO@JH:K$:YVN+K@ZH/+#)>-R(XHX`J%"^B/ -M1,$5#=="N);`M8[G!]F@\ -MT.3Q9T>!]I@Z8OMU)G9.L.SP$R#'`%JZIR;K1G@B.WR;<0>+<]'.SRX_?!O6 -M?;CX<(*);"[!\VQ]D\WA!/']/!.QY^#[)JP_I)F#@9]%1('W0NDK3:-A^G[\ -M?W;78#/(1H5C-T/^RZ17=OB*T;#YB>K[(RC\CX3ZRH%.G(,Z'#D:;"T1:N9G -M0;I"*+468AJ%_(1R?3S\[V;I-8/MTG_X/2A4QJ7B;_AV8F'W18F$_RH)RW/. -M_,SAXB-Z$[&68YW5U^.9OX>O$'C94-\]-5@/6A'7A?=+;R#*B"XB5^='M_#Z -MQJE,LB,)2$\K8QN!IH1"W>Q%1*->3Q)[94?J[*6Y,9!'(BW-U0.]AK6]0@^_ -M1ZK@F=YQ!C=KLPSH$J!.;2:9L@?K-)1-;7!_T$2^V>',5Z?WKN`\.M)B#LY- -ML&;3KIU_)P3J0$?/T(Z\%#I2^2,"^JJ'%*PD49=MI^9D.XFXK">"'DCI(1@# -M(*^+]G=FM9*\0R1TVQH269!"S?D==,28TT,Z+7!E'0"Z3^!JQ7/Y%8NSS!A_ -M(+0SZS2D'2=YZ=1VH`/I]I-DFSEBVW&BJ(0*,CK2=O;5@&:* -M]<.SRZ&MV#:A0J]:84,,'6D'G4"DY_C,'*8'_O;O3;;18:072G/CAXO[31)O -M)%X`S4%H>WQ`%E$,%Q\%V5[>XB1/)?`U4*(5::)-LMG$0<-D.$8#SQ="'D&\ -MC*,*I!'UB$0;0$NR4^QA<6HJIR,@\QHZI`I=;*,C0D5L%>B*4#S#G=,?_12> -M-X(MPO_[L1QAUV`CZI7D+J`OM9HK-X+>J8A3,@R'Z1//[IJ?@GT*<4=+X%TI -MGR(R`^I32^%]6AY;)[ -M$O.I`>ITNG.DW\>S]H\96/M&"XDQ;S[!\^Y/R`;F&O#H;;?Z7OT^N(Q3D7.);&[[<@66"'W#"/&>P!&,`[,R?$71W+34, -M73W8-5S\98]TOKJ/^?9(;:\7VPYI3&?'UK`8#G`_X%5>@+5F?!?:GM@@\BQ[?KQ/;I -M;=<)K^M_3NW2CV_7R;@IM,LVOETGETUONTZF^ZP/*^.RN#XTS_!='Y[L&J\/ -M3]WDT(>GON&7/BRSBG;'?'RC# -M\+BLX6+S@'_ZT#PP7A^:%[GJPU/1WG&H5WO2A\FVDY1C0^_CF.Q4W@28;YFX -MK-@6'\OR>OZS5QR^%I#"<3A8X3L.!U/'XW#H;0<.AU[W"X>5L6(,\Z'-XW!8 -M'MOD&8=#]S$<5L0V^=:&H:@Q'(;%-KG@\%L!*M(`,P[@#XS_9AS6A-"0[D%I5 -M+%ZA&/LIFHKQON!2U8E\A?]ZC.]4F4UBPK8KB13'*6P`Z%BLI^?-&,<)YS"$ -M8!['B3ZI(0T;21".>^J*:+,=8S4%-;4(>P*J("U1^%9`=1V,]Z'\D(I1$E._ -ME>!WWAHZI)%C3,/EIY4$VIXJ0-Z0KH`QH6[S:?YQ[2MXV%\]$.1*1,S,)YZ&&T*^P\!IGA_H\)QNTL.$7"`#L,]P+@ -M/KDG8@3ZKP#CU@C4!WC&CG'`1(23FO#=ZTFD[63F;//)S,MWB;'EZ]8#7C=` -M/SA!8B(&W&-P5I0`)GD?$&.9T2V`TVS`J1QP*J?-M@T:>9V<$J@G\/ZT"F,5 -MX9B-7CVDQS$5C&EM;X$\9MP@5\,X+^6#@_T8[TS&=9KMGM%=(,,?T9.]LN%N -MR#-(_>!_*$&>]_#QKFTAG3/8:)(-[\5X6C@'^N$OXIAB#%.,9?I5<4PA3Q8/ -M#GR.1D<,P&.N,>$P%EP1\FNX^8.#(\0[GD>?=^!Y]'D'GD>9_^&,Z;/`V[/` -MS]%0"=-G7Y]63'=YP/1B+YCN\H[I72><,)U_83#]80_#=(!U%\/J/IQG-LE& -M"R7,?L#F)JVM%QMF1W,U:KBF';.CN9/'[(<]HT3B&V*7EKS_8[0N"[H*XK# -M,ON=\"N'>GP*OP'P^R;6PS>;9F/G'X/=2A-UWU.L_]U(PHZ)_Z$^!QWSRB*] -M@Q]96#;P1,'GNOF]4WY/L'NBB,(X;[C^(L5Z$W]O8W/CP`?TX43]FL/+M2\" -MF]OG7*XG?IAD]DQOSWSCA7V'MWSNT=BICWEY/?^$J@8+DYOL!L&:&K$_[[B/ -M/HC@]?OGY!OF0C\>++2'ZE/0IP*^AJ)?U:FQ$6MN*GG]F$D>/D"4BRWOT)W' -MP/_*4=`#HREL/J>3`TO -M6T_8G+5A^2]`]](;9FP#70.ZD^E@4?^^6#1Y_3OZ](WI]V;1D(*$8?X81YKIY&6@D^%^^:%"YJ-*.IG-G6X"W73:H9/1O^Y,-Q'0-S,79T6, -M8*Q=KI\.X1E_X1BSUSC03]#?L&[@NIGI)PM1[CXAZN;U3KI9](M==+.;SRWI -M9NM)C7QW$>CFOQ'Y+@'T,NCDO8^8Y3;0)S[)%WP-;_)=#/8398KX.=!D(_D6 -M>L2.9S&#?1P%V_CZVFYY>`[(-^L=:GLR-8):4\/LY?H4FU459`6=^RSH#."! -MTIR;R72V,&>P4"B^9@?8I?CZ$V0!K8C1VRIB$JP5,0L`F^&CH2CWLQ@[($6H -MC%7:P_0IYK"8>+A/PN>EHX3)"65Q0BZ[R1,6=OMHB^]-!2RDNF/A;8)KI8B' -M<+`5!4LY)D!NJ)J'(G3(">T(*>T#KIB4\1$TYZ -M0@MZ0NM!3\Q\XOQC8M;'_QZ8"/)Z_H5G3.BFJB?Z')C0@9[0@9[0.>F)MS%V -MA9.>T(&>T'G0$\'/G'],W%SV[X&)D'4^8F**>N+:!"=,@)[0@9[0.>F);8@) -M)SVA`SVA\Z`G+MMU_C'QT%W_'I@(+?PJ3$AX0&P@'JP%J03''Z\?XYA`+#!< -M#*5&V`$/MES`PRC'`V(!,8'C#1QG("[L,-:PA<%88[LBDF&A?.+Q1ME6Q,(! -MHOX18B'L58]8\&'LR;"0!EA(&S_V=,'",B_CC?N]8,'/,>B4L7!2Q,*4QZ#A -MY?YA05OE&Q:BRM%OX%C0MMK"P'=PP8)W_\$5"Q&_.O]89<@RD8;W3/-,0Z/U!PO8\&I:_#/*=]=,ISS-YU?OB/--2+_-,B_V? -M9V)S_Z+.'YMG6C\-\TQR5WWOGUQG>SW_"OLT]G/LWY+==[;Y.+]X-C0F$ONX -ML]W'/HW]&_LS6Q,`/6_',TT#KZVN.P;V?RW8?^C+D)Z$\TSV"GT*SC6ACA^; -M:QIG\R^OD&0?+LJ^WHO-9W*7*7%_/^XGNRCFE3QA8**^/1$&!,!`_;3:_,A- -M4\1`]20PT&S'\TL#K^UWPT`[SBN)&-B'B6-`NP#GC,;FDL9AX*KGSS\&IF_> -MZ.+&@,K[_K?)86`2>D`+>D`+>F!NE1L&VG'>2,3`/O3QQN:.QF%@SJ[SCX'I -MFR>ZN#%PM=?QW^0PH)N$'M"!'M"A'NASQ8`N">>).`9T"W!.:&RN:!P&KJD[ -M_QB8OGFABQL#45[7OR>)@4GH`1WH`1WH@>OBW3#0CO-"(@;VX1S0V-S0.`Q< -M^]+YQ\#TS0-=W!B8ZW7_/QO[`PXD#%B=,&`7YP)'85P@C??+1UWG`G$\0(NO -MK:8PQI?&`7A>#069.\\'X7C`ZC0>*!OE8T'U@RC[Z^H\C@5]G0/,`-EG?,58 -M_V$OXX$?^3_61]GO!ME;IT'V8V-"2?:?$OGN*8T)U5[[/_9OW%^"DL-FC$WIHURO]_K]OR1/H\;&YG(E'6_,Z2*@A+T -M_`8N5_,&AXX7`J_94;<5]/I6LH#U^7#6S_4X?R?U;1H6DR3-]7*9'R`H:SZ7 -M]\UMV`?'Z78/=+MMG-SW?^5<[G3O)YJR/I^V^;MHK^M_;K*OF@;9]WB0 -M?;,H>S;&!]FW<]F?]B#[>4^=']F[CNV_OK+_UI+)R5X[#?T^:L%XV6O%?L_' -M]C1,*_;[XQYD_Q^;SX_L7OZAJ^QUT]'O^\;+7B?V>SZ6IV$ZL=^_[4'V__GX -M^9&]ZQC^ZRO[&*_G?[O)?AKZ_;4)'F0O]GL^A@?9B_U^FP?9:]><']F[CMV_ -MOK+7?>7^/TG^8V-X<0^')'/$`LH=\>`L=S:.W^`TCL?Q>R#;RY'$QNZB?T]E -MBDBVGN?5OX]]6)*YOVOU_\K^_?2OS^N]?O\ZLI_!6(` -MOP<*!QQ\F&HFH\.I!&6->S`Z,TW$F/,!*=U(E!WI@V1Q$[4:>PSX_;?"L/4# -M0C=H0I9#OSHAG]^'>SATR!.S3` -ML[S']FG\;?KV:7C:ES?5?1JV:=NGL<#K^9\H9Y0I]FUK)9^[P7,34=YE6XG2 -MOD$5E+L)^GPWGZ_';[R,Z1\36[D^A)O$-J_DW0M8*\`G8GBQQ/@=L`.[=>7:]B('EB(&;[O&$`5_V[+!Y -M6NG;,!$#D]JO\:#_\[,OKO=MC^9D]^Q(<_-3FY^]V>N9*&Y8J/(="\,>L'!S -MAP^N.7]8<-O'\;7%0H+7\;\K%G1^Z(5W/&`AP>P! -M"WT.+.B<]((X'U2A\Z`7;MM\_K#@MI_C:XN%V[W._[MAP0^]4.`!"[?;QF/A -MV@0G+#CI!7%^J$+G02_SAWT\3T? -M$A:\CR'N5(SAX)"(`QPWA('L<TMV-:,3!M^SONRI@S(T+&SM44Z648#]V`M$`7)-*QLR^H7$X:QMD+#M:I9?V("',:Y$V7.(CR%WAW%X[M+^.US'"7GQ= -MN=B6>.=RD0[>BQ-EHH1V)(SE5V+ME^@`LW-`1@8C($%L]RQ:+*C$MB>Z\E%F -MDO@(\NL`VME`LU#*UU[$XGKP=A?9+D=<'.@GB&O,]W(QSR3>9A;O7I2U`I\9 -M1+I(UIZ0T':[3+%H/&V0,^T5G):D`&W*>%JE,^V5G%:>`;1+QM/:9CO17L5I -M%3E`FSJ>5NU,J^*TX0>!-FT\;:(S[1Q.&U@.M.GC:0N=::_FM$&-0)OA3MO` -M<$"N%W%P#:<-V0>TF1[:%L#RY;11C#90R`+:=1YDX4Q[+<]W;A?09GF0A3/M -M7$X[NP5H-WF0A3/M=9PVLA5H>.N)"',^U_TI`;JT6]V.1."[+G.K&( -MQ-"0F"KXCW3L+-ZQ_(ILWT9](^HP+0U1=XCY-8\KNTCA3*NC(8E-(NV^\;1! -MSK2Q-&1!NDC;,IY6.49+0VY>!S2M]:)N=*KG?*?\XFA(?(Z8GV%\?FIGVODT -MY*Z](FW;>-I$9]IOTY#O[!!IV\?3%CK3+J`A"54B;<YFU&=X;,=I.D,[\`=RG/&K,&2"'Y?>^23=D)D"YS5!&1B_IV?F.?/3V7N[@*8D>Q$MV69&&GB_E,Z= -M286@[`1(,QG-H_#N(+[+;-!04&XT+)7WRQ0-I2YLNC7$!V-'A;/\NW(J[9 -MN0[ZN/G?7G#3S;?$W[KRD1]GK%K]:.::M8^M>WS]AJPG-CZY:7/VEIRGMD(^ -M8_&IZ(L+918Y`7[?A67L9^5"&I=K\CZ%VLL^&K#IQMIA`Y=),HM=\)X*Y,;O -MC^-][%8B.R9/[FD#+]=3'D9('\(SPR$OZ&LR8^T1`\:"ZI.G,)^F<^"(P9@# -M>?*T.]]3]1/=1LPS)<9;GM_E -M@:_[`NT;+DO98Y(G=[&^$Y*<5?D"[=^S-7&&94&\$*`-T`Y]-],JPOYK$3RC9:!@G\'V@X0\@.J(=S/36K']^D7K]Y -MW;H;0HB&_;K$"MN$Y](^]P)M@[H;H`WM!\!3!]P0J$L5E+,,TEOA?RN4TX[G -MV!^6/_(,+;M/">6U8ZP-/,=V:,L26<.5M!KHVM57DWGPWN?0YCWP'^DKQ+JV -M<0P^LAGOH;V&NBMI^7#9?:UX/C>VM0+NH8WM0%LU5+!$!F,X68,CSW*L$]8# -MQY(?`F(%:RK1CA#9AWV$U+Y`&^&JA:OF`WCV/ESMD-X!OQ_`[_MPP;A2A?5^ -M,H_VQ]:0;V+^P,\'>N4K>[#N>,8]#;D_Q>7,=K)7(^D3([N1QU$OBP:KC37]&4+>-IRPN^7 -MAXJ_,.)=#GQ:`?FOV,335A3";SM?R03Y6G%.%<@2Y/\?C7*:"?' -MEDR@+"T*L%7KP,^26:[X^:'-#3]5J*=,\OLR&SA>6H=R,^!^"8%\6G&N$_)@ -M?O/.8S#&S"0*[%,#\B7W(6:Q;+%<7A>H'Z0U8OTV0+YPOP?H&HUD4*H;>Z=L -M+>!1K"_FB>]11[NB\!U>]M(9D(YC4IP;"3#:3-AWV_'7:--#7THBPG`JB541 -M/?2WX%[YDGY='M%C?JC;H1U[&[`O\G;8L1V8_PJP//'&R^];P_@&[Z,\ -M*)2!>138N$Y[9>L(^!`_>MM5/DMKG>4#[S7#^VT4VHCZ!,J,P+AAD%8EE$$> -MV2-L3@;R>1/J4H7Y0'W:Q+SZW\USE;68WQZ4.>O/6UF;0'?]:%L]?]8"-"W4 -MFD1H;BJ/3\:?[2LXR^3;QO7:C^J>W$;['?7^T1(IOH58[WU8'MV2QNPKEH'O -MB_GI,3^)5SJH!^?7T@Q(WX-89'P#/3I4@%C\42J\WUJ)]UOP?ND`T[%CSYN$FV' -M*.O4W[\'_<611VJBFZQ;&!ZW+))AF^'=%C$?UF:&IR*&@0ZZ!=HYAH,':D4Y -M=[CQ1*S[#_LQ;ASJ)/!M;Q^V.O02REY@LD]=V,#MK:BW4OGS*UTPC'5YBN$7 -MZU*0AG5I8?4H4!-X9L;RX=T\L;^*>3V0@GD]#;H*ZV22_["'Z;__PW!PGUCW -M]I$B?'?)PK-R]FX[T+6,\'@S(?!^$\8`."Q_N!EU-,X9P_]=N.<0=(H"\@M" -MC$JX&)`_7(KC`^#U7O!-FI#?B.7H:K)@N&Q9BX1;**<6><_EL\P..&YQ8&N9 -M7>1C$_`Q",K;)K:K">B5UH._ -MDFC1]V.Q>B`-]6`LR)[I/HP7*J9AW^%E/+R,X1#\'@>.'BQQTT^HBZLZ(0_4 -MIX@EU*E\#/)@NMA_I#J?=L7*P_<`5K1.>?=YLG,-7`?6\G<>NDELVU[>-O$> -M^9:/?$L[Z\1'X%O:*I&^!76YH[\^])+4E\?KB[2EV!\<]7HHSTU?M'C6%P\M -M$MO;Z-8W]O"ZB[8%Y-!I&65VY02DH?[$LIUM4#WGJ]B7T^X<+X'^E$W..MHH*T6*/:7M$C7OOA0H=@7I;(/@8ST3N66N)6+ -MLFE#/O`VIGTDV32DAW=SX)U6-_M8A?6#LA8PG?4"TQ4YP[P^A@;13D":7DPK -M%VV)A)LXUSH]'.79/WIH@>0?L;R8+GI8+;8/T[0\[<%^3*OD?*BFS%X]6"[: -M*^Q?H#U!>X3Y7]+F:_[Z+>03\$GP-= -M">HB2/]$_7_!+_@R"/)]N$5\]RCS%;Y,"I#2I/=`-^S"]_!]27^A[K*A;F+E -M+=>*&&?C!LDOLLJ=:#$&#=-IRW.X/EN^!M]E\@-=F7^6?MZPD2CJ!U$OWI?) -MZ[F\C;=C>05K!]>I5;PN]V76C[)GKV-;\-E.IV<8+P.>L;&O^WN"-7,U+M"(_'6^3_V'RA?B?<,]WDD`/[7(@W6B=N(Y6IWG_JP?.7;:)>XK[JR -M3ISW(8:-+X-=6-$OZ1@ZG$0,^;U8QZ.8%@X^@C,-ZJ>W1DUBGBO:)+V!NJ33 -MTBOZ=.F;ZD5=OMG5#TO?[*HS5I:ZZPSPFW<,EZ4GN?@!D#:Q[DB/PCZJ -MRQ+U$YO+2O]4JC/JS:%<:6YCY5/HJ[F5U^*B.[$\*3\%(=B/#!MQ+B:]1-3S -MC2ZZ4K1AJ"==;=5]:UQMULC*]W\673#9(O -MZ]"CZ2FHHZ#\%K'L9I,\N48J&W#4WPGHH67W1<'_:M$'9'US%&,9R9?W`/Y" -M$&>&]8.DSV$KVH8V2/Q]Y$YGO[#N!5HR7/:(RKF-%9"V4YQ#8+QE>:T<:'C! -MM6V\'8^HL1TX)H+R3>CW@,\'_Y=E-(QA_HLO*)]7ZG'DY -M(<1!^AWURB>?W/SXJ@SU^C4_UFY<]>2J3>J5&S=L7I^AGI>AFZ>_.<,]_GN_ -M<.9H_\XS)"A"EK4Q(F?->CZ?]^/2V&J2!<]#&WZ&O'ZD%GX52`?MC(;_05!W -M]7#9CQ>9Y*OWL9C&D`YM4],S[_>#SY:%<9$:SI#(JFRB@"L4+J4<\H-W"DWR -M#!9/''Z5YN`\/2W)TW.Y9(1)<\K)SY!DQ&>O/".4I0&6<9Y63.-T9X@"ZJC$ -M>(\8W2?[C35`O5@]/ -ML-B(,;.;1#Q% -MS?1W1_O%^FY"7?";M=T*;`/8AM"&0:]SA`J<(Z0O.OM8&4Q/H'\U5(1S?AG@ -MCV=$B;ZPA5K3G'RGC&:0C<5+WD%2WAC[&M_A\E[U?7C'[,A_5;1[_I@G_#=+ -MY?!Q]RJ<`S`#=EWFL$6L?<<-:PD_>X%V=5:#'$&^.T^#C81[734!V\'F$`]" -M7AU0=B/T)S:O30&;E0*;'^E@IEQA//$P8?5 -M,1(?`-\'H9R0<&8G!ED>6&C3^(904M6UV(F(5WFJ08XIYD"64H%-4D",MHBV3TW9[*<,=56R,A -M[T4!CN&]Z$CLCX\J/;TW[\[(]M)'*HT_6]<(^R?6XN -M7SL!7E6+OI5E*#<)^L3:-)/\\23'6LS:IT3?P\+MQ=HDL/46KE.3T!?]S\/R -M=15LS)=/M/!_.\X5.=9NUMT+OTK\%L^NQ*OP==T\>>#WA. -MG_2E`!Q:<%T+^I%\N.RQ/2`SME;JE`YZ_;%6#^F@9QX[Z"$]!-('_G][5^^; -M5!3%S^6CMM5&*$U$1'F#)@RVA0*1DIH08XU#!V)(-,:A1JO6P"`,TD5ITJ5. -M'31QT(3!P<'!P3^@I`XF-LK@X";&CW3HT(%$3)I>S[GW`@]X8"I--95?>]^Y -MYW?._7CW7NX]O+RF!KSMQX.$Q8#'>";A;N1QGM>1#U9XG)LU-3>/Y//TQ,/7 -M<`9T)>T4VPSW61<_5DBI[N:P7&J)SM'99#6WFEU'H_PK:T[Z;D(O47\P`QM)N[-B-D$=N(&"L>.@\.<(22E]0RB6JG_5 -MW@%4?T5]96"JO;#.XVR;TAPJ18QP!U,V;L7Z+@EGSC=5_16=ZW5BZG6$Z8JN -M`8_YNG@E\Y"[9L_9&EJUBNM!NF2P/B_:!S-5J[DTK_-]*[OO6&A]$]O&,5W> -M(X6CW1CN+-S05\G6EH=CU;_)LX%L5+#M?_\\Y[VL5_"0;FO]V%/0PNMU#<)X6@'U[=.+DR -M<$5PE?G#<[S-P5L%_5V`'U,`TQ'%]6^C!1.N%@N>J#VP#WKQ9#$LFX6H$R_X -M&X.HT*>[_*[RRXHO*+[8Y7>19XQADCDP0"/+%*HZ_*9\4WWUY1M!?0O*['V, -M[40,P24V]7YRW_ET"Z"8PV0!^#R!J0#P%>/E+\&M3&?[]2H+S2*JL\?"8Q'0@$M.9>:]?MNSF@W9E/)NU=3,ZWZV!$T -M3$>W0(Q,_2C(V!]83GW3\JI4`YMX`FS\#;!0'!B]K>-U`[L\!>SB-+`+'X!- -I?00VF6CFKODD=P_+SZT#2Q>`);R26XP!6UB"?Q-BA'X!UH.@4SA\`@`` -` -end diff --git a/sys/dev/mxge/if_mxge.c b/sys/dev/mxge/if_mxge.c index ff79b395fc1f..6a4c0b01e683 100644 --- a/sys/dev/mxge/if_mxge.c +++ b/sys/dev/mxge/if_mxge.c @@ -1,6 +1,6 @@ /****************************************************************************** -Copyright (c) 2006, Myricom Inc. +Copyright (c) 2006-2007, Myricom Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -9,11 +9,7 @@ modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Myricom Inc, nor the names of its + 2. Neither the name of the Myricom Inc, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -80,6 +76,10 @@ __FBSDID("$FreeBSD$"); #include /* for pmap_mapdev() */ #include +#if defined(__i386) || defined(__amd64) +#include +#endif + #include #include #include @@ -91,6 +91,7 @@ static int mxge_intr_coal_delay = 30; static int mxge_deassert_wait = 1; static int mxge_flow_control = 1; static int mxge_verbose = 0; +static int mxge_lro_cnt = 8; static int mxge_ticks; static char *mxge_fw_unaligned = "mxge_ethp_z8e"; static char *mxge_fw_aligned = "mxge_eth_z8e"; @@ -123,15 +124,20 @@ static devclass_t mxge_devclass; /* Declare ourselves to be a child of the PCI bus.*/ DRIVER_MODULE(mxge, pci, mxge_driver, mxge_devclass, 0, 0); MODULE_DEPEND(mxge, firmware, 1, 1, 1); +MODULE_DEPEND(mxge, zlib, 1, 1, 1); static int mxge_load_firmware(mxge_softc_t *sc); static int mxge_send_cmd(mxge_softc_t *sc, uint32_t cmd, mxge_cmd_t *data); +static int mxge_close(mxge_softc_t *sc); +static int mxge_open(mxge_softc_t *sc); +static void mxge_tick(void *arg); static int mxge_probe(device_t dev) { if ((pci_get_vendor(dev) == MXGE_PCI_VENDOR_MYRICOM) && - (pci_get_device(dev) == MXGE_PCI_DEVICE_Z8E)) { + ((pci_get_device(dev) == MXGE_PCI_DEVICE_Z8E) || + (pci_get_device(dev) == MXGE_PCI_DEVICE_Z8E_9))) { device_set_desc(dev, "Myri10G-PCIE-8A"); return 0; } @@ -141,13 +147,22 @@ mxge_probe(device_t dev) static void mxge_enable_wc(mxge_softc_t *sc) { +#if defined(__i386) || defined(__amd64) struct mem_range_desc mrdesc; vm_paddr_t pa; vm_offset_t len; int err, action; - pa = rman_get_start(sc->mem_res); + sc->wc = 1; len = rman_get_size(sc->mem_res); + err = pmap_change_attr((vm_offset_t) sc->sram, + len, PAT_WRITE_COMBINING); + if (err == 0) + return; + else + device_printf(sc->dev, "pmap_change_attr failed, %d\n", + err); + pa = rman_get_start(sc->mem_res); mrdesc.mr_base = pa; mrdesc.mr_len = len; mrdesc.mr_flags = MDF_WRITECOMBINE; @@ -155,12 +170,12 @@ mxge_enable_wc(mxge_softc_t *sc) strcpy((char *)&mrdesc.mr_owner, "mxge"); err = mem_range_attr_set(&mrdesc, &action); if (err != 0) { + sc->wc = 0; device_printf(sc->dev, "w/c failed for pa 0x%lx, len 0x%lx, err = %d\n", (unsigned long)pa, (unsigned long)len, err); - } else { - sc->wc = 1; } +#endif } @@ -410,7 +425,7 @@ mxge_enable_nvidia_ecrc(mxge_softc_t *sc) } #else static void -mxge_enable_nvidia_ecrc(mxge_softc_t *sc, device_t pdev) +mxge_enable_nvidia_ecrc(mxge_softc_t *sc) { device_printf(sc->dev, "Nforce 4 chipset on non-x86/amd64!?!?!\n"); @@ -631,62 +646,101 @@ mxge_validate_firmware(mxge_softc_t *sc, const mcp_gen_header_t *hdr) } +static void * +z_alloc(void *nil, u_int items, u_int size) +{ + void *ptr; + + ptr = malloc(items * size, M_TEMP, M_NOWAIT); + return ptr; +} + +static void +z_free(void *nil, void *ptr) +{ + free(ptr, M_TEMP); +} + + static int mxge_load_firmware_helper(mxge_softc_t *sc, uint32_t *limit) { + z_stream zs; + char *inflate_buffer; const struct firmware *fw; const mcp_gen_header_t *hdr; unsigned hdr_offset; - const char *fw_data; - union qualhack hack; int status; unsigned int i; char dummy; - + size_t fw_len; fw = firmware_get(sc->fw_name); - if (fw == NULL) { device_printf(sc->dev, "Could not find firmware image %s\n", sc->fw_name); return ENOENT; } - if (fw->datasize > *limit || - fw->datasize < MCP_HEADER_PTR_OFFSET + 4) { - device_printf(sc->dev, "Firmware image %s too large (%d/%d)\n", - sc->fw_name, (int)fw->datasize, (int) *limit); - status = ENOSPC; - goto abort_with_fw; - } - *limit = fw->datasize; - /* check id */ - fw_data = (const char *)fw->data; - hdr_offset = htobe32(*(const uint32_t *) - (fw_data + MCP_HEADER_PTR_OFFSET)); - if ((hdr_offset & 3) || hdr_offset + sizeof(*hdr) > fw->datasize) { - device_printf(sc->dev, "Bad firmware file"); + + + /* setup zlib and decompress f/w */ + bzero(&zs, sizeof (zs)); + zs.zalloc = z_alloc; + zs.zfree = z_free; + status = inflateInit(&zs); + if (status != Z_OK) { status = EIO; goto abort_with_fw; } - hdr = (const void*)(fw_data + hdr_offset); + + /* the uncompressed size is stored as the firmware version, + which would otherwise go unused */ + fw_len = (size_t) fw->version; + inflate_buffer = malloc(fw_len, M_TEMP, M_NOWAIT); + if (inflate_buffer == NULL) + goto abort_with_zs; + zs.avail_in = fw->datasize; + zs.next_in = __DECONST(char *, fw->data); + zs.avail_out = fw_len; + zs.next_out = inflate_buffer; + status = inflate(&zs, Z_FINISH); + if (status != Z_STREAM_END) { + device_printf(sc->dev, "zlib %d\n", status); + status = EIO; + goto abort_with_buffer; + } + + /* check id */ + hdr_offset = htobe32(*(const uint32_t *) + (inflate_buffer + MCP_HEADER_PTR_OFFSET)); + if ((hdr_offset & 3) || hdr_offset + sizeof(*hdr) > fw_len) { + device_printf(sc->dev, "Bad firmware file"); + status = EIO; + goto abort_with_buffer; + } + hdr = (const void*)(inflate_buffer + hdr_offset); status = mxge_validate_firmware(sc, hdr); if (status != 0) - goto abort_with_fw; + goto abort_with_buffer; - hack.ro_char = fw_data; /* Copy the inflated firmware to NIC SRAM. */ - for (i = 0; i < *limit; i += 256) { + for (i = 0; i < fw_len; i += 256) { mxge_pio_copy(sc->sram + MXGE_FW_OFFSET + i, - hack.rw_char + i, - min(256U, (unsigned)(*limit - i))); + inflate_buffer + i, + min(256U, (unsigned)(fw_len - i))); mb(); dummy = *sc->sram; mb(); } + *limit = fw_len; status = 0; +abort_with_buffer: + free(inflate_buffer, M_TEMP); +abort_with_zs: + inflateEnd(&zs); abort_with_fw: firmware_put(fw, FIRMWARE_UNLOAD); return status; @@ -796,6 +850,9 @@ mxge_send_cmd(mxge_softc_t *sc, uint32_t cmd, mxge_cmd_t *data) case MXGEFW_CMD_ERROR_UNALIGNED: err = E2BIG; break; + case MXGEFW_CMD_ERROR_BUSY: + err = EBUSY; + break; default: device_printf(sc->dev, "mxge: command %d " @@ -1221,6 +1278,53 @@ mxge_change_flow_control(SYSCTL_HANDLER_ARGS) return err; } +static int +mxge_change_lro_locked(mxge_softc_t *sc, int lro_cnt) +{ + struct ifnet *ifp; + int err = 0; + + ifp = sc->ifp; + if (lro_cnt == 0) + ifp->if_capenable &= ~IFCAP_LRO; + else + ifp->if_capenable |= IFCAP_LRO; + sc->lro_cnt = lro_cnt; + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + callout_stop(&sc->co_hdl); + mxge_close(sc); + err = mxge_open(sc); + if (err == 0) + callout_reset(&sc->co_hdl, mxge_ticks, mxge_tick, sc); + } + return err; +} + +static int +mxge_change_lro(SYSCTL_HANDLER_ARGS) +{ + mxge_softc_t *sc; + unsigned int lro_cnt; + int err; + + sc = arg1; + lro_cnt = sc->lro_cnt; + err = sysctl_handle_int(oidp, &lro_cnt, arg2, req); + if (err != 0) + return err; + + if (lro_cnt == sc->lro_cnt) + return 0; + + if (lro_cnt > 128) + return EINVAL; + + mtx_lock(&sc->driver_mtx); + err = mxge_change_lro_locked(sc, lro_cnt); + mtx_unlock(&sc->driver_mtx); + return err; +} + static int mxge_handle_be32(SYSCTL_HANDLER_ARGS) { @@ -1419,9 +1523,11 @@ mxge_add_sysctls(mxge_softc_t *sc) 0, "verbose printing"); /* lro */ - SYSCTL_ADD_INT(ctx, children, OID_AUTO, - "lro_cnt", CTLFLAG_RD, &sc->lro_cnt, - 0, "number of lro merge queues"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, + "lro_cnt", + CTLTYPE_INT|CTLFLAG_RW, sc, + 0, mxge_change_lro, + "I", "number of lro merge queues"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "lro_flushed", CTLFLAG_RD, &sc->lro_flushed, @@ -1853,9 +1959,10 @@ mxge_vlan_tag_remove(struct mbuf *m, uint32_t *csum) /* restore checksum to network byte order; later consumers expect this */ *csum = htons(*csum); + /* save the tag */ mtag = m_tag_alloc(MTAG_VLAN, MTAG_VLAN_TAG, sizeof(u_int), - M_NOWAIT); + M_NOWAIT); if (mtag == NULL) return; m->m_flags |= M_VLANTAG; @@ -2013,7 +2120,7 @@ mxge_clean_rx_done(mxge_softc_t *sc) rx_done->idx = rx_done->cnt & rx_done->mask; /* limit potential for livelock */ - if (__predict_false(++limit > 2 * rx_done->mask)) + if (__predict_false(++limit > rx_done->mask / 2)) break; } while(!SLIST_EMPTY(&sc->lro_active)) { @@ -2031,9 +2138,8 @@ mxge_tx_done(mxge_softc_t *sc, uint32_t mcp_idx) mxge_tx_buf_t *tx; struct mbuf *m; bus_dmamap_t map; - int idx, limit; + int idx; - limit = 0; tx = &sc->tx; ifp = sc->ifp; while (tx->pkt_done != mcp_idx) { @@ -2053,10 +2159,6 @@ mxge_tx_done(mxge_softc_t *sc, uint32_t mcp_idx) tx->info[idx].flag = 0; tx->pkt_done++; } - /* limit potential for livelock by only handling - 2 full tx rings per call */ - if (__predict_false(++limit > 2 * tx->mask)) - break; } /* If we have space, clear IFF_OACTIVE to tell the stack that @@ -2072,6 +2174,142 @@ mxge_tx_done(mxge_softc_t *sc, uint32_t mcp_idx) } } +static struct mxge_media_type mxge_media_types[] = +{ + {IFM_10G_CX4, 0x7f, "10GBASE-CX4 (module)"}, + {IFM_10G_SR, (1 << 7), "10GBASE-SR"}, + {IFM_10G_LR, (1 << 6), "10GBASE-LR"}, + {0, (1 << 5), "10GBASE-ER"}, + {0, (1 << 4), "10GBASE-LRM"}, + {0, (1 << 3), "10GBASE-SW"}, + {0, (1 << 2), "10GBASE-LW"}, + {0, (1 << 1), "10GBASE-EW"}, + {0, (1 << 0), "Reserved"} +}; + +static void +mxge_set_media(mxge_softc_t *sc, int type) +{ + sc->media_flags |= type; + ifmedia_add(&sc->media, sc->media_flags, 0, NULL); + ifmedia_set(&sc->media, sc->media_flags); +} + + +/* + * Determine the media type for a NIC. Some XFPs will identify + * themselves only when their link is up, so this is initiated via a + * link up interrupt. However, this can potentially take up to + * several milliseconds, so it is run via the watchdog routine, rather + * than in the interrupt handler itself. This need only be done + * once, not each time the link is up. + */ +static void +mxge_media_probe(mxge_softc_t *sc) +{ + mxge_cmd_t cmd; + char *ptr; + int i, err, ms; + + sc->need_media_probe = 0; + + /* if we've already set a media type, we're done */ + if (sc->media_flags != (IFM_ETHER | IFM_AUTO)) + return; + + /* + * parse the product code to deterimine the interface type + * (CX4, XFP, Quad Ribbon Fiber) by looking at the character + * after the 3rd dash in the driver's cached copy of the + * EEPROM's product code string. + */ + ptr = sc->product_code_string; + if (ptr == NULL) { + device_printf(sc->dev, "Missing product code\n"); + } + + for (i = 0; i < 3; i++, ptr++) { + ptr = index(ptr, '-'); + if (ptr == NULL) { + device_printf(sc->dev, + "only %d dashes in PC?!?\n", i); + return; + } + } + if (*ptr == 'C') { + mxge_set_media(sc, IFM_10G_CX4); + return; + } + else if (*ptr == 'Q') { + device_printf(sc->dev, "Quad Ribbon Fiber Media\n"); + /* FreeBSD has no media type for Quad ribbon fiber */ + return; + } + + if (*ptr != 'R') { + device_printf(sc->dev, "Unknown media type: %c\n", *ptr); + return; + } + + /* + * At this point we know the NIC has an XFP cage, so now we + * try to determine what is in the cage by using the + * firmware's XFP I2C commands to read the XFP 10GbE compilance + * register. We read just one byte, which may take over + * a millisecond + */ + + cmd.data0 = 0; /* just fetch 1 byte, not all 256 */ + cmd.data1 = MXGE_XFP_COMPLIANCE_BYTE; /* the byte we want */ + err = mxge_send_cmd(sc, MXGEFW_CMD_XFP_I2C_READ, &cmd); + if (err == MXGEFW_CMD_ERROR_XFP_FAILURE) { + device_printf(sc->dev, "failed to read XFP\n"); + } + if (err == MXGEFW_CMD_ERROR_XFP_ABSENT) { + device_printf(sc->dev, "Type R with no XFP!?!?\n"); + } + if (err != MXGEFW_CMD_OK) { + return; + } + + /* now we wait for the data to be cached */ + cmd.data0 = MXGE_XFP_COMPLIANCE_BYTE; + err = mxge_send_cmd(sc, MXGEFW_CMD_XFP_BYTE, &cmd); + for (ms = 0; (err == EBUSY) && (ms < 50); ms++) { + DELAY(1000); + cmd.data0 = MXGE_XFP_COMPLIANCE_BYTE; + err = mxge_send_cmd(sc, MXGEFW_CMD_XFP_BYTE, &cmd); + } + if (err != MXGEFW_CMD_OK) { + device_printf(sc->dev, "failed to read XFP (%d, %dms)\n", + err, ms); + return; + } + + if (cmd.data0 == mxge_media_types[0].bitmask) { + if (mxge_verbose) + device_printf(sc->dev, "XFP:%s\n", + mxge_media_types[0].name); + mxge_set_media(sc, IFM_10G_CX4); + return; + } + for (i = 1; + i < sizeof (mxge_media_types) / sizeof (mxge_media_types[0]); + i++) { + if (cmd.data0 & mxge_media_types[i].bitmask) { + if (mxge_verbose) + device_printf(sc->dev, "XFP:%s\n", + mxge_media_types[i].name); + + mxge_set_media(sc, mxge_media_types[i].flag); + return; + } + } + device_printf(sc->dev, "XFP media 0x%x unknown\n", cmd.data0); + + return; +} + static void mxge_intr(void *arg) { @@ -2123,6 +2361,7 @@ mxge_intr(void *arg) if (mxge_verbose) device_printf(sc->dev, "link down\n"); } + sc->need_media_probe = 1; } if (sc->rdma_tags_available != be32toh(sc->fw_stats->rdma_tags_available)) { @@ -2131,7 +2370,12 @@ mxge_intr(void *arg) device_printf(sc->dev, "RDMA timed out! %d tags " "left\n", sc->rdma_tags_available); } - sc->down_cnt += stats->link_down; + + if (stats->link_down) { + sc->down_cnt += stats->link_down; + sc->link_state = 0; + if_link_state_change(sc->ifp, LINK_STATE_DOWN); + } } /* check to see if we have rx token to pass back */ @@ -2749,16 +2993,27 @@ static void mxge_watchdog(mxge_softc_t *sc) { mxge_tx_buf_t *tx = &sc->tx; + uint32_t rx_pause = be32toh(sc->fw_stats->dropped_pause); /* see if we have outstanding transmits, which have been pending for more than mxge_ticks */ if (tx->req != tx->done && tx->watchdog_req != tx->watchdog_done && - tx->done == tx->watchdog_done) - mxge_watchdog_reset(sc); + tx->done == tx->watchdog_done) { + /* check for pause blocking before resetting */ + if (tx->watchdog_rx_pause == rx_pause) + mxge_watchdog_reset(sc); + else + device_printf(sc->dev, "Flow control blocking " + "xmits, check link partner\n"); + } tx->watchdog_req = tx->req; tx->watchdog_done = tx->done; + tx->watchdog_rx_pause = rx_pause; + + if (sc->need_media_probe) + mxge_media_probe(sc); } static void @@ -2822,9 +3077,9 @@ mxge_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) if (sc == NULL) return; ifmr->ifm_status = IFM_AVALID; - ifmr->ifm_status |= sc->fw_stats->link_up ? IFM_ACTIVE : 0; + ifmr->ifm_status |= sc->link_state ? IFM_ACTIVE : 0; ifmr->ifm_active = IFM_AUTO | IFM_ETHER; - ifmr->ifm_active |= sc->fw_stats->link_up ? IFM_FDX : 0; + ifmr->ifm_active |= sc->link_state ? IFM_FDX : 0; } static int @@ -2880,8 +3135,9 @@ mxge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) mask = ifr->ifr_reqcap ^ ifp->if_capenable; if (mask & IFCAP_TXCSUM) { if (IFCAP_TXCSUM & ifp->if_capenable) { - ifp->if_capenable &= ~(IFCAP_TXCSUM); - ifp->if_hwassist &= ~(CSUM_TCP | CSUM_UDP); + ifp->if_capenable &= ~(IFCAP_TXCSUM|IFCAP_TSO4); + ifp->if_hwassist &= ~(CSUM_TCP | CSUM_UDP + | CSUM_TSO); } else { ifp->if_capenable |= IFCAP_TXCSUM; ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP); @@ -2928,6 +3184,8 @@ mxge_fetch_tunables(mxge_softc_t *sc) &mxge_verbose); TUNABLE_INT_FETCH("hw.mxge.ticks", &mxge_ticks); TUNABLE_INT_FETCH("hw.mxge.lro_cnt", &sc->lro_cnt); + if (sc->lro_cnt != 0) + mxge_lro_cnt = sc->lro_cnt; if (bootverbose) mxge_verbose = 1; @@ -3093,23 +3351,26 @@ mxge_attach(device_t dev) device_printf(dev, "MTU limited to %d. Install " "latest firmware for 9000 byte jumbo support\n", sc->max_mtu - ETHER_HDR_LEN); - ifp->if_hwassist = CSUM_TCP | CSUM_UDP; + ifp->if_hwassist = CSUM_TCP | CSUM_UDP | CSUM_TSO; ifp->if_capenable = ifp->if_capabilities; + if (sc->lro_cnt == 0) + ifp->if_capenable &= ~IFCAP_LRO; sc->csum_flag = 1; ifp->if_init = mxge_init; ifp->if_softc = sc; ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_ioctl = mxge_ioctl; ifp->if_start = mxge_start; + /* Initialise the ifmedia structure */ + ifmedia_init(&sc->media, 0, mxge_media_change, + mxge_media_status); + mxge_set_media(sc, IFM_ETHER | IFM_AUTO); + mxge_media_probe(sc); ether_ifattach(ifp, sc->mac_addr); /* ether_ifattach sets mtu to 1500 */ if (ifp->if_capabilities & IFCAP_JUMBO_MTU) ifp->if_mtu = 9000; - /* Initialise the ifmedia structure */ - ifmedia_init(&sc->media, 0, mxge_media_change, - mxge_media_status); - ifmedia_add(&sc->media, IFM_ETHER|IFM_AUTO, 0, NULL); mxge_add_sysctls(sc); return 0; @@ -3164,7 +3425,6 @@ mxge_detach(device_t dev) pci_release_msi(dev); sc->rx_done.entry = NULL; - mxge_dma_free(&sc->rx_done.dma); mxge_dma_free(&sc->fw_stats_dma); mxge_dma_free(&sc->dmabench_dma); mxge_dma_free(&sc->zeropad_dma); diff --git a/sys/dev/mxge/if_mxge_var.h b/sys/dev/mxge/if_mxge_var.h index 0f891efc9343..d9054acdcd45 100644 --- a/sys/dev/mxge/if_mxge_var.h +++ b/sys/dev/mxge/if_mxge_var.h @@ -1,6 +1,6 @@ /******************************************************************************* -Copyright (c) 2006, Myricom Inc. +Copyright (c) 2006-2007, Myricom Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -9,11 +9,7 @@ modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Myricom Inc, nor the names of its + 2. Neither the name of the Myricom Inc, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -109,6 +105,7 @@ typedef struct int wake; /* #times irq re-enabled xmit */ int watchdog_req; /* cache of req */ int watchdog_done; /* cache of done */ + int watchdog_rx_pause; /* cache of pause rq recvd */ } mxge_tx_buf_t; struct lro_entry; @@ -194,6 +191,8 @@ typedef struct { int link_width; int max_mtu; int tx_defrag; + int media_flags; + int need_media_probe; mxge_dma_t dmabench_dma; struct callout co_hdl; char *mac_addr_string; @@ -208,11 +207,19 @@ typedef struct { #define MXGE_PCI_VENDOR_MYRICOM 0x14c1 #define MXGE_PCI_DEVICE_Z8E 0x0008 +#define MXGE_PCI_DEVICE_Z8E_9 0x0009 +#define MXGE_XFP_COMPLIANCE_BYTE 131 #define MXGE_HIGHPART_TO_U32(X) \ (sizeof (X) == 8) ? ((uint32_t)((uint64_t)(X) >> 32)) : (0) #define MXGE_LOWPART_TO_U32(X) ((uint32_t)(X)) +struct mxge_media_type +{ + int flag; + uint8_t bitmask; + char *name; +}; /* implement our own memory barriers, since bus_space_barrier cannot handle write-combining regions */ @@ -250,9 +257,22 @@ mxge_pio_copy(volatile void *to_v, void *from_v, size_t size) void mxge_lro_flush(mxge_softc_t *mgp, struct lro_entry *lro); int mxge_lro_rx(mxge_softc_t *mgp, struct mbuf *m_head, uint32_t csum); - +#ifndef IFCAP_LRO +#define IFCAP_LRO 0 +#endif +#ifndef IFCAP_TSO +#define IFCAP_TSO 0 +#endif + +#ifndef IFCAP_TSO4 +#define IFCAP_TSO4 0 +#endif + +#ifndef CSUM_TSO +#define CSUM_TSO 0 +#endif /* This file uses Myri10GE driver indentation. diff --git a/sys/dev/mxge/mcp_gen_header.h b/sys/dev/mxge/mcp_gen_header.h index 7cb449105954..65fe27cf4cd0 100644 --- a/sys/dev/mxge/mcp_gen_header.h +++ b/sys/dev/mxge/mcp_gen_header.h @@ -1,6 +1,6 @@ /******************************************************************************* -Copyright (c) 2006, Myricom Inc. +Copyright (c) 2006-2007, Myricom Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -9,11 +9,7 @@ modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Myricom Inc, nor the names of its + 2. Neither the name of the Myricom Inc, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/sys/dev/mxge/mxge_lro.c b/sys/dev/mxge/mxge_lro.c index bcb3768ea17f..0a09a2a6905c 100644 --- a/sys/dev/mxge/mxge_lro.c +++ b/sys/dev/mxge/mxge_lro.c @@ -9,11 +9,7 @@ modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Myricom Inc, nor the names of its + 2. Neither the name of the Myricom Inc, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -244,7 +240,7 @@ mxge_lro_rx(mxge_softc_t *mgp, struct mbuf *m_head, uint32_t csum) return -1; } - if (lro->timestamp) { + if (opt_bytes) { uint32_t tsval = ntohl(*(ts_ptr + 1)); /* make sure timestamp values are increasing */ if (__predict_false(lro->tsval > tsval || diff --git a/sys/dev/mxge/mxge_mcp.h b/sys/dev/mxge/mxge_mcp.h index 9dae5b2401f5..61e8601e41c8 100644 --- a/sys/dev/mxge/mxge_mcp.h +++ b/sys/dev/mxge/mxge_mcp.h @@ -1,6 +1,6 @@ /******************************************************************************* -Copyright (c) 2006, Myricom Inc. +Copyright (c) 2006-2007, Myricom Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -9,11 +9,7 @@ modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Myricom Inc, nor the names of its + 2. Neither the name of the Myricom Inc, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -56,13 +52,27 @@ struct mcp_dma_addr { }; typedef struct mcp_dma_addr mcp_dma_addr_t; -/* 4 Bytes */ +/* 4 Bytes. 8 Bytes for NDIS drivers. */ struct mcp_slot { +#ifdef MXGEFW_NDIS + /* Place at the top so it gets written before length. + * The driver polls length. + */ + uint32_t hash; +#endif uint16_t checksum; uint16_t length; }; typedef struct mcp_slot mcp_slot_t; +#ifdef MXGEFW_NDIS +/* Two bits of length in mcp_slot are used to indicate hash type. */ +#define MXGEFW_RSS_HASH_NULL (0 << 14) /* bit 15:14 = 00 */ +#define MXGEFW_RSS_HASH_IPV4 (1 << 14) /* bit 15:14 = 01 */ +#define MXGEFW_RSS_HASH_TCP_IPV4 (2 << 14) /* bit 15:14 = 10 */ +#define MXGEFW_RSS_HASH_MASK (3 << 14) /* bit 15:14 = 11 */ +#endif + /* 64 Bytes */ struct mcp_cmd { uint32_t cmd; @@ -265,7 +275,7 @@ enum myri10ge_mcp_cmd_type { MXGEFW_CMD_UNALIGNED_STATUS, /* return data = boolean, true if the chipset is known to be unaligned */ - + MXGEFW_CMD_ALWAYS_USE_N_BIG_BUFFERS, /* data0 = number of big buffers to use. It must be 0 or a power of 2. * 0 indicates that the NIC consumes as many buffers as they are required @@ -275,6 +285,70 @@ enum myri10ge_mcp_cmd_type { * It is up to the driver to ensure that this value is big enough for * the NIC to be able to receive maximum-sized packets. */ + + MXGEFW_CMD_GET_MAX_RSS_QUEUES, + MXGEFW_CMD_ENABLE_RSS_QUEUES, + /* data0 = number of slices n (0, 1, ..., n-1) to enable + * data1 = interrupt mode. 0=share one INTx/MSI, 1=use one MSI-X per queue. + * If all queues share one interrupt, the driver must have set + * RSS_SHARED_INTERRUPT_DMA before enabling queues. + */ + MXGEFW_CMD_GET_RSS_SHARED_INTERRUPT_MASK_OFFSET, + MXGEFW_CMD_SET_RSS_SHARED_INTERRUPT_DMA, + /* data0, data1 = bus address lsw, msw */ + MXGEFW_CMD_GET_RSS_TABLE_OFFSET, + /* get the offset of the indirection table */ + MXGEFW_CMD_SET_RSS_TABLE_SIZE, + /* set the size of the indirection table */ + MXGEFW_CMD_GET_RSS_KEY_OFFSET, + /* get the offset of the secret key */ + MXGEFW_CMD_RSS_KEY_UPDATED, + /* tell nic that the secret key's been updated */ + MXGEFW_CMD_SET_RSS_ENABLE, + /* data0 = enable/disable rss + * 0: disable rss. nic does not distribute receive packets. + * 1: enable rss. nic distributes receive packets among queues. + * data1 = hash type + * 1: IPV4 + * 2: TCP_IPV4 + * 3: IPV4 | TCP_IPV4 + */ + + MXGEFW_CMD_GET_MAX_TSO6_HDR_SIZE, + /* Return data = the max. size of the entire headers of a IPv6 TSO packet. + * If the header size of a IPv6 TSO packet is larger than the specified + * value, then the driver must not use TSO. + * This size restriction only applies to IPv6 TSO. + * For IPv4 TSO, the maximum size of the headers is fixed, and the NIC + * always has enough header buffer to store maximum-sized headers. + */ + + MXGEFW_CMD_SET_TSO_MODE, + /* data0 = TSO mode. + * 0: Linux/FreeBSD style (NIC default) + * 1: NDIS/NetBSD style + */ + + MXGEFW_CMD_MDIO_READ, + /* data0 = dev_addr (PMA/PMD or PCS ...), data1 = register/addr */ + MXGEFW_CMD_MDIO_WRITE, + /* data0 = dev_addr, data1 = register/addr, data2 = value */ + + MXGEFW_CMD_XFP_I2C_READ, + /* Starts to get a fresh copy of one byte or of the whole xfp i2c table, the + * obtained data is cached inside the xaui-xfi chip : + * data0 : "all" flag : 0 => get one byte, 1=> get 256 bytes, + * data1 : if (data0 == 0): index of byte to refresh [ not used otherwise ] + * The operation might take ~1ms for a single byte or ~65ms when refreshing all 256 bytes + * During the i2c operation, MXGEFW_CMD_XFP_I2C_READ or MXGEFW_CMD_XFP_BYTE attempts + * will return MXGEFW_CMD_ERROR_BUSY + */ + MXGEFW_CMD_XFP_BYTE + /* Return the last obtained copy of a given byte in the xfp i2c table + * (copy cached during the last relevant MXGEFW_CMD_XFP_I2C_READ) + * data0 : index of the desired table entry + * Return data = the byte stored at the requested index in the table + */ }; typedef enum myri10ge_mcp_cmd_type myri10ge_mcp_cmd_type_t; @@ -290,7 +364,10 @@ enum myri10ge_mcp_cmd_status { MXGEFW_CMD_ERROR_BAD_PORT, MXGEFW_CMD_ERROR_RESOURCES, MXGEFW_CMD_ERROR_MULTICAST, - MXGEFW_CMD_ERROR_UNALIGNED + MXGEFW_CMD_ERROR_UNALIGNED, + MXGEFW_CMD_ERROR_NO_MDIO, + MXGEFW_CMD_ERROR_XFP_FAILURE, + MXGEFW_CMD_ERROR_XFP_ABSENT }; typedef enum myri10ge_mcp_cmd_status myri10ge_mcp_cmd_status_t; @@ -328,5 +405,12 @@ struct mcp_irq_data { }; typedef struct mcp_irq_data mcp_irq_data_t; +#ifdef MXGEFW_NDIS +struct mcp_rss_shared_interrupt { + uint8_t pad[2]; + uint8_t queue; + uint8_t valid; +}; +#endif #endif /* _myri10ge_mcp_h */ diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 7a6f52f009f6..923ff8cdd3da 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -521,6 +521,7 @@ hint.mse.0.irq="5" # Intel EtherExpress # lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and # Am79C960) +# mxge: Myricom Myri-10G 10GbE NIC # nve: nVidia nForce MCP on-board Ethernet Networking # oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133. # Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140, @@ -576,6 +577,7 @@ hint.lnc.0.at="isa" hint.lnc.0.port="0x280" hint.lnc.0.irq="10" hint.lnc.0.drq="0" +device mxge # Myricom Myri-10G 10GbE NIC device nve # nVidia nForce MCP on-board Ethernet Networking device sbni hint.sbni.0.at="isa" diff --git a/sys/modules/mxge/mxge_eth_z8e/Makefile b/sys/modules/mxge/mxge_eth_z8e/Makefile index ae3cb4948670..3454581d21d4 100644 --- a/sys/modules/mxge/mxge_eth_z8e/Makefile +++ b/sys/modules/mxge/mxge_eth_z8e/Makefile @@ -1,13 +1,7 @@ # $FreeBSD$ -MXGE= ${.CURDIR}/../../../dev/mxge -.PATH= ${MXGE} +.PATH: ${.CURDIR}/../../../dev/mxge KMOD= mxge_eth_z8e -FIRMWS= eth_z8e.dat:mxge_eth_z8e -CLEANFILES+= eth_z8e.dat - -eth_z8e.dat: ${MXGE}/eth_z8e.dat.gz.uu - uudecode -p < ${MXGE}/eth_z8e.dat.gz.uu \ - | gzip -dc > ${.TARGET} +SRCS= mxge_eth_z8e.c .include diff --git a/sys/modules/mxge/mxge_ethp_z8e/Makefile b/sys/modules/mxge/mxge_ethp_z8e/Makefile index 54b76c12b236..e9f9b31725b2 100644 --- a/sys/modules/mxge/mxge_ethp_z8e/Makefile +++ b/sys/modules/mxge/mxge_ethp_z8e/Makefile @@ -1,13 +1,7 @@ # $FreeBSD$ -MXGE= ${.CURDIR}/../../../dev/mxge -.PATH= ${MXGE} +.PATH: ${.CURDIR}/../../../dev/mxge KMOD= mxge_ethp_z8e -FIRMWS= ethp_z8e.dat:mxge_ethp_z8e -CLEANFILES+= ethp_z8e.dat - -ethp_z8e.dat: ${MXGE}/ethp_z8e.dat.gz.uu - uudecode -p < ${MXGE}/ethp_z8e.dat.gz.uu \ - | gzip -dc > ${.TARGET} +SRCS= mxge_ethp_z8e.c .include