ࡱ> ` v0bjbj .^v(|84AxLv:$^uAwAwAwAwAwAwA$ChDF^ArrrAA ruA ruA 56l 8"y^5uAA0A56FF,66t Fe@rr rrrrrAA rrrArrrrd    Linux Cluster Configuration using MPICH-1.2.1 May 12, 2006 The Message Passing Interface (MPI) is a standard that is set for vendors that creates parallel computing software. The MPICH implementation has been designed to provide an implementation of MPI library that offers both high-performance and portability. MPICH is free and the current version is MPICH 2. A copy of the MPICH software can be downloaded at:  HYPERLINK "http://www-unix.mcs.anl.gov/mpi/mpich/" http://www-unix.mcs.anl.gov/mpi/mpich/ It is possible to mix and match systems. Requirements: Fedora Core 4 Mpich-1.2.1 (Message Passing Interface) Two Nodes master & slave Network Switch ( a crossover cable can be used if you only have two nodes) Ethernet cables Next, install a Linux distribution on each computer in your cluster (henceforth, I will call them nodes). I used Fedora Core 4 for my operating system; it has fewer problems than using the Red Hat distribution. During the installation process, assign sensible hostnames and unique IP addresses for each node in your cluster. Usually, one node is designated as the master node (where you'll control the cluster, write and run programs, etc.) with all the other nodes used as computational slaves. I named my nodes Master and Slave to keep things simple, (using Slave01, Slave02, etc.) I used IP address 172.16.1.100 for the master node and added one for each slave node (172.16.1.101, etc.). Fedora Core 4 Installation: Insert the Fedora core 4 CD into the CDROM drive and just follow the default installation. I used the workstation option in my cluster. DO NOT INSTALL THE FIREWALL, if you do you will have problems with security issues later. Trust Me! After the installation process is completed; after the installation process is completed, do the following: On the computer task bar click Desktop, Systems Settings, Add/Remove Application. Scroll down to Legacy Network Server: select the legacy checkbox, and then click Details. Under Extra Packages, select rsh-server, telnet-server, and rusers-server next click close, then Update and follow the on-screen instructions. Ping the nodes on your cluster to test for connectivity; e.g. ping 172.16.1.101 or 172.16.1.102, etc. Create .rhosts file in the root directories. My .rhosts file for the root user is as follows: Note! You put the names of all the nodes on your cluster in this file. Create a .rhosts file in the root directories. This file should have all the names of the nodes in your cluster. I only have two nodes on my cluster; namely Master and Slave. My .rhosts file for the root user is as follows: Master root Slave01 root Next, create a hosts file in the /etc directory. Below is my hosts file for the master node. 172.16.1.100 Master.home.net Master 127.0.0.1 Localhost 172.16.1.101 Slave01 172.16.1.102 Slave02, etc. Each node in the cluster has a similar hosts file with the appropriate changes to the first line reflecting the hostname of that node. For example, Slave01 node would have the first line: 172.16.1.101 Slave01.home.net Slave01 With the third line containing the IP and hostname of Master; all other nodes are configured in the same manner. Do not remove the 127.0.0.1 localhost line. To allow root users to use rsh, Add the following lines to the /etc/securetty file: rsh, rlogin, pts/0, pts/1 (single space between each) Also, modified the /etc/pam.d/rsh file: to look like the following. #%PAM-1.0 # For root login to succeed here with pam_securetty, "rsh" must be # listed in /etc/securetty. auth sufficient /lib/security/pam_nologin.so auth optional /lib/security/pam_securetty.so auth sufficient /lib/security/pam_env.so auth sufficient /lib/security/pam_rhosts_auth.so account sufficient /lib/security/pam_stack.so service=system-auth session sufficient /lib/security/pam_stack.so service=system-auth Navigated to the /etc/xinetd.d directory and modified each of the command files (rsh, rlogin, telnet and rexec), changing the disabled = yes line to disabled = no. Then Close the editor and issue the following command: xinetd restart, to enable rsh, rlogin etc Download the MPICH software onto the Master node (Master). Untar the file in the root directory (if you want to run the cluster as root). Issue the command: tar zxfv mpich.tar.gz (or whatever the name of the tar file is for your version of MPICH), and the mpich-1.2.1 directory will be created with all subdirectories in place. If you are using a later version of MPICH than we are, the last number might be different than mine. Change to the newly created mpich-1.2.1 directory. Make certain to read the README file (if it exists); at the command prompt, Type ./configure, and when the configuration is complete and you are back at the command prompt, type make The make may take a few minutes, depending on the speed of your master computer. Once make has finished, add the mpich-1.2.1/bin and mpich-1.2.1/util directories to your PATH in .bash_profile e.g. mpich-1.2.1/util: mpich-1.2.1/bin Log out and then log in to enable the modified PATH containing your MPICH directories. From within the mpich-1.2.1 directory, go to the util/machines/ directory and find the machines.LINUX file. This file will contain the hostnames of all the nodes in your cluster. When you first view the file, you<\#146>ll notice that five copies of the hostname of the computer you are using will be in the file. For the Master node on our cluster, there will be five copies of Master in the machines.LINUX file. If you have only one computer available, leave this file unchanged, and you will be able to run MPI/MPICH programs on a single machine. Otherwise, delete the five lines and add a line for each node hostname in your cluster, with the exception of the node you are using. For my cluster, my machines.LINUX file as viewed from master looks like this: Salve01 Slave02, etc. Then make all the example files and the MPE graphic files. First, navigate to the mpich-1.2.1/examples/basic directory and type make to make all the basic example files. When this process has finished, to the mpich-1.2.1/mpe/contrib directory and make some additional MPE example files, especially if you want to view graphics. Within the mpe/contrib directory, you should see several subdirectories. The one we will be interested in is the mandel directory. Change to the mandel directory, and type make to create the pmandel exec file. You are now ready to test your cluster. Running the Test Programs From within the mpich-1.2.1/examples/basic directory, copy the cpilog exec file (if this file is not present, try typing make again) to your top-level directory. /root Then, from your top level directory, rcp the cpilog file to each node in your cluster, placing the file in the corresponding directory on each node. For example, if I am logged as root on the master node, I'll type rcp cpilog Master:/root to copy cpilog to the /root directory on Slave01. Once the files have been copied, I'll type the following from the top directory of my master node to test my cluster: mpirun np 1 cpilog you should get the following output pi is approximately 3.1415926535899406, Error is 0.0000000000001474 Process 0 is running on node00.home.net Wall clock time = 0.360909 Figure 1 Try to run this program using more than one node. Mpirun np 2 cpilog: depending on the number of nodes on your class, try using all the available nodes and note the difference in execution time. For example if I have a eight node cluster, I would execute the following command. Mpirun np cpilog and my result should look like the following. pi is approximately 3.1415926535899406, Error is 0.0000000000001474 Process 0 is running on node00.home.net Process 1 is running on node01.home.net Process 2 is running on node02.home.net Process 3 is running on node03.home.net Process 4 is running on node04.home.net Process 5 is running on node05.home.net Process 6 is running on node06.home.net Process 7 is running on node07.home.net wall clock time = 0.0611228 Figure 2 Future Works: The following tests do not work: To see some graphics, we must run the pmandel program. Copy the pmandel exec file (from the mpich-1.2.2.3/mpe/contrib/mandel directory) to your top-level directory and then to each node (as you did for cpilog). Then, if X isn't already running, issue a startx command. From a command console, type xhost + to allow any node to use your X display, and then set your DISPLAY variable as follows: DISPLAY=node00:0 (be sure to replace node00 with the hostname of your master node). Setting the DISPLAY variable directs all graphics output to your master node. Run pmandel by typing: mpirun -np 2 pmandel The pmandel program requires at least two processors to run correctly. You should see the Mandelbrot set rendered on your master node.  INCLUDEPICTURE "http://www.linuxjournal.com/articles/web/2002-09/5690/5690f1.png" \* MERGEFORMATINET  Figure 3 he mandelbrot Set Rendered on the Master Node You can use the mouse to draw a box and zoom into the set if you want. Adding more processors (mpirun -np 8 pmandel) should increase the rendering speed dramatically. The mandelbrot set graphic has been partitioned into small rectangles for rendering by the individual nodes. You actually can see the nodes working as the rectangles are filled in. If one node is a bit slow, then the rectangles from that node will be the last to fill in. It<\#146>s fascinating to watch. We've found no graceful way to exit this program other than pressing Ctrl-C or clicking the close box in the window. You may have to do this several times to kill all the nodes. An option to pmandel is to copy the cool.points file from the original mandel directory to the same top-level directory (on the master node) as pmandel and run mpirun -np 8 pmandel -i cool.points The -i option runs cool.points as a script and puts on a nice mandelbrot slide show. You could use the cool.points file as a model to create your own display sequence if you like. Reference: Step-by-Step Clustering Using MPICH 1.2.2.3:  HYPERLINK "http://www.linuxjournal.com/article/5690" http://www.linuxjournal.com/article/5690 MPICH Software downloads:  HYPERLINK "http://www-unix.mcs.anl.gov/mpi/mpich/" http://www-unix.mcs.anl.gov/mpi/mpich/ ?EFGy Ѫ~q`S?`0`h8$h)0JOJQJ^J'jh8$h)OJQJU^Jh8$h)OJQJ^J!jh8$h)OJQJU^Jh8$hx2OJQJ^Jh8$hr~_5OJQJ^Jh8$hr~_OJQJ^J h8$hr~_OJQJ^JmH sH /h8$hr~_B*OJQJ\^JmHnHphuhr5CJ$OJQJ^JaJ$h)5CJ$OJQJ^JaJ$#h)h)5CJ$OJQJ^JaJ$h)CJ$OJQJ^JaJ$2?@ABCDEG5 6 D R z $dha$gd-$ & Fda$gd-$dh`a$gd- $da$gdUv $da$gd-v0 4 6 C D R W  L M zzrzjzjbVJVJVJVh!B*mH phsH h8$B*mH phsH hRmH sH h8$mH sH h!mH sH huwmH sH huwhuwmH sH huwhuw5mH sH hQhQ5OJQJ^JhQhQOJQJ^JhQ5>*OJQJ^JhQhQ5>*OJQJ^Jh8$h)OJQJ^J)h8$huwB*OJQJ^JmH phsH h8$huwOJQJ^J iR`ARd$dh^`a$gd-$^`a$gd-$ & Fdha$gd- $dha$gdu $dha$gd-$ & Fdha$gd- $dha$gd- Gb6=?GOQ[x $*QRVyͼͰqehXB*mH phsH hLqhX5B*mH phsH h9h95B*mH phsH h9h "K5B*mH phsH h9B*mH phsH h "KB*mH phsH h2Zh2Z5B*mH phsH h2ZB*mH phsH "hR5B*CJaJmH phsH (huh2Z5B*CJaJmH phsH #y} ^_`ipϾϾϲxg[J[BhNmH sH h$h$5B*mH phsH h$B*mH phsH hNhN5B*mH phsH h9h9B*mH phsH h9h95B*mH phsH h95B*mH phsH huB*mH phsH hNB*mH phsH hrhr5B*mH phsH hrB*mH phsH h9B*mH phsH hXB*mH phsH hLqB*mH phsH @AHQWY\]adhprx õõõõocWcWh\BB*mH phsH h$B*mH phsH hdhd5B*mH phsH h9hd5B*mH phsH hdB*mH phsH h9B*mH phsH hoB*mH phsH h$5B*mH phsH hNh$5B*mH phsH hrmH sH h$h$5mH sH h$mH sH hNmH sH h9mH sH  -.KeiuwKRSV༳zn]nOhH5B*mH phsH hohH5B*mH phsH hHB*mH phsH h(:hoB*mH phsH hoB*mH phsH h(:h\BB*mH phsH h(:h(:B*mH phsH hR5mH sH h\Bh\B5mH sH h8$mH sH homH sH hB5mH sH h\BmH sH h9mH sH hdmH sH h7EHmH sH .<UM$ & Fdha$gd-$a$gd-$dh`a$gd- $dha$gd$dh`a$gdR $dha$gd-$dh^`a$gd-!6;<O]LMN^kȿwh\P?? h1hhH5B*mH phsH h1hB*mH phsH h1hCJaJmH sH h1hhHCJaJmH sH hHhHCJaJmH sH hHhH5B*mH phsH hHB*mH phsH h>B*mH phsH h9mH sH hHmH sH hH5mH sH hHhH5mH sH h\BB*mH phsH h(:h\BB*mH phsH hHh\B5B*mH phsH *+:;UchǹvjYjM>MjhV5B*\mH phsH hVB*mH phsH hVh:5B*mH phsH h:B*mH phsH h] B*mH phsH h] 5B*mH phsH hehe5B*mH phsH hRB*mH phsH heB*mH phsH h1h5B*mH phsH h>h>5B*mH phsH h>B*mH phsH hHB*mH phsH hH5B*\mH phsH +V-(0>?!!!!! $dha$gd-$h^`ha$gd-$ & Fdha$gd-$hdh^ha$gdR$ & F hhdh^ha$gdV$hhdh^h`ha$gdR$ & Fdha$gdR*+PVs_ijns}~ĆĆĆwfWhehHB*mH phsH h7EHh~[6B*mH phsH h~[h~[B*mH phsH h~[5B*mH phsH h N5B*\mH phsH h Nh NB*mH phsH #h Nh N56B*mH phsH h Nh N5B*mH phsH hUvB*mH phsH h NB*mH phsH #h:h:5B*\mH phsH ,-.>HI_mkv^d&(/0>?@潯恒pbVhkHB*mH phsH hkH5B*mH phsH hkmhe5B*mH phsH hkmhlU5B*mH phsH hkmB*mH phsH hlUhlU5B*mH phsH hUv5B*mH phsH h7EHhlU5B*mH phsH heB*mH phsH hHB*mH phsH hlUB*mH phsH he5B*mH phsH !@  L W 4!8!Z!]!!!!!!!zbSGhBB*mH phsH hMhHCJaJmH sH .hMhB5CJOJQJ\^JaJmH sH hM5OJQJ\^JmH sH hR5OJQJ\^JmH sH huhkm5B*mH phsH hUvB*mH phsH huB*mH phsH hkm5B*\mH phsH h7EHhkm5B*mH phsH hUv5B*mH phsH hkmB*mH phsH !!!!""H"I"]"c""# #7#h##$$$$%%&&'նժժ՛ժtht\hPAh`lh`lCJaJmH sH hRB*mH phsH htQIB*mH phsH htB*mH phsH h;J:B*mH phsH hP:hP:CJaJmH sH hP:B*mH phsH hB5B*\mH phsH h`lB*mH phsH hBhBmH sH &h`lhB56B*\mH phsH hBB*mH phsH hUv5B*mH phsH h`lhB5B*mH phsH !I"#$B$^$$$$$&&,&H&p&&&&'8'`'''$a$gd-$hdh^ha$gd-$'dQa$gd-$ & Fdha$gd-''''''''(() )f)v)*3***"+#+$+%+&+.+˾~~~~iiTiB#h%fhtOJQJ\^JmH sH )jh^_h^_OJQJU^JmH sH )jh^_h^_OJQJU^JmH sH &h^_h^_5OJQJ\^JmH sH h^_h^_OJQJ^JmH sH hh56^JhRh\BB*mH phsH h^_5>*CJ ^JaJ h^_h^_5>*CJ ^JaJ hRB*mH phsH htB*mH phsH h%fB*mH phsH ''''4**&+]+._/`/a/l//u0v0dhgd-$dhdd[$\$a$gdR $dha$gd-$dhdd[$\$a$gd-$dhdd[$\$`a$gd-$dh^a$gd- $dha$gdR $dha$gd-.+/+1+\+++,,.._/a/k/l///////ʹʹʹ{lYlCY2 hT@hT@0JCJaJmH sH +j__hT@hT@CJUaJmH sH %jhT@hT@CJUaJmH sH hT@hT@CJaJmH sH hT@5>*CJ ^JaJ hT@hT@5>*CJ ^JaJ hR5>*CJ ^JaJ &h^_h^_6OJQJ]^JmH sH h^_h^_OJQJ^JmH sH &h^_h^_5OJQJ\^JmH sH #h%fh^_OJQJ\^JmH sH h%fOJQJ\^JmH sH /// 0000K0L0M0s0t0u0v0ԷxmhT@hT@mH sH hT@h%fCJaJmH sH h8$h%f0JOJQJ^J'jx`h8$h%fOJQJU^Jh8$h%fOJQJ^J!jh8$h%fOJQJU^JhMCJaJmH sH h%fCJaJmH sH h-CJaJmH sH %jhT@hT@CJUaJmH sH ,1h/ =!"#$% DyK 'http://www-unix.mcs.anl.gov/mpi/mpich/yK Nhttp://www-unix.mcs.anl.gov/mpi/mpich/N^Dd R  S .A5690f1b]ܾtf'qĀ ]Udn|]ܾtf'qĀ PNG  IHDR, pHYs.#.#x?vIDATxڼY-kE?=}{P.$nQ)ZlK(X&`l?~?~ H2,ʲlà<4fuuUu w>֜?Dϵs$u7w\㏈/@c{@c z0gDd} FH ""F כB%" l (c#""13(|%1Ee着eD$p6$P rhA/H?|7#L};K l_=FtM@uBDPd8 ӻڎykkߛq{`_ןc7hx[$wQ>(DdkH1o#@L"@B ҈Ȃ@Y"pd@R$u # ' cB$ ""JN"H'x74-"==[LIrk ڿ1;?Il$m # պ 52 0F!$pƄ }tGlTzdRx-% mBxCPVC9 "_oM~)!D,SDfimh@$uE$H* 3 N3n$x 2R Q1X j0V " 4jDmDу `?! Y1"HDB {#}iwQrǘ]3ڒ}1ח4[I{CV "U~" 9- )Ċgᎏ[Gmb/sU`7 C`k,iR]H $` B$cen~}$Iķ* !"3@DiF`1}ʘ yJlmGb:@u-wi*wM278 OACv:@ :e,koS]/j>nVesV޺ }ԟVq[b'5I{*Tƈ`1^քG eLT2^hVJnP&ѤHs!2+"m DfB4f !RyicR,b1RZk!"ADR*Zɲ,pLgRƘm1)1B`f"ҙߑȾQʁw79=o?DtΥ3nȫ OiZtrCbz]⽷J5&G X 符ʮ_@ o-q `rqtv{:z@[TA0(Q=zλ"TY ڵ"E@xxxZYk5YDpxxˀF)E8M:P(/3l`O! ($Vg&o"%IiYMIƔRI$~ ީlanJAc$"k34MڸLl}Bw@ޒ&c]^bs1-M$pLJ3 !pw~e> Qc]5?7s =ݟG »v򄣻) _>O",ԝ1 2  |?8 "B0{Wo;m`y(ʘc֖#1PBBEa]o$JQEV4PD k7|9SͲ F2cӒODI cohes.ƈf>?xz^P3iUU%!܂ד.bV)v $ɠJCy;AID0bD4"D!dHr%"йZX7_.&+rJ6!B!c d(c,_,!`y{x`g^|9Ma2VCthʳRi o.OƣidU<ۋQeq>:E5M- mV @ĥ~WiIU䭹uC`]7wV1Lif,W̜Ⲝ3urrr|xT;S\Ui;P!i"hCQh޼ ;'ۄ%T$ s`;iHdt}bIvQ^.!o1Yo d>ZFr1D_߫{ïm^~Z·QWFDf3N;וּuY-.tYZz1cfg]׵Z߿m>yd61F1FD!q-kXBe~]meY./,jSTj +ڠRzDT \\Μ UU՛eEQ-VfTs,7C!b~=w v@^WK&@L-738im$޼c!C]e?7̯Cv77=^y߾{Ox8 h3l]Wsww] ;  ӧ;ٝ=gg)sw R`eȄTRN M}],%gD(EAoBi)Nc1v}1>(Dý8yΌJ€"{e aݴWղ Ǚ9}Pźm3WsQe6zj]WVw$w$]L&7B1RnyDA'(v{ ! b"RE(2,,`$6 [QEQ.sB,tH]2J)f*,]@DHͪ).ALC-t%$ & DOdR=ȍm3ve_ Wd|t܊_9Aʐ6CLw͸E$|'<]eA7DA" ";_b)H/ ,w[Fq{~Q;1R$\#gD%T8gY3ӟzH?!%8 &!Ku}4 (@OZ7hLa5N&@˲\՛brTvӖQ!mۖY6+ʲàwo իAFe#NDl`'[c<%ح "2DӔ#;MkK"ЖkMwDN 'Kd{I fL*nufrYkŒ[A#YDXy;+&"G@@mN>~W>}LkM.・\u@H:֤{߶`0j&xyBp%pg]Q)DG$roڍ匔!")I%ӥ"@Rt9lCbEbfN+#$ v(Bnþ'Τ}^Vpӻ2&]w`ě3l'4+լɲl8h,# K¤$`D|rʓ?l>^ش;?,h{B,@w z"#mAH{d'r]PzEU7[*I\)B@Aɇ[,vAhxWH$Q8(9!"  DBfآ|Ȁ!V͚F Z!mTb "Zk}t]le]uimL7fZ˫ID8ٜ̬[͚1&h988">&;ZC* NaCHֺ:c "̭̂kڴsZBvna^,w'c)oBz74DxLBQsZHMu1hFn]Weri F@Pz hk4P@!6\ bF@--)I;!"K`ED8(]c'#[נlO{H2V'DbHv 0vidOEZ턓8B-Ġ@)# DĴ ʪ 1Lxj<ԜoӮ^q˼QJf(1mlˁtCc ΄eJ[GI)`Tq);IAIܺʤXH͒&dHJ{Jxg!$ )z/}1bQEHDa)0h%@v.BI38VUjylzl6WT4 rRhriZ"<"2ϧө1:2k-3ֻ1ӨkdVEsՌm !(@Z1HdZDE;n1bұdp͕47y3DdP{'ufA8" !7oѨYY ݃1"bfLzdQ81c$ڈg$?dO`zMOۀF5{$gy۹~>W]Q@Jol>$,1O)t BH Baa(=޾ Q)J*/1(|Xt:Gx4TJG'λtں5uwk!, Dib0xszjnPUD6մ :,Prv%&d= 02X0vZHD5AuUUuQpH*l""\QD{6&wS!&p2&]<`""YwN;l qǖ(> nۉ"|ѽ)wuv6 %*T[+Qf",C},@Du zn]ӄ}}3hy)];$T" +.+\m0"MfDDbܒx;>>ޯ"(}?(LĦoBTpmKDA"~d%SjT"M!vm £A5ϦÑʬͳ4SIUcX=98LnR{fɴm7#(M+({lZSfDblN,G?Z "yoyNmFA̍1u]2m"*dfyW 鼏$BQͦ,ˮS$=cngm|tDZYEB޵AY,v-xɴh["[D<!F(Ȩ4hӔ邈1ynFffce&5H^U^JFyfV$EQ b0ff/6s-HX@8a7 >cZTz8(z,b­%"AB"MGX+80Ў(V4bEK:H׀Q& !p4TPD&M$}A9hNW䋉( 0($j د]^rBPGMkQx04yV׵>2mM QA"] I[KZ5:+$`4$@/L("Ea1Fк4'2QV 4&,٢`Uoeh2GZ"sDjŠ*/˲:>Y̒뺎*nZ;fס;U@v1)m FШ"H[33bnAYB@ °Zefޣ> ktTcL|Xh邺gT{~>eLJkR ;8Zm"|1|`XTB1Qֺmj5IQDT PjupP(Kn\8& +vZmj|E եz8UG^k,\ epgAj5*>1]SL$F4x(Aޖ72>+Hң1FDE .Tzc,RZh1/-lVeCM72b%&$ [ Q5 Mmaw}[cx14o/m(g0F޲oNJ n7s_'~qCOu&FO>[N_( ̬ѝwzy5@j fjPXEA.γ+t& EzX f\Qiq йu?}2su~!d8ZW$EnAB4y6jB(F-V&3M6/u]y]-p4-fɳ:L[c&:Ƕi*&c;Q: zbHj Qb^X DU;] η%r$fD$Z3$kTȑ:$A ,WgGGͳɘ]-VZ+A+>/ʆܐ>b @D/ۿ7Yr aqKvSMaH4kG|o 7 =ٓ[:s_6""Z5Zv˕LJ'ǘlUy0Ίbr0܅ix88uhJA> X<[mksSz><=|eكxEEd˺"i["w#A.ת3(LmJTObh]& ;6BZ,sC$MFZZ̊aXll07}h>&s>:([5 .WEYeYР< ?ow>j*! $F Q+P114zID8v]u7+mׯ_xb<{EQ,ˢ*9ZAVVye#bu+[띓WŰyU/^5MSE4.svvR>OOO>}eXM=k/^<֔b ԭ_,+mCae fl1eUeL SMɽ,, !F4dz|@*Lr8Zggz3OrmD T!/V8,/g=:9<7EAZR9ʝNaS-ɀЉxLaټZ\5Sf"p0@H˰ڬWˊ"+λ,_6uVr0zEOs:QD#▀T%EHD BuoC$ι=Fh*C'@A8IY%InRNMxC%rܩ7Uܝ.z lc;b wӏ h[u(_w_- _];?m}FI}'Ϟ={Ǐ!scRT8 FD\׃ 1Ƌ>*3s]"4fqmKDjv~~C۰ܬǓI9Ϯcsepei/ƘqvTXج1,0Gؕ,C"`mscTJ)GA}`(Q. ZfnmQ)ڒoɌMaPkI|MO_˒m )i6g_n" ~sȋU[wBQ?XtT7]׺d2ɫA|ǣje"jKĠ(6tkk'ӓgI5ggm(>4By:E>g/^xA40-zٜEx םc•2MJ7m{csaٌ#*̼[CD:B FMYV$ P*=H̄@i9@h5]rw-h"bIIEM2ya@E0J! ..c2:H EF_e.$$&bIiJ2r1(׸dpiGGDf2cA eVx]k=7afIݹl1]1iDD۟}CMMz~ɨz2RufCfXGLJOOO]iCEUuׯH4x<>>>$˳3cLW7doֻG '|Ѹ.\K/uZ"?8:.x9իWD' Dz~5B`\\ή>xD:jXHZ?" eZ$3DDfVTNi P AA PY]Br2o! Ҭ0IVk( P*0E`kl0ͯa+Ƕ+R$va;"v^skm^oAu ?nBk0OJ52xsZϗwy>xϟ?_m(en SR6 3{Ix&.& X%W$ًߵwuAь`m˗/?uSGtom;jP|~em}ԫb0!{%kM"zXm8Zk39w|z|>DVj8VAVzy0QǐL[WG?g~`8=6~7`^~|ӧ̠$k|ԋj6ĩFՓ?xk^w(B"@ mrT9 GavCwj‹;ĥT)DAHb!4 ax"]fʭf楊~|Ţ̢` : fof!:OFl9+\Hs ټʚ/oo56;1M}\=;ޘonQXޟLǗpT#j묰Rdjzx\Vy۸(\·QXb[3̪E?SoQ[BҪT0UækH ˋ6j $7 ͗okח"^;}?Gr ,^o~wfhGGӳW?UV)MB("(=Π5avpMA24$%OAZWwVo>m41@A(ՓQSk! {&KH,B xc9Z 1]V xРdJǩ"*W,ͼ=דÏ_\xvb;{y UP}]/ƺY2dE)}mme8?;])"ޔ7eMgѷY7"~e]Pq@&YU_ʇO}Pe yg]a<OF lde4D(9cº^ᘬqr,".//s<><Ϊr,fͦH1F^/KRŋE_d8Negpu/7Y}9?l3HӮ[xӫ?o ^m6WD6ɍgŨYzP:3@wf2Gdd0etlj"# 'uusyy9a4fh<|߯l~6}"Z;tWxd4lin7/>'k%ܫqa9j*B $E"1BV%xӄmm`AADA"SPA7@6mUO Idf4J0KHIDD$a 4*]JY&1Rn1o\Wâ[W GefъIFD (A@Nu75.g}Zs-vzT(p׭65*m"um6u|[ TYuyv#?k9;Ɣ[69Vؖhp-78}PI8ic oïRQ?vB@iD;6%!FTj:9DJVcdBQh[0/!R2kya ˢc,9+bYMo}TR#*6~/^ëj}nǾ03R{\K[~yM~B i`x4;"@P@M}h ҕ:V!RZ:xF bH<IZW*x{  GJ=<(}蔽 :W&`2Թad!Ɋt^F )'Ta7i ms仼8_K&dIU;܍vn8$/9y1[JwDtyȂibP1>5Y""JK`$ikLIfL֭U8ђ.Y@b !# `+0]KF7 @]׈ [Zێtk CTEB!F'աitσگw P$k Ym|]E1nEAnSgL!meo[lm-hBLO*b@H%k"F^9yDd:R 2ZpTȚ;= BMUJN"h@Zt4YQa*+k|cZBd[k%{RT*B'"anZ@cƸ$ٻȩ}R (nsP@(P*[1䝇[; PIVb\d,$Zl^ B+9Rx 9'$`T чXDIw, J[@x$JDI̾`$aa'L,7#+~M'^T/T) T"%B*e9}a3@+4랻IKD:E$פfM,âʵ!baGFc;:;rhTY\::VGhTJ*w6Z]աDZ3@ a7uKn9](+zp[ބA "I]ފc%AeZMXf8 \S;&ҙ2Ub(A3MWABIdABD:"J](&DՆf[B$A82coqDo[z?v؁"d/}ao괷onIqA*yqqq~~6NmTkׯ_s [׭6735J R Ҙ@ݮuse0ˢP;:4FmB@/d>`@pX7M>jYQf=ւBMJڛzoc7!l+29Q*L3*55cd iwIeDA<6sts@ +=ku4D)J!RsBQDGvTU`nA(hc# 6QۧlO\z־HX +no _,};!䨔INl̼͚]+q-ABcd"X>wJp]oh2ȌEE6$r9/0m[7]2Մu XO"]^Yp׶oL >h2NOx!{U5D½aTY mbל$7Hߋimv"&jI1;i.+IYOiHIHujr?f9`XXֶez\_'`EXdB$7x^ @,=P0Daql-;,p*diD-J)ԀJǷ7nܵ]qy` ]2}tZ޽;,e"7FEוehE߅.!fU^lf\Ja`F";gPc R R,.Ku. et;?XHyz<" D[.2'Ab5ca[3!Չ&k-p>̐*{R)dA!I P!r|IXAT+-F0ɴx矜 Z-";*us92$jgUen,*GJyJ4!BD;4*ZdT G%`S /wzYɱup{H*}WmJrx}qy_JuZ;7 BXbBeZe^-y>,EGGGO%qAkuՐ[)r"BH5utmU #KZzUEB a~WW?~jf39~6fYj BE,zc=vт@(ߑιsy n ]_]~>ܿ~"oG49I{L%9%r~ID"# +::;-uN@3X徣eO@NF~#^{Chr>]?{uj*F#d26`RP5/E8AT(:Sc,]#hT"c UBno1!{p;"m1RȻn߻ ~ѝojK~D aQdȀ®D$˲gϞ aZy۶1u}p8Y( u]׫C),sLl +g1B*Ѕ9vMlLGs] ߹A}'z=[-u6Mۮ,l6<{r,&cas[Kw[ Epa;7_~9=~xS][JoLtMP_]va|X=WiFD?𽣇zwyW37-y:T(u5{>aq4/fKCAnlA@ )!T"XGZ:k Oh޲pR#*\q(©"":~J쁙T!]#L LKJڷqyD_=趕Eƾ$nT)+=F0ZBkӃryuulR5+a,ᨶ_@%j!DhDxrru +g/Yke:zjZRTp8 Ḇ*GEU dLƃEQ|{`0(R4@'SmΌjTpPuV޻<U^ pȑQ@"[[>L݃/ʖonȩ/ ".ȺԎ0okZk\+;'Lm˺fV~MA'//ڙ6A_+!Hn} H0 l:5iW|B싺BxC{k1aW 110P%3IT=M-Ϸ&C:!˶)&eկʷ WVyBgh4ާc̲,tD6޽#\;w0yelUU)mrEUYª Cf0V/ Iޫ{|4{ aE%>ÿmj/_"3v!AB|,xXOPϩ%v-+(\C(Ȩ(/sFZs&%NbzvTmIP>DA">!59 )18!m`w, ľj͐ݾ n4o-3#=;״Z$UM'V7L"@mm˲l6\>|^oq`<\ϫZ`$"]]-i!O,6MQWyYM O>"GG;h4O5V 6rTW]lׅdHxuu5hl6(fβ̵'\ /Y{yc$2(cS ݛ܋b 5KycoiMQo[0vea& īжγf&h 5( ]@PG֨ hUGuG&6re]i7Č  D>^$Q(ȑXڗ;h(I ޙ[WnC[{z`"B1DD_92s|kmX~>A$%-x.M]1u\.wGr 󋋋^OD$%(u]EkZeٶmQnCeMk2ʵ~ӵb~eIy1黝(:H$" h2$] J: l®:184Ji3dǙӛ8NM|f/_e'\̆;Gh8Rq`0@컑8A_`ZUp< e&sT&b+2m6 y#t>>MCw:)n]We,6u>ʝ6/bȒc 5a-+zv!RϳߝIDǷN;'. |9{u+h7В,"q^1mS7fA^ AD)Rk>yxo|+T4!0)^ (# )05pܽ7; C޳&^;zKuM#õ|v܎ή;Q$CUUEq4>9:UNIRS6|RmۆR3SUU " bژVE%Vcl6Ơ6 {ԠʲݺZ3Uam>r02]"hסmۺmk^UJw>xR 3Nܾ{'r۝a;EJ'k*MVN2ࠢӡ5~iw͂-X2!|Ǝ][(1q|>֓[>:5\aet&*LdE[@ik' 2hP%QA%@1!@"DACޒ-Ytvv,R]-Aވ\o!gS@ kuKhqKrÞy§iI-1Ӷ@-^>7뗟ܻWu]33s׾:_oN~ιǏ,8ѣGTv/_>,XBlO>}gK@|eU`3 >'(صRX ʍ,^mq9=>+mB(|jv1֫9>ޞ<=krdȌXϛUw`-MhZ RW380Q1!e}+)}O x@=ABP+qڞI+N}wJMf[pׄH+u7XhBι5=BPԸn:euIYk76p|t/IAYDYBVu]E,?Jc5͆6_7i}'O F_uOLktiw]\ϜU+22"`벐$7ݯq?[unvD:H⅕@<ԶzTlk#h Dյ;R_W9~ESbeA݋,55PBq{݋U׵0@eWŔ\14 e%H E+I iދ\'# n~ zjE'N1פ ).FsN3<\swf_2:t ~6VeX(˲tsDi"Fι뒽 ,(`um^Ydy߮W"bZ71zu|xTU#76ˣâ(aX f㻎۶-r}9{0ew[$ԧ\HSm{}) $xo=8 HDB$))ٓ3@w6~L'S',\m(16p.h{G\*xjg F? 'Ż? K۹.xEӋK&n6xaHxA!&Kk A% Ĩu5RjEQer &dogT.rK ۭ9T|",SU/.1WmV]/_rUUu0gEX矔ebWSڶh48<< ͚W'p<λbB2t2ztA׶l0<|8 0EH,FgHpk6mi} Vǐmc7bDo(/P߽Ed/QSir3eU2s ub᷌ ()Pj[/CهGqՙ J6 TBF[o87xɧ?_;}'J7UK_/yJ]zɜ= GOΚ=S Fn(F?H1D$0 ZĔD{ ]tܿ`őNK΍=,kܚ[Зt6V5US+ŵ&oATyeUU.yei͊<Ƙe!늢PJRj^/WD\iT&{j0VUEtϻU ?TE5y.̹YVؼl:({&S8Y8熹Οޯ^ҺhLuN-{MK\ x}|s}zWЧ/Gm@&_DPH,A|Mn!`zMJG9Hf(h`˫zqYXe<G#V\ ɷ+/ \)v! ;,Cc3'Mz=0tDBiE!{؛C@؛d'x 0iЮ_ֲP웣v6HF>#AQ_%x;}c-ˉV'$!= {>xXLaQ1Fq\v}4B888Fz"BLFxIl\GF[ksPZ(۸:tn<,YC]M4AZk;:`Vص.cEiTwU#J%A%p/${@l##d&Aj#c b̈Bn`r4PIr ntic3? EҪ=taj""aM:xr ~Z;f krMeFBhFblh/}pYSAT`Yb\2UC3Tg'9@o%͓¡+:xD֛cFTcľy,qW/ݜx 4-!l1rzZ////òWϳ"O?sn8{SG'БA::>>99 RT4VqU*0p] rt|og/yxpp0^xq>|\9rBr+-=׬|qsA6jԃEC B$FxkQ*­ܼV{}i/lEAHhS]6LA]DUBDl@$(r8rr+_e0$Z|pQ l"fΏV?٧څ#7{;wlFJ4V麎Hjћ2<0'870pХ QR ɡfꧣطK-M;R#.wlk7A}o<"W/OOH&Ĥ یDIN{!TG`ZF%~6[.JY\.ύM3jXk !4yaQu])h6{)Oe*}uQdwFò,CO};w +CWd>yݬ62vr<TƘx2У %.?=9w1;_! fDmS+D1McMc*Ƀ%D-L\ķ fخ qݛ>DBK6֍!eAvg>=z?9yƝn^'dsq;DwEFG=(݅k:1G~ }K+XJB:s"hbNL lF"Qp]V;5Ǹ ,! ` 7Ã[|Tib| ~RJ15 v/thu1ԛַF'竕)tW%0$qrP]^̊Ȳ2˲(>|1ʵ!2v8y%h4pSyf$ra3}UURleuxx8(J E#RcT(ڈR^!y 1 )Y8S-,*&}%Bw=un~j /<"Ҥ; A)DKhc#suBF>ht0[6iPJ4AliE, _6qje=0P}ڶd`Fe="o5F`yK,o>(`܄0ZeHkeFfhK%=5PAE x -P"j+]J ^ W*+ Rfy7ogM~ZՍjkz h ")pỐ_ŀ W!F%ġ"N^$֚ؑ%C`㖕n1j g|97{ݞLEuoӦ>Zt-I%FE6GK5(:P`@AQz~cM@Dus||c:e>cyV>~ͦFx|zz ,Ui'1'b<>>6HBݵ1sN== Q|`U Q.:& !7 U|I5Mo0@@^Z a&VO  PpfU9C7UVSw;917!ksXߥX$M[Ic(wgBd܇pxx+f:&7l?iQSm kmYFg/_\,1,+_<{w꺎Y_|9\nևqih0glXT( 葦ne K+.f(: P+s7{Rvw;gwo-*"ƴ&G%3Q=#u`VTY;_zpW 'Uuŋ/.Wf:r3*ͤ zYGX88}g `B,\h&חߟfm ]sRacqgvZp>.ڃ)FNn0eBsƋQ){˘KBAq~}-O[QEb*570&qn񒾏_+^a$Ӂ$]|(g] a:vQ*"O]nO>pټ>;lt0]l\]^`<&Tz_f0>|8O>`;8CJ jR q̑BM] G`6b KZB'epL^f狗թi {*XbƆr`< kTs~SW_qrv4|/jq999oիWOG Zyx8:[ pX?xp0[\EnB|^Vo[P'u/OC캐^׮\gkDMrBpNInnӬ=P>I1XVQ!FPkwgHL&٬ԃl6;xӧO={㺮Gt:O͓:I)`ڭb12r-~rFcF޺DmȄI;$ ;Z 6vi01CK,)8  0Ph,!)ŻOyt*3([MO~:;?iaWW2k0C ~?`QYݻwoG_y7~?{֌a6p%8uoR9/:a8gqv{E^oV !AoN7W/[2K`jljmk\o4{KʢpYc;s^~׿;<|(ׯ@?uݴmuCM4M-5S!UI^@u}RyZkt:- ,"`4 `ٲ<[kϘ;W# EBHEےR-jpvሎԢ56'qQT`B|s:{-8y^@QvU˗dsk}i(a,HREsqe@D |<4Dj < TQ [TqnwiM tCuLcF*͠ =W8Nզүkc샗؊l|C|/.y P@悫0|,Ltr5;/ uo e-%cɃV; ɺrOR* /lGf%|',G>PSt19GtBF'@D\l+{=,u9s~x8H:W%O{^\Kp R UJu݋/^xq0|S@Aj=<<NӐEmw6eEA^ ١0 0 klJttq'~F4{`%" <*"&Ib0 bE敗yB<)@hҥ8$f@pZ M #0Z=,b9rk |zvq).r-`A |BZP+ fWVp rCd>؇[__{_y,Wdr@2@UЫ =@ (}br㗞(gAk[._z#wZݺTe}䨟vvc=IЬ#ٻuBhx1Y(fNKpŭ33GV᬴UEFJ .|-Ug,!M$I(h:KFAeiʍ1+8'IYWNQcPJZ-fNԹ4-)Hdm0z b @OF/JݮsA1?xEwnπlqns3@H1F{=/j~uwp析Q&B!blh2jkuHJhp5WCp P uVRXMs'v-5 m p)QJE\6 ֳZ't΀%@vQq *QY;~7ۿWPP1H" ((H\C \F@4y]e&(joߖ}k-ȳOS޷+ϽZzG>5X[k[:a/ZiyU\՞܋y‡񎜱Nn:|gq&KzDDYi-P)agZ 1/lmll '_~y{{{}}ǟ̋*8jۭ$"::ҁʕ+ޮ}Nӫ(0 B]Uax|| gw_rڵkFGᰮkQӉٻmPT%WS\OAtg fu \4[púk`Xתth!oc UTUA$2J*muh@ jqL{nlNt8jm[9'RA<%5% 9@HiC*b4AUUIvG̈́/aXUQ>>NdzS7LM[0 mӄoO\LQ P FEIX |FcI@駽A/Y;~[soת2 d}VP@))7o`n(@Y"@dٯ/Rw.~ۓw{،0+LnғO2A+FipdOEO2ދ3<Z\Q,[ٰ! gfEQ׿osշ߾i}ΝtZ[ԲGnM>"kɤZ8w\{1D(˲7|{ꉍ7yn,mooey>8W_yi<۪Nx0\\?dId-($MH kdƛ =[1*Bq}qf [܊|Fi Q)uMiD% H 1fLYWzʓWF0L2¾Ѿu_78Ycƻ ^xag3jE,@_SDŽ3n"`(+l aA#ϩ?@HdW69+hP ʜdkb#\+~!.Bp Ò眕XxFE2Z9>>ww]Dve{?Lf .]tT7Fp<97LNg^F Wbjj044I((JXkk{{d2y +aeh(Z g|,lDa+-յu~%^KvSFam*kT*B1 QhQ =;ϢUB0XO֓FQ4+uܥ /: r3D6d~eh 4<5۰8=ZDy .w>sRݷl"9IP,UXL>\ڋ5sv.>Vx>%ʥ< toll\|SOMZkW\1Ƅ)ڐ1: ,! ` "յkA訪nh<ft:ޞ|ss{Jd2 V׎G&s4m ι7(z 4Ny~?;NS{(KkDQn}G1Bi&_*gST+*f52kI{wqw*EX%؁T-I"DE^УP#B@`pBX8 LIDATlJh|兛/|`?gͯscp;7sd@ Uf@yjJ"\xF @eռπ㛇¸3k ,0* G~bL),ha}y)>wEW?8fEQ@U9tv3L=a$~/|ąJwFKaS-Lƴ_;r:? Ea@ zsS_xvZBց'QUΨ{t2^޺Oo~C _9I⩯`!6ݶQ]5/cD̴@+ @b[ETw^ܧkV*0_9$i1VDHHlW<"8|/ӌ o~grvOP]KIz  NI8{{QӚ/ b߳1¤;΅Kyv$˜sI+] <=#olk<j`TD._|<icMvT0GWO?43z'x[t:-Ct)C:PLP;vjF,3aY&hTE 9f7t!y8^S0 j?0˃uCMꉧ*;~{- hY(!=Uƴqm'ַUiG@b@B5PsƩRJ>'w_ YbOp39d]mYyh@s) zSO~hwGv~3MS(|Yk+KAFW#ɂn=|ww5e_C#OşMX)mtKzΎOk2BMa,k^ `ҥxM?۹~|x[Ν&v6fOuc6٢(ʲnHN'EeY FQd"ҦʊQė.]1a$RJS(򩧞t:viΟc,Fq*pp,B(k铫պ1I[cQrl`TO>2x\n`ldǓV-RLqz K`ssa7_ǿʋ7Cz_5ji,!0K.q4Nn!y4"r2<,MG?ٮ ^,f<=oj9 zsCHtH༧!D^keHPkS';NL M0\|3yFDH5] '%Ħz3LHEqM i/$x|;uDIZ<ƍiw%;@b꒾2klľŹ~o{7Ւ_f_gOepʅ' ZL;vǏ^V)K!At4z^JH@wZR$|X齏r/<|(@|n[B@҂VxSc9F3hl_ad677WziVtzgo:^zp?Mӝiuuj5]EQLR`iM\jWI{oggNm-mo<%J,.',YV&CdhB!ڝz;x/̄%(VB"D<BMӹ /ʹ rD"B{vU$ R **%D=2:n+;_y)b<@Gk R7qah/z676Lw#5)Gܯ=w/*fP@FP58?Κ$ "x0Q!"0>Ij.=}'b'EΔ~TCbb4> ei}u҂ʪ tN\u]u;S^P!۹6S JȠ^P;ڃ3rX/)BDQgP݈™{v>>&Aę"^gY-84,bG8:m;5P$Z@vZJ]Rk/r`_FE`ip OH6{3pSzu'f%ss ,^d=07~P 0cXD%sÅ ".IFRA;;;w1 N +3c͛7WIwҕ7+8VC 4]vVmfEq-޳d0^J=n7Lb+>2x⭫z%0un+Ł VlLn&Ucl]Yk{JjG40Ъ5r(ǫs\*$,s]9tĬD|%;*HZoV+?_{{hOL_~W_gi >Gc{ߓϿ/vio>r$IViI޿#.R#һ`WD<m)C"ٮdc~TQ-F *e Aa%&q$WJ3pIg|?SmY- ^fR\!2ȅesx{gH bq"̲޽{j(lL;沮ZVu4-?yiIJt8>gN{m/|%nuZݽwN'n$Aҫj{x+\xnci==xgz2,5)ecsV H.\'C6u}=TSZ$ddU$ nC3O|ۍn[l#e=ws_qN6=EQP9?|ޢg̮\~ߣi=7Gi%7xs<:aD!!D?Cag" 3_?Z[D $PY>,JHjF>ZU[ b'OQh ,0h4?j1O6_Nj"Bը5 ii4ߴ"Q$+++6á8EYWMm"sVKLVy^LL2a`;e]@^F6eY㺮,b^UyH㻄f_XlǍ|"%"~nlldќWD"CH/ f 6.<Ӧ4/ TIxvU]ѵ+~dtƘn]ZQeE6ݍ ڵk& Åh8L~o҅ʻAo駟ds.Vz"F f/Nk 4A0ƄaU]{"@a"BiD0-5b((-h[m.eAKI_P%.SD(zf֗~_VR HATfA@#=~޷߸a?n=̱Ia31<p| TҪ>oTx{۷P@D4rTHJ?Al/;Ói7^"aـHͅIsYf *Rb> ظ"+PDt}ɜNwZݮRU6Nk lk(ǣQF13gY@$Fq sۊZx4:jZ14K$Iڻ^@ұ8M<7DJ8vu]^)ԊrwE {5Y[)0@$J wz9ƊyU<=Z %O @ì֓**% J @e3.Lk50Po{ww8VX<޷C`˪j'iJA\\} hq'(-a(L zUa!hde@QI +Rle H)̵1Zxm3Z\ǚ0LHf3ãx|sI7(#:KA@x,h߾ƫy8h]ʦYtC7-d0`k-xP kW_d dA ăh*a굍\:G>svTPkQIΚ6?1"4sw`KSF6`HO`'{\R_\2%b0P#6=+Fͨy/2j`#2" !)Y7}@HMgYڻ&xè|Pg:˷  3hǰh́sC4W?"ʐhh7J|%G`<<{Pa@'v#[:; qev7Xt:">/3}mO"c΁ UW2c:p<׶e5ݻ24]'neV+PXI`V:,=0+B%,lu#$,@6Qεz-"lm핓ki@enXW(VDqVΎ4gZŇd̨r=w~e] ԕ@6BK˳yFn|k}y ׿waV`Rl6Υynll HD 0HZ LL QHNzeV"'eˏ2㟛M/bN]%F}v^ q7nTO : <.%2n4 zi['Qqժʲ̃~Su Su;jхX3a WUEFA BJKWnwZ|FzQY'&,'٨.t`}G\o;KŠH3Z\Pew[Vue}det0-LD.kg1 r֞~cw* /KVU 1Eզ`jPЧIwwWqpvI_*'~}\[GPk'{7 7-^[t14"(߻hα( j=t.>Kunok h<#xE(9ʬq reN .g݌TiYJm]Tޗ~p_FgQ捍WqjȞٖvkI`q&/\)\iGIҫݕ.0TJ@N|DB^bVD@JRd=} l>+eZIzxPvVH+(i%xKF󀬴+MݡV m} a5@lx0kꕭ|o}Ƈy`;WiB^}0~jEI*.+"mk•scGnP@w[Qo> (zy1COhn !zD%S-+uB)=ss:>I+lR%BH,2eOL̯۩hv3hUX%O(yWهOɼ=CKCUJM/|{̹;؟uem۹yzV1ݬF$O[h2ʋ0JjEQTEk\92VGcITJL, tb((^x3nRa Q'I:$Si8w 6e~z[ HtD<)\S]RX1Epe屃]k{Lor:Z2X-?JpU)HG‡.=޾Ý7zRM[f@IyaڟU9[:XoHO֚E rguyNa3<{])3oр[emR,8>>>> YÕ۷Vg:ڱ2Hg$@{W΍l80sFɝ;Q\STz4eY6#IDy^ݽ=>}מc7ɵ0Bh!AdD4Π ;kB`L@" "+&߷靚Zt:%.K[Ubɬ=-0E oK03軌Ʊ#l:H!嗾?%kk֥+|*"* E+:#0sNe}uZ x\dՍXav]v ɵjNseƝa+ cew02 !TֱOȕ(zc7xjVoo}||k7pxah`@*6^ \[:ٖbp9_//*޿wx_~^0+VQͥ7Ν7,P>a"4˿_ԥˏWG{Uq t RA,YRk߬6cFbS0bs^> Z7.ˇ%W@{nR$Z!`80x~媈Z窪LD[e4"zf=)eH +h: DAEZ7U.P[DI+3`= 8sσgRxKH襉(vYcyp77'bCUC s\3=d7^]Еk-ӲEq(eV~"h|(W/m],R5:O^"'>  !+ %I=$M%hy: EfMC w[#|hlc#̬eu___o߾}4>z3k00!"wޱ"f<,JVԕ\fznT_lt>Oh˶ 'Y('Fh$j|i-zέZHcQ&Ne*W!#T\B2.ݸl& 'DRD1n< g C\pbj"&ad d0>)MzQZ*vc2ms U]ĭ gi(JDYI](HV4{c+?A-&Qn6k0cP`6`>@XYܹ{+Y}`(n;7~g]{޿sFD%, <Wh8!&<}?cߥKwo V3,@e0PLEAHc'Ji% [q}Z6#AEF#6kd@?S$EQ"XR^iW @U܁g0=Ɩ"s8:@vgK!鎆<}9X|:;i œXP@|Y{eimE^)XURJ\X>t[U՜NG~aoomCEVa8j9L-g>#^aF) ^X-*ÃJg-L4xu^~߅{qg _K@]iA):&~T{GG!ѱgf[I8P_d'8l{bߡq 3MbTawq$r_vP75hr)HoqC@гEro*tzkTOZA pߠ FK-bF,DvC+TT;_~2h%A4)pRPdpbmtϷ)jq5_DDJ@s+A9fAVd>g9ͅ'%IeK'l<͂%plz8Pex[_{a Q" 8~{j 'sag5arNA4z&׈Ce.3͋pX.dUY Vwoo~chBދH@F2Nin&iš,`gecmscq@(8MBYkkTZ6 U ;o+WePLQ®EŐKmHtd AЈ6Шnf|_MK[=خE^]j39xOk0k$5(H׮G^*u.~BĞo]Jgvb#i`% <𤽼'óUlȺ|YQkxxxr@X'8er,NP),cBmBD*+ GF,xʋ/bYY bwVk)z;aJ_Kã'?G~<4?X%z&s9 {@BUugֺH#i؋JY [EJ;$ 2. .a0܊X! Pۣk;/<5?r,{ciasw; W6:?W=O||:j >>Ot_|׿@ EZG@Ffym=DxXGVУ{B^DDTNO%Ew{Qz㻇:,;zQw0?>>><<,9_N$΋uFg婧?zsc<`Ɓs.J[Zt5i/i(|RWǟ$E>xA0ai+gsN<{Y$qX Yk&4 8Dko=:QF[^ZRmv5ujw#Q@ #(BQv7^1Uzn~ jqJXoQ ͲX"CA.#J.>=9 #f"8+>bM*|rZsN%0z A[ID0:&%DDMj@B @B|dqAP]4p3]<3!Ea?G" RLШ|JyWX%@.MKfqJ-ʫoʷ\~n7|~cRm }^P?7 /mAE4PS^hx<˯ ~>8~K':=(T,P/Ά2ΌLyk(R(jHĽW l}fԇF: w*JD,$%Y4*HA x_pJ^j<9客p2"aC(R`hRHsfu9 A;3Y2:APuCƇ( 1i 4:[Lꪚ# ѕ+|tyōn}V9ܿWW UUF1GmN|KC*nn Zu,UhSc\49q`0@S&Yݺ)"*"frQʇi=022cAu(ueNФ h-%dG^( Ť ԕ"`G.ywo)[@XvQʖa'TgO~wpW0XVHї_^߹~wC(,5tc )a`ȂĻupĆq3:q-N 4'*y Ќ> HN\bcj ̢~3cy =Y\]"W!|nay;6٨Xi{ jW[mSQMo۷v??nGQ>dޭL۝8m;o.\FMT[y2mmUeyڕښ>/ cLQ4CƘhNH[4mZy1HTP!i2[k\h%Dՙk_&T4 b"OA*GwrKF|՟;_O}#x+ׯW\.P@V.#V.r>wKwDi6݋D[;2R~3*'`нK/ßS^^ؽv7b&Uq}h# TkC[ONg&XK$F6V3]|>92c Д\= (PBUQx", 1nm7GʐN+GT6}뺜S鷓(Im(qQTƘyVFQq;yzr<-{a %*D)y#*@Q#lhHbZڤiZw"  +j'aRy.(PA F!hA[~OjÐ^6w_?8~GܹYOowL *8^'> /p}HZhJyʐjwV>O}s-ӭ#N,2"!PF$e>6a[iVEQā4Hs{.nU WP N.p';IS/MBFY*3)xVD^"l2bgC$'.SSio*zv}مg?܍8~?LLo d)txCȉڒhRM~_ 0s,!@Jk|76fe}A )-T,I3)n6Qg[TftY]/'{urtZ q7ðń4E-vB14WunbSWzJ$nյMՕp|SqnV*$,0L& Ƅq72ݑ PwJ)c #Xk{礲s#550E!i+І,z.|v3t cQQ=Eap.wZ-(@ %7 :p".D#Ɣ[W6/>uiܥV?{Vim$_j{Řx𦉙L 5s P!l߻[,"$hR~OQ*I#c0,u"bg4 m=TNyLCn'ĝA z)X2ӘA\pBRbʃOlGgR)+&@+}oI8$`u zV7?28:'Ȩ63[5ZiABX!0M ÌpCN1;%;W= ވgC3scZF8oeʯo8, PH 0*IĽ)zhrpxtEklT!+ "y=< g|>"sh/Kf\wpŧziF'ĊD73A40+~?g>CWxڭwi~F;qV #:5BR^bdB`\2Bi 9LA1xR  -&NXIg! R"ZEHhsXrX7[v;BǹOLu/(am=6X [C;:ªټy7xZWc0BI( Q@R誻ɗS/k/]x:-jSJ?uIrieZ0ތ>Kdt: +T4w=u}z*9U6~R,z&X} ^> ᙫ)}wQDbDl H Ļ"#h:lwOJ4kG>ŋ.猡0lqID"rr|POO]:?G_*!aD *ϒE(^7_D`h)o>Uf 0ßaxBPYDFdOAȌTj4hm9=EFM r9ӊPup;^T.Yk!58O%jTFGePO- g<99^JI='Q~NuU~hiOv`Fad!'l<b) `9wttϛ6\x~3/_?QkJ&9ML %0jBS9o36 լ<t԰)722"x0 F᜙(EI20o;``Zƭ*vx',@i D_Zkɧ"@F{ . яG?ɧמ o& 3UhS8+ԡ47}q"C t |6Kn5j()?W>O_yq;|}WU4]]UE @"!,&@O 4*8aY "58`;cϾ&9#06W'4s37sI& LFϓBtXy5;VAy䥯_f MMh[$t!:lio Q&xYP.i#ͤ`e` (""(!?e%D`btBX].ՎջÏ_aP~r;}xHSMC ͆Pб8BU]n({}g"n99a}XЀG T a Mf 8ib3 87BQm`?MP3%`@ P;.qCs>U{$u.l+hKJZ:qj<눽2A 5FMJh&?װ^,93or@d{:ebfgvA~,3 [IPyXyqDDDFJfS`28ޡcOH<mUUvz˗/+ ~{MA+okZM'M 9ҋ2S4Qò[gϡaZ yMW{úȂ쉽FVjQZ!(LX9OЫ6 0~՛cXu9tJ=L]B5H-{j;Pk@ࠑ&z8GaݦcξY7ij? E1M6qBb RY 5 3gWLᅋ뛛@flSXKGPbl"z;)!h=ϊ34] "TF7grct@!#4‹o޻s}'T-A 1AD@X|EZljE@3" @nuFs<4ڈ~\5sŊo+;{`1wn\ZQ"PmVQgީFaܮHG 9;% pVF.Df'lp64bÓK !OspU #V$A􈎰><RX?#9ރOo8Zr~jb}P+ rF'5XLtvf ~0x,)?C#Ha72 (rOޘnMW.wV`' +9 o 423{W{oJ@Yin0;u.yHLL>Ό HM)'"dhp.+n_=OpjϮccQϚ)f-'ǝ B@'z9hēwBz6ij(' to2-  ڹ%Q{ӫ~YNXA|ezVld Le`n%T蝝zZkfrnw‘'(ka@!"@ix"Z";!a*,zb5 nn^ AJ׷έܽSq *@F|EI1@冀`!u'`OO_߿Ġ|]w{5ֵǫ+ZP`|ec /dZ O- wa˓my`'_xz|eEEГ^#|OXA*yX=wiIzw@ȘU\gVs{o7P);ޟ>L|uI;WX~OsDx!Մ"BmeXMZ8:;^jBkig5nu,+=Xjk4h+&A`"L$˭*3ay[/~3{[yG?ޭ[oL| E!yjv~)f6VER @5X[D.l'}Z @Ucq&Y:?#㣉Hbш9 E,+NyBnݹ5z!?'LFw;T/@'4"I`EB2ip48=C۳,ٳ,7˖,-FI$.ɔA$Hݍ~7׭pTխ,wU:;ߟӝh|~YU; `3 R t Š)HọbQcQV.dYnS-GOHϢʆ6 K:.*[Xk{R^DFwZap4LT{pa =vk8RMr"- 4kDp(u5a`Te03#B% h"6Yx} N&i|sz?FV'2O89ϔ!E)f[ 4I=C9~^{{A#|cO<|᯽sgчO>)W߼ CG XhFBe` Z,0 fz34}:]:\yͺ&V4NHڔ$19j\}~*˥G#\ɏY寥U$nZ"׬R"{ڲk-*kgFo{m$ M< _Jy[C78)o"OĸZZ)[jVnJ)<0TJjň0X{D]/7'bp: (IaQ.Q E DfM~KL61ij_v[snj91)tR"™a06 ~c=C{sWo5u}~'>E| 3t=`r;d8P tw٬@Chg lҧǏfًd<;o?fvI)ٱ )#Fݝ+u(|yj!xjg҇?3Ev5p[9Q&y'9ӰdV>{3a \ԇ?o냯'oF;~x `:Tqlv~'2[4$ihNt8})xVq[@n;,ÒOa߸_a֑RXPz()u@ ̓)ۻ_< YY2Z YfAnE0 nsfػ=4%:<}(D2B @1ihCIO|: fӍˑn춻Q< Ig-ÀBIH}-@9Tly*60>A7vlG/IWqx蕯RjdOum$Wf í0CN'%ǣ as;lFwrnOL:Y* 6|{YXYuQ\⾢ytu3Z>UBij%vP\zRR#ВWCMFWnk%UҨkĢ@"OigYfm4.j)̺=>O먕$<Üu:\@|])DpIRhȴddAa> "edEѹllMiJJr4zIC8%4 .J6lfct:GU3=;w<=]Ib~=^Գv f7>: 7ۡ .>9VOA0 ] Fk{M>?gW.MS6apK!C—wuJa EFʊG.xGgW-JyX>LvwF:d/"K^"]ܢnVAu.Hjk GƞҞ"F ֙;sZy,rf4I2;`BIk*MBksDo}$9XåHc>`ђ=p$@M)000t1`p !kR`I2Hƣh25;W̶oV͆r{f}YOOa{3?FA/{5:̾3< {M7@$M}0h{}3/4N0;N^ݏ#h4 [;y`x>Jw7ɱ}csw؈eK(OC̘<0 klxiDȥui3X\<.BD׍kݿ[ejiyyaAKDmSo,X`87abH"D4]I < U S3`lpB;]SJSV=ʟ[vUL[u@B4CpJi-bY0H. Qly dfA`k sт終v3#Rӭy4G:[ﹰ٢lg&v@2̧ޔ8D-3313˨ ww'f< SƬA(=@ m]x GF,k xS/>Ȕ/׌hci_>a7=~^<6* 63jtjQ*p44P.LurΉ Ωt9bT7GRP AV\&KA- Y@kf.2( B VJ)&W(b0`,;:ŊPײ%e=79" jOChaR ">+*S4 $It mPbBEZ[AHAR- E;FUvA0HHaݽ\B @E -@yRB [Nޚ?x#y;LlnSOi 9TJ_{h{͖pe:oE}mAN!67ztt'l3[,oRdgә}М,d)偀d=i7['[PDFI l0jDZx~BsH3 %Ѳ ̲y尫?k5"cDVjD4MRD6&R:R aQwjy~{{ۃwq~$Y~Wn^sO?j}U.~ N540l&{f#Sp'7F}}e5g $$#CbXߣk$dǕ-t\y 9:7.{zXX*'m'Df#V~W7[\(j$ںXwc8Ja6|nOw&'0B3x󨀳ό4yΕ]|xKzu[/2DQ*VyDi)&R"Ya6m n?Sޛ0NMEGܥ;鍃(AX՚i6E;F꧷No<8|m P~sJgTË,!嵝Dez r72k-=xR>AHcZ "+$'\Ī}]Q "tnP+;(.Υs֬Z)zOYZtPcZΩU< +۟DV\;]$6ǎRu?V 0Bgq @fs !T>ï?_߾3lY4}0 EFD0 {soI%^מ_~{J6=}J$8˕Fr%=/Ja[]PWou$bTN3l=b) NцԌW'k/Bs]Q5,J>,I*ҝo BcˇHYXjUOgY. qvFܩ5VQl8Y2/&uH9kQąjc!x=br (Ժ,N|OEW†*>j仝]OGQdZ" =Ndؘ&`fO?'z7^?<8ԳM۶&9O3m\k36ݰNn^=ᛓ1nni4|473 8JXTkPiJ >&t>81Mbj[+H=\ 1"v?6>&Ibv]U ]߮} ,r*,^T4y?wT)KV^wZ%P$j:Ya *^hg%Y|F;^Ke 4dONFbO݇_ݟ|wSuͮdmyjžAܷ{FBt7ϏG$f=Tмl.GꥼF+<ϫTJa%zO5c+vEI<%`(pqB["b+HZkSZpҍxR?nkW]4ŲG_DԄ8K? Ƥe(Pwrr9E#OePf/v<Ͻwjfc@zw. Dfam(G!EPNkSiS'{\znf G q:Anh0`h'g DVya6̆C5A?P"4Ly>-;j+CIrk2Jn&ppy ^5aIZ'Tx̱*KeiUY&VyJiV:I@+ `l%"eO~{bqP8R p],Kt"DyhcNSOӞ@,r M,HbFf^5@\2V<Vxc}^@a@2k D 53bA+@r [}E  O=&@ 0D(ɭ 1ΨcT{|bTYO礲f J)VF+'oŗ{[}f H! pU{+&V(`hbJ5;#38{V޳\ )YDvo/s|֌DjKǮ>{ɡrb,g0K\ Х۳2!\#_ |4]/އ+_ WzEz"$ΘXg&=}0p/3OZ Ł L״]G E t4<0GqqV쏡kC5ǂ 3a0 N3@QbJ"Tc,]nz4Yy}b}TWyaexbDXxJPHYn>0sC Dv*r]N*QU10cL)h+jj'.cXkhXn.Aڪ~QY "5b7Abԁ":q}+H,H(EJu?pYA^N@B=eq~o;he|/?Ѡ2Іz&|);8knwqf0pF7G7 \:pvu}O$;:hNd "nt6$UR@|}r gxo[{nDؠ)D(շ)%G'Ǔq0"Z3z^̽qP?S笌%gH#RY "@`YQ쩄너l2uuVcc :ET!}tk:@yÂ_#n#9w6ƌH.Dj@mg!!UG+u(" }Fv1~ e򵈀EMP\mkMB^ @` :v-wV\WZ  WsJb#ZD@.H0 x}(I'{'(3\ڻ{ڗߙ6*BlquMrK`@dǎ /CGB!%@$.BSbJ /8 %) ӵw\zPЊבJW<\rCmıD0.̉>,(,sd0zat!'%?AJ6 "Eꏌ$TqDY W R9(q]/ْZ XGj֙*) "2wK' &JӚmw8Zdko771MSb6n#{|ɕ)R IQ^JyepfNŅE یH@=`&̖02-,珯*FSr?DDw|HłgQ^YNeqMW9by^VG+aՠƱ>%2[U}`IĂyk:1Q&lԢ.Aʺ;*rӽ9T~#ie(AfHp* ,EfdBK\* LQa:X>u(Zg;9\xYedABquH\?}`t7`dfdJ EvV"0 r_X@ L!c+_Qٿu>22nuI&rܟ!<ݢiAʁAj#*Ů6)t$$%"D-E$AS+9կ%z EMEq :DtZ@\zM+B pT"Ŕ."9O:+rI]٬J6Y¿ОWWLr(k$r0g X "\bf&@ gead *A*v K,o&*\@`\As'8.\<03.K-X($@` "&dYZy^ }A4ލ@2J>sK퀉:0 F%a\OGS/P9,ZAQX8J@X?El鼴>sD;;WTh[QZ[I4![+Yv"Jbnwi&,B.% WT^"[>Ox*d~2'ӽt;!+\$0.uP Ui4&-*<[] DD|_/V8GaEPrBE,0$B$$MPD@@qZ3% AjE\^ԛ{"ADA%[ Т"TdX @&! S$aRZ83/\ R8꾃U=sU3RFuo"ןF!cK"` kֈYV:Hq "Oݖm\]C 8*@ @T 1Hr%ZFBRA1h J@0)de&AeE3ΙY \E4 \kɖ q"1t6<,غA^Z @yZ<_p7^_کwC a6إ2 D覲HWXe r-|K%( ^ Euͨ :MItHYE!$E>ּR&Ԉs(i=eL-+", )d`A(F"د,$T0 Rl 滍d8ʉI =%Jܒ1HL(F6PSՀ@0bR @3h&V }͂J tvDP=!)!(skXA*H+b65㱶+UWlѭjmpV2`5*Y]:<3eI]%X.@P,5ZskΎ@!Ud .iփ*18M8ρ -"Z4 (eX 7eh'"YR'VtՕ@˚TafT H r&Ȉ QUp=bp=\Y琵ηaDqD'cR,XV+^C*ck<&pp\0*4 6U+2>gD B(WY(o5Zl3ߞ^[RivF݅1޺[,f\ȯsy:et2{4/W[TO|eRo#mV֍ȓ6i6h#B, u@p.,\d}aT' N3*)o@PA$i\@wwl@+BBfh' !Bɉf!Dj@PL D<JPIVDR1(bsHF , H(Oh"*lW\(d%f['8Dk$K#Y~?BRC="NHu u|j#b>c %H;-}}6Aߟ ) كܷ˙,Ly"`wNi48T )("Uqo$◝UE-ւbNQJ=2kdz \A(C, %@i 4h *O,F$ @1H Ft)҆ؒbFdsMxd-[a)xHBK6!b@ P.*آKhiԤ܂]2=U,V:gQu2ٜFjJَǹVsml<#} <֠I% X_|b T-5ef"(\@|[:pj)"*S2ɋW.l4AeIJVLl(cym#=Ք2D(DAf } DYzU. hh͠犙9B29#Ipu01E}@kdTAUܩ(JZ8:6KsPD_l@ lۨqXА$2*\Jg("8nUyXQ^іL+ yu~? 7vxd{{(ֵ&tPV+S{M1KT^S,N53XSaNf>( ed!!.} u֥1F\P>SE2":B"j{9lB_Re-).<JrEBbrf&}jbktu2X$TJiakZe<_(`ʴς֊ 3Cj,#SU#BU{3I;h}+&!XTVͲd돇C`W{) ] <T$4"JF\r Y\i\ݹ?ǿ4y{{{4uK.M{mI_*2nZKL!͞?kS&Ƣjjhq߻\* ?d"-b4(UNvwAfn)U\5G<.YdC KBNi5GISW:j;h_/Q` gYfcB*:;"tWD+]?alrkP*}jv#B`4GYuNׇ1Z̘jc]$R6,\.4a`EBvBᧀRZح> jFͻޜPׄ Bb"o5p7FG 4XY5UfzsYl<괺 xQ3Bu`U@FP._Mή;4->/s3]\ +{)Wi}6_^B mN5-1Rl6xF. 8^֊Q\Ȅٰ 0&cR@Ib()en\X2oCV좵ZK pPvX4LXp܌A`W.XZl=Y{( "P#$bQiE^R!JG. DXը36a96p}Aj\P^ ~5RmnHkI%00XyjT" }I v$h, ])SfN%`,"<ӥvpP7㨣ZZ VeP+g. rú. ZߣS.2{װN(HXKeWeUYibj2#PrAĺ (,6yj+Q35NXwvPkUȞ٬ڄQAp"@ln(jFYvΖ/h 5# E"A!A&PX7I?Y,0[=.՝u˳sS6ҮXNlETIu~Xx »B*L5Z0`bɛRV>E+$]|X]Mٌ?b1l!IcB41w\_eb% BDG~uC"rP 0\vр"($&$^Jr_eK =?i>_DcA P_8˭A)bGI6 V?NU"Z8;mEZ Vo ʻ-NrV,թR F(#!pؤ}U3?өPV8Gqu:EeU:6QtqoG7K"".yaW"B1ڥnDsG.tk5XtXWNXX/QJJWY)Ŧ:.G^_f.API{ν ʥEwe,3=zZMy .Ru,#UUo(kXQA-8IVo_4[n}UX\:;Z'֢`k)L]1+;{ [OeϜ(UbƿDWN}C\]Wa\)ݧ>kQNIbJJ-gQ{xֿʥ"jj|b.4nTMrlK*Z^KpF)&^GT/ $w)T>moC)WWv1h bUzԿ_deIQq +-"u(.FP2. 5˹;:k[nj_SuSE74 "E$R堩9.yn却t1J㰵3sQ0Q5fjF%99oȥwmeHiN9cD誉 KY|B"5@ GEYXK݇@t9($bPXA;8,|O :4ݹ@$aX u>rCak.qxq~+YK=T,1X nm)+,E1H.m q.`vj#><*Rr,λ7"=]}e *+_CZw,a=hHRcJ΃e)pVjWg5L@4nGQ,V,[`203XB 0n4:K 5:Qѽwr59;AP۔r fSV,((kX0jPKW".E H) \rC\Bg&@t֌hOQ[$9 .Y JXE kbpaAM/&\օSK†\UX,* j * A>Z9]7qP R2UZWu*5\g,I Pra롒EgGQzp[(.;B- ArMNыXgAu.X$a$qS.rH{B `(#}/L@lË́-@)&^"zdQY_]J pdɇjm:ɦJx Qy׀"o~%s;WNrZz.m+SDJ4j:ŭ#e"LoNsspQ.9և=h~%3l[ 2͙[R^rEiB FQB;*ax2ٮPazb[k.MEKcdIp.9UV#|赿qR>~˵Q6"k QDvm3ǿWk\+~Ӹ4e•B)9#X,fȩJ4Ffיy!, ]B\[j qqʨ\Jg?4TQ\B51;fSsL\ 4c3Jk~#-W^Mi;lIЭf2, i>1G%WW8Z:ZGAK3o3 d+g3Wuw}> B%.$K@ȵgy0~<٥p_KkQ֤6*Ԟ[rqc<֪Z*f!%ԧcmG8#3n80NuMg6-k+R]<2髹v>B&j>G g)cWָ›VpGKOݼkeCɬ%TA]y.֗XH!-X"mj{5 ew 0y 9XңKtǵ.e(9:PoLTw܁Tbe ;BBv1VfTjY/l4) 2;ʊYw,^ :\`R>h/8ʆ\ˆH4 W;Y5Pղ̭tȅj .K֫ĚTA//zY=䑜xyZ9T RJ @?skyEs\z Ըɪp[{8ZGy'Z4G*k/[ó~ƱvȂ*>WsopoFV=cߗjݷk4  1t:hHHgE(̚{@.f0u_TE{k0WD$—>NDD_<ϫݬ2|uvE+ EWbv"] WRTٮR"sxzYf|zJ4TTgyOg sD(px A]Zu9rqrW/l6s:˯,Pj=OYyA͡ 5-*d-Z"Rn%IHF_ Ns[>gf ȤFE<-)bA5v*G[{"6@r $ET/ N2MX3sQSk H_Ɋ<z ך^k{x#_\v.u晴:4xɘWO<ֺ!rtOQ`x- * 8{ĂJB3{ʴCŠpHMUԴӖbO)-TF^\ us=öYv[*kYB[NQn8_CWTahbi!nuQЃ3i.S;PeHյK/N@DtP9BX7 s~Ջ[z]PzO\' 2G k _Y:c%YVҍa'eXI=EY';lt{TGH T_uGIOTׯ Y̧B`ʺvPjE*Pq!`>G2dmptӑJpZW+erIAE )]dmJ/uM[x!w:xNew3ZVF` [ZR3e-`ɵPktaX7xNSBxD_R)iNӉP|%2ӘR*(:9" [PT|[tzDGZj/DXb y.+;̘)@DXفKpV[e}1>Y\S"Kp: ϝuRt^jWY.ϋYꪙp/(O=zV?]~i~3/;mWjҕUŚ4u.PYe &"2DuT0g9 Q -c F+.2& ATj_[4Uo)R!J1^`7@x0 A(t W]51XؼD &\#Z*){Ԗ )"f9T;ii[17WK_H+Kn&iw)F>*tIUuǪ/2 s/f3}j ZD *#5ѩ:g_ g"4:TD5th.ge.E/i"zTT7./XeеĶeJI =F.eY/ uńD]rpyt;Ysp3TI#% "$ ]qS$⦔E]`EV`զ(\4K$u683UL/ uU WKC:MM .,ʄJ_%YJjx: @%U -n=qud $'^KrdzὰÃ4hy̋wh;M  t<),QY:,M6kD!ۜ IM+bHnۍbF!TJ$"0gFw<hBOylVZ)žyA"1n'"DJAy16 fI|t4L޻wocsP{hdդ$KrI3ߣdrqQABE"1Y vGڋY!"g9ikHB߂fcTVh!a bP0 'hHf@,#Y#)"q0lnn&YJMy׍\,YAo&Y 4)iQNev&$<`Rέ^MuѥYv]3c3QkH+19Z,tdئyb!71ߐcm< BQKfB4G4ZFS$<k dtiR*5y@$XJUcζj W?֔}?4ϭXסØ <_1C@FҙIsҘV( !N5@Dcr>k= 0OR?y6cByl6K<Si6it[',Zd2qܓɤn+MqondFl#~_ `r"hY'>~6h0l޺q叼ǃ"t6ikAhRl<>yhy6L¨;{&щO33LMn\1JY N<4-ps =:Fi $^(x2h2[iZc &JRq3;YeNq1|6ƒzV(0*y|0Y^X7*yX&DDJİS6 F1=(j6[*VʲmiasvwHtknq+Q<ϵ&Yyp}5}K_z߈O=I2. d#eʬGI_ؼ[^}M7@DM*ٙ׌>ާlƣk$I|YmnƘ 08?xWW]hi^ًQ:fGǓֹI:~^Dw:o~o'x{d2hpQEaZiZ, TZ1ӉI 4): xs'͂۷nvw7RQov*@"kI66¶`Wikn41"%b gDB:Ơd+G" *#OII.FirBJCtg1$~/OHNѶB/OS,y%Ƕ߾qW~޽?9Ҩ'nw|voyb;>,P8%ɪt {>F>ڔЇXS,Xkjk8hb4(ZM tĂ(` XkPk*X6HPTT>ZfČxa~p_o܌vu~ێf8ƃk4~7d6ёG?n+_g>O|S9h(^8@% ,6l?ln'~j: /hm`_'677wd0 %;Yn= gMrWwnm` aC^}+Oilܼۘ[ե+O\9wf?98A_w~ʿ_;s5WC"Rx:h!o:04I}H$8I2d(G;ڌ'w5[C@0f)mmi:4Z=܍{͝'s?cn~[vĵ$K_>>υbfwzͻ$??rܹx[~ǣ$M$qt675f=V}x8nY)i=iLD,ˌ1O?ZyZ<R;"*P.nV)k508l=d/}c ?4~597O=f3NC%[V'gcMH&<9nmnL_t2|ߺ÷n}* Xrk PYT @yS.RN4FP?8ɒg?~@f&I (gvFBn\}_?8>:xw&  }{$'?ga+mhkG'5p曽NLCNG,ht߹yϿ>ٟ~g?8|+OlvC F̉zdbێZFdF! ~g:Nj2M+n癧h0- 0fqihfo=Ȏ6ZЈyp6K㔓8?ܿwy3/D M}X6OG/;7~Uv^~•N'i>Z+E\$M3fEҤڜaΝwE<$wn?wO *oyyͯ?3#J7o}g݇ǃt'wiiq}蛣_re 4Fng[??n}[΅+Wa;`8}p<]H<|IF 5bz4ot7A;!c6Mi66fKo]8Ǿ_~lgf8x?Wh| }Z;7/f7~O<{x82Y4^cSQx?~}6MSg: w!hX."6 OGMO6գ4G}efRo~+IWwIZMj8i01SΔ h9'xɔW~彝󗟾܈F04rW˯u70,tS^| ׮校,}W~jFg#ce:_mnޏ?~{_ʗ^x߳' ,9$ٝt(M',ɣF3y[w.]l68W?7w>_op?S-65=8̧ӏx*D xF?c_0i|rtw-H,|2/NNvε;o|w2_4[GDj8=i^Ɨ>?o|w϶x0fc o?ܿnlO&3d$p0I'(67pmwsa; Fv;w7O n^| |sO&&Nf&I:F㯶ןz~bu9j^;1}k_K/]tWx $J$ouv[[] 6FΦ{{+?O~C,Hxo(N1hm6փNo76kW.?A߽mP|?%LK8KH}F؏ʭɲEɓ$ ,l=On];*F]Tr FE؈]n" kI2IbËv:i/?Lb彫o|+v^Bs] ;zOÝV'nO1?aAD_VEɃw$7?>վ:llj&QEe7XP5jyjH7A5ZVg*)N0 Q_w4Frh7^ph|w kӋod[DǗԙ x<׾k||^>wn3 @޹?yaݏ=c'>o7MyV¹FO> $ A%Iڽ@>B}ߊ6y>|achQgO< d5~/Ii&blf8P|?ܓ~?﷢-my]52ȋq:~㭷zՃ3?9vb t:,O\zƠ?rQwtw_}, 4t?\$ޱY~Bmv;'%Yl(Jaii^OG$I/ `"ȁapjRUh4bu77,G~( (E_il8Z p??gM I߽{o:ݷoڝLc$/]W/2ӌ @J ֺnfqQ{z<ܿoF1M"< `!Cl4~r\r{ކ y~O;ڋZVmPACi i.6CL9d,Qsmd`߹ԝc/h.o|>q'>/\)vgskW 9SW~szBOQkWoݼysccko}-mC[7z)Vqڕ'O߿li_pa?_韙ܹlvo?ݰ;+,}ʵ ~皍h7/W7|._g _P7~?{x{wgc+M/ã~''g~ߨ? N_oMhT2[7^ .^g>Ѿ& ۭ᝛;yG>+tz +p߸0Ih\yF,I_|ݯnn[o ,{ L'fNΦ<7@ *>o{3c+8l'76a&QbVJ!"뺥{  ̭Mlm|O|t<~ڵ+zO7V&/]E۷R,xyNF-D Q:awshn JeiB $EX|?ȓ ~fJ[7s{{ƘPa`ƐtۀhΝNۍF̲O/^&f-Q:DF@uEQaKRбmRg\ڥkغӭƆvOrgs A<{S_~Ofu`{ZeSG߹st:t6{Q;xp8::_Kƃ7dj_(y}7O^xm OM{á/a@4FmF+z48v6/Cmg zݗh0<~8:莒$њF?l?|8O|Si"QP<#l * ~cu];#O#N}FV#4M]W$D)+@ pf4Ylөmwww[, L&W1L0S99lfl6-M$͖"pr.j]m*]򣝠P'qӟ:A3j4ڻך}/h?4yvbMJ4Z&"f>78u(jhkw[{ɫZ al~t~޷錯=Lyw_ij?#$oaxiϥ?'>՛O~-Ώ鶻O>M1 83"_|ac]`6ij 4ꝭ?yN'?jo{߿wu8l]='6^'#G-dFllEzrd:5F'G0/Dx F?ڿɏ~_ۣʕKW< z({hXx>y?JPF2t?@f؎"0ɳv=@\\7iion(^+.\[7޽w^8rrr&Lhlt%>yTyl6m:wYN'jfgVTttjA7lxJW(G==Mdj6leYy4 1ž,3vvwzd v&qe֡Mcޙ`wb^llݙ44Bd9#i@O{ݽ;G[N/&J"fV6bobhw-;w~C{wv:+W4[??t{.C_~쇇YZ/llfս `yb3 |xH̚fJLeYѰ&Il6-Bi јeql&"y!,383kDվ/"v<!5Z{gha`.zKyITo=Ve) H+,V)ue~S sL4&HAӞi+SB JKӌD$f}FBT`&=ӁFZEYξ7x|MJ @_#k 4FA KD+Y"Ĥd#jQ(`EbSir_z-[zDt|ԏ*B*ph@^@@ uw Normal (Web)8OJQJe@ NHTML Preformatted 2( Px 4 #\'*.25@9$d %d&d 'd-DM N OP QB*CJOJQJ^JaJph O! ^_bold.X@1. ^_Emphasis6]FV@AF HFollowedHyperlink >*B* phv(^2?@ABCDEG56DRziR ` A R d  .   < UM+V-(0>?IB^,Hp8`4""&#]#&_'`'a'l''u(x(0000000000000000 0 0 0 0 00000 0 0 0 0000 000 0000000000000000000 0 00 000 0 0000 00000 0 0 000000000000000000000000000000000002?@ABCDEG56DRziR ` A R d  .  < UV-IB^,Hp8`4""&#]#&_'l'u(x(0000000000000000000 00 00 00 00 0000 0 0 0 0000 000 0000000@0000000000000000000@00 000@ 0 0j0800000 00j0G0@00@00@00@00j0I0j0@0 @00@00@00@00@00@00@00@00@00@00@00@00@00@00@00@00@00j00j00j00 y @!'.+/v0 !#$&'()+-. !'v0"%*,v0 ""#$#'''(L(s(v(XCXX _Hlt135203231 _Hlt135203232 _Hlt135199264 _Hlt135199265''''x(@@@@''''x(2#<#x(  x!z!x(33333332E6  A d . (/07<=,a'l'x(x(<F.ifXWW1on;Z*RB '`)T[gk%pZn@g<)h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH. ^`OJQJo(v ^`OJQJo(v pp^p`OJQJo(v @ @ ^@ `OJQJo(v ^`OJQJo(v ^`OJQJo(v ^`OJQJo(v ^`OJQJo(v PP^P`OJQJo(v^`5o( ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h ^`hH)h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hH^`o( ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.WW1k%p<B '`gif@n;Z                  th:$ 9-Z2b 5M,U# xOb ;wj {<]`OcHJxxUYnH*ICKONJ]Yr$\[qX@*5G,U*~^Z@$.'.4@BVeX7173 :T _)%HAi; 35N+q6B`9+`5VONSpPEW0 @Bio!=g[xO"Zw*|"~^ZZg(##@Yr$_)%k'QX']wr%'0V5(Ob J)d)4Z4!)s B* Is`9+$H=H,+5M, y(, N:X71s?V2%,5E4B*ip4'.4Sp~4V4Z4xx@*5y-|%,5z36io!q6'&N28K049 J> :* [ N:J)^ZK;$Ry{B`?28CT?X'sE@ C"BGyL7C<&C%gIC=v=t3EZPPE }HFmqE1Ft3EM>G> :YnHR#{JQ _Q_sE@s_M>GG|`NzOcW0 b)ddVeyxeZg(#d!eG%gkg~^Z@g iJsiCT?ri WrHk`?SY m]o E8 y}P$RyxJGy]`DxzHS}[p>z^@nR#{Hy-|HS}]'} }3}~^Z~lIfHF>=rXN^_-H] 8$"{0x2B5;J:>7EHkHtQI "K N`'TlU2Zr~_1h`lkmoLquwRd~[#:sBe Q$i89\BUvuT@P:%f}(:uRMu!)trV@2\N 11v(`@Unknowng: Times New RomanTimes New Roman5Symbol?& : ArialArial7&  VerdanaO1 CourierCourier New?5 : Courier New;Wingdings"qhcF1!!!24'' 2qHX)?)2CET 479NealFarid Farahmand,        Oh+'0x  4 @ LX`hpCET 479Neal Normal.dotFarid Farahmand49Microsoft Office Word@*4E @fu@"y!՜.+,D՜.+,@ hp  Neal Enterprize' CET 479 Title 8@ _PID_HLINKSA/7 'http://www-unix.mcs.anl.gov/mpi/mpich/@)http://www.linuxjournal.com/article/5690/7'http://www-unix.mcs.anl.gov/mpi/mpich/  !"#$%&'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    Root Entry F"yData 0a1TableFWordDocument.^SummaryInformation(DocumentSummaryInformation8 CompObjq  FMicrosoft Office Word Document MSWordDocWord.Document.89q