From 2669028cdc73d0113b3fcedb552e44912f57fc77 Mon Sep 17 00:00:00 2001 From: Mystery Man Date: Fri, 20 Sep 2002 07:09:47 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'V1_1_9_52mdk'. --- docs/.cvsignore | 1 - docs/BUGS | 10 - docs/COPYING | 340 ---------------- docs/HACKING | 126 ------ docs/Partition-ends-after-end-of-disk.txt | 66 ---- docs/README | 377 ------------------ docs/README.devel | 252 ------------ docs/README.pxe | 133 ------- docs/SHORTCUTS | 51 --- docs/TODO | 515 ------------------------- docs/advocacy | 87 ----- docs/advocacy-interactive | 60 --- docs/comparisons | 180 --------- docs/diskdrake.TODO | 23 -- docs/drakfont/Makefile | 57 --- docs/drakfont/dia_srcs/drakfont.dia | Bin 4599 -> 0 bytes docs/drakfont/dia_srcs/drakfont_install.dia | Bin 3662 -> 0 bytes docs/drakfont/dia_srcs/drakfont_uninstall.dia | Bin 1908 -> 0 bytes docs/drakfont/drakfont.jpg | Bin 134044 -> 0 bytes docs/drakfont/drakfont.tex | 152 -------- docs/drakfont/drakfont_install.jpg | Bin 86455 -> 0 bytes docs/drakfont/drakfont_uninstall.jpg | Bin 42291 -> 0 bytes docs/drakfont/mandrake.ps | 534 -------------------------- docs/draknet_advanced_doc.txt | 165 -------- docs/interactive/ask_from | 29 -- docs/interactive/ask_from_list | 27 -- docs/interactive/ask_from_listf | 27 -- docs/interactive/ask_from_treelist | 27 -- docs/interactive/wait_message | 13 - docs/mdk-vs-redhat | 43 --- docs/net_object_class.fig | 73 ---- docs/object_class.fig | 32 -- docs/spec-DrakX-8.0.html | 405 ------------------- docs/wizard.doc | 31 -- 34 files changed, 3836 deletions(-) delete mode 100644 docs/.cvsignore delete mode 100644 docs/BUGS delete mode 100644 docs/COPYING delete mode 100644 docs/HACKING delete mode 100644 docs/Partition-ends-after-end-of-disk.txt delete mode 100644 docs/README delete mode 100644 docs/README.devel delete mode 100644 docs/README.pxe delete mode 100644 docs/SHORTCUTS delete mode 100644 docs/TODO delete mode 100644 docs/advocacy delete mode 100644 docs/advocacy-interactive delete mode 100644 docs/comparisons delete mode 100644 docs/diskdrake.TODO delete mode 100644 docs/drakfont/Makefile delete mode 100644 docs/drakfont/dia_srcs/drakfont.dia delete mode 100644 docs/drakfont/dia_srcs/drakfont_install.dia delete mode 100644 docs/drakfont/dia_srcs/drakfont_uninstall.dia delete mode 100644 docs/drakfont/drakfont.jpg delete mode 100644 docs/drakfont/drakfont.tex delete mode 100644 docs/drakfont/drakfont_install.jpg delete mode 100644 docs/drakfont/drakfont_uninstall.jpg delete mode 100644 docs/drakfont/mandrake.ps delete mode 100644 docs/draknet_advanced_doc.txt delete mode 100755 docs/interactive/ask_from delete mode 100755 docs/interactive/ask_from_list delete mode 100755 docs/interactive/ask_from_listf delete mode 100755 docs/interactive/ask_from_treelist delete mode 100755 docs/interactive/wait_message delete mode 100644 docs/mdk-vs-redhat delete mode 100644 docs/net_object_class.fig delete mode 100644 docs/object_class.fig delete mode 100644 docs/spec-DrakX-8.0.html delete mode 100644 docs/wizard.doc (limited to 'docs') diff --git a/docs/.cvsignore b/docs/.cvsignore deleted file mode 100644 index a0593a470..000000000 --- a/docs/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -pictures diff --git a/docs/BUGS b/docs/BUGS deleted file mode 100644 index 1d154fcf1..000000000 --- a/docs/BUGS +++ /dev/null @@ -1,10 +0,0 @@ -doInstallStep: if there's not enough room, error, but packages are marked installed :( - -when you click directly on setupFilesystems and you have scsi, you're fucked. -Even if you go to setupSCSI, you won't be able to have partitions again. - -bug non reproductible: -- /etc/passwd is empty after `root passwd' stage :( -- reboot at the end of package installation with a lot of error messages from -gtk about the progressbar - diff --git a/docs/COPYING b/docs/COPYING deleted file mode 100644 index 60549be51..000000000 --- a/docs/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/docs/HACKING b/docs/HACKING deleted file mode 100644 index b5844c846..000000000 --- a/docs/HACKING +++ /dev/null @@ -1,126 +0,0 @@ --=-=-- -DrakX is a very big project, and it needs special setups to work. -The purpose of this file is to explain how you can setup your box to make it -compile and run. --=-=-- - -Beware, don't try this on a production machine with important data. - - --------------------------------------------------------------------------- -Sources installation: - - First grab the gi.tar.bz2 archive and untar it in your home directory, -for example from DrakX-*.src.rpm on your Mandrake Linux distribution. - -cd to gi -for i in `du -a | grep CVS/Root | cut -f 2` -do - sed -e 's/prigaux/anoncvs/' $i > $i.tmp - mv $i.tmp $i -done - -Then, log yourself into the cvs: -% export CVS_RSH=ssh -% export CVSROOT=:ext:anoncvs@cvs.mandrakesoft.com:/cooker -% cvs checkout gi - (passwd: 'cvs') -And update the gi package: -cvs update -P -d - - --------------------------------------------------------------------------- -Preparing the compilation process: - -(1) target directory - -create a /export directory and copy a recent Mandrake Linux CD in there. -(You don't have to put have all the RPMS...) ; you'll need roughly 1.5 -Gbytes for a full install. - -[gc@obiwan ~/cvs/gi] su -c "mkdir /export" - - -(2) devel packages - -you need quite a few devel packages to run the stuff; roughly: gcc, make, -glibc-devel, perl-devel, XFree86-devel, libglib-devel, libgtk+-devel, -perl-GTK, ldetect*, libslang-devel, libnewt-devel, e2fsprogs, dosfstools, -rpm-devel, popt-devel, rpmtools, libbzip2*, libncurses*. - -you may need a few others I forgot to mention. if the compilation -fails, try to understand the message and install any necessary -remaining package. - - -(3) sudo - -never build or run DrakX as root; install package sudo, and set up -relevant permissions; the following should be enough: (in your -/etc/sudoers) - -gc ALL=(root) NOPASSWD:/usr/bin/patch,NOPASSWD:/bin/rpm,NOPASSWD:/bin/mount,NOPASSWD:/bin/cp,NOPASSWD:/bin/umount,NOPASSWD:/usr/bin/install,NOPASSWD:/bin/rm,NOPASSWD:/bin/mv,NOPASSWD:/bin/tar,NOPASSWD:/bin/cpio,NOPASSWD:/bin/chown,NOPASSWD:/bin/mkdir,NOPASSWD:/usr/bin/strip,NOPASSWD:/bin/mknod - - -(4) boot kernel - -you need one or more kernels and (all?) their modules. it's located in -subdirectory "all.kernels" in DrakX-*.src.rpm ; if you ever grab (or -build) another boot kernel, replace or add an entry in "all.kernels" as: - - (a) create your modules subdir (useful to describe the - VERSION_RELEASE) and untar your kernel - -[gc@obiwan ~/cvs/gi/all.kernels] mkdir 2.4.1-BOOTcustom -[gc@obiwan ~/cvs/gi/all.kernels] cd 2.4.1-BOOTcustom -[gc@obiwan ~/cvs/gi/all.kernels/2.4.1-BOOTcustom] tar jxvf ~/mycustomkernel.tar.bz2 -[gc@obiwan ~/cvs/gi/all.kernels/2.4.1-BOOTcustom] ls -boot/ cardmgr/ lib/ - - (c) build kernel/modules stuff for stage1 and stage2 -[gc@obiwan ~/cvs/gi] ./update_kernel - - -(5) pray - -[gc@obiwan ~/cvs/gi] make - - ---------------------------------------------------------------------------- -The comments written with #- are automatically stripped out at install. - - ---------------------------------------------------------------------------- -testing all: - - go to the perl-install directory and execute ./g_auto_install --test - - You should be able to test the whole thing in a non-destructive way. - -NEVER compile and/or execute DrakX as root! - - - - -Here is how I (dams) made it work on my computer. -------------------------------------------------- - -- get the sources -- install the librairies needed included newt-devel gtk+-devel popt-devel popt gtk-engines -- cd path/to/gi -- make -- mkdir /usr/share/gtk -- ln -s path/to/gi/perl-install/share/themes /usr/share/gtk -- ln -s path/to/gi/perl-install/share/step-* /usr/share -- ln -s path/to/gi/perl-install/share/help.xpm /usr/share -- ln -s path/to/gi/perl-install/share/isdn* /etc/sysconfdir/network-scripts -- have a cd architecture linked on /export -- ln -s /export /tmp/rhimage -- export PERL_INSTALL_TEST=1 -- cd path/to/gi/perl-install -- gendistrib --noclean --distrib /export -- ./install2 in root (dangerous) or chmod a+r /dev/hd* and ./install2 in user - - - -address all bugreports to dave@null.com diff --git a/docs/Partition-ends-after-end-of-disk.txt b/docs/Partition-ends-after-end-of-disk.txt deleted file mode 100644 index 3da57d561..000000000 --- a/docs/Partition-ends-after-end-of-disk.txt +++ /dev/null @@ -1,66 +0,0 @@ - Cylinder/Head/Size Hell Is Not Over - - pixel@mandrakesoft.com - $Date$ - - -Nowadays, you can boot Linux without ever relying on CHS -(Cylinder/Head/Size): - -- CHS information on partition table is obsolete and not used anymore. -It was causing the 1024th cylinder limitation: - - disallowing partitions above 8GiG. Problem overcome using 28bits Linear - Block Addressing (LBA) in partition table. - - disallowing to boot on partition above 8GiG (due to int13 limitation used - in bootloaders). Problem overcome using int13 extensions (EDD) - -Logical CHS (Cylinder/Head/Size) and physical CHS are not related anymore. -Especially the size of a hard drive is not a multiple of the number of -Cylinders. - - -The problem is that many tools still rely somewhat heavily on CHS information. -- most tools adjust partitions on cylinder boundary -- some tools compute the size of the disk based on CHS (eg: fdisk) - - -Resulting problems in various tools: - -- last partition not cylinder boundary adjusted, and overrun CHS computed size - - fdisk - > Total allocated sectors %d greater than the maximum %d - - cfdisk (need confirmation) - > FATAL ERROR: Bad primary partition %d: Partition ends after end-of-disk - or - > FATAL ERROR: Bad logical partition %d: Partition ends after end-of-disk - - Partition Magic (version?) - > Error #109: Partition ends after end of disk - - Windows <= 98se, Windows Me - (doesn't like it, what error message?) - - Tools handling it correctly: - - parted and so diskdruid in RedHat >= 7.2 (or is it 7.x?) - - diskdrake >= Mandrake 8.2 - - Windows XP (need confirmation) - - Tools using the full size of the disk, and so causing pbs with fdisk/cfdisk/...: - - diskdrake == Mandrake 8.2 - -- disagreement between CHS and linear address - - parted - > "Warning: Unable to align partition properly. This probably means that - > another partitioning tool generated an - > incorrect partition table, because it didn't have the correct BIOS - > geometry. It is safe to ignore,but - > ignoring may cause (fixable) problems with some boot loaders. - > Ignore Cancel ? C - - lilo - > Warning: Kernel & BIOS return differing head/sector geometries for device 0x80 - > Kernel: 38792 cylinders, 16 heads, 63 sectors - > BIOS: 1023 cylinders, 255 heads, 63 sectors - > Device 0x2100: Inconsistent partition table, 2nd entry - > CHS address in PT: 48:0:1 --> LBA (771120) - > LBA address in PT: 48384 --> CHS (3:3:1) - > The partition table is *NOT* being adjusted. - - diff --git a/docs/README b/docs/README deleted file mode 100644 index d35508e66..000000000 --- a/docs/README +++ /dev/null @@ -1,377 +0,0 @@ -Well here is a little description of what DrakX needs to work in comparison -to the RH newt install. - -******************************************************************************** -* CVS ************************************************************************** -******************************************************************************** -Like all good free software, DrakX is in CVS :) - -You can access it at http://www.mandrakelinux.com/cgi-bin/cvsweb.cgi/gi - -or via - -export CVS_RSH=ssh -export CVSROOT=:ext:anoncvs@cvs.mandrakesoft.com:/cooker -cvs checkout gi - (enter password 'cvs') - - -This is only read-only access. If you want more, tell me (pixel@mandrakesoft.com) - -Alas, all is not in CVS as a lot of things are binary files. - -For the boot kernel, see https://kenobi.mandrakesoft.com/~chmou/kernel/BOOT/ -or build your own: -- install the kernel-*.src.rpm from -- go to the /usr/src/RPM/SPECS/ (or any others topdir you have configured). -- type rpm -ba --with BOOT kernel-2.4.spec. -Then see function install_kernel() at the end of gi/update_kernel. - -For the other things, take SRPMS/DrakX-*.src.rpm - -Please note that redoing *all* the stuff is not for the faint of heart. I myself -sometimes wonder what the whole make does :-% -Instead, changing some .pm files is quite easy (nice interpreted language) - -******************************************************************************** -* Making your custom install *************************************************** -******************************************************************************** -If you have your own rpms you want to add, or make your own updated cdrom, you -just have to issue: - -% gendistrib --noclean --distrib - -Where is the root of all the media that the install will see, this first -one is the main one : - -(1) network or 1-cdrom installs - DIRS == the root directory of the Distribution - -(2) multi-cdrom install - DIRS == the root directories of all the media that the install will see - -``gendistrib'' will scan the file Mandrake/base/hdlists in the main root -directory (the first one in DIRS) to search for all media used. Typically you -use Mandrake/RPMS* for RPM packages repository. -For multi-cd, please use Mandrake/RPMS or Mandrake/RPMS1, Mandrake/RPMS2, etc. -For one CD or a network/hd volume, please use Mandrake/RPMS. - -Optionnally, you can modify ``Mandrake/base/rpmsrate''; this file manages -the relative importance of the files, and thus their installation or not. - -Also, mdkinst_stage2.gz must be remade if you modify files in Mandrake/mdkinst. -See below for information about these files. - -******************************************************************************** -* FILES ************************************************************************ -******************************************************************************** -First here are the different things needed : - -Mandrake/base/hdlists - description of the available install media. - format is one line for one medium as - - should be match regexp /hdlist\S*.cz2?/ - for example (two cd install) you get - hdlist1.cz Mandrake/RPMS1 Boot CD - hdlist2.cz Mandrake/RPMS2 Extension CD - -Mandrake/base/hdlist*.cz - table of rpm's headers, referred by ``hdlists'' - their contents can be listed using ``packdrake -l '' or - or ``parsehdlist ''. - ! Need to be remade when Mandrake/RPMS* changes (with ``gendistrib'') ! - -Mandrake/base/depslist.ordered - for each packages, tell which package it depends on. Also contains the - size for some (obscure) bloody reasons. - ! Need to be remade when Mandrake/RPMS* changes ! - (with ``gendistrib --noclean --distrib .'') - -Mandrake/base/compss - obsoletes comps. It store packages in different categories, generated - from the %{GROUP} field - ! Need to be remade when Mandrake/RPMS* changes ! - (with ``gendistrib --noclean --distrib .'') - -Mandrake/base/rpmsrate - ranks and classify packages, so that the installer will know which - ones to install. format is : - - - where is a symbolic name used in Mandrake/base/compssUsers* files, - and defines importance level as described below : - 5 must have - 4 important - 3 very nice - 2 nice - 1 maybe - by default (for non expert), group selects packages for level 4 (important) - and 5 (must have). export mode add 3 (very nice) level. other level (below 2) - can only be selected using individual package selection. - -Mandrake/mdkinst - live system used on certain installs. See ``Ramdisk or not'' below for - more. - -Mandrake/base/mdkinst_stage2.bz2 - for the ramdisk. live sytem in ext2 filesystem bzipped2. - generated from Mandrake/mdkinst tree using misc/make_mdkinst_stage2 - See ``Ramdisk or not'' below for more. - -Mandrake/base/rescue_stage2.bz2 - rescue ramdisk. live sytem in ext2 filesystem bzipped2. - this is the ramdisk loaded when typing rescue on boot prompt. - there is no live system available, only the ramdisk is used. - -images/*.img - boot images to use with DrakX. Use: - - cdrom for cdrom install - - network for ftp/nfs install (non-pcmcia devices) - - hd for hard-disk install - - pcmcia for pcmcia install (see ``PCMCIA install'' below for more) - - the following modules have been removed from: - network.img: acenic sk98lin de4x5 - cdrom.img and hd.img: BusLogic seagate fdomain g_NCR5380 dc395x_trm tmscsim - hd.img: dpt_i2o eata eata_pio eata_dma - cdrom.img: aztcd gscd isp16 mcd mcdx optcd cm206 sjcd - pcmcia.img: apa1480_cb - they are now in "other.img", - - blank.img is a blank boot image without a kernel nor initrd. this image - can be used to generate custom boot disk. - - if you think one of those modules is used a lot, tell me, i may find some room - to put it back on the main floppies. - - -******************************************************************************** -* logs ************************************************************************* -******************************************************************************** -During install, a lot of interesting stuff can be found in different places: -in consoles and in files. To switch to console 2 for example, do Ctrl-Alt-F2 -from the X install. -- alt-F1: the stdout of the install. Not very interesting stuff -- alt-F2: simple shell. Quite a lot of commands are available but as they are -written in perl (for space), they do not handle the very same options as normal. -After install, you can do ``chroot /mnt'' to see your system just like after -rebooting. ``rpm -qa'' works for example. -- alt-F3: a lot of interesting things. Be carefull, some ``ERROR'' messages are -not interesting. -- alt-F4: kernel's place. aka the output of dmesg. -- alt-F7: the graphical install lives there - -- command "bug" puts on floppy lots of interesting stuff. -- /tmp/stage1.log: same as alt-F3 part when stage1 run (e.g. actions - before graphical install really begins) -- /tmp/ddebug.log: (nearly the) same as latter alt-F3 part -- /tmp/syslog: same as alt-F4 -- /mnt/root/drakx/ddebug.log: at the end of each step, DrakX tries to backup - /tmp/ddebug.log to /mnt/root/drakx. Available only after mounting of /. -- /mnt/root/drakx/install.log: the log of the installation (or upgrade) of the rpms -(just like rpm's /mnt/tmp/(install|upgrade).log) -- /mnt/root/drakx/auto_inst.cfg.pl: a kickstart file generated at the end of each -step. Can be used in 2 ways: kickstart install or ``defcfg'' install. Hopefully -you know about kickstart. ``defcfg'' is a way to customize the default values in -install. For example, French can be the default language with a qwerty keyboard, -the auto-partitionning partitions can be changed, the default user class can be -set to developer (!)... - -******************************************************************************** -* po translation files ********************************************************* -******************************************************************************** -DrakX uses .po files for its translation. A script takes the different -strings out of the .pm files. It generates the DrakX.pot file which contains -all the english strings to translate. -To add a new language, you just have to add it to lang.pm (if it's not there -already) and put the .po in the perl-install/po directory (see ``Ramdisk or -not'' to know if you have to regenerate the mdkinst_stage2.gz) - -******************************************************************************** -* PCMCIA install *************************************************************** -******************************************************************************** -If the media you use to install is a pcmcia device, use the pcmcia boot disk. - -******************************************************************************** -* Ramdisk or not *************************************************************** -******************************************************************************** -The DrakX install is much bigger than the newt one. So the ramdisk which was -used is getting big, and costs a lot in memory -(eg: the mdkinst_stage2 is 14MB - 23/09/99) -(update! now size is 21MB - 24/01/01) -(update! now size is 19MB - 26/04/01) - -| | newt | DrakX -|-------+---------+---------------------------------------------------------- -| nfs | live | live -| ftp | ramdisk | ramdisk -| http | ramdisk | ramdisk -| hd | ramdisk | live if Mandrake/mdkinst/usr/bin/runinstall2 is a link, -| | | ramdisk otherwise -| cdrom | ramdisk | live if memory < 52MB, ramdisk otherwise - -Where ramdisk is needed, if detected memory is below the limit allowed for -ramdisk (maintained in file gi/mdk-stage1/config-stage1.h; currently 52 Mb), -a failure dialog will be printed explaining that there is not enough memory -to perform the installation. - -When i say live, it means that the stage1 will *mount* the -Mandrake/mdkinst and use it that way. - -The ramdisk is used in place of the live in some cases. This ramdisk is filled -with mdkinst_stage2.gz - -For cdrom install, the ramdisk is used to speed up things (access time is quite -high on cdrom drives) - -For pcmcia, it depends on the type of install. - - -******************************************************************************** -* modules ********************************************************************** -******************************************************************************** -Modules can be found in at least 2 places: -- in /modules/modules.mar -- in /lib/modules.cz - -/modules/modules.mar is used in mdk-stage1. It contains only modules -interesting for one kind of install. For example in an hd install, it -contains scsi modules. For a network install, it contains network card -modules. (To create, extract or view files in a ``mar'' archive, please -use gi/mdk-stage1/mar/mar; this is basically an archive format meant to -be minimalistic) - -/lib/modules.cz contains all modules, it is used -in stage2. - - -To install a module, use modprobe which is in /usr/bin. It's a perl wrapper -around /usr/bin/insmod. It uses the dependencies found in -/modules/modules.dep (stage1). - -/usr/bin/insmod is a wrapper around /usr/bin/insmod_. It just extracts the -module out of /lib/modules.cz in /tmp. Then it calls insmod_. - -/usr/bin/insmod_ is the real prog (which you usually find in /sbin/). You need -to give it the complete path. - -******************************************************************************** -* Making screenshots *********************************************************** -******************************************************************************** -1. easy solution: press "F2"! - -2. On a test machine, make a network install, switch to console (ctrl-alt-F2), enter: -% xhost+ -then, on another computer: -% DISPLAY=test_machine:0 xwd -root | convert - screenshot.png - -******************************************************************************** -* Miscellaneous **************************************************************** -******************************************************************************** -> o Media access methods: nfs, ftp, http, hd, cdrom -> o Stages: init, stage1, stage2 -> - What exactly each stage does - -init loads stage1 -stage1 loads stage2, on various medium type - -stage2 is too big to fit on a floppy, that's why stage1 exists - -> - How each stage relates to the various media access methods - -stage1 knows only how to access to the media is compiled for. It contains only -the kernel modules needed for that media. For eg, the nfs/ftp/http stage1 -doesn't contain scsi modules nor ide. - -> - How one stage terminates and another begins. i.e., How does -> stage1 find, mount, and launch stage2? - -/sbin/init just starts /sbin/stage1 -/sbin/stage1 takes care of mounting stage2 (in ramdisk if necessary) - then it runs /usr/bin/runinstall2 - -> o Text and Graphic mode installers -> - Architectural overview of each - -have a look at gi/docs/object_class.fig - - -******************************************************************************** -* OEM ************************************************************************** -******************************************************************************** -> I am a system OEM in Bangalore,India selling systems bundled with -> Mandrake Linux. The problem is that with every system I sell, I need to -> install & configure the system which takes HOURS!. Can I do a diskcopy -> instead? -> -> Please Help. This is a major bottleneck for me. - -many solutions: - -- make an install on drive hdb, then : - dd if=/dev/hdb of=/dev/hdc - but you should make sure the hardware is *REALLY* identical. - -- try the oem feature - 3. - burn a cd out of *latest* cooker or 8.0 and above. - - boot on it telling "oem" to syslinux - !! it will destroy every data on the harddrive or - resize (or use free space) if *ONLY* one fat partition is defined !! - - you now have a very automated install matrix - (duplicate it with "dd if=/dev/hdb of=/dev/hdc bs=1M count=730") - - put the harddrive in the oem box, the user will now have an *very* automated - install, just asking the root password and user password, and some other - question according its hardware. - - 4. just like 3. but you may have to mount /cdrom after typing rescue on - syslinux prompt (oem script do it automatically if a automatic boot nfs - network has been done as server is known). under /cdrom may be anything - as long as it provides an installation tree of Mandrake Linux. - after that run oem script by typing "/etc/oem -f" for normal installation - or "/etc/oem -f server" for server installation (normal with server installed). - - 5. (just like 3. without burning a cd, doing the first part by hand) - have a look at the /etc/oem script on the rescue and do it by hand... - - -cu Pixel, fpons. - - -comments: -1. maybe copy unnecessary things -> take too long - solution -> use bs=8k count=xxxx -2. kernel_reread can be found on the new rescue, source is also at end of this -mail. This solution works with one partition. Can be easily enhanced to many -primary partitions... For extended partitions, more complicated, but not much :) -3. has just been added in latest cooker. It may still have some pb. The main -current limitation is IDE only, though it can be fixed easily for special cases. - --------------------------------------------------------------------------------- -#include -#include -#include - -void die(char *msg) -{ - perror(msg); - exit(1); -} - -void kernel_read(char *dev) -{ - int fd; - if ((fd = open(dev, O_RDONLY)) == -1) die("can't open device"); - ioctl(fd, BLKRRPART, 0); - close(fd); -} - -int main(int argc, char **argv) -{ - if (argc != 2) { - fprintf(stderr, "usage: kernel_read_part \n"); - exit(1); - } - kernel_read(argv[1]); -} diff --git a/docs/README.devel b/docs/README.devel deleted file mode 100644 index dd0fb6d5b..000000000 --- a/docs/README.devel +++ /dev/null @@ -1,252 +0,0 @@ -Well here is a little description of how DrakX can be modified or extended. -Please refer to README file for getting DrakX code source and to known more -exactly how it works and what it can do. - - -******************************************************************************** -* Execution of DrakX *********************************************************** -******************************************************************************** -DrakX has originally be written by pixel in perl and C. -entry point for stage2 is /usr/bin/runinstall2 which is typically a link to -/usr/bin/install2 which simply load module install2.pm and execute -install2::main with @ARGV. - -install2::main parse command line arguments, prepare installation, find the right -install_interactive class (take a look at gi/docs/object_class.fig) according to -command line, memory available and if the interactive chosen is initializing -correctly, else it will try a less-demanding interactive object. -Once done, $::o is set to this install & interactive object and main runs the -various step of install2 defined in $o->{steps}, starting with $o->{steps}{first} -and iterating with method install_any::getNextStep(). -while running step, it trap any errors that may arise and use perl exception to -change step. - -******************************************************************************** -* DrakX modules descriptions *************************************************** -******************************************************************************** -Here is a brief description of what each modules of DrakX is doing. - -install2: main module of DrakX as described above, main loop execution of DrakX. - -install_steps: generic installation module containing steps definition, all steps - should always be defined here as some methods may be used on automatic mode. - there is no interactivity available. typically are defined base operation for - configuring each step according to $o. - -install_steps_interactive: generic installation module with generic interative - methods. typically are found all interactive code of DrakX for each steps. - -install_steps_auto_install: implementation installation module without interactive - methods to match auto_install mode. this is the simplest as almost no method are - redefined (inherit module install_steps only, compared to other implementation - modules described below). - -install_steps_stdio: implementation installation module with interactive stdio - methods to match stdio mode. inherit modules install_steps_interactive and - interactive_stdio. - -install_steps_newt: implementation installation module with interactive newt - methods to match newt mode. inherit modules install_steps_interactive and - interactive_newt. - -install_steps_gtk: implementation installation module with interactive gtk - methods to match gtk mode. inherit modules install_steps_interactive and - interactive_gtk. - -install_any: contains various methods using generic interactive interface but - not used by standalone tools. - -install_gtk: contains various methods using gtk interface but not used by - standalone tools. - -interactive_stdio: implementation methods for interactivity in stdio mode. - inherit module interactive. - -interactive_newt: implementation methods for interactivity in newt mode. - inherit module interactive. - -interactive_gtk: implementation methods for interactivity in gtk mode. - inherit module interactive. - -my_gtk: basic gtk access methods. - -any: contains various methods using generic interactive interface. to compare - against install_any module as this one is available for standalone tools. - -class_discard: simple module that implement every methods undefined to return - nothing. this trick is used to ensure no undefined method can arise when using - code that reference interactive method which are not defined. - -common: contains very simple and very usefull (common) methods to do various task. - some methods inspired by functionnal language. - -c: contains wrapper to C definition of methods used by DrakX, use of C is necessary - for C extern libraries interface (rpmlib, ldetect), kernel interface, XFree - interface. - -commands: implement some un*x commands, conflicting name with perl contains - trailing underscore (_). this module is used by commands perl script that - determine which command to run according to $0 (this is used this way when DrakX - is running). - -run_program: allow running a program with redirection but without using a shell. - allow rooted execution. - -help: contains all help message displayed by DrakX. - -log: log facility methods. - -lang: language manipulation methods, get and set sysconfig file, load po. - -keyboard: keyboard manipulation methods, get and set sysconfig file, set console - keyboard mapping. - -mouse: mouse manipulation methods, get and set sysconfig file, change mouse. - -timezone: time zone manipulation methods, get and set timezone. - -services: services manipulation methods, activate or delete services (see - /etc/rc.d/init.d directories). - -detect_devices: manage detection of various class of hardware. - -devices: manage device file, create device special according device name. - -partition_table: base partition table management methods, it manages - appriopriate partition_table_XXX object according to what has been read - as XXX partition table type. - -partition_table_raw: generic class for the following partition_table_XXX. - -partition_table_emtpy: matches an empty partition table. - -partition_table_dos: matches a DOS partition table. - -partition_table_bsd: matches a BSD partition table. - -partition_table_mac: matches an Apple partition table. - -partition_table_sun: matches a Sun Label partition table. - -fs: read and write /etc/fstab file, mount and umount, format. - -fsedit: manage (modyfy, edit) mount point associated to partition (like editing - /etc/fstab). - -swap: swap management methods, format and mount (activation). - -raid: raid (software only) management methods. - -lvm: lvm (Logical Volume Manager) management methods. - -loopback: loopback management methods, used for lnx4win type installation or using - a file as a partition. - -diskdrake: diskdrake itself, disk graphical (using gtk) manipulation tools. - -ftp: ftp mangement methods, used when using ftp install. - -http: http management methods, used when using http install. - -modparm: kernel modules options management, allow building nice dialog with each - module parameter available. - -modules: kernel modules management, allow loading or unloading (ala modprobe or - insmod). - -printer: printer management methods, read and write both LPR or CUPS configuration. - -printerdrake: interactive printer management methods. - -network: network management methods, get and set sysconfig file. - -netconnect: network configuration wizard. - -netconnect_const: network configuration wirard data. - -Xconfig: X configuration (monitor + already existing config file) management. - -Xconfigurator: X configuration wizard. - -Xconfigurator_const: X configuration wizard data. - -booloader: bootloader (LILO, GRUB, LOADLIN, SILO) configuration management methods. - -pkgs: rpm package and hdlist, depslist management methods, allow selecting or - unselecting packages, manage rpmsrate file and select group, installation and - removal methods of rpm file. - -crypto: *obsoleted* module to manage crypto site and rpm file. - -standalone: standalone only, allow defining a standalone tools. - -bootlook: standalone only, interface with DrakConf to configure bootloader options. - -drakfirewall: standalone only, interface with DrakConf to configure a tiny firewall. - -******************************************************************************** -* DrakX FAT resizer module description ***************************************** -******************************************************************************** -here is a fat resizer written in perl and C used by DrakX (diskdrake) to resize -FAT16/FAT32 partition. it moves clusters to make sure a shrink can be done on the -limit of the partition itself, if no cluster need to be moved, only boot sector -partition limit are modified. - -any: various methods to flag cluster, compute min size. - -boot_sector: boot sector management methods. - -c_rewritten: originally resize_fat was only perl, this contains code section that - are the most sensible to speed or memory contraints and have been rewritten to C - using perl extension. - -dir_entry: manage directory structure. - -directory: traverse directory recursively, needed to move correctly cluster. - -fat: manage fat structure. - -info_sector: manage info sector. - -io: manage I/O on disk (need to take care of big file as partition size may be - larger than 2GB). - -main: main resizer algortihm. if needed allocate new clusters, copy files, copy - directories. update boot sector info. - -******************************************************************************** -* Adding a new step to DrakX *************************************************** -******************************************************************************** -Say we want to add a question for setting "alawindows" option. -We put it pretty early in the install, let's say after "Select Installation -Class". - -1. in install2.pm - -add - - selectAlawindows => [ __("A la windows or not"), 0, 1, '' ], - -after - - selectInstallClass => [ __("Select installation class"), 1, 1, '' ], - -the 0, 1, '' means not "redoable", "skip on error", "don't hide" - -2. add your function selectAlawindows in install2.pm - -sub selectAlawindows { $o->selectAlawindows } - -3. add your function selectAlawindows in install_steps_interactive.pm - -sub selectAlawindows { - my ($o) = @_; - $o->{alawindows} = $o->ask_yesorno('', _("Throw everything away as windobe does?"), 1); -} - -4. add your function selectAlawindows in install_steps.pm (not needed in that -case, except for auto_install) - -sub selectAlawindows {} - - diff --git a/docs/README.pxe b/docs/README.pxe deleted file mode 100644 index 2ddd205fe..000000000 --- a/docs/README.pxe +++ /dev/null @@ -1,133 +0,0 @@ -Here is a short description to configure a PXE server using dhcpd and tftpd. -This allows a network boot for your ethernet card conforming to the Interl -PXE specification. - -******************************************************************************** -********** General overview ************ -******************************************************************************** - -You need a dhcp server and a tftp server on one or two machines to allow the -network boot. We are not using a PXE server to achieve this as it is not -mandatory. -You can install tftp-server and dhcp-server package from the Mandrake -distribution for example. - -On the server machine at 192.168.2.1, you will find a "/etc/dhcpd.conf" sample -file written by Florin Grad , where "mydomain.com" is -assumed to be your domain name, and 192.168.1.1 a name server. All install are -done on subnet 192.168.2.0. - -All the files that will be downloaded by the tftp daemon are located under -"/tftpboot" : - "/tftpboot/pxelinux.0" is a program that is loaded directly by the machine - where a network boot will be done, this program comes - from the SYSLINUX package by H. Peter Anvin. (look at - http://syslinux.zytor.com/pxe.php for more information) - "/tftpboot/pxelinux.cfg/" is a directory where all configuration file for - pxelinux.0 will be found, pxelinux.0 will download - these file by itself. It searches first for a file - named accordind to the machine IP address in - hexadecimal, for example for 192.168.2.20, it - looks for "C0A80214" first, then "C0A8021" and so - on down to "C0", "C" and "default". - "/tftpboot/network.rdz" is the standard network initrd for Mandrake installation. - "/tftpboot/vmlinuz" is the boot kernel for installation. - "/tftpboot/help.msg" is the message displayed by pxelinux.0, note that currently - graphical message (as for install using SYSLINUX 1.48 with - graphic patch by Mandrake) is not supported. - -All file "network.rdz", "vmlinuz", "help.msg" can be found by mounting "network.img", -or the network floppy disk used for install, "pxelinux.cfg" is just an adaptation -of the file found on the "network.img" called "syslinux.cfg" but without the reference -to boot.msg (as it is not currently supported). - -Update network configuration for your needs and start dhcp server on the machine and -tftp server and this should work. - -******************************************************************************** -* /etc/dhcpd.conf ************************************************************** -******************************************************************************** -ddns-update-style ad-hoc; - -authoritative; - -option space PXE; -option PXE.mtftp-ip code 1 = ip-address; -option PXE.mtftp-cport code 2 = unsigned integer 16; -option PXE.mtftp-sport code 3 = unsigned integer 16; -option PXE.mtftp-tmout code 4 = unsigned integer 8; -option PXE.mtftp-delay code 5 = unsigned integer 8; -option PXE.discovery-control code 6 = unsigned integer 8; -option PXE.discovery-mcast-addr code 7 = ip-address; - -default-lease-time 28800; -max-lease-time 86400; - -option domain-name "mydomain.com"; -option domain-name-servers 192.168.1.1; - -class "PXE" { - match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; - option vendor-class-identifier "PXEClient"; - - vendor-option-space PXE; - option PXE.mtftp-ip 0.0.0.0; - next-server 192.168.2.1; #tftp server location - - filename "pxelinux.0"; # standard TFTP - -} - -shared-network "mynetwork" { - subnet 192.168.2.0 netmask 255.255.255.0 { - option subnet-mask 255.255.255.0; - option routers 192.168.2.1; - - ddns-domainname = "mydomain.com"; - - pool { - range 192.168.2.10 192.168.2.20; - allow members of "PXE"; - } - } -} -******************************************************************************** -* /tftpboot/pxelinux.cfg/default *********************************************** -******************************************************************************** -default linux -prompt 1 -timeout 72 -display help.msg -label linux - kernel vmlinuz - append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga=788 -label vgalo - kernel vmlinuz - append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga=785 -label vgahi - kernel vmlinuz - append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga=791 -label vga16 - kernel vmlinuz - append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga16 -label text - kernel vmlinuz - append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 text -label patch - kernel vmlinuz - append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 patch vga=788 -label expert - kernel vmlinuz - append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 expert vga=788 -label rescue - kernel vmlinuz - append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 rescue rw -label oem - kernel vmlinuz - append ramdisk_size=32000 initrd=network.rdz automatic=method:cdrom root=/dev/ram3 rescue oem rw -******************************************************************************** -* Usefull linkst *************************************************************** -******************************************************************************** - -http://syslinux.zytor.com/pxe.php -http://www.kano.org.uk/projects/pxe/ diff --git a/docs/SHORTCUTS b/docs/SHORTCUTS deleted file mode 100644 index 93a7133db..000000000 --- a/docs/SHORTCUTS +++ /dev/null @@ -1,51 +0,0 @@ -******************************************************************************** -main shortcuts - -F1 -> help -F2 -> take a screenshot -F11 -> previous step -F12 -> next (reachable) step - -******************************************************************************** -diskdrake - -taken directly from diskdrake.pm: - - "a" => \&Active, - "b" => \&Move, - "c" => \&Create, - "d" => \&Delete, - "f" => \&Format, - "m" => \&Mount_point, - "M" => \&Mount, - "n" => \&Create, - "o" => \&ReadFromFile, - "s" => \&SaveInFile, - "q" => \&Exit, - "r" => \&Resize, - "t" => \&Type, - "u" => \&Unmount, - "w" => \&WritePartitions, - "W" => \&WriteFstab, - -hopefully it is explicit enough :) - -******************************************************************************** -list choice - -- acceleration a la windows (default): enter a letter and the selection will move to the -first entry beginning with that letter. If you enter another letter it will try -to find the entry beginning with the 2 letters you have given. In case it fails -the starting_word is reset. -- incremental search a la emacs: searches trough the list - -Use control-s to use incremental search and then to search next occurence - -******************************************************************************** -in case of complete mouse sh**t - -XFree86 provides a way of moving the mouse pointer: -- first, press Ctrl-Shift-NumLock -- then move the pointer with the keypad arrows -- press button is ``0'' (aka Inser) -- release button is ``.'' (aka Suppr) diff --git a/docs/TODO b/docs/TODO deleted file mode 100644 index cb9399f82..000000000 --- a/docs/TODO +++ /dev/null @@ -1,515 +0,0 @@ --URGENT--------------------------------------------------------------------------------- -check for fpons/pixel BOTH that resize_fat is clean for current version -relative to 7.0-2. - -heavy testing of diskdrake to avoid corrupting partition table, current version -should be available to fix bogus partition table, writing enabled only when -partition is Ok (fixme? allow primary partition inside extended one, but with -warning on diskdrake startup, made them as warning ?). - --features------------------------------------------------------------------------------- -add rpmdrake in menu - -(7.1 or later) clean SCSI CDROM autoboot. -(done,gc,8.0) stage1 & cdrom: add ability in expert to choose the scsi cdrom drive to use - -(7.1)better help for partitioning in newbie - -(7.1)Improved network configuration (PPP and/or Ethernet) -PPPoE install and configuration (SuSE includes it, DHCP-like) -(7.1)standalone applications for configuration (netdrake, timetool, authentificationconf, soundcard) - ----- -(7.2) replace normal with standard (in the installClass's) - -(7.2 or later)horizontal sub-steps - -(7.2 or later)diskdrake in text mode - -ask "do you have SCSI?" before asking "probe PCI or not" - -(?) paride in stage1 -(done,gc,8.0) stage1 & network: add ability to choose the network interface to use - -(?) msec custom - -(?)firewall configuration (instant firewalling?) - -(?)widget for displaying fdisk (dindinx) -add fdisk using the zvt widget (taken in gnome-libs) - -(?)help in some configuration files. - -ability to add nfs/weird_fs entries in fstab - -size of packages in crypto - --to test-------------------------------------------------------------------------------- -what's lseek64? - -ensure installClass is set to something in auto install. - -for axp, swriteboot -f1 if swriteboot failed. -axp with swap part sigsegv - -tree for choosing monitors (buggy?) - -what happens if a module fails to insmod (scsi step), in beginner/normal/expert - -fstab must be sorted (/usr/local after /usr) - -RAID upgrades - -add choice clean /tmp or not in expert - -kernel chosen by default must be the one according to supermount/secure - -bug if ide-scsi, no more hdX, but scd0 (aka sr0) - (and add alias block-major-11 ide-scsi ?) - -check on update for conf.modules and modules.conf ! - -with /usr, /usr/local and /usr/local/e mount points i get an error at step mounting local filesystems - --easy fixes----------------------------------------------------------------------------- -rpmdrake proposition for cdrom labels - -use option nocheck to mount for upgrades - --fixes needing thinking----------------------------------------------------------------- -bug: changing mem= in miscellaneous doesn't modify lilo conf if you backtrack - -ask network configuration only if NIC found? - -configure DHCP for newbies if ethernet & DHCP card available - -xvidtune like screen configuration (see SuSE's yast) - -live cdrom for alpha (sparc?) - -network boot - -get the error when getting/reading .rpm files fail -better timeout handling for network installs - -handle not enough room for update -(fpons)verify the free space is big enough. - -the XFdrake test does not handle the fontset - -> Here I go into the printer configuration select 'HP Deskjet 722C Colour', -> print a test ASCII page, pressing 'No' when prompted to indicate the page did -> not print OK and then hitting cancel when prompted to choose a printer type -> again. -> ask_from_list cancel at /usr/lib/libDrakX/my_gtk.pm line 504. - -diskdrake: take from parted mklabel, hide(?) - -bug in kde desktop if keeps home but not an upgrade - -bug in users: mandrake user is added twice in strange installs -(mixed of security 0 + ???) - -bugs rpmdrake: -- just after installing a package, switch to `Installed', the package has wrong name -- refresh the kde desktop after package installation in rpmdrake -(restart kpanel) -- rpmdrake and same name packages - -urpmi: pb if XXX-devel requires XXX = 1.2.3 and we updgrade XXX-1.2.3 - -bug in defcfg in with lang=fr_FR, display is buggy - -bug keyboard focus: after switch in console at Xconfig step - - - --to look at-------------------------------------------------------------------------- -adduserdrake to remove/update users - -(???)free provider auto configuration facility (to be discussed). -auto ppp-configure with free provider - -(?)on laptop, configure the MMU to use swap not very often - -(?)checkboxes in groups based on compssList (and availableSpace?) - -(?)see what can be done with nvram (50 bytes to save information) - -better wacom support - -(fpons)bug: CANON BJC 4X00 do not work with current rhs-printfilters - (work with magicfilters (debian)) - (should be handled by ghostscript BJC600's driver) - -(pix)install text on mem=8M, mem=16M? - -(pix)kickstart -partitioning? raid? -X configuration and bootloader in kickstart - -XFdrake chooseResolutions with ask_from_list do not permit ``Show all'' - -(?) options in mkfs, progress bar when formatting - -(?) when some error occurs, partition must be unset isFormatted - --hardware------------------------------------------------------------------------------- -- with no floppy drive, mkbootdisk step fails badly -- with bad floppy or write protected, mkbootdisk doesn't say anything -- try detect_devices::floppies (and how are scsi floppies handled?) -maybe: do a iotcl FDGETPRM to detect fd1, fd0. - -need a simple solution to precise mouse type (syslinux option?) - -ELSA Gloria has bad ddc info - -token ring is tr0 not eth0 - -I have Mandrake 6.1 installed and working on a ThinkPad 770. -To enable the PCMCIA Token ring I have to append the following line to -/etc/pcmcia/config.opts -module "ibmtr_cs" opts "mmiobase=0xd2000 srambase=0xd4000" - -smp not detected (mhoward@memphisonline.com on cooker, bios=BP6PW) - -UDMA66 (ultra66.o for promise) - -aha152x needs "insmod aha152x.o aha152x=0x140,11,7" - -(obsolete) usb module not removed if no mouse found - -(fpons)handle dat drives - -hibernation on laptop -> clock not restored - -# in 2.3.15 "Silicon Integrated Systems [SiS]|SiS900 10/100 Ethernet" is handled - -(?)enable the testing of the mouse type (under X) (wheel) -possibility to specify the mouse - --(?)--------------------------------------------------------------------------------- -(?) handle NT (add entry for it in lilo, put it in fstab) - -(?) lilo-0.22-19mdk is buggy with boot=/dev/hde & root=/dev/sda13, it needs -disk=/dev/hde bios=0x80 & disk=/dev/sda bios=0x81 - -(?)using setxkb, enable the testing of the keyboard - -(?)XFdrake does not handle fbdev - -(?) Je viens de faire une installation sur une machine o seul Be tait -install. Je l'ai supprim et install (mode recommand) Oxygen. Au -redmarrage, le boot manager de Be apparat et il est impossible de -dmarrer Linux. -Pourquoi ne pas installer LILO si on supprime toutes les partitions ? - -(?)initrd in bzip2 - -(?)smaller zsh (or ash in initrd) - -(?)is configureNetworkNet needed with dhcp/bootp? - -(?)bug in upgrade: install from hda1:/usr/local/blah with hda1:/ - -(?)mandrake_desk was not installed while kdebase it there on upgrade - -(?)when clicking on X configuration, installation of packages is not displayed - -(?)maybe remove commented lines in /usr/lib/perl5/... files - -(?)timezone using a picture (pb: how to delimit zones) -when asking GMT or not, display the time for each possibility -the list is too big for USA - -(?)ability to select the type of install when booting of cdrom -(?)use the ability of el torito to handle 2.88MB or more - -(obsolete)lilo-deinstallation in case of lilo auto-installation for beginners - -(?)loadFont sucks - -(obsolete)trash on the screen when X first starts - -(?)remove the gray line surrounding the logo - -(?)cleanup /etc/services & /etc/protocols - -(?)strange: no scsi of type 'fd', only 'tape' - -(?)remount ro before X test. - -(?)remove every << and >> (doesn't handle > 32bits) - - --done--------------------------------------------------------------------------------- -(7.1,done,fpons) improve printerdrake to at least have the same functionalities as printtool. - -(done,fpons)diskdrake can olverlap partitions (resize lower, resize original typically -after clear all and auto allocate, try maximal size available). - -(done,fpons)rewrite mouseconfig in perl? - -(done,pix)kudzu or not in miscellaneous - -(done,pix)warn the user if not enough ram to fulfill install - -(done,fpons)test after printer config - -(done,pix)ask for more than the memory size detected - -(done,fpons)modem config - -(done,pix)call kudzu in batch to initialize its list - -(done,pix)standalone generator of mdkinst_stage2.gz - -(done,pix)text install - -(done,pix) if u choose mouse usb != found mouse, it fails at X config - -(done,pix) diskdrake bug: saved information on floppy contains isMounted. - -(done,pix) update devices.c from modules.pm - -(done,pix) in lilo.conf, put -disk=/dev/hdb - bios=0x80 - -(done,pix) diskdrake -auto_partitions -suggested partition tables must be better foreach installClass - -(done,pix) update the list of modules (in update_kernel) - -(done,pix) language support: only choose the right locales and upmark the packages requiring it - -(done,pix) move security question before isntallation of packages - -(done,pix) install ssh - -(done,fpons,pix) change the boot message of syslinux (have something different from RedHat) - -(done,pix) install_steps.pm: 569 (128M + 3) - -(done,pix) bug: mouse freeze just before network configuration (mouse primax) - (was kudzu) - -(done,pix) signal 11 in stage1 nfs kickstart mount failed - -(done,pix) ask supermount or not, no supermount with kernel-secure - -(done,pix) fix bug in g_auto_install (can't go through all) - -(done,pix) bug: install from ciril.fr fails - -(done,pix)wizard for partitioning in case of one full vfat - -(done,dindinx)app for choosing drakxtools (drakxconf) -(done,pix)verify being root -(done,pix)log::l -> initlog - -(done,pix)install apmd for laptops (maybe not start apmd though) -(done,pix)icewm apm (sh icewm_apm) -(done,pix)kde apm (put Kapm.kdelnk in ~/Desktop/Autostart) - -(done,pix)bug in adduserdrake: missing pwconv in md5 -(done,pix)correct the default value of draksec (cp draksec) -(done,pix)in draksec, (and maybe others) have --expert as default if /etc/sysconfig/system has TYPE=expert - -(done,pix)bug in XFdrake in install, cancel in choose Card do not close the window - -(done,pix)in XFdrake, testing should not overwrite /etc/X11/XF86Config - -(done,pix) hwiz and supermount and eject :( - -(done(replaced by msec's),pix) bug: usermod -G urpmi a not done (full install) - -(done,pix)perl and .ph's - -(done,pix) BUG bootp in network install sigsegv - -(done,pix) move the last done stuff before Xconfiguration if possible - -(done,pix)draksec is buggy, don't try security >= 4 - -(done,pix)install apmd on laptops?? (maybe ask emcweb@btinernet.com (see alix)) - -(done,pix)missing alias ll for root - -(done,pix)urpmi.addmedia: |gzip instead of doing it afterwards - -(done,pix)locale (and fonts?) buggy in case ramdisk is used - -(done,pix)rpmdrake: Installed packages not in hdlist should be there - -(done)in ftp install, locale not installed properly - -(done,pix)pcmcia.img does not handle hd/cdrom - -(done,pix)cyrillic font buggy in DrakX - -(done,fred)remove xfs user from kdm - -(done,pix)bug with 2 cdrom drives (.kdelnk to there for 1st drive) - -(done,pix(works))test ramdisk stage2 and romanian - -(done,pix)kfmrc - -(done,pix)on laptop, default to 1024x768 - -(done,pix)mkinitrd and deps - -(done,fred(removed the call))XFdrake and mousedrake freeze if lothar launches them - -(done,pix)crypto message - -(done,pix)test bug with lilo and windows (if not on mbr) - -(done,pix)removed icons come back later (kde desktop) - -(done,pix(was bug in upgrade reading old config)) - segfault in linuxconf (adapter 1 empty) - (test with the sysconfig sent) - -(done,fpons)bug: Lrosqu'on effectue une mise jour et que /etc/lilo.conf -contient la variable default positionne sur autre chose que - linux ou windows , DrakX est incapable de gnrer LILO. - -(done,fpons)bug: GeForce and hd.img? - -(done,fpons)for upgrade in expert, give choice of packages to install - choosing packages available in upgrade? - -(done,pix)rpmdrake: pb uninstalling package with dependencies (rpmdrake is killed?!) (as root too) - -(done,pix)noatime option for ext2 fs on laptops (do not wake up the hd) - Do not update inode access times on this - file system (e.g, for faster access on the - news spool to speed up news servers). - -(done,pix)kde's icons: 28 horiz and 25 vert grid for big icons - -(done,pix)bug: DrakConf don't follow the charset -> add setlocale(LC_ALL, "") -(done,pix)for ko|ja|zh, gnome-terminal should point to rxvt (-CLE) -(done,pix)group cdrom in /etc/group (gid=22) -(done,pix)drakxtools should require urpmi -(done,pix)bug: gdm unset LANG -(done,pix) zip with automount -> ppa not autoloaded -(done,pix)when you set the kde icons to Large, maybe it'd be good to chown the .kderc -(done,pix)lilo in russian/japaneese is horrible -(ok,pix)test ide burners -(ok)test check bad blocks optional for mke2fs -(done,pix)hd install: no umount is done at the end of install :( - -just before release: -(done,pix)- mandrake_doc-xx, the symlink is no good in /usr/doc/mandrake as -(done,pix)- crypto dependencies to update -(done,pix)- update kudzu's pcitable -(done,pix)- update pcitable for 86C368 if 3.3.6 (and other S3 3D's) - ("ATI|3D Rage P/M Mobility AGP 2x" -> changed to Server:Mach64) - -(done,pix)with 2MB of video ram, chooses 8bpp instead of 16bpp - -(done,pix) replace - { device => "loop7", type => 0x83, size => ((cat_('/dos/lnx4win/size.txt'))[0]*2048), mntpoint => "/", isFormatted => 1, isMounted => 1 }, -by - { device => "loop7", type => 0x83, size => cat_('/dos/lnx4win/size.txt') * 2048, mntpoint => "/", isFormatted => 1, isMounted => 1 }, - -(done,fpons)in ftp install, bug with X server install with wu-ftpd 2.6 (see http://www.wu-ftpd.org/broken-clients.html) - -(done,pix)ask package installation languages (must be put in RPM_INSTALL_LANG) - -(done,pix)bug (by dadou): Si la partition racine est trop petite pour installer le systme, un -message d'erreur apparat pour signaler le problme (bien) mais on ne -peut en sortir. La seule solution est de redmarrer. - -(obsolete)bug when selecting compssUsers, do not deselect after (if u deselect) - -(done,pix)detect ide burners and then add hdX=ide-scsi to kernel cmdline - -(done,pix)urpmi: handle many args on cmd-line - -(done,pix)fix any // in path to ftp server otherwise windobe server bug :( - -(done,pix)diskdrake and auto partitioning, may have the last creation of partition rejected, -try to figure why? - -(done,pix)in chooseResolutions: display the graphic card found - -(done,pix)with pcmcia, need ONBOOT=no - -(fpons,done) XFree: handle by card options -eg: SIS6326 needs "no_bitblt" "no_bltimage" and 24bpp instead of 32bpp - -(done,pix) Xconfiguration: if "can't open fixed font", relaunch xfs. - -(obsolete) pb with dependencies ``missing'': icewm do not require XFree86 and so you can have icewm but no X server - -(obsolete) bug in ext2resizing (no sparse superbloc, don't finish properly) - -(done,pix,7.1)manage a lot of language (ergonomic issue as it already exists) - -(done,pix,7.1)tree for choosing things like timezone, monitors, graphic cards, modules, mice, keyboard? ... - -(done,pix,7.1)sound config, although very simple, no dedicated steps and only PCI (or maybe ISA-PNP if time left ?) - -(done,pix,7.1)partitioning, keyboard shortcut. - -(done,fpons,7.1)index/compress hdlist? (for multi-cd) -! for multi-cd live is mandatory, small transaction are mandatory too. - -(done,pix,7.1?)loopback partitions (even root one) - -(done,pix)in ok_cancel, focus has 3 states, should be 2 (ask dindinx) - -(done,pix,7.1)Generally improved package selection /ergonmic issue. -Tree -> CTree, ``all'' branch with all packages -show the value associated (100->a must, 90->great, 80->nice, ... 10->useless, 0->do not install) - -(done,pix)let diskdrake have dos/win partition automatically set up with mount point, -this will help loopback too. - -(done,pix,7.1)grub - -(done,pix,7.1)feature missing: cancel installation - -(obsolete) bug in diskdrake: can in strange cases create a primary partition at sector #0 - -(done,pix(partly, protection against bugging))bug in diskdrake: -in expert: blank, create hda5 at beginning, create hda6 at the end, create hda7 -in the middle, remove the first one. Result hda5 at the end and bug. - -(obsolete) have a better time estimation of the remaining time in install packages - -(done,dindinx+pix)ask_many_from_list can't keyboard scroll - -(done,pix,7.1)individual package selection: double click is tiring... - -(done,fpons,7.1) sparc ehancement, avoid V7+ machine target (div and mul not in v7 standard) - -(done,fpons,7.1)syslinux in graphical mode to be improved for heavily bogus BIOSes. - -(done,pix)missing feature in lilo configuration: can't give hda2 with /boot/vmlinuz if -already hda1 with /boot/vmlinuz - -(done,pix)in 640x480 install box is to small (cuz of 'Cancel' button beeing added) - -(done,pix)chooseGroup with individual alone - -(done)(7.1) rewrite crypto stuff -(done)crypto: add a cancel & progress bar while downloading -(done)error handling (like reading hdlist) -(done)(7.1)progression bar on crypto. - -(done, daouda&pix,7.1, other persons)rescue: -- small modification for stage1 to get the rescue stage2 -- create a stage2 with many tools (fdisk, bash...) -the rescue could be on another cd (if multi-cd) -! care must be taken about modules (if ide is in module...) - -(done,7.1)install in 800x600 -- need handling of both 640x480 (mostly for VGA16) and 800x600 - -(done,NEED 7.1) auto-install for corporate, very important (need consolidation). diff --git a/docs/advocacy b/docs/advocacy deleted file mode 100644 index 9e7f00b6b..000000000 --- a/docs/advocacy +++ /dev/null @@ -1,87 +0,0 @@ -a little DrakX history: - -june 1999: - i start rewriting redhat's install in perl, partly for the fun of it. I'm - still working for the army - -5 july 1999: - i start full time job at mandrakesoft. But we don't have many computers and i - must share the accounting computer with Merieme who is working half-time. No - test machine (i test on others box, and destroyed Jacques partitions once), - guess how it slows things down? - -august 1999: - at last computers, even test one - first DrakX version which can install things, very very rough - -september 1999: - a friend of mine help me 2 weeks on DrakX relayed by Francois - -november 1999: - first released version of DrakX (goldpack). Not really stable yet. - -january 2000: - 7.0 is out, with a DrakX quite stable - -july 2000: - dams starts working on draknet - -mid-october -> mid-january 2000: - gc rewrites the stage1 to win every kb we can - -> size divided by 7 (!) for cdrom - - -The DrakX team is also doing a lot of other things: -- drakxtools -- urpmi, early MandrakeUpdate, early rpmdrake... -- Mandrake Control Center (new DrakConf) -- packages maintenance/enhancing (esp. ghostscript, 3D-wrappers, lilo) -- fixing core packages to make them installable -- scoring packages, sorting them, flagging them... (compssList, rpmsrate) -- reading/answering cooker and other MLs -- helping non-perl gurus :) - -That doesn't give much. Me being the one more working on plain DrakX. It gives 2 -people working for 1.5 years. IMO it isn't ``spending an enormous amount of -resources''. -And what do you mean by ``compared to the code base size''??? DrakX is currently -around 28K lines, which is big IMO. You can compare it with linuxconf which is -170K lines. I think the achievement of DrakX is comparable (a 6 times code size -win from dumb C++ to expressive perl is normal imo). - - -Also it seems like we don't have the same understanding of the word -"maintenance". -DrakX functionalities have evolved *a lot* since the beginning: - -- hardware detection, configuration, debugging, work-arounding (multi-kernel installs...) -- making things prettier - - more bitmaps - - "advanced" button - - syslinux graphical boot -- making it work with latest versions of software (eg: switching to rpm4) -- finding out the best way to use rpmlib -- multi-cd -- draknet: configuring every piece of stupid protocols -- diskdrake: raid, loopback, LVM, resizing, checking stupid users entry -- XFdrake: multi-mice, multi-heads, 3D-accel -- porting to axp/sparc/ppc (with Stew's help) -- always more i18n -- keeping things small - - .cz format - - moving to .png - - getFile on demand from mdkinst for ramdisk installs - -[...] - -> You don't believe the books ? Count yourself; see the man/months spent -> in 'pure' developoment in drakX, and the resources put in mantainance -> of the code base; as far as i know, your count should confirm what the -> books says; more probabily, you will discover that our numbers are -> even worse. - -if you count enhancements, adding features... in maintenance, i confirm the -numbers, and find them quite normal. - -if you only count bug fixing, the time would be much shorter (around 30%). - diff --git a/docs/advocacy-interactive b/docs/advocacy-interactive deleted file mode 100644 index 99036008e..000000000 --- a/docs/advocacy-interactive +++ /dev/null @@ -1,60 +0,0 @@ - -> > We already have some functional backends, frontends, that works great, and has -> > not been thrown away since 1 year. We use it during install, post install, mcc -> > and so. -> -> But aren't generic enough. - -DrakX handles: -- buttons -- bool values (checkboxes) -- ranges -- entries -- combo boxes (editable or not) -- lists / radio boxes -- tree lists -- iconlist -- wait messages - -Features: -- all the entries above can be mixed -- nice separation between data and displayed data (eg: choose in list of -objects representing hda/hdb/... but displayed nicely with size...) -- keyboard handled nicely in GTK frontend -- callback on events: - ok pressed => check before the dialog is hidden - focus changed => - * enables pre-setting things based on other entries - * value checking on the fly -- simple/advance toggle -- shadowing of entries -- tooltips -- size of windows computed the best possible -- perl-based - -Misfeatures: -- display not flexible (though i don't know any of the tools we're talking -about that is flexible => nice) -- quite a few features are gtk only (simple/advance toggle, shadowing of -entries, certain events, tooltips). -- a stdio front-end exist but handle only certain entries. It would need a -week-work to finish it -- a http front-end could be done (mod-perl needed) -- perl-based - -The DrakX frontend (called "interactive") could be moved out of DrakX. - -eg of use: - -<#part type="text/plain" filename="~/bin/perl/imessage" disposition=attachment> -<#/part> - -[...] - -> > -provides a lot of frontends -> -> And you ideally have to provide a frontend by widget set. - -nope. The interface is completly standardised, even if it include some -gtk-like niceties. The *complete* newt (and not just entries and radioboxes -like bus) binding takes 241 lines. diff --git a/docs/comparisons b/docs/comparisons deleted file mode 100644 index 297d1b65a..000000000 --- a/docs/comparisons +++ /dev/null @@ -1,180 +0,0 @@ -redhat 6.1 (fr?), install 766MB, df 900MB, 35min (asked for all groups except "everything") - -upgrade to redhat 6.2, sum 757MB, df 936MB, 20min - -mandrake 7.1, install 755MB, df 1091MB, 17min (asked install size 910MB), 515 packages - -upgrade to cooker, sum 1000MB, df 1404MB, 35min - - -redhat 7.0b, install 815MB, df 960MB, 18min -redhat 7.0, install 995MB, df MB, 26min - -7.2b, 3.3GB 2h26 - - -7.2b: (lang fr) -compssLevel df rpm time fs df/time - -100 64 59 0:59 ext2 500M 1.08 - 90 132 127 1:50 ext2 500M 1.20 - 80 226 218 3:26 ext2 500M 1.10 - 70 449 387 5:52 ext2 1G 1.28 - 60 614 541 8:36 ext2 1G 1.19 - 50 1113 943 17:40 ext2 2G 1.05 - 40 1193 1013 20:39 ext2 2G 0.96 - 30 1262 1072 22:28 ext2 2G 0.94 - 20 1445 1219 27:34 ext2 2G 0.87 - 10 1649 1394 36:58 ext2 2G 0.74 - 0 1943 1638 48:02 ext2 2G 0.67 --10 2957 2519 101:49 ext2 4G 0.48 - -7.2b: (lang all) -compssLevel df rpm time fs df/time - -100 70 59 1:04 ext2 500M 1.09 - 90 289 281 4:20 ext2 500M 1.11 - 80 373 361 5:41 ext2 500M 1.09 - 70 890 794 13:28 ext2 1G 1.10 - - -mem used 7.2cooker -gtk: runinstall2 13608(data 9572) + FBDev 2984(data 1544) -newt: runinstall2 9516(data 7528) -stdio: runinstall2 9160(data 7372) - -8.0rc1: (lang fr) - -rpmsrate - -4 () 175 139 3:25 reiserfs 2G 0.85 -4 all 831 786 18:08 reiserfs 2G 0.76 - -8.1b - -5 () 77 66 1:24 ext2 300M - -8.1pre_rc1 rpm df time/rpm rpm/df - -6 () 82 66 1:26 ext2 500M 1.05 1.24 -5 () 89 71 1:38 ext2 500M 1.10 1.25 -3 () 94 77 1:46 ext2 500M 1.13 1.22 -5 X 145 127 2:09 ext2 500M 0.89 1.14 -3 X 231 217 3:26 ext2 500M 0.89 1.06 -4 kde 393 316 4:31 ext2 2G 0.69 1.24 -4 kde 393 316 4:41 ext2 2G 0.72 1.24 -4 kde 393 316 4:43 ext2 4G 0.72 1.24 -5 all 367 337 5:02 ext2 500M 0.82 1.09 -4 kde+gnome 454 370 5:50 ext2 4G 0.77 1.23 -4 kde+gnome 454 370 6:10 ext2 4G 0.81 1.23 -4 kde+gnome 454 370 6:24 ext2 4G 0.85 1.23 -5 all 489 406 5:55 ext2 4G 0.73 1.20 -5 all 490 406 5:18 ext2 1G 0.65 1.21 -4 kd+gn+dsk 594 494 7:31 ext2 4G 0.76 1.20 -4 prev+dev 827 696 10:27 ext2 4G 0.76 1.19 -4 all 1100 988 19:34 ext2 1G 1.07 1.11 -3 all 1640 1331 31:33 ext2 2G 1.15 1.23 -3 all 1740 1434 39:38 ext2 4G 1.37 1.21 -2 all 2252 1843 54:40 ext2 4G 1.46 1.22 --1 all 2490 2048 61:02 ext2 4G 1.47 1.22 - -# perl -alpe '$F[4] =~ /(.*):(.*)/; $r = ($1 * 60 + $2) / $F[2]; s|\S+(\s+\S+)\s*$|sprintf("%.2f", $r) . "$1"|e;' -# perl -ape '$r = $F[2] / $F[3]; s|\S+\s*$|sprintf "%.2f\n", $r|e;' - -9.0beta1 - -5 () 89 71 1:35 ext2 500M -3 X 240 231 3:41 ext2 500M -5 all 306 293 3:36 ext2 500M -4 all 808 731 6:48 ext2 1G -4 all 1433 1331 21:44 ext2 2G -4 X+kde 822 749 6:05 ext2 2G -4 X+gnome 369 319 5:58 ext2 2G - - -redhat 7.3: -- do not halt the box when "halt" is used -- no sysreq -- kdm has gnome entry whereas gnome is not installed - => choosing gnome gives a flashing black screen and kdm reruns - -- repartition of packages on various CDs is crap - -- bootloader: handling of multiple disks is more powerful in redhat, but more -dangerous (proposed to everyone, but not proposed especially to people having -a dangerous combinaison) -- why still asking about lba32!! - -redhat 8.0: - -(legend: + pros - cons / notice) - -Install steps difference -+ firewall wizard -+ md5sum check when booting install -- no upgrade packages installation during install -- no services configuration (chkconfig) -- no printer configuration -- no autologin -- no real small installation -/ still propose non-MD5 or non-shadow passwords -/ post install tool (firstconfig) - -General install behaviour, eye-candiness -+ package selection a la Windows -+ in language selection languages displayed in native language -+ candy timezone selection -+ help uses bold/italic/big-font -- no one CD install -/ not using fb at install -/ python + gtk2 vs perl + gtk -/ ask many things before doing anything (esp. delayed partitioning, swap not available when selecting packages!(?)) -- more width-hard-coded dialog boxes (harder for translations) -/ use a loopback file from the CD then copied on system - -Partitioning -- no diskdruid after install -- no partitioning wizard -- no devfs -- no xfs (but now has reiserfs/jfs) -- no loopback crypted fs -- no file swap (?) -- no supermount -+ LABELed entries in fstab -+ progress bar while formatting - -Bootloader -+ bootloader configuration less awkward -- no automatic handling of bios ordering with many harddrives -- propose to manually change bios ordering even with one harddrive -- LBA32 checkbox -/ defaults to grub - -Network -- awkward question apropos hostname when using DHCP -- no default choice for netmask/gateway/DNS based on IP - -XFree -- no wacom configuration -- no graphic card multi-head configuration -- no ATI tvout configuration -- no prompt for logout after changing X config -- VideoRam prompted for everybody -/ no XFree3 -/ no Utah GLX -/ load module "fbdevhw" "record", but not "v4l" -/ always load module "glx" and "dri" - -Keyboard -- many non useful keyboard entries (eg: latin0) -- no way to choose the toggle key to choose between latin/non-latin keyboard -- no loadkeys done during install for console - -Mouse -- no way to test mouse choice -- mouse choices include many non-useful choices, badly sorted - (Intellimouse must be sought in Microsoft whereas it's used by many others) - -Multimedia -- no bttv configuration (including webcams) -- missing audio modules (alsa, audigy...) diff --git a/docs/diskdrake.TODO b/docs/diskdrake.TODO deleted file mode 100644 index e6f2da038..000000000 --- a/docs/diskdrake.TODO +++ /dev/null @@ -1,23 +0,0 @@ -- test what windows can handle (the number of partitions) -- better keyboard focus handling -- end sector in Create -- add warnings for scsi drives if you create more than sdx15 -- the information put in save/restore partitions must be cleaned -(remove mounted/formatted/..., also remove the Data::Dumper dependency) -- test, test, test -- do not allow swap partitions above 2Gigs -- wanting the first partition to be extended is not used -- maybe warn if a mounted partition change of dev number -- text version -- better error handling (what to do if we find a bad partition table?) -- display the information about the correspondance color2type -- handle the partition labels (missing information here) -- add comments in the code -- add documentation -- handle the `luke' case (main extended partition must be extended) -- ability to batch actions (like chained moves) -- add a verification after fdiskReadPartitionTable that the start_cyl, -end_cyl... do correspond to start and start+size. For the moment, this -information is just discarded :( -This verif can't be done in fdiskReadPartitionTable as start is relative in -extended partitions diff --git a/docs/drakfont/Makefile b/docs/drakfont/Makefile deleted file mode 100644 index b70b4a0c8..000000000 --- a/docs/drakfont/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# -# -# Project : Projet Libre -# file : pki.tex -# Date : Thu Jun 21 19:26:19 CEST 2001 -# (o- Id : DUPONT Sebastien -# /\ mail : -# Y_/___________________________________________ -# - -RM = @rm -f - -CD = @cd - -ECHO = @echo - -PRINTF = @echo -n - -FILE = drakfont - -DVI = @dvips -j0 -Pcmz -Pamz -o - -PS = @ps2pdf - -LATEX = @latex - -normal : - $(ECHO) '/*--LATEX--*/' - $(LATEX) $(FILE).tex - -all : - $(ECHO) '/*----------latex -> dvi -> ps -> pdf------------' - $(ECHO) '/*--LATEX--*/' - $(LATEX) $(FILE).tex - $(ECHO) '/*--DVI -> PS--*/' - $(DVI) $(FILE).ps $(FILE).dvi - $(ECHO) '/*--PS -> PDF--*/' - $(PS) $(FILE).ps - $(ECHO) '/*--That s all--*/' - - -ps : normal - $(ECHO) '/*--DVI -> PS--*/' - $(DVI) $(FILE).ps $(FILE).dvi - $(ECHO) '/*--That s all--*/' - -pdf : ps - $(ECHO) '/*--PS -> PDF--*/' - $(PS) $(FILE).ps - $(ECHO) '/*--That s all--*/' - -clean : - $(RM) $(FILE).toc $(FILE).log $(FILE).aux *~ - -fclean : - make clean - $(RM) $(FILE).ps $(FILE).pdf $(FILE).dvi diff --git a/docs/drakfont/dia_srcs/drakfont.dia b/docs/drakfont/dia_srcs/drakfont.dia deleted file mode 100644 index c4502a12e..000000000 Binary files a/docs/drakfont/dia_srcs/drakfont.dia and /dev/null differ diff --git a/docs/drakfont/dia_srcs/drakfont_install.dia b/docs/drakfont/dia_srcs/drakfont_install.dia deleted file mode 100644 index 737c19b9f..000000000 Binary files a/docs/drakfont/dia_srcs/drakfont_install.dia and /dev/null differ diff --git a/docs/drakfont/dia_srcs/drakfont_uninstall.dia b/docs/drakfont/dia_srcs/drakfont_uninstall.dia deleted file mode 100644 index c06f92dd6..000000000 Binary files a/docs/drakfont/dia_srcs/drakfont_uninstall.dia and /dev/null differ diff --git a/docs/drakfont/drakfont.jpg b/docs/drakfont/drakfont.jpg deleted file mode 100644 index 898dfe440..000000000 Binary files a/docs/drakfont/drakfont.jpg and /dev/null differ diff --git a/docs/drakfont/drakfont.tex b/docs/drakfont/drakfont.tex deleted file mode 100644 index bbc936e5b..000000000 --- a/docs/drakfont/drakfont.tex +++ /dev/null @@ -1,152 +0,0 @@ -%\documentclass[pdftex]{article} \usepackage{hyperref} . -%\documentclass[pdftex,onecolumn,11pt,oneside]{article} -\documentclass[onecolumn,11pt,oneside]{article}%seminar} -%\usepackage[pdftex]{hyperref} -\usepackage{isolatin1} -%\ifx\pdfoutput\undefined - -\usepackage[dvips]{graphicx} -%\else -%\usepackage[pdftex]{graphicx} -%\usepackage[pdftex]{hyperref} -%\usepackage{type1cm} -%\fi -%\pdfoutput=1 -\usepackage{color,graphicx,shortvrb,epsfig,verbatim,tabularx} -\usepackage{url} -\usepackage{hyperref} -\urlstyle{sf} -\usepackage{fancyheadings} -\usepackage{program} -\usepackage{ulem} -\usepackage{amsfonts} -\usepackage{xspace} -\usepackage[english,francais]{babel} -\pagestyle{fancy} -\newcommand{\trtitle}{Drakfont\\ fonts importation for mandrake linux} -\DeclareGraphicsRule{.ps}{eps}{.ps}{} -\DeclareGraphicsExtensions{.ps} -\renewcommand\star{{\ttfamily*}} -\let\package\textsf -\newlength{\gxlen} -\settowidth{\gxlen}{\package{graphicx}: } -\newcommand\gs{\makebox[\gxlen][l]{\package{graphics}:}} -\newcommand\gx{\makebox[\gxlen][l]{\package{graphicx}:}} -\MakeShortVerb{\|} -\begin{document} -\title{$Drakfont$ fonts importation for mandrake linux} - -\begin{figure}%[ht] -\begin{center} -%\caption{Exemple d'image} -\mbox{\epsfig{file=mandrake.ps}}\\ %,height=1in,width=2in}}\\ -%\mbox{\epsfig{file=carte_.ps,height=1in,width=2in}} -\end{center} -\end{figure} -%\begin{figure} -%\begin{center} - -%\end{center} -%\end{figure} -\author{Dupont Sebastien \\ sdupont@mandrakesoft.com} -\date{05/10/2001} -\pagestyle{myheadings} -\markright{\scriptsize \trtitle} -\title{\bf \trtitle} -\maketitle -\section{drakfont Future Overview} - -\paragraph{Fonts import :\\} -\begin{itemize} -\item pfb ( Adobe Type 1 binary ) -\item pfa ( Adobe Type 1 ASCII ) -\item ttf ( True-Type ) -\item pcf.gz -\item Speedo -\item pfa ( Adobe Type 1 ASCII ) -\item ttf ( True-Type ) -\item and Bitmap (PCF, BDF, and SNF) -\end{itemize} - - -\paragraph{Features} -\begin{itemize} -\item Install fonts from any directory -\item Get windows fonts on any vfat partitions -\item UN-installation of any fonts (even if not installed through drakfont) -\end{itemize} - - -\paragraph{Support} -\begin{itemize} -\item Xfs -\item ghostscript \& printer -\item Staroffice \& printer -\item abiword -\item Koffice, Gnumeric, ... studying -\item all fonts supported by printer -\item ( aliases by RENDER in Xfree86 .... -> later ) -\end{itemize} - - -\section{Window interface:} -\begin{itemize} -\item -\item Fontselectiondialog widget -\item Command buttons under Fontselectiondialog (like the actual frontend). -\item Commands buttons: -\item import from windows partition. -\item import from all fat32 partitions and look for winnt/windows/font -\item and import all (delete doublon) but don't import if already exist. -\item import from directory -\item look for if it exist before for each font and not delete the original. -\item (replace all, no, none) -\item expert options: -\item ask the directory, and look for if it exist before -\item if it exist ask: (replace all, no, none) -\item uninstall with list per font type -\item Expert additional switch -\item option support: ghostscript, Staroffice, etc... -\item check-button. (by default all check) -\item Printer Application Fonts Support... -\item check-button. (by default all check) -\end{itemize} - -\section{Command line} -\paragraph{Font Importation and monitoring application\\} -\-\-windows\_import : import from all available windows partitions. \\ -\-\-strong : strong verification of font.\\ -\-\-install : accept any font file and any directory.\\ -\-\-uninstall : uninstall any font or any directory of font.\\ -\-\-replace : replace all font if already exist\\ -\-\-application : 0 none application.\\ - : 1 all application available supported.\\ - : name\_of\_application" like staroffice for only this one.\\ - -\section{Graphics} - -to visualize the conceptual graphics please see:\\ -drakfont.jpg\\ -drakfont\_install\.jpg\\ -\& drakfont\_uninstall.jpg\\ - - - -%\begin{figure}%[ht] -%\begin{center} -%\caption{Exemple d'image} -%\mbox{\epsfig{file=drakfont_install.ps}}\\ %,height=1in,width=2in}}\\ -%\mbox{\epsfig{file=carte_.ps,height=1in,width=2in}} -%\end{center} -%\end{figure} - - -%\begin{figure}%[ht] -%\begin{center} -%\caption{Exemple d'image} -%\mbox{\epsfig{file=drakfont_uninstall.eps}}\\ %,height=1in,width=2in}}\\ -%\mbox{\epsfig{file=carte_.ps,height=1in,width=2in}} -%\end{center} -%\end{figure} - -\end{document} diff --git a/docs/drakfont/drakfont_install.jpg b/docs/drakfont/drakfont_install.jpg deleted file mode 100644 index 795a5a711..000000000 Binary files a/docs/drakfont/drakfont_install.jpg and /dev/null differ diff --git a/docs/drakfont/drakfont_uninstall.jpg b/docs/drakfont/drakfont_uninstall.jpg deleted file mode 100644 index 711f28e77..000000000 Binary files a/docs/drakfont/drakfont_uninstall.jpg and /dev/null differ diff --git a/docs/drakfont/mandrake.ps b/docs/drakfont/mandrake.ps deleted file mode 100644 index 1af9d5bb4..000000000 --- a/docs/drakfont/mandrake.ps +++ /dev/null @@ -1,534 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/seb/drakfont/mandrake.ps -%%CreationDate: Fri Oct 5 18:28:29 2001 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 424 84 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 69.000000 translate -409.000000 -69.000000 scale -% Image geometry -409 69 8 -% Transformation matrix -[ 409 0 0 69 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 409 string def -/gstr 409 string def -/bstr 409 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 29637 ASCII Bytes -colorimage -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -bl7e@q"4E6s+13Ds*t~> -bl7e@m,@els+13Ds*t~> -bl7e@T5=@Ts+13Ds*t~> -c2RqDnG2D -c2RqDl/9_PJcC<$U&TW~> -c2RqD]71%QJcC<$U&TW~> -cMn+JnG;n/i;S<-JcDJEJ,~> -cMn+JmbuTmh#;m)JcDJEJ,~> -cMn+Jie^A -cMn+DnbMk)f)($uJcDJEJ,~> -cMn+DjkIhQchi:nJcDJEJ,~> -cMn+DST5n_V>GiDJcDJEJ,~> -ci47Jn+l_KeBdl?s+13Es*t~> -ci47Jkhjh)WP\C\s+13Es*t~> -ci47J^4K&h%!hSus+13Es*t~> -d/OCNnbW%Rn_2+VJcC<$UAo`~> -d/OCNn);p@^TP0>JcC<$UAo`~> -d/OCNj+q1n%LcV6JcC<$UAo`~> -d/OCHnG2eMo&%LUJcC<$UAo`~> -d/OCHjkS+u^p135JcC<$UAo`~> -d/OCHTl`:/%Lk8_JcC<$UAo`~> -lMgqbp\sLY$2s;fp\"1NjN$P:s+13Es*t~> -lMgqbp\sLY$2s,He&K8A[BAeGs+13Es*t~> -lMgqbq>T^[$2r)%;B-/V%3+S`s+13Es*t~> -li.(dk/mMerri>mqY9a_oE+4!k(3P`s.]OD~> -li.(dk/mMersJbqin;Gk_SWgdk(3P`s.]OD~> -li.(dmFhC'rsJbkMeO[R%M'!Pk(3P`s.]OD~> -m/I4fjeV8=m/I1an+l\UoE4C(gAQU&JcDMFJ,~> -m/I4fje_>>m/I4bjk\5#rk\cKUso9ns+13Fs*t~> -m/I4flbMl_m/IIiWH^N?%Ls!Y%&s2Vs+13Fs*t~> -mJd@ggl^4WrU'UfrU9RVp&4Lbm*a;WJcC<$U]5i~> -mJd@gglg:XrU'UfrTiCk`r3aV];N^FJcC<$U]5i~> -mJd@gjg<_0rU'UfrR6L%+8lZO%1J$fJcC<$U]5i~> -mf*Iik)["5qX+:crq-'^p&+Famb#_TJcC<$U]5i~> -mf*Iik)d(6qX+:drq#.'b/=1p"21eLoR[$ns.fUE~> -mf*IilEnChqX+:drp>Y\/e\'l!Xrf8JcC<$U]5i~> -n,F"!nYD2sp&>!hp%nOYp@\.TrV6BpqX41Qqt(!\hT52;s+13Fs*t~> -n,F"!nYM8tp&>!hm-F!$l0Rm2rV6BqqW?VZ`;IIS^p(69JcC<$U]5i~> -n,F"!o>7BVp&>!h[uQH0T!cSkrV6BqqQkK3(&JIB%70K7s+13Fs*t~> -n,FI)^NR3SrVuomhY$U:q"X[\qY0^VpA+[ds82B`p\"CT!oq>fJcC<$U]5i~> -n,FI)^j!BUrVuomg;hIdf%Jg6kNM-qn+?PWs82-AeAqF&!jo2uJcC<$U]5i~> -n,FI)d@e5>rVuom_BM'9>A8)$G_hZm`nC%as80]m -nG`[jf8YC8q>UBuqVJd?m.L&NpAajeq#1!kp%eIZp%e4]kKW1@s+13Fs*t~> -nG`[jf8YC8q>UC0qVJQ`]>_n8c-Xnhg"Y?>kiqElf#bi+_?.6OkCNYas.fUE~> -nG`[jhm8^'q>UC0qVI;C%2gQM4%)eE@rZaAKVFlk?7QZc%Kd4N"m:I:JcDMFJ,~> -nc&gmm]UN9m/I"a#6+8C]\r,HrUg-_rq??c!VZ3]oE4O8iVnE.JcDPGJ,~> -nc&gmm]UQ:m/I"a(&mjRYd1mV_SX4/`lQ?JcdC7lcH*p!_?7KSh>W!*JcDPGJ,~> -nc&gmnApp+m/I"a(&mjRCCL^_%M'-d*@NX&6:t6X5:%$?%Km:P%*&9ts+13Gs*t~> -nc&dibD(8oq>C6srp\(Nj6cI(oE4^PjnOE,JcDPGJ,~> -nc&dibD(;pq>C6srp\(:[(O6N_?7]o`5D>d"2VXrpjrHrs.o[F~> -nc&dif<14fq>C6qrp\&r%J^M6%g3L](D78P%KT)pJcC<$V#Pr~> -o)Apnm'1H"lMg\\#6!f&dH0iglLY2OnG*"XrsA\uq"XjgqtB^[JcC<$\c70~> -o)ApnmBLT$lMg\\#6!f&\@0,fm(rqD`5^X+rqQL"rpo1Err;l[jSON.JcE:\J,~> -o)Apnm`LrrlMg\\"T@T$+q -o)Amjb*?Map%eUlqr>9CjmVg,oEY'_p\"4Rr;QWo$2s&VmeZnNp>>Uqs+13\s*t~> -o)Amjb*?Pbp%eUlqr>2i[_BTE_?e'"cIM%Anb`=`rsAYegtV](lHe5ZJcC<$\c70~> -o)Amjf"$U`p%eUjqr=df%I4K1%hp3M>Ci]roD\[f$2s$mBDVSN(rc6#s+13\s*t~> -o)Am`[;pHKrV6BrptE13kO@d/(%q:pq"X[Yp%\Lcs8M65p?qSEe(skOs+13\s*t~> -o)Am`[W6TMrV6BrptE!V\A.@H(;n2:dFR%+k3DR:s8W)^b0fDEf>-5=JcC<$\c70~> -o)Am`bFssSrV6BqptC`;%I4K?%hp-C8mQ7RKs0)+s8W)^Q8?5H>YX&NJcC<$\c70~> -oD]!me>?o:lhCD`rq+[OhWjXqo`+Uap(-omq"aUUq=E"uo]5Yem/DS9JcE:\J,~> -oD]!meYd,>lhCD`rq+[DZ+@a9_A'o,aNMlWf%T6KmIg(uccXqbaR&nWs+13\s*t~> -oD]!mgr,DGlhCD_rq+ZT%1VS4'b:op,r7b[?>XPE\DZu+?7Vct]^5WKs+13\s*t~> -oD]!f^6W?3nb2terp\+KipH=!o`+Uap($ilq"O+(guI)Go(DbUrdk*#s1JA^~> -oD]!f^6`H5nb2terp\+:Zb4-;_@si+aNVuZf\>QHa2#=.eDfTZqu20HJcEC_J,~> -oD]!fcFJk?nb2tcrp\*'%H\-7%h]a,2F:;PDg@Us1*L+oT;9Krrdk*#s1JA^~> -oD]!]YCC#np\"OjrThAHk3qp%o_nFnp@?/4i8NJDeEQYKc-"5QrlP;YVY^&e!rCEmrQ58a`3ciI -d/OCNp#k&U\;/o>h#@ZZp#k&V\rFr4iVs>cn`8KObf\)MdFe!gir92]puU2Tbl5cb^&\&$s*t~> -oD]!]YCC#np\"OjrThA1\%]]>_A'o-aN2ZXdCHg.]=keag\&b7bKS30b6#MWqY1!kqUNslb6?&0 -`3ciId/OCNp#k&U\VT)@h#@ZZp#k&V]8k/7iVs>cn`8KObfe/NdFn'hir9DcpuU2Tbfe2P^V9T9 -s*t~> -oD]!]aJt!3p\"OhrTh?P%H@p+%hp!3-mB]:J%7BArWNL]p"S9UgY;_]!n>*`p\taj5&JhgAfS$qjmb;~> -o`#-pfr/arg&(FA"oIDohWO@goFpf^hTE^[d+I+3\@B)hioYiBMk'aFH>(\%jSoMbptsB7] -o`#-pfr/asg&(FA"oIDmZ+.O/_@s_sYb@bpYJAE'\@B)hioYlDMk'a1b&jSoMbptsE9] -o`#-phSl(>g&(FA"T.;a%1V;,rs]MI#nAC@F#gb?\]3XkXJrM=rP&E>SaH4P%/o8;a1oC'[\K.H -S+>#-$N9&:eC)RXUQ4F6hZ!r]j3uH'bep?>eGA8+#laY_hUg0!`PMPg"iA7"cKP5grs&Ggh:9`f -_>_1NY+"mOs*t~> -o`#-k`1LULi;W?J"o6r`jR)O$oH!MhhT2q%V6%_Zamms?io]goWKMCCDf9T7A7i^Wq>Uls_PM^# -EG/W[H],6!df0[K[s3%5GACN#iVq^6$MV#aF)?#9>[lFajo6"lim#-6Ob7puCMe$3G'nq%P-t2M -rseqc_lA`EF(f,p@pNR+qYpZso@s5Bs*t~> -o`#-k`1U[Ni;W?J"o6r[[Cj?=_B$G(Yb-l2RA-dea2uK^io]goWfhOEDf9T7A7i^Wq>Uls_PM^# -EG/W[H]5<"df0[K[s<.7GACN$iVq^6$MV&bFDc2;>[uLbjo6"lim#-6Ob7puCMe$3G'nq%PICAO -rseqd_lA`EF(f,p@pNU,qYpZso@s5Bs*t~> -o`#-kd(bp"i;W?J"8U`5%HJ$!%2'$U$Vu+1*4lc6i8Wnik-LYHT`1PdTU(S\rV?I%p=$pYT:h[3 -H]"0#n'_4CpW&ntT;8$8L>i-grsJMAUn"!NSr/*QqrRhkr9<%c`3ueET:MRGTqnTfZa\-TkPl"i -kL[_[W1f]IQ'I8]k5,)[rq>LQW;hA~> -o`#*d[?tH4iq!*Orq+U^kO]kem,#gfX.uc3c/-+Vg@4Y3s8V`JaII`jBOk^aA?5P&rseqYZA*4- -An"tc][5[4df0XJgUa)+DIZpqkM?.FpYNZaKQL^.E9$r[rtYF__PW-/@pN2?>?b?@A7fLoF`b+j -kl1kZ]qg0nA7#49!`N1[rVm*#m+]aaPkD!TJ,~> -o`#*d[?tH5iq!*Qrq+UM_o(`U+2GLmT8\SmWkcK^ZHL,*n,E@eo\RZZIq35'An#;Pq>1+#rR\?0 -D.R][R)iqLn$$2<2cTmU`f>^5GfrsJMW^Sup0@p[_/TBQ/*: -\,>Ii%J7B1J8/V$='/O*;cr&Xrs&Gggrugaor.n@~> -o`#*daL[Uhiq!*Qrq+T=&eX=;rs]qU$49S'^m5IRb>Su4rr<#jhT2duQC+#+P`30KqYq$'hor9p -R$j.jL:kmmpX9'JpY39ST:_@%Np#6u$MWDlWLorNKS\[fk5Q1nimu&PTTkChKS>2>Od;B(T;/.& -r94.io[1OUS -o`#*_Y**4%ipm$Orp7u)p$;5no'G5SYcFP#`80S[f[o]t&"L1=JFlK8*_qpN'DH"C;]<*!I??<^cDA7fIh -AT[29lMhb#f;aXCARA> -o`#*_Y**4&ipm$Orp7_N`p:Jb^q6hCN/3h#`80S%YKl1M]Wh22s8DcYY`!(3BkCmdRIp@U%J7;r -C2Rg"@9eoRp%n[9rsAYqkKfNF@U+lYh>[f[o]t&#L1=JFlK8*_qpW-EH"C;]<**RB?X-rFA7fIh -AT[29lMh1hf;aXCARA> -o`#*__mY_]ipm$Orp619+6j@9%3>la$;[D7h<&&XcK!"r-M[W@rV>`pZBLK>R$E]4o_SRso[(%8 -R%0S,JXtfnqYnqC$2sJYcaTp^7Lk]W;hA~> -o`#*ZUkW8cipcsMp"fB8mIV+`m,#gfX.uc7h=(70ftQD>j2T+,rVm5nY_6SBEG/onK^em=$iSSQ -AoDX/BO>#Io$.1>roKu.@9o]!gA_B@WJ4hdV"!RI)#`C(R!*(K;HJLGZF-p8L1t./AnPUc]DUso -)>M+?H=pbn?DG-N`Pp?ss8VuHXd"9O@X..9s*t~> -o`#*ZV1rAeipcsMp"%[8mD9RQ]&Jo$.1>roKu.@:#c"gA_B@WeOqfV"!RI)#`C)R!*(K;HJLGZF-p8LM:70AnPUd]_q'p -)>M+@H=pbn?DG-N`Pp?ss8VuHXd"9O@X74:s*t~> -o`#*Z_lo/TipcsMorV=Eljj%)&ISpQ:SPe`n,)Q69AoU*Sm:^^rsJ57Xc8[=R[9,,nGE4nrS5>X -Od;]1Ne"S/c2S%Jjhn-]K!+Xtrs%],YE=C=nE9fgrT2G=UmR0gG)iE)[BQToO-H$"R?WcQr9F;" -ps6[OR?rbYV7X[b`ROGXs81Tm\#Gs[PNf%GJ,~> -o`#*USpk'WipcsMo^2GHmdq7aj3"U,UTDDin,*+anBoYPs7bI*nbrIpl)/<.WHrAm@s759rsSJ2 -I:ACfH"^Ghc1oQ`#QqAk2+1GFD,9!@UY`" -lMhao^RTFYA7Bc1lgXH7o_\[gps#U\B4YY(l)=W4~> -o`#*UT710YipcsMo\e@kPlCl^8$'h@ola$aP>qAk2+1HF_GB"@UYc# -lMhao^moOZA7Bf2lgXH7o_\[gps#U\B4YY)l)=W4~> -o`#*U^T!9KipcsMoS[$&m1'g>$OR5:U;YmVqu6WbdF%F_pYacqrVm5h`LVjeVOa*;PjJ;I$hVcD -Ln(08RYu[Aps&gDrS#,eNe"q -o`#-TSpXpVgA^[C"T@]_p\""I$M!,kX.uc7h=(7?rr39#nF?DUrqQ0`rr3B*gRr(l_2W\Q@;"d$ -rs\kUW+'bVOa^kHB&$>!/P4JSO$NB_ai7ci8j6?C=rVn,AnE]E#]pj(TASZtFkNV-or9Wb8k/F0@AnGb*cfjZYk3)`H -s*t~> -o`#-TT6t$XgA^[C"T@N>dDbRk$Ga!9LmP-[h=(7?rr39#nF?DUrqQ0`rr3B*gS&.n_2`bR@;+j% -rs\kUW+'eWP($tIBAWU3rs/AEVfl9Ng%sJ'#Pc0,F'E,-qrn%trnX]7D.[6bLXGVgrr<#sm`Bc] ->$>!/P4JSO$NB_ai7cl:j6?C=rVn,AnE]E#]ps.UASd(HkN_3pr9`h9k/F3AAnGb*cfjZZk3)`H -s*t~> -o`#-T^Sd0Lh#?mE"T?Pj8f@%,#n77L:SPe`n,*+`rs8Jjnb`@cq"=O`rsSh_^m'YkXJMAJMs($<% -/o#$Nf(?RWL/KohYk_!#PlogUksTSqV2#Tps-RHLk+4Vkl2P"ilJBrR?NDkdI@&4s8W&caeauPL -OslIo)8RqrqGmFjQ#7bn,!%^s!.O8nF5Vd]qLj]S#+d)n*KQAnaQ&6d_hlKR@9u)mdKW2mf'BhJ -,~> -p&>9rfUI1qAAA*6rr_uaq"=(I#jTO4W5RN\qu6*b%/\5;@X67aIVN;&b5VD?%K>h.I9iVgS:>$Q -E97)srseu&j4W#8g[4q*f#-ePrVm?+nD;IBrVulhiRu`LrqQL&rp\gma3WGQSnqYIiVrfU$iTGD -a6`g)o\S-WrVQU'rTr7if@K0ao\.C>rVlg-o=(-$>B&X%s8W)nimu]Zq>V-,le:"AlMgh`q8/\K -BP(dkW9sT^rr`5OC0CL:32Q3Grq"sk`4`U`XfSb5[(FcZrr;`7_S!FWKl(F7COr.a[$dWS`50!q -Y)I=3B52a`ZFI90PP;6[J,~> -p&>9rfUI1qA\\37rri&Tfuh5$_?d`GLo&&Gn,*+Rrs\eJS76chQ@B/d(r;R6*puL,ZfA#]jm+92@rr)j+rp\difDYaKo\nKRn,E+^%K>kSdE'\f^7T4HCZ59krsSel -f>m7Wrq,'tir/cS!r_K>rmqA$o$D5ck$r;Qltf5"Rg=?*/Js8MWGcG[H+YcY"3['dNop&>!cb/:m&VhJu"B5<*mZa?0pm)?fO -]!%'3AnPk)S[,f5R[!QLs*t~> -p&>9rgq9PJM9,Ydrri%ZC+^+e%L -KSegir;R6*qt_hUpZCcbH$,L#N%0rsSeq -in3f#rq>O6lM^V[!r_WLro+.MrV#=)jSf)X&+dlSRtQUXrr<#tq`"R@UCobg!f8m+Bn9 -dE/\dR@0SC^ -p&>9qe`%bGs8D-*^8cn'rVca4rqG*\ -UR%RPTs=LpoX0j'AnG[iJ'@WcrVlruke@"p3O[W8qqfH+UlpI\G'/(ZK85MVUXoD3Z^lo'H#IA. -B52C3Jph -p&>9qeX1VkB"Rm1rri;ahU9C2_?RE4UXAN,rpKdpp:Z]!N7jqXD.7(aqYpL'qp)$GD:$7oHsp9; -li$i-rqG-bVh9>YWO9RTQuq`orpJ^ob/:HB[J'1Aa1ALOPKj('ruh:,e@_)dFbQHYK4J53kPk5< -g!RmVUP%_)grd1)M9Gksrsnqab-[7VNMEen_5D@qqYpL+m]i!e>`%bGs8D-*^T*"(rVca4rqG*\ -Um@[QU9XUqoX0j'AnG[iJ'@WcrVlruke@"p3O[W8qqfK,UlpI\G'/(ZK85MWUt5M4[%3#(H#IA. -B52C3Jph -p&>9qft+#DNPkS`rri;GI7tRI%L*@LG1#aTrpKdpp<0q%SCt?PSs,,KqYpL'qq8lGL!\,[W02b$ -li$i-rqPR,`2olF`Qm#^\sr*crpo:3gXjTRanGAcg!Rs[\(^fXruh:0i6o0.Trl)DXHnR#kPk;D -j58S@_Q2qsjkJ/#Yh8pRrsnqigWd+&Zbjr8e\n',qYpL+m_u]%Jskp(s8D -p&>9qh3`IuAXiDbrr_rbq"=%H"QI&9o)A"U*:U4g@'&CoM/d$8Re?^\rp@4;=eXcaRs8=HV""B` -,Q6oOY@q-TL6-A%LjW]Uk5P%GR[TP$I!M[1Y`jQ^I!fUSo_e_Fqq]5`?s\8GL2:U?@9ecXrRd?u -QBI#DJ()9=P_4-kL%YKFp!UC%?FX>?Y-1Gg1_G>$PKHralFG?X-c<=BBS.Y5a"~> -p&>9qh3iP!AXrJcrri#Ufuh5#_?@3>b4>PuruCO6LL@4DZANX3A"3/ks8MDqFBYBr\XRhO?DR)i -s!.L-bcb\bCPIpiI#*/[G38esTUVC9N-orM`j(_WH$k!QI.[@:1]-"IT3tuSP_O!hCLLJ,m/>S$ -PEqAeEe)WUY`sc`AqfpXrq4^MJR2W/QuR;)L1=cKqYpL+l)KPJ?)6uirSYPgMf`H\o`"k4rT)%i -AT!0GEdVi/qsgbCDe[CoPD0UYebNGR5>[:cL -AnGU`?<^T8=*`&@?s6fDAH$0H@p`JE>$+jJl)t&:~> -p&>9qh7BGJO0/-Irri"VC+^+d%Km4Eb4>PuruCOJYD'@D^TaArN32dQs8MH3UO9'!ah4I3K!+VB -s!.L1grc+;Js;grVm*+\O66H7^q@=jZ`'b5eB>>$V5L5[Sb2j[1]-:d^QnQ -\%/rNTr-Gkb.+RLPbIdMrq>6rX,)+]TUDUZYEajsqYpL+l,KrjJZeMBrTDbLZ(mDOo`"k4rT`+M -OGT3hTr=U#qshD(T:)+9SYj!@e(LlR^eSu&Kjg#oo6Mi -p&>9ri0S\"A;0RGrri;fq=jRLoE4*fhYld?6gCXi@*J&VNH8W?MXg`Hqok^>C=;@PQZHJ=](Q+' -rp%Lt?rMQ_`P77JBOP/&l2U+CMfW]JAS$."@r6'lA7f4[l2CX3qprKA=]_$-c+SaGB4,#@nb_+7 -M/R3CCN#8KEbJrj>'B93oZXOW<,AJK_jGIX@p<^+rVuosf;*h$?,H=6hQhEB?sHc`mJm4bi5(4Q -EjE?WHZ!A@o('&0AS#IdBP_jEO-ucBZ*q3U`p!F%s81?YR -p&>9ri0\b#A;9XHrri;`hU0=0_?70AhYld?6gCXi@*J&VNcS`AMt-iIqok^>CXVIQQucS?](Q+' -rp%Lt?rVZa`P77JBOP/&l2U+CN,rfKAS$."A8Z6nA7f4\l2CX3qprKA=]_$-c+SdHB4,&Anb_+7 -MK!BECN,AMEbJrj>'K?4oZaUX<,AJK_jPRZ@p -p&>9ri4>bPOe;19rri;8HV,1C%Kd.DhYld?6gDU_K$Nf-Z_<_HU%/0_qq&W>K$ro&\tP+6_"Ia- -rpACTOEHPj`P8(;RZ`8jl2U+TT9u1=Q^+/*LkgkKQ'm\hl2CX$qr-#2L3B3*c+Td@R?3$'nb_4I -SX,h7S=?^MQBIJoJro?up"[`^H\&04_kiuoQ%k"NrVuosh8?4OJB%<]jijTgOG\IOmJm4bkLHeg -KsJ@mVk0*@o('PkR$a;0R[p7U[(F2obKeJ^fC&Y -N0K]tQ%s\aFps/NMgBPoMisHqQ]-:hFodB_Y5a"~> -o`#-UP]^SJEpNAts7??ep$D;Pj2'a@s$ZkAU1IrnpXt[MAn6;Vs8MDpDHa4-l`?4a>@#qYs8MT- -Uh!JR`T-LO]o6r=>bplho%(RBIqiCmXaY%t?!u^ls"s]2]Tc]&S^Zrtj/n,S?Du?YQ>8W<09Gn#l\@~> -o`#-UP]^SJF6iJu"SCd-ai!M_!jnlbli0BPgnSFnhY5]cF(Ss2mJm1Q[r,BQl0GF5CKk,uqZ$Qc -`2$pDIDt7:kIupq?sTSts74aUQ[`aY<`X@9ZE8UlAmJj*rr4hRhS#.Z=.Rh,o]**2D-gP[p&4:. -^6="\A7AY\T7:BM:l=T7bcuFoA\-U`m)tQ:@U4WMrr4AB`h.?WA_Qq9XCZ!i>#A4rn,N@F^l_l9 -^>S>*T6XXLl1`YT@:<^GAjL'CC2\6@J;&iAR%1bbropt^G\:Ga;L,"B[BH'B@Uit^C2&C -o`#-U[\T=SPO%l@"S@FZ.M;%X!Y#=mli0BPhnbV3hY5^3U6q+2mJm1Rc(B?gl0H9rSV_jLqZ$Qd -f>Eo"N5aiIkJ4BrO+FJ's74aUW2c>LJ9QgEZE9[fR#H[Xrr4hRjO:SrG,*OQo]*EbSrJ99p&4:. -^8S$$QAg6HTotC_ELH.gg<6=BICe/#m)uW0PD,:crr4DCdD)H4L"c=`a-)"2J9>q:n,N@Le[C3_ -^>S>*];CF;l1`YtO-,crrg?$?S=cRSWi`M5]"H>crp.qDV4!KrEJUEr[BH3^Ng,p!S!g%fYGnCg -T:;74KnuV*WNXIt^T"31S>)L@QAU6hri#t&b3uM5J,~> -o`#0XQ?d.RC=`CXrr`5dq=a^X#P.6Ah:prSnbMeYji6\i@QXms8MN%Tk.;IdI[A; -oXpN1>@#qYrqlBKViGOu<-5k$Z=$^Xbja>pN*KGaiVEKOiLka1>F"XUs"!`PRr)P[i7t\PD5jp_ -B:%6Erp[^p@9KJfqu,0MEE[;BrTCV-? -o`#0XQ?d.RC=`CXrri;^h9a+<_?[lg['-X=]"n-Y!k,,gli2A0bFN*_jo+,%G%Y2rl2UY*TO2lo -punZ2AR'$0rr;iuc!\d'@(]H-Gd3[u=QoWoJSJ_! -o`#0XZDF%TOkTg.rri;6GXNAF%fQn=$k3[@%K[(Cip6Vlqp`H;Brr;W3 -\Y+e/g%t^Fp#EcnSVqcK^9=) -fD#:7e\@5mXQ03Vh8u@BLZSKt\W)?!NKKHlR/<:3R[p1NVo/2[a/b\qLj#!!g?.V[f".<;R$jD. -P0)bDf -o`#0\SpbBcC8q('s8V]lq"=XY%.`iKfuLG"XLZ^>n+6GK"6[b[rp9Y=p:Z`"MX1<)Q?m4QA^gVB -[r,BTm/>M0IUZQ1kl:YD[?G'&OQ-0;s7sX)F';l'qu6UAn$/*h>B%aLq>TigP@e$AXd]\:. -=gIAms8V`'Rr2JHiVriV+7#tfA63'HjRh6#W5n/m\tE_>E7O^_s8LoOJ6uQaoD\bEn#qskCQ?fU -NHDegi5i[anbr@/Y'aSseG&t.`0FV+L["j6hQqZ;=^"s4>$P?@@V#IM->.(*HI]WtFCnucBufQ: -rr;umj0s>IAnPXcTDANWY`Ed9@UPDiq>U`q`g(a[A70WGW;hA~> -o`#0\T7(KdC9%.(rr_oSfZF-0%)KWdXe(W3Q'8&Q^;9]`"1Y&Urp9Y=p:Z`"MX1<)Q[3=RB%-_C -\8GNVm/>M1IUZT3kl:YD[?G'&OQ-0;s7sX)F';o(qu6UAn$/*h>B%aLq>TigP@e$=jo>AXe$"C/ -=gIAms8V`'Rr2JHiVriV+7#tfA63*IjRh6$W5n/m\tE_>E7O^_s8LoPJ6uQaoD\bEn$&$lCQHlV -NHMkhi5i[anbr@0Y'aSteG&t.`0FV+M!=s7hQqZ<=^"s4>$P?@@V#IM->.(*He#`uFCnucC<,Z; -rr;umj0sAJAnPXcT_\WXY`Ed9@UPDiq>U`q`g1g\A70ZHW;hA~> -o`#0\[&KU_Q+HhcrrhtK@jhld%L%Kd.J\,Pao0_W]"MONl2k-LqSP)Iuklcu,M -[dI_7,hcM<4d;qqK5oML)_s -rr<#jah44$L#N%1ru^RG[$H5f\`EDJVDYKs8W)W_Q&ZH[e'Lu1@N2lSX6>,e$G.J -h;HAhf(&_9fZC(LMq%M#maeq,FI27lptiE>I=$HqL51YFO->otrg>(&RAS]_]q_!ZJq:u.qu6Wp -puAo]R@'D.NjAK\n\MT+R?WN'nbN1jps-FGR?ieol)=W4~> -o`#0bY^gP%AUF"BrtYM!q=aIQn`o#X]W8'.Uo1&mdH'cfr:C*SaOC%Qs!@0?Lg[%Js6HG3Cgq%n -ouW_1FkQTeb+Eug>E%qKqSoF\>[52[n#qsd>`%bGs7Edj -C0PN+q>UBun?A-h>^,B1ruh="Vh8A[No'X3o&/HpqV830@9]8err<#sd%GYh?IeiMs$GtLMJI3l -WL\$Lh"gg9me6VZn[4^#D4p%Yf"HrE;.[o@s8McQa0:YNB4=qD<`r[6@:a%_B4Z"YTnR;p@9eiS -rVZ[/q:UdLB4b[`MXpf;Y`Ed9@UPDiq>U`q`g(a[A70WGW;hA~> -o`#0bY^pV&AUO(CrtYLoh9a*W^Ug\GQ&(ZkTr4WYVR=.Sr5&QGT?[9"s!@0?Lgd+Ks6HG3Cgq(o -ouWb3G1l]fb+O&h>E/"LqT#L]>[52[n$&$e>`%bGs7Egk -C0PQ,q>UBun?A-h>^5H2ruh="W.SJ\O5Ba4o&/HpqV861@9f>frr<#sd%P_i?e+rNs$GtLMJI3l -WL\$Lh"gg9me6VZn[=d$D4p%Yf"HrE;.[o@s8McQa0:\OB4G%F='8d7@:a%_B4Z"YTnR;p@9noT -rVZ[/q:UdLB4b[aMt6oU`q`g1g\A70ZHW;hA~> -o`#0b]W7TkQC[U@rtG@EGXN>X%LijU$ORA5O/J%.$k<%C!t>X6qs=>/nA_\eY42JW[]>s`O3@4I -]n_Htq>/RTVNHG#m/Qq2`2AK?`Uj*/#PH6PSV;mZrr2p9l,KrlJskd"s8VQ,\<_`7lMpnVbe9O" -K\-&!rs%u3\=&&2kPkK(ro:quO+!JRqYp'Di:$O$aKUeVVX"0\s8CQbV2BfRq#::Ll,9itTWQ2I -TTe1,qXEqHrVuE4\t5=nk4.H[Z&!FLb4>T3pZ';uR#$3 -o`#3jbCF>>ASnsUq#CBd'DV7gjOV8SX/2Yr_q3baZ*MsCnGMn\kK)$Fm/JBsWH)@^pAaWdLi?m? -V;AUk=gIDnot?l=?X0]'s7*C\C0YK.qu6U"n?A-g>_D;?rs/PTUjlcWV"+Ha&F-f6.3s8DinrqXF(H@ugls8W)RV1E2e -Dfg)5C;'TDs!%ElW.SVlHC1@VA6;lY^#f.ks8Mocj4)&ZZE0a]K6:j;@fBsHA8HgPF(f/o@'0"s -rtGCrV1reuA70`Ns7*=SEFrZfPO\JK#l)E)G@kAnGNl(+J,~> -o`#3jbCOD?AT#$Vq#;*$jOhPe[Ao^TLm4C4_q3baZ)=V2^\kqN\=^n_MA@rs/PTV12lYV"+Ha&F-?S@9fVts8M,\ -M.9eHkl1S]#4&7I@pFuZrr3`3dA2(n>f6.3s8DinrqXF(HA)mms8W)RVL`;f -Dfg)5CVKcFs!%EmWIn_mHC:IYAQW#[^#f.ks8Mocj4)&ZZE0a]KQV!=@fBsHA8HjQF(f/o@BK+t -rtGCrV1reuA70cOs7*=SEFrZfPO\JK#l)E*G@kAnGj21,J,~> -o`#3jcDmA%R$u+pq#;'#L1;M>%1EUO$8Q4s_q3bg[V$!Xq[N];$_d@^s!?sKU4UDYs7!b+T9bhU -iQdg:[d="dbIs^4J@+nIn]AA4LP4I[rr32l`OM7fQ0J;J#QEPsWfVe7nc&P"lGg)kJ?JDAro_;* -P_,:drr2p%lbg&oK:M<-rtYLb_PW3<`Ua$.rVQQmq9ZpSNI].Drr3c/cG#s,KAc_.s8LonX-f*A -U8+-@b5M8<0`BeGXI#0H]>1J/H?G(Xjno)Xrql6GeA]#)XJ;/DLPLnSR$jA-RA@$\R[K:l[IX4p -'E77+Y+:uHN0N`0n\MT+R?WN'nbN1jps-FGR?ieol)=W4~> -o`#6qhi2JbBP;n\rqcX2rTs@QiQJ^2WMHN)cJe6bqt/mh\(g-:rU^3Ub0]qNs!Ia#U1@`equ?<% -MfWKKPI?KVHeJ5pn?A-r?!bbLs66G:A6jWHrr2p%l`,nQ?(CB_ru1aRT6O[J_=mp/rn!uq?!YVI -s8C?>I:6K`nbrIlk,*c>?)7#irs/;5So@qLh#%!K#P"s\DHgE%r;Q^#o!Oiu>B]0.rs\eJTm:$G -@q]FcB8?0Xs"O5]RWMk;>[1HHEJ1:2jQkXVf\"]ol1a`6kMtCKbe^K:DeN`p@V0q-C1_'eA@D7/ -rt=e+P]:;G?Ztc8nZ\'oAn#/3nbN1jpr8SCAn5:nl)=W4~> -o`#6qhi;SdBP;n\rqcX2rT2eVZ_ESqn?A-r?!khMs66J;A6s`Jrr2p%l`,nQ?(CB_ru1aRT6O[K_Y4$0rn+)s?!b\J -s8C?>I:6NanbrIlk,3i??DR,jrs/;5So@qMh#%!K#P"s\DHgH&r;Q^#o!Oiu>Bf6/rs\eJU3U-H -@qfLdB8?0Xs"O5]RWMk;?!UZLEJ1:2jQkXVg"Fosl1a`6kMtCKbe^K;DeN`p@V0q-C1_'eA[_@0 -rt=e,P]:;G?[(i9nZ\'oAn#/3nbN1jpr8VDAn5:ol)=W4~> -o`#6qhl337R[KrPYW:0`c)Z%jrV2^#FpAb0lh8?4MJ'@Ze -rRercObC(2rVm)a`3#/RY4;Mk#PZKWT883VqtpBun\qu/Lk"4Xrr32na1@^nNTU6?%/\PiV2p+[ -Ng,rtV=jcd0_il(UQ'_NIU`qcFKa=Q].'kW;hA~> -o`#6sm&bA@AnZ4XqYL4/o^_[uY,e@pZGkP^oAlm+n,)qIb.c]qnc&._lHdfNmJeL0bFE$\j8T)R -d>r?]DM3^N?+fV)s6HVBB3Sj$rVkNCIUccGm/I"iro']*?X'c,rr3o/\XRSB?/#2Us8'd/F'N>5 -r;ZQ,R^,?0qu6oeV28knEo[/urs%npP@RmUli-nnp:Zu8 ->$@)HDJ!EsdJj+E(\4npDI@4VWi`_GcJS-cftXqsXe:!`qu6U*rr)WambP(/EFrcg@#Aq&AclRU -U\FWb'(U`q`g(a[AR]oKW;hA~> -o`#6sm&bDAAnZ7YqYL4/o\[]`MhmXjZGkP^oAlp-n,)qIb-/"Z^])(P\u!F@mJeL0bFN*]j8T)R -d?&E^DM3aO?+fV)s6HYCB3Sm%rVkNDIUccHm/I"iro'`+?X0i-rr3o/\sm\C?J>;Vs8'd/F'N>5 -r;ZQ,R^5E1qu6oeVMStoF6!9!rs%npP@RmUli-nnp:Zu8 ->$@)HDJ!EtdJj+E(\4qqDI@7WWi`_GcJS-cftXqsXe:$aqu6U*rr)WambP+1EFrcg@#Aq&AclRV -U\FWb'(U`q`g1g\AR]rLW;hA~> -o`#6sm'rdWR@Bk\qYL4.oOf9T$48nBZGkP^oBO;snb`.Kb#AfZr=/o=%$LAPs!@Ql]oS!0rr;cB -[%`t\XKIS0^@)"#lbg&sLk4C\rnbDhP_bsurr36&j27pYJ%5.Mru1OP]V((0gACpMqU30RLP"@[ -s7jjNUlgAEpAY'srRnubNe"qFjrr3H$bIsO& -H'jtfR?j2mrr)j5o#.u.N.\"-XgZ'khsgC!eBZ.V^S]QYrr3`4rV6$Qh7C%fR@&tgR[ok6R?iuB -p\On&n&Mu4R?N>dlMpCj[%WnPLnsS:rs8DF\YPX[Ng&_+s*t~> -oD]-ke:VIHBQ8U'qu$I:rTWITVkg?,e)^&okeDar]C5b!rThG=gZ\2"o^'uIp$Mc*p:Z`#MUC4n$&$i?#\g&s8V`&S8)8O -jo5;PZ]K6:A%;=5rs/A=T64CFg%t^J#4&=M@pFuZqYpcaU5*JnGNf#*#3i+C@9ou)rr3GsYa/m* -FiV=FB4bkDq#14/nZ\'nA9QD\jQZ+*qu6<(TS@c=F)SS`q>Ufm^R]IY@olp:Ir>6t!b[5Xqu7?/ -k-U(`Amef#m/QU[O)\c@@$C-Vrs8D=Q$-bOA9[::s*t~> -oD]-ke:_OIBQA^*qu$I:rSk;MPaSMbe)^&okeMjt]C5b!rThG+Y.;UC4n$/*j?#em's8V`&S8)8P -jo5;PZ]K6:A%;=5rs/A>T64CGg%t^J#4&=M@pFuZqYpcaUPESoGj,,+#3i+C@:$&*rr3GsZ'K!, -G/qFHB4bnEq#14/nZ\'nA9QD\jQZ+*qu6<(TS@c=F)\Yaq>Ufm^R]IY@ols;J8Y?u!b[8Yqu7?/ -k-^.aAmef$m/QU[O)\c@@$C-Vrs8D>Q$-bOA9d@;s*t~> -oD]-ke>&FuR\?e"qu$I3rNm"@+BkGPe)^&omF&)'_XIL(rThEe$k<1G!t>ZQp$Mc*p<0t'Rd0qQ -rS=fSR@Bb/I$*7]s8V6#Xd+TsjSo&*\tt[NV==Ka#Q<;kVM]lSq>UC4n&Dl+LPb$is8V`6]pj_8 -jo5;P`3c8%M88ocrs/AH^S?[:g%t^J#4'78Q%PUnqYpca]W[fdP3DlE#3j.3P(C"1rr3Gs`jqIi -M9!H.R@0DFq#14/n\DN(Oc\#NjQZ+*qu6<6^TXQ5Tps$rq>Ufmcb?0BP_4CfTUu.N!g]SOqu7?/ -kKU<'R?2ogm/QUl[%WnPLnsS:rs8DF\>5O[PEtI3s*t~> -oD]3skbrH1ASZOGVsOE^ruh3s_PsrbhMBs!@0?M.*4L -s8W)ZQ?m4V@TQdJnG`Idd\;/!>_MAAq9"eAAS-kirr35u`hIN\CuG9krs%_dLh'b>l2L\om]Vgb ->`7qJs73CMEFWXdp\t1)oYR8@?>SU"s8W)WVh8D`V"+<]#3hh8Cgq>Hrr36&goH!5?c2X;rsn@p -N+6(Lk2;MDBOu/=rr2p%nZ@^h@Vk9*rri>h\rUh0Acl_$li-e]')U1eNc&E6<-H -oD]3skbrK2ASZOHW9jN_ruh3o[%t+Oh_VGBq9"hBAS6tkrr35u`hRT]D;bBlrs%_dLh'e@l2L\om]Vgb ->`A"Ks73CNEFW[fp\t1)oYR8@?>\[#s8W)WW.SMbV"+<]#3hk9CgqAIrr36&goQ'6?c2X;rsn@p -N+6(Lk2;MDBOu2>rr2p%nZIdi@Vt?+rri>h\rUh0Acl_$li-e]')U4fNc&E6 -oD]3skd-eER%:(W_XRR(ruh3V>_of0hja0_K -o)Bg*dtqgLAnlF@S]^I$s82'2fB2Z"kL6u'D0r;*jnJcQrsJYc_8"[ena+Z@na6>[lE,>?]Cl1' --L%4TCLpdPK&6D)s7jL(H!t'Mn,N:GO5A0rpIXpE+4(Trr36&gSB=->`J.Mru1+#LLXkt -nc/X]]7k-6BpJ>js8M,mP\afRkPkJdrR%Bf?H=1:cdMc]Qe%$C6\Mmrs/(sK5P7<\,H:*55jQB]74L*AnZ")S^HX!rqc!Us#c&-IPB4u1McIg^bb5JLCJ,~> -o)Bg*du%mMAnlFAT$$R%s82'2fB2Z"kL@&)DLAJ,jnJcQrsJYc_6'iM^UpANna6>[lE,>@]Cl1' --L%7UCLpdPK&6D)s7jL(H!t'Nn,N:`S4Nru1+#LLXkt -nc/X]]7k-6C6nMls8M,mP\afRkPkJdrR%Eg?=(59qYqf)Rso-`DT;YTs8(!>H=1==qu?]qiMV<9 -?**Vd]Qn+%C6\Mmrs/(sK5P7<\,H:*55jQB]7=R+AnZ")T$lg#rqc!Us#c&6OQB4u1NcIgacbPeUDJ,~> -o)Bg*e"E%mR%0kP^=i/Xs82'2fB2Z"mGQ;%LihXna6>[lGocU_=dg- --L%t?SX5:\Ol$!8s7jpTV36P3n,N:Us#d^#L4R@BhYgZ%2BgAS2SJ,~> -o)Ba/m(IUQ@qB=nJ![1Jce7C5 -W.f+ulM^"mYDdF1DqY-is8CB@HsL(& -p\NU&D.[I&_>XE6oYc)fAncbIrVui^c'`OhJ7iA'B4u::SZ]T?_S -o)Ba/m(IXR@qB=nJ![4Ld+[R>f[e?_W-W)oR).MGr;-F"qrY_sXgu'C\+/nd#6*J`F)0J*rr4>5 -W.f+u -o)Ba/m(f'QPaIr5Wk-3th;mk`iSiSA`MSQHT>B7Nr;-F"qrY^Z$k3XSAb#3g#6*T(U6+()rr4>5 -]<.ZgJ9Sfurr<#ic+g$\rT'?7S-2Z3-VN6;8o)JagfY4>OR)&Cp -s7k-ER[BS?dJNb#d_)KIQ(I7>rs/;D^8$O7g%tRFEU0s,R[KYMmeuV/ag.P'QJDK>s8CWfVi6/O -p\NUASXGq?dJa+FoZ="uR%()6rVuicgq/okT9bb0R@BkN^<+gRf@8*^Yb78=GB9;0o@fq'P*_T. -VRXe#gYLQ.\"oCPHul1Jrr;N)[%WnPLnsS:rsnq]W0s!?R\$Rn`knUap9+FG~> -nc'R)iM^Kt?t[7Ks(;9#lH6&KFN!>@s8VZ# -MJQNsK&6D(o^(GHP&OuPU>PtMl(Ds(AT*="XcddEAS,Ll[+3%=oXpK)>?o)?s8Vr8NH&QBIE]p? -q;R?H@V9bCWMY2mBP(geDm\'3d-e,uA6Na,rqcY7o"B-RA8?UbXdaBWB4YXiRa]EmoY-W)=^g.b -rp-Y+@qKV2^>dMmfnjn&J;9&@Km[`H>uXU'PgK""m_s9V?".A\ -G(l6RSs"Y@@Tu]-MUV7us7*1@@piSIP4AAJ%fYUXB3\hR@qB=iA7:epY5a"~> -nc'R)iM^Kt?t@s8VZ$ -MelWtK&6D(o^(JIP&OuPU>PtMl(Ds(AT*@$Y**pHAS,Ll[+<.@oXpK)>?o)?s8Vr8NH&QBIEg!A -q;RBJ@V9bDWMb8oBkCpfDm\*5d-e0!A6Nd-rqcY7o"B0SA8?UcY+0QZB4YXiS(#QpoY-W)=^p4c -rp-\,@qKV2^>dMmfnsENAp9WRaMXrk?B!:5CgCFYAS>n&J;9&@Km[`H>uXX(Q-f+#m_s -nc'R)iNJ<#OHu<*UT:f<`lu]J];(@6JXa7"lhUPTrs8Ma_*8>;$r-6\s(;9'maoFRT$Qg's8VZ- -Z(6brOl$!7p@74k\"B%Y\Ehrg7/a\DQ#goZXk7Kn/"X -rp.%bQ'n5Fd-9EIfqXaoRAILAf[[p/JXOolOc#3bR$sS@Wir\4Y,IqVMgf_kSC$j*m_tEKN0BX" -Uoq8B^:()5P_j[*Q.,F+s7*h'Q&poVU[e0[%fYUjOc,9aQ'[r1Q&;L1Y5a"~> -nc'L+p",mS?!CTA?t!MS@pr\J=&s:,]$fg9rUp0qqrY`/eBP_pnc)Gai3TGCAR/\cG-UrEpW.Sa -:gh?5rqO73TQadJ>$Z,lPPXprG@4QW>$G08OFL_B=^#BOBs$TcB3S;>h#%-Oq9*kc=]o$FBP6f& -^2mU`r`Tq;CS5cU=]np>C2'g1M.KgeFQ`K"55O#m@p3&?>$>'WQ=jB(=^c&ZNT?L@>>]7urr;`B -JRDVb>\S1mVWGI1?<^]DBP:jZBq*B3fqN.d>?bE@rEq6b?!C?/;-%Y9dd[58qr>,4?<^T=?X[DR -@UNJD<)HhTbjYN1s7)^m>$"^$O7E#F"nKol?WgM1=Thf*;NL@Ns*t~> -nc'L+p",pU?!CTA?t!MS@pr\J=''C.]$fg9rUp0qqrY_rWM?N]nc)GaiO#VEAR/\dGI%,GpW7\c -:gqE6rqO:5TQadJ>$Z,mPPXprG[OZX>$G08OFLbC=^#BOBs$TcB3S;?h#%-Oq9*nd=]o$FBP?l' -^2mXar`Tq;CnPoW=]np>C2'g1MIfpfFm&T#55O#nA6N/@>$G-YQ=sH)=^c&[NoZXB>>];!rr;`B -Jmhed>\S4oVrbR3?<^]DBP:m[C7EK4fqN1e>?bE@rEq6b?!C?/;HIk,5?X-c??X[DR -@UNJD<)HhUbjYN1s7)an>$"^$OR`,G"nKol?WpS2=Thf*;NUFOs*t~> -nc'L+p"-."K85AFOHG`kQ'.)ZH$+e2]$fg9rUp0qqrY^Z$k+u[nc*5"kKV#QQ].!!UW332pW]Ol -GC.C"rqOsb^nm-KLl@n"ZMO4(6Pfr9aYKo(eMrK&XlN/3%2F*3/;dd[58qr>2JJqSo;O-,Wj -PE:]UHZF=pbjYN1s7*LXJ9uQ_TCM^V"nKp)Jpr4KJHUIKF.`!*s*t~> -nGa:'o@UL#@Tc`5=&r:!<*O-jVSC^HpAOR^#5dQ!\[\s2nc&ag`,8sbrDsP4R.UFUgM'bkOQ-0; -mYPO[qc>FQG45Cl\:.[a='g0Qa1$"i='KBoY1hojD.[F1jo5;[qr!`H='&mRNP4]TiO!b,]?@R`IV>t=DdaJ+3$rFZ4JJ$ALHs*t~> -nG`[ko@UL4J,Xa'H[9mXFEi=sW5$pJpAOR^#5dQ!57013nc&agc]s*,rH8`sWV$5fgQ-Q%S)X>F -m\bqiqfXW:O73&0\rV,[G']"Ia1@.PG'JS&ZJ+?3LOO]6jo5;[qr"5uG'87gR(r"aiO4XCFq]7c -]ZdR7G'8+]Pd9$#RY6-?V!RpW:&aV(S:#L'G_;d/`KY^mG(5INd,:gXIXdpSs8W&_^5[>[G(,FI -eF;G+NdGqjG'J\/]%6?Io@LF7IsHdaJY#JrI+j!Nk"Y_s*t~> -n,EUkpZ'?$Q[esZ#_\MH]Zo="q#9a^"oIH!ZG#VprrW&S\bi?:[++aJroh(qZdSLGs6n+6qPbL= -b4#B*j2\I*X0fq*n)M6dWirtTh!j[V]"#B!nG`G6rpe@BWiWSBcJnTtpYiumWNidI[]?F4_:e8@bH\(L[`-kamF/_X^=MrUruh-t`36/A[DLGZqY0$k[&K4e -YeS]Op\t3lp>sQ-SrS-pGmK4fX16=.meZq]rs/Q"m+&kSOb -n,EUkpZ'?$Q[esZ#_\MH]Zo="q#9a^"oIH!VmYm]rrW&S\bi?:[++aJroh(qZdSLGs6n+6qPbL= -b4#B*j2\I*X0fq*n)M6dWirtTh!j[V]"#B!nG`G6rpe@BWiWSBcJnTtpYiumWNidI[]?F4_:e8@bH\(L[`-kamF/_X^=MrUruh-t`36/A[DLGZqY0$k[&K4e -YeS]Op\t3lp>sQ-Sr\3rGmSeROK5n6h -n,EUkpZ'?$SW*N'#`tOY]Zo="q#9a^"oIH!@u'F@rrW&S\bi?:[++aJroh(qZdSLGs6n+6qPbL= -b4#B*j2\I*X0fq*n)M6dWirtTh!j[V]"#B!nG`G6rpe@BWiWSBcJnTtpYiumWNidI[]?F4_:e8@bH\(L[`-kamF/_X^=MrUruh-t`36/A[DLGZqY0$k[&KLm -YeS]Op\t3lp>sQ-U6^Z7L^Ap$R&da>h -mJd^oo&\KIa2Q$ -mJd^oo&\KIa2Q$ -mJd^oo&\KIa2Q$ -li.%cq=O[V"7l-]roa:`r:fsaJcF:#!r`#ppAY6oqtK[[nH8@Tq>Kma"9&&fo)A.]o(Mt[LAuc~> -li.%cq=O[V"7l-]roa:`r:fsaJcF:#!r`#ppAY6oqtK[[nH8@Tq>Kma"9&&fo)A.]o(Mt[LAuc~> -li.%cq=O[V"7l-]roa:`r:fsaJcF:#!r`#ppAY6oqtK[[nH8@Tq>Kma"9&&fo)A.]o(Mt[LAuc~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -JcC<$JcFs6J,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/docs/draknet_advanced_doc.txt b/docs/draknet_advanced_doc.txt deleted file mode 100644 index a0c0c63e0..000000000 --- a/docs/draknet_advanced_doc.txt +++ /dev/null @@ -1,165 +0,0 @@ -This document details the entry points you can call without the DrakX graohical -toolkit. First, the general variables you will encounter further. If you don't -know wht a variable is, look here. Any additional locally variables are -commented 'in place' - ------------------------------- -Special types (in upper cases) ------------------------------- - DB_FILE : file storing the ISDN ISP database. see share/isdndb.txt : file of lines in 'Unlisted - edit manually' or /^(.*)\|(.*)\|(.*)=>([0-9]*)=>(.*)=>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})=>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/ where $1=Land $2=City $3=ISP_name $4=phone_number $5=hostname $6=dns1 $7=dns2 - ---------------------------------------------------------------------------------------- -Summary of common variables used (local variables are described in the function itself) ---------------------------------------------------------------------------------------- -notation : keys : description : type : format (regexp or enumeration. `...' means it's not exhaustive - $prefix : prefix path (empty in post-install) : string : path - $isLaptop : flag for laptop : boolean or int : guess - $isdn : hash table containing isdn infos - $isdn->{login} : cnx login : string - $isdn->{passwd} : cnx passwd : string - $isdn->{phone_in} : user phone : /^[0-9]*$/ - $isdn->{phone_out} : ISP phone : /^[0-9]*$/ - $isdn->{dialing_mode} : dialing mode : "auto" or "manual" - $isdn->{driver} : driver used for the card : "hisax" or "b1pci" or ... - $isdn->{type} : type of card, used for the driver, see netconnect_consts : integer : /^[1-22]|[24-37]$/ - $isdn->{irq} : irq of the ISA card : integer | - $isdn->{mem} : mem of the ISA card : string | - $isdn->{io} : io of the ISA card : string | see netconnect_consts for examples. - $isdn->{io0} : io0 of the ISA card : string | - $isdn->{io1} : i01 of the ISA card : string | - $isdn->{idl} : amount of time after the cnx times out in secs : int - $isdn->{user_name} : not used anymore. Not explicit. It represented the name of the connexion. - $isdn->{card_type} : card type : string : "isa" or "pci" or "pcmcia" - $isdn->{protocol} : cnx protocol : int : 1|2|3 : 1 for old german specific (not used anymore), 2 for europe, 3 for rest of the world - $isdn->{id} : card id. Associated with vendor, identify strictly the card. see pcitable : integer - $isdn->{description} : card description from pcitable : string - $isdn->{vendor} : card vendor : integer - $isdn->{passwd2} : passwd verification : string - $modem : hash table containing modem infos - $modem->{device} : device of the modem : string : /ttyS[0-9]/ - $adsl : hash table containing modem infos - $adsl->{login} : cnx login : string - $adsl->{passwd} : cnx passwd : string - $adsl->{atboot} : - $netc : hash table containing system-wide networking infos (maybe not true, correct this) : - $netc->{NET_DEVICE} - $netc->{dnsServer2} - $netc->{dnsServer3} - $netc->{DOMAINNAME2} - $netc->{NET_INTERFACE} is set to "ppp0" - $in : interactive object - ------------- -Entry points ------------- - -isdn_write_config_backend : write isdn info, only for ippp0 -> ask_connect_now -input : - $prefix - $isdn -$isdn input: - $isdn->{login} $isdn->{passwd} $isdn->{phone_in} $isdn->{phone_out} $isdn->{dialing_mode} - $isdn->{driver} $isdn->{type} $isdn->{irq} $isdn->{mem} $isdn->{io} $isdn->{io0} $isdn->{io1} - -write_secret_backend : write login and passwd into /etc/ppp/{chap, pap}-secrets. Replace old passwd only if same login -input : - $a : login : string : /^.*$/ - $b : passwd : string : /^.*$/ - -connect_backend : launch the cnx script -input : $prefix - -connect_backend : launch the cnx script -input : $prefix - -read_providers_backend : build the tree of isdn ISP -input : - $file : 1st location of the file : ISDN_DB_FILE - $file2 : 2nd location of the file : ISDN_DB_FILE -output : the list of ISP : array of strings : array of /^(.*)\|(.*)\|(.*)$/ where $1=Land $2=City $3=ISP_name - -get_info_isdn_backend : fills the infos from the line of the tree returned into $isdn and $netc -input : - $isdn - $netc - $name : the line choosen in the tree of ISP : string : /^(.*)\|(.*)\|(.*)$/ with $1=Land $2=City $3=ISP_name - $file : 1st location of the file : ISDN_DB_FILE - $file2 : 2nd location of the file : ISDN_DB_FILE -$isdn ouput - $isdn->{user_name}, $isdn->{phone_out}, $netc->{DOMAINNAME2}, $netc->{dnsServer2}, $netc->{dnsServer3}, -$netc output - $netc->{DOMAINNAME2}, $netc->{dnsServer2}, $netc->{dnsServer3} - -isdn_detect_backend : detects isdn pci card and fills the infos in $isdn : only detects one card -input - $isdn -$isdn output: - $isdn->{description} $isdn->{vendor} $isdn->{id} $isdn->{driver} $isdn->{card_type} $isdn->{type} - -isdn_get_list : return isdn cards descriptions list. This function is not use internally. -output : descriptions : list of strings - -isdn_get_info : return isdn card infos. This function is not use internally. -input : the description of the card (see isdn_get_list) -output : a reference on the decription of the card. : ref on a hash(description,type,irq,mem,io,io0,io1card,) - -conf_network_card_backend : configure the network cards and return the list of them, or configure one specified interface : WARNING, you have to setup the ethernet cards, by calling setup_thiskind($in, 'net', !$::expert, 1) or setup_thiskind_backend before calling this function. Basically, you call this function in 2 times. -input - $prefix - $netc - $intf - $type : type of interface, must be given if $interface is : string : "static" or "dhcp" - $interface : facultative, if given, set this interface and return it in a proper form. If not, return @all_cards - $ipadr : facultative, ip address of the interface : string - $netadr : facultative, netaddress of the interface : string -when $interface is given, informations are written in $intf and $netc. If not, @all_cards is returned. -$intf output: $device is the result of - $intf->{$device}->{DEVICE} : which device is concerned : $device is the result of $interface =~ /(eth[0-9]+)/; my $device = $1;; - $intf->{$device}->{BOOTPROTO} : $type - $intf->{$device}->{NETMASK} : '255.255.255.0' - $intf->{$device}->{NETWORK} : $netadr - $intf->{$device}->{ONBOOT} : "yes" -$netc output: - $netc->{nb_cards} : nb of ethernet cards - $netc->{NET_DEVICE} : this is used to indicate that this eth card is used to connect to internet : $device -output: - $all_cards : a list of a list ( (eth1, module1), ... , (ethn, modulen)). Pass the ethx as $interface in further call. - $device : only returned in case $interface was given it's $interface, but filtered by /eth[0-9+]/ : string : /eth[0-9+]/ - -adsl_conf_backend : write adsl configuration -input : - $prefix - $adsl - $netc - $adsl_type : type of cnx : string : "pptp" or "pppoe" -$adsl input: - $adsl->{login}, $adsl->{passwd}, $adsl->{atboot} -$netc input: - $netc->{NET_DEVICE} - $netc->{dnsServer2} - $netc->{dnsServer3} - $netc->{DOMAINNAME2} -$netc output: - $netc->{NET_INTERFACE} is set to "ppp0" - -modem_detect_backend : detects modem on serial ports and fills the infos in $modem : detects only one card -input - $modem - $mouse : facultative, hash containing device to exclude not to test mouse port : ( device => /ttyS[0-9]/ ) -output: - $modem->{device} : device where the modem were detected - -get_net_device : return the device choosen for the net cnx -no input -output : name of the internet device. - -read_net_conf : read the information stored in $prefix/etc/sysconfig/draknet and $prefix/etc/sysconfig/draknet.`type` -input: - $prefix - $netcnx - $netc - -set_net_conf : set the information from netcnx in $prefix/etc/sysconfig/draknet and $prefix/etc/sysconfig/draknet.`type` - $prefix - $netcnx - $netc : useless! REMOVE ME diff --git a/docs/interactive/ask_from b/docs/interactive/ask_from deleted file mode 100755 index dad69247e..000000000 --- a/docs/interactive/ask_from +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/perl -# Yves Duret -# license: GPL - -use lib qw(/usr/lib/libDrakX); -use interactive; - -my $irq=1; -my $login; -my $login2="editable"; -my $check; -my $range=57; - -my $in = 'interactive'->vnew(undef, 'default'); - -$in->ask_from("window title - ask_from", - "message\nexamples of utilisation of ask_from", - [ - { label => "enter scalar", val => \$irq }, - { label => "combo (type=>combo optionnal)", val => \$login, list => ['Netherlands', 'France', 'Belgium', 'Italy', 'UK'], type => 'combo'}, - { label => "choose from list editable and sorted", val => \$login2, list => ['Netherlands', 'France', 'Belgium', 'Italy', 'UK'], not_edit => 0, sort => 1}, - { label => "check box", val => \$check, type => "bool", text => "text" }, - { label => "range", val => \$range, type => 'range', min => 0, max => 100 }, - ], - complete => sub { print "complete\n";print "$irq\n$login\n$range\n"; }, -# focus_out => sub { print "focus_out\n"}, -# changed => sub { print "changed\n"; }, - ) or $in->exit(0); -$in->exit(0); diff --git a/docs/interactive/ask_from_list b/docs/interactive/ask_from_list deleted file mode 100755 index 63c0ee996..000000000 --- a/docs/interactive/ask_from_list +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/perl -# Yves Duret -# license: GPL - -use lib qw(/usr/lib/libDrakX); -use common; -use interactive; - -my %l = ( - 0 => "Welcome To Crackers", - 1 => "Poor", - 2 => "Low", - 3 => "Medium", - 4 => "High", - 5 => "Paranoid", - ); - -my $in = 'interactive'->vnew(undef, 'default'); - -my $level = $in->ask_from_list("window title - ask_from_list", - "radio button\nexamples of utilisation of ask_from_list", - [ values %l ], $l{2} - ) or $in->exit(0); - -print "$level\n"; -$in->exit(0); - diff --git a/docs/interactive/ask_from_listf b/docs/interactive/ask_from_listf deleted file mode 100755 index 077540b49..000000000 --- a/docs/interactive/ask_from_listf +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/perl -# Yves Duret -# license: GPL - -use lib qw(/usr/lib/libDrakX); -use interactive; -use Data::Dumper; - -my $in = 'interactive'->vnew(undef, 'default'); - -my @m=( - { description => "dhcpcd", - c => 1}, - { description => "dhcpxd", - c => 3}, - { description => "dhcp-client", - c => 4}, - ); -my $f = $in->ask_from_listf(_("ask_from_listf"), - _("Which dhcp client do you want to use?\nDefault is dhcpcd"), - sub { $_[0]{description} }, - \@m ); - -print Data::Dumper->Dump([$f],['f']) . "\n"; - -$in->exit(0); - diff --git a/docs/interactive/ask_from_treelist b/docs/interactive/ask_from_treelist deleted file mode 100755 index ade7141d4..000000000 --- a/docs/interactive/ask_from_treelist +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/perl -# Yves Duret -# license: GPL - -use lib qw(/usr/lib/libDrakX); -use common; -use interactive; - -my $in = 'interactive'->vnew(undef, 'default'); -my $foo = $in->ask_from_treelist("window title - ask_from_treelist", - "message\nexamples of utilisation of ask_from_treelist", - '|', - ['Custom', - 'Other|Unlisted', - 'Matrox|Millennium II=>Matrox Millennium II', - 'Matrox|Millennium G200=>Matrox Millennium G200', - 'Matrox|Millennium G400=>Matrox Millennium G400', - 'Matrox|Millennium G450=>Matrox Millennium G450', - 'Matrox|Millennium G550=>Matrox Millennium G550', - 'Sun|FFB 67MHz Creator=>Sun FFB 67MHz Creator', - 'Sun|FFB 67MHz Creator 3D=>Sun FFB 67MHz Creator 3D', - 'Sun|FFB 75MHz Creator 3D=>Sun FFB 75MHz Creator 3D', - ], - 'Custom' - ) or $in->exit(0); -print "$foo\n"; -$in->exit(0); diff --git a/docs/interactive/wait_message b/docs/interactive/wait_message deleted file mode 100755 index 0caec4471..000000000 --- a/docs/interactive/wait_message +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/perl -# Yves Duret -# license: GPL - -use lib qw(/usr/lib/libDrakX); -use interactive; - -my $in = 'interactive'->vnew(undef, 'default'); -my $wait = $in->wait_message('wainting title', _("Moving files to the new partition")); -sleep(3); -$wait->set(_("Removing")); -sleep(3); -$in->exit(0); diff --git a/docs/mdk-vs-redhat b/docs/mdk-vs-redhat deleted file mode 100644 index 4d0de8223..000000000 --- a/docs/mdk-vs-redhat +++ /dev/null @@ -1,43 +0,0 @@ -+ Open Development (at least DrakX) -+ UDMA66 (HPT366) -+ gamerz -+ number of packages -+ better packages(?) -+ no automatic handling of ide burners -+ urpmi/rpmdrake -+ XFdrake -+ no newbie install -+ reiserfs -+ fat resizing -+ 3D handling (eg: Voodoo3) -+ diskdrake (vs diskdruid) -+ usb storage (?) -+ KDE2 -+ faces in kdm/gdm -+ menu -+ alternatives -+ /etc/emacs/site-start.d -+ default config -+ i18n (bootloader keyboard) - -+ More user-friendliness in general: - + you can choose between multiple net devices when more than one are - detected - + you are presented with the media descriptions (disks, cdrom's) - when you must choose between multiple media, and not only "sda", - "hdc", .. - + when installing from a disk partition, you are presented with an - extract of the directory contents when you fail to give the - correct location, which is very helpful to correct the input - instead of simply rebooting to remember where on earth you - mirrored the distribution on your disks - -+ Automatic mode (Redhat's equivalent is called "kickstart") is not - performed according to a file on the floppy but from kernel parameters, - which have many pros, among them: (1) we don't need the vfat filesystem - for that purpose, and (2) with advanced bootloaders such as grub and - lilo you can edit parameters on the fly at boot time. - -- no LABEL= in fstab (for auto renumbering of devices) -- kerberos -- LDAP diff --git a/docs/net_object_class.fig b/docs/net_object_class.fig deleted file mode 100644 index 19f7f5318..000000000 --- a/docs/net_object_class.fig +++ /dev/null @@ -1,73 +0,0 @@ -#FIG 3.2 -Landscape -Center -Inches -Letter -100.00 -Single --2 -1200 2 -1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 4050 4162 675 338 4050 4162 4725 4500 -1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 5700 3112 675 338 5700 3112 6375 3450 -1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 7275 4087 675 338 7275 4087 7950 4425 -1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 4800 1462 975 487 4800 1462 5775 1950 -1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 2700 3112 675 338 2700 3112 3375 3450 -1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 4875 5887 975 487 4875 5887 5850 6375 -1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 9450 5062 675 338 9450 5062 10125 5400 -1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 4654 4038 3900 3225 4654 4038 754 813 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4125 1875 3225 2850 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4575 1950 4200 3750 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5250 1950 5475 2775 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 3000 3450 3600 3900 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5925 3450 6675 3900 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2700 3450 4050 5550 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4125 4500 4575 5400 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5625 3450 5025 5400 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5775 1575 9450 4725 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7800 4275 9000 4800 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4800 1950 4800 5400 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 9000 975 9450 4725 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 7500 75 10687 75 10687 975 7500 975 7500 75 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7500 375 5400 1050 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5550 1800 7200 3675 -4 0 0 50 0 0 12 0.0000 4 135 885 4350 1500 Netconnect\001 -4 0 0 50 0 0 12 0.0000 4 135 435 2475 3150 ISDN\001 -4 0 0 50 0 0 12 0.0000 4 135 720 3675 4200 MODEM\001 -4 0 0 50 0 0 12 0.0000 4 135 960 6825 4125 ETHERNET\001 -4 0 0 50 0 0 12 0.0000 4 135 480 5400 3150 ADSL\001 -4 0 0 50 0 0 12 0.0000 4 135 420 4650 5925 Tools\001 -4 0 0 50 0 0 12 0.0000 4 135 660 9150 5100 Network\001 -4 0 0 50 0 0 12 0.0000 4 135 1305 8400 375 Rest of the world\001 -4 0 0 50 0 0 12 0.0000 4 180 2595 7725 600 (draknet, printerdrake, tinyfirewall\001 -4 0 0 50 0 0 12 0.0000 4 180 2310 7725 825 ftp, http, net_monitor, drakgw)\001 -4 0 0 50 0 0 12 0.0000 4 195 2760 3525 6825 Global variables $in, $prefix, $install\001 -4 0 0 50 0 0 12 0.0000 4 180 2340 3525 7050 shared with the module globals\001 diff --git a/docs/object_class.fig b/docs/object_class.fig deleted file mode 100644 index 44fd3fe89..000000000 --- a/docs/object_class.fig +++ /dev/null @@ -1,32 +0,0 @@ -#FIG 3.2 -Landscape -Center -Inches -Letter -100.00 -Single --2 -1200 2 -2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 - 2625 1200 2625 1725 -2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 - 7575 1125 7575 1650 -2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 - 7575 2100 4350 3225 -2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 - 5025 2025 4350 3225 -2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 - 2625 2100 4350 3225 -2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 - 5025 2025 6075 4125 -2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 - 2625 1200 4950 1725 -2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 - 7575 1125 4950 1725 -4 0 0 100 0 0 12 0.0000 4 180 1755 1800 1050 install_steps_gtk\001 -4 0 0 100 0 0 12 0.0000 4 180 1440 6900 975 install_steps_stdio\001 -4 0 0 100 0 0 12 0.0000 4 180 1140 2100 1950 interactive_gtk\001 -4 0 0 100 0 0 12 0.0000 4 180 1275 6900 1950 interactive_stdio\001 -4 0 0 100 0 0 12 0.0000 4 180 1875 4125 1950 install_steps_interactive\001 -4 0 0 100 0 0 12 0.0000 4 135 810 3975 3450 interactive\001 -4 0 0 100 0 0 12 0.0000 4 180 975 5625 4350 install_steps\001 diff --git a/docs/spec-DrakX-8.0.html b/docs/spec-DrakX-8.0.html deleted file mode 100644 index 3fd545447..000000000 --- a/docs/spec-DrakX-8.0.html +++ /dev/null @@ -1,405 +0,0 @@ -DrakX Specification for Linux-Mandrake 8.0 - - - - -

DrakX Specification for Linux-Mandrake 8.0

-Current team of Install group is : -

- - - - - - - - - - - - - - - -
gc - -
damien - -
fpons - -
pixel - -
-

- -

-
-  Boot process (stage1)
-
-    Installation begin by booting from CD-ROM or Diskette. From CD-ROM all
-installation method are available (CD, HD, NFS, FTP, HTTP) on options. From
-Diskette according to image selected, only some related method (network or cdrom
-or hd) are available and module managed due to size limitation to 1.44Mb.
-    Options are always available by pressing on F1.
-
-  DrakX process (stage2)
-
-    DrakX installation organized in steps (execution sequence described below).
-Steps listed on left side and help available on bottom right side. most of the
-screen is available for various dialog for interacting with the user. Steps
-execution sequence is automated and described below.
-
-Mouse is probed and if none has been found or if the mouse has not moved, a
-specific mouse configuration is displayed at the begining.
-
-
-Before the graphical steps, there is a detection step. It detects various
-hardware, including modems (from tty0 to tty7), mouse (serial, usb, ps/2) and
-tablets.
-
-    Steps
-
-      Choose Your language: step always displayed. default choice is previous one or
-English. After choosing a language, a license splash screen translated in the
-chosen language is displayed with Accept and Refuse buttons. Refuse should
-stop installation. Accept validate language choice which are propagated to all
-DrakX visible widget. Advanced mode allow to select other language available to
-be installed. Advanced mode allow to select language which will be installed on
-system.
-      If step is redone, the license is no more displayed.
-
-      Select Install Class: step always displayed. default choice is previous one
-or Recommended. Only one other option available is Customized. Two buttons
-available are Install or Upgrade. Available steps (left side) are changed
-according to installation class selected, where the default is the one of
-Recommended with Install.
-
-      Hard Drive Detection: step always displayed. In recommended mode,
-automatically done. In Customized mode, all modules that manage SCSI/IDE cards
-are loaded automatically and a question asking for other module to load is
-displayed.
-      If clicked later or if to the question to load other module the
-answer is Yes, a list of module is displayed (or if the question to other
-module to load is. When a module is chosen, two options are available
-Autoprobe and Specify options. Autoprobe try to load the module without any
-other user options (default module parameter). Specify options allow user to
-give module parameters individually in a list for all known parameters. At this
-point Ok or Cancel are available, Cancel should stop the module installation
-and go to next step. If any error occurs during module installation, a question
-asking to try with other parameter is displayed, the same module is still used.
-
-      Setup filesystems: step always displayed. display a list of available choice
-accoding to what has been probed. May contains Use free space, "Use existing
-partition, Use the window partition for loopback, Use the free space on the
-Windows partition, Remove Windows(TM)|Erase entire disk" (according to disk
-configuration => only one big fat for the first case only), "Custom disk
-partitioning".
-      If Use free space mode, auto allocation in available on available disk.
-      If Use existing partition mode, a list of partition named in Linux
-scheme are displayed with their approximate size in Mb and propose mount point
-to choose in list boxes for each partitions available on hard drive.
-      If Use the window partition for loopback mode, DrakX use available size
-on the windows partition to create a root file and a swap file which will be
-used in loopback, this means this is a lnx4win installation.
-      If Use the free space on the Windows partition mode, DrakX will resize
-the windows partition and allocate true linux filesystem (at least / and swap).
-      If Remove Windows(TM)|Erase entire disk mode, DrakX clean the
-partition table before auto allocating partition.
-      If Custom disk partitioning mode, diskdrake is launch. TO BE DEFINED to
-change make diskdrake use only advanced mode.
-Diskdrake show all partition of all non-removable disk graphically. All special
-partition are hidden, only user accessible partition are visible: this remove
-extended partition, whole disk partition on sparc platform. Clicking on a disk
-notebook tab show all his partitions. Clicking on a partition show all actions
-available for this partition (depend if customized or advanced mode) as well as
-information on this partition (depend if customized or advanced mode). Most
-diskdrake operation are done without writing on disk (exception are Resizing
-partitions) and everything is written once on the disk when exiting diskdrake,
-at any time if writing partition table is necessary, there are always a dialog
-box asking the user to confirm the write. If no operation are modifying
-partition table, no dialog is displayed on exit (for example if giving mount
-point to partition). General action are available too:
-        Clear All: clear all partition of the given disk.
-        Auto allocate: try to allocate partition in available disk (not the
-seen disk).
-        Undo: undo last operation.
-        Done: quit and save changes.
-Other operations are available in advanced mode:
-        Rescue partition table: try to rescue a lost partition table,
-absolutely no garantee to succeed and may destroy what could be saveable by
-another tools.
-        Reload: reload partition table from disk, erasing all changes in
-memory done by the user.
-        Wizard: go to partition wizard, that the partition filesystems default
-behaviour on startup.
-        Restore from floppy: restore a partition table from previously saved
-partition table from diskdrake.
-        Save to floppy: save partition table to floppy.
-        Options: global options available for filesystem configuration. This
-include Removable media automouting supermount check box disabled by default.
-      Operation available on partition are:
-        Mount point: change or define mount point for partition, only
-available for true filesystem partition.
-        Resize: resize partition, if a specific algorithm to keep data is
-used no data may be lost, else all data are lost but nothing is written by
-diskdrake on the partition data in this last case (this means data can be
-restored by restoring original size and location).
-        Delete: delete partition, if the same partition is created (same type,
-location, size) all data can be restored as diskdrake doesn't write on partition
-data.
-      Operation available on partition table but in advanced mode are:
-        Type: change type of partition, all data will be lost but diskdrake as
-above does not destroy them, and everyting can be restored.
-        Format: format partition, at this point, all data ARE LOST.
-        Mount: mount partition now, usefull for swap to increase memory
-capacity for machine low on resource that are not available to complete setup
-filesystem step correctly (problably if a resize partition is used on FAT fs).
-allow Mounting swap on customized mode too.
-      A legend for partition type colors is available
-(Ext2,ReiserFS,Swap,FAT,Other,Empty). It has additionnal features to create a
-partition or change its type (only available in advanced mode).
-
-      Format partitions: step always displayed. display list of partition to
-format with click boxes. Some are defined according to type of partitions and if
-the partition has been created or taken back.
-If a partition has already been formated, it is not proposed, or if it should
-not be proposed (alrady existing partition like /mnt/windows).
-On Advanced tag, an additional dialog is displayed to select partition to format
-(all available partition listed) and to format them with bad block checking.
-
-      Choose packages: step always displayed. default selection done to be
-correct according to size available, Install or Upgrade, Hardware available.
-This selection is done according to Mandrake first choice of packages.
-On all mode, display groups and main desktop used (KDE or Gnome), an
-individual package selection check box is available to allow selecting package
-individually. In this case, a dialog displaying a tree with groups, (Mandrake
-first choice/alternatives) and packages is shown on the left part, a description
-window for each packages is shown on the right part.
-
-      Install system: step always displayed. no interactive and display
-installation progression. include if available and on a CD basis a spash screen
-of advertising and other (pub!).
-
-      Hardware panel: step always displayed. show current configuration for
-Mouse, Keyboard, TimeZone, Graphic/TV Card, Monitor.
-At each values chosen (list boxes displayed a
-synthesis description) the current dialog is removed from screen and specific
-configuration panels are displayed (like currently for mouse, keyboard ...).
-And end of these specific configuration panels, this one is remapped on screen
-to be accepted in general.
-
-      Sub steps of Hardware panel:
-
-        Configure mouse: displayed on request or if the mouse has not been
-moved (so unsafe detection), but have to be displayed earlier. A mouse tree
-selection for type is displayed with default case as what is probed or
-serial/Generic 2 button Mouse if none has been probed. Cancel disable mouse
-modification and Ok allow next mouse configuration dialog. Then comes a serial
-port dialog for serial mice (default mouse connected to COM1 if nothing found).
-Then a mouse screen control is chown (according to mouse capacity: 3 buttons
-with or without mouse, need 7 buttons checking ?). Here Ok validate to go to
-next step and Cancel to first mouse dialog displayed (mouse tree selection for
-type).
-
-        Configure keyboard: displayed on request. default is set according to
-TimeZone definition (itself defaulting to language selection at the beginning).
-A list of keyboard is shown to the user and Ok validates change and return to
-Hardware panel dialog with enabled change. Cancel abort any modification and
-return to the same Hardware panel dialog.
-
-        Configure timezone: displayed on request. default is set according to
-language selection. A timezone tree selection is shown with only the subtree
-corresponding to the current selection expanded (as other tree dialog). Ok
-validates change and return to Hardware panel dialog whereas Cancel avoid
-the change before returning to the same main dialog.
-
-        Graphic Card: display graphic card probed. No change available.
-
-        TV Card: display TV/Tuner card probed. No change available.
-
-        Monitor: need execution of ddcxinfos at this point. Only Size, Max
-resolution and depth displayed. No change available.
-
-
-      Miscellaneous step have been removed and dispatched to other steps. "Use
-hard drive optimisation and Enable num lock at startup are removed. Choose
-security level is moved to security step. Precise RAM size if needed" and
-Clean /tmp at each boot are moved to bootloader step.
-Removable media automouting is moved to diskdrake options.
-
-      Security: step displayed only in customized mode. TO BE DEFINED. should
-display at least securty level to choose. level are Low, Medium, High and
-for advanced there are Welcome To Crackers, Poor, Paranoid too.
-
-      Configure networking: step always displayed. dialog always displayed in
-both Recommended and Customized mode. A list of network configuration
-entries are shown with the following:
-        Configure a normal modem connection
-        Configure an ISDN connection
-        "Configure a DSL (or ADSL) connection
-        Configure a cable connection
-        Configure local network|Reconfigure local network
-        Disable networking|Enable networking
-        Done
-      By cliking on a specific item, another dialog is displayed to configure
-some specific part of the network.
-        Configure a normal modem connection: display a question to probe for a
-modem if not already detected, then if none are found or probe has been refused
-a list of possible serial device are listed (in the form ttySx / COM(x+1) with
-the current mouse device removed if it is serial). After that a dialog including
-all parameters than can be used is shown. This includes Connection Name,
-Phone number, Login ID, Password, Authentication, Domain name, DNS 1
-and DNS 2. Authentication is a combo of PAP, Termina-Based and
-Script-Based (It seems necessary to get CHAP back on this one, no way of
-testing TO BE DEFINED). If no DNS are given, the connection is configured to try
-using provider DNS. Ok and Cancel button are available.
-        Configure an ISDN connection:
-Try to detect some PCI card. If not detected, asks if it's a ISA/pcmcia or PCI
-card, and gives the list of the cards. Information are then asked: 
-Card IRQ only if ISA/pcmcia
-Card mem (DMA) only if ISA/pcmcia
-Card IO only if ISA/pcmcia
-Card IO_0 only if ISA/pcmcia with io0
-Card IO_1 only if ISA/pcmcia with io1
-Your personal phone number phone
-Provider name (ex provider.net)
-Provider phone number
-Provider dns 1
-Provider dns 2
-Dialing mode auto or manual
-Account Login (user name)
-Account Password hided
-Confirm Password again
-        Configure a DLS (or ADSL) connection:
-The user chooses between pptp, pppoe and dhcp. If dhcp, redirection to LAN.
-If there is more than one ethernet card, The user must choose the card to use
-(displayed with the module). After that, some informations are asked:
-Provider name (ex provider.net)
-Provider dns 1
-Provider dns 2
-Account Login (user name)
-Account Password hided
-Confirm Password again
-        Configure a cable connection: redirection to LAN
-        Configure local network: display what has been probed with a question
-about using another module and Yes, No and See hardware info buttons.
-No is the default. If Yes is clicked a list of modules is displayed with
-Ok or Cancel buttons available. Cancel should go back to previous
-question. If See hardware info is clicked a list of probed hardware is
-displayed. If Yes is clicked, for each ethernet interface, a dialog asking for
-IP address, Netmask and Automatic IP check box (DHCP/BOOTP) is displayed. Then
-if DHCP has been chosen, only a dialog asking for Host name and another for HTTP
-proxy and FTP proxy if any. If DHCP has not been chosen, an IP address has to be
-defined and a dialog including Host name, DNS server, Gateway and "Gateway
-device" is displayed. Then the same HTTP proxy and FTP proxy dialog as above. As
-network configuration may to have been reworked a bit it has TO BE DEFINED if
-this is kept like that or not.
-        Disable networking|Enable networking is just a way to toggle
-networking on or off, may be to be accessible only for advanced mode.
-        Quit exit the network step.
-
-NETWORK ADVANCED DOCUMENTATION:
-Here is a list of entry points available in post install without using the ugly
-install graphic toolkit:
-
-http://www.mandrakesoft.com/~damien/html/draknet_advanced_doc.txt>http://www.mandrakesoft.com/~damien/html/draknet_advanced_doc.txt
-
-      Configure Printer: step always displayed. In recommended mode, only
-activated if a local printer is detected, else no printer are configured by
-default. In customized mode or if the step has been clicked a list of printer
-already configured is displayed and the possibility to add or exit the
-configuration. It allow configuration of printers for both LPR and CUPS
-individually (available by advanced mode when adding a printer). Printer
-protocol managed are local/usb/samba/ncp/lpd for LPR and
-local/usb/serial/samba/lpd/cups_network for CUPS.
-
-      Set root password: step always displayed for Install only. In
-recommended mode display only a Password entry and a Password (again) entry
-to select the root password. In advanced mode, a Use NIS (yellow pages) check
-boxes and Use MD5 check box are available. Ok validate root password and "No
-password avoid setting a password. No password is only available in Low"
-security level or less. The length of the minimal password depend upon security level.
-
-In corporate firewall :
-      Set admin password: step always displayed for Install only. It only
-      displays a Password entry and a Password (again) entry
-to select the admin password. 
-The length of the minimal password depend upon security level. (double of the
-      security level)
-
-      Add a user: step always displayed for Install Only. In recommend mode
-display Real name, User name, Password, Password (again) and icon
-choices as graphical. For customized mode a shell combo is available to choose a
-specific shell for the user depending on the package installed. The real name is
-the user friendly name of the user whereas user name is its login id name. The
-box display user that have already been added below the title. Accept user
-button allow the creation of the user and Done finish this step. High or
-higher security level implies the creation of at least one user. Password length
-are subject to same restriction according to security level. In advanced mode,
-allow to choose the user in auto login mode.
-
-      Create a boot disk: step always displayed. In recommended mode this
-step is automatically done by doing nothing. If clicked or customized mode, the
-user is prompted to allow building a boot disk (default is yes). In advanced
-mode allow selection of floppy drive.
-
-      Install boot loader: step always displayed. In recommended mode this
-step is automatically done. In customized mode, a combo Boot device list the
-various boot device that can be used where the bootloader can be installed. The
-boot device can the Linux description of the whole disk available (ex: /dev/hda)
-or partition available in these disk or floppy drives. Other platform
-specificity are not listed here.
-      LBA check box is displayed in advanced mode (enabled by default) to
-allow using LBA addressing if available (PC with LILO). bootloader combo to
-select a given bootloader to use, available choice are Grub, "LILO with text
-menu, LILO with graphical menu. default chosen is LILO
-with graphical menu. Delay before booting default image" entry
-field is available with default value current setting (upgrade) or 5 else.
-Precise RAM size if needed (found xx MB) entry is displayed too,
-clean /tmp check box is disabled by default too.
-Boot in graphical mode (init 5) is available here in advanced mode too
-(previously in X configuration). Video mode combo, Password, Password (again),
-Restrict command line options check box is displayed.
-Video mode combo list text mode and video mode used for frame buffer, video mode
-used for frame buffer are available only if the install managed to boot with
-frame buffer activated. Password are restricted according to security level as
-other password. Password are mandatory according to security level TO BE DEFINED.
-
-      Configure X: step always displayed. By default on recommended mode,
-everything is done automatically if possible up to test of graphic card, and if
-the user accept the settings no more question are asked to him. In customized
-mode a dialog is displayed to choose resolution, color depth and which version
-of XFree (with 3D optionally) is available for the current card where only a
-short description is displayed. Ok button allow to jump to test phase (for the
-first time only) if available. Cancel return to main XFree configuration
-window allowing to change Monitor, Graphic card, Server options or Resolution
-with X version to choose. Show all extend resolution list to more resolutions
-according to card (with onboard memory) only and no more monitor capabilities.
-      The main dialog is a list of command to change some X configuration aspect
-according to advanced mode or not :
-        Change Monitor: display a tree selection of monitors where default one
-is selected. Ok and Cancel buttons are available.
-        Change Graphic card: display a tree selection of graphic card where
-default one is selected. Ok and Cancel buttons are available. If Unlisted
-is chosen, then a tree of server/driver is displayed containing available server
-for XF3 or driver for XF4. Cancel return to main window and Ok validates
-change.
-        Change Server options: available only in advanced mode. display list
-of check boxes options for server currently used. Ok and Cancel available.
-        Change Resolution: change resolution and depth including with X server
-version chosen (relative to Xdrakres too).
-        Show Information: display an information dialog showing current
-configuration internals of X.
-        Test again: restart test with current configuration of X.
-        Quit: exit X configuration main window. Other question about autologin
-and window manager to use are asked on Add user step.
-
-      Exit install: step displayed only in customized mode but always
-executed. Only a text is displayed with a Ok button. If clicked and some step
-have not been executed/completed correctly, a question dialog ask the user if he
-really want to quit now, default answer is No. Advanced switch let user access
-to do the previously Auto install floppy step in DrakX < 8.0. This is just a
-question asking the user to generate an auto install floppy automatically.
-
- - diff --git a/docs/wizard.doc b/docs/wizard.doc deleted file mode 100644 index 0bbf8d254..000000000 --- a/docs/wizard.doc +++ /dev/null @@ -1,31 +0,0 @@ -How to handle wizard? - -to switch in wizard mode: -set $::isWizard to true; -if $::Wizard_no_previous is set to true, the wizard won't display the previous button. Usefull for first step -if $::Wizard_finished is set to true, the wizard will display Finish instead of Next. Usefull for last step - -how to code: -Code as if there were no wizard. -OK button is displayed as Next -Cancel is displayed as Previous -a additional button Cancel is added, xhich die with the exception 'wizard_cancelled' - -You have to handle the previous button. For example: - -step 1: -ask_from list( blablablabl) or return; -step2: -ask_from list( blablablabl) or goto step1; -step3: -ask_from list( blablablabl) or goto step2; - -etc... You don't have to handle the wizard Cancel button as it send an exception. - -Understood? If yes, you'll see that there is a pb with ask_yesorno. In this case, yes+next returns true, no+next returns false, Cancel send the exception 'wizard_canceled' and previous send the exception 'wizard previous'. So you have to handle the previous button manually. - -plop. - -dam's, pour vous servir - - -- cgit v1.2.1 PƊ~"fyK)+D$ lJɖ,J8$b};Mb 0Uf!`V2(NQ ~LguA\A}kPObI۶#xZKɡ,P&[|gy !_J(+`;s1xGcoL@)RgGX̳9w[2[<( { QPy _]CLh)?3Kf 8OrZ~օ8hگq-{{'(" guˡfD|G4ŗWJ3i`JJqJ  i..NZ9g mq5'}ɨb >vOmD<̓FT-~/O2:__֗To¡M'Ӄwu&BjϨjߊ)R쏗~#x6w>6/ ǭ5{ +6a̱$t8?Vƙ^NWc3{?kfsw͇]?"R,ߤkb_Zz' Z* Y /qe\0Č;B㑓Ȟ=ل)+Ki `H&md2fN1@+lb0!9 vk|C}ɫE7)#cā)|<&<{+!-NDU,!ȀlNf#`,Dq[v2ȁ6O@bx6dؖdN1 O2u[ 6콬4 {97(mXbLCOfFdý1IHV7;,>+@_@Q9{^䨵*OIk('C:DFOS|{%f-[gBUa Pѡ36PzKY>#"sƾlX^3rYѦkzјW\Ŧlk lV(,Rt=\~~xg;ZzeQ8:v|'ȓ;On5 6ң>w0B:!gpDἲ>0aO԰|Ǟ(/WvD>}],DQ)x߃BR Qzh܆oɽIeCӛ5bԠ\D?:$@Ƴ>0]0F @?sb:HU1-vUm@UC ܝƼ 2cq!Iz*"5yCuےr0 8jk#=撂pۑ&yV̴5fX%7NoNxn<+쟰-3*AVѢƿ5޹USrsb%76M l]mJ9Dw3Wv%*bOrdY2A_oK%D#!{).iGITgb<ߊOh[&Bb%+qJn/R!! L6_e:qyY͌m/(iX;}@S(T$﯏6.$i(d<@eH/j+Z91V;"&(iQmP w]&Dvfn(aX̮?x9C:Dk&GJQuEؼ}нH_;=SEA(pLq7ؓK1' &hGNh 8kdAm!77X G)$}-R_P¹"ȭ`Ά!LwxSo&FH;o ;qADK{c쿁*,s|8SfJR֙KMF(2 -Z~;6Ճ%mq\?-qVy,#u]}z"c)P ~`+&Ἢ *^xP K'ik"BH2M.@sCy٭*r 9&HU|~B=30A` d>U:v)JĺjC:5Ac>TzcN1BB&xyH%ԃhBkپj0[JqmEaHzBq+ g( O&0> $4)\.13zr&H\{ k ?oH[¢7ȅl̢"tP5SL 1{ ZiM"ֹj#H1/8 p+"ptYYe!qNdlv '(N꺥Sl\g}s;}&;g {0)y؃1 {PQG4ij=ALtp[(?xR9>!&ZK_IO M7ք/'܆CF`Ϭ_s9ލYIq`7# 4%>C/ѐ\>mQzױ_/m;%;p[ޙ'[Xʐ >Wblյ>Rb$cNJ.EVxZA@"k*?ԲqdžXyma(}Ar u{<|<+W3 \5XbntMC Nl^{ZI#?𿾋DbL&rysoAjˢuZɀ!!%\aSk"$xX/ۼ˘B+z?l/DqăaQ.J˧_ {cb EkU\^DkY314ɽ3Ȇz7.;8j~<Ru$kOy ))Ut:L*#g ~ Y9*Kv%5&H x|I T#Kh~3M)3i"Z14<vTe)mpaWFT~N^O[T@JF3x릒jP̨o+X2&cchvZup1lܫ(DWDGZS% .T6q$gc!-0DtiP3Af$oJ $#vu_Bo8ɗ9d e2Xe `@I$ 3|A Įe9IpS.tGZc쬢)wryiU8 P׍33i…8 Pc" k?l$#_ Ip)y),81}g/WN6\//Ӹkm q fUGA憜g-5A۰tYR2$[B hNu[;quClTgEBfN0VTiMP \Riu*/>?hol_k3*,oA^ʞ~D?a\\!֛M`HuWؤjKVGURoVᖣ桎Ε{rs 5Dv(یi Bon ) iϪ|]hH0) ?j2ۗʤ [JS㗙I`/CU 6܉d![B!bh1!e?O{]_Oiߧ @kH(kGq" DOfN3 Mi0[%{OPo\cŗRV(DC5% oʝ}v z2zq/ |gڎ*YqMOuieL"1P+"\_9&-be?mAk{kb7nsNcP˹d4nADL2gj gMWfhww4xM,e͘}e7Sk#=vYZjֻj* {Nrʱ="끵dg`57@?gj5q-ȵVao%L[qDPjpHc;`A&,pgl;\יz V2?6.RMyߔ; PJI2H4q@!-hfi; 1\+l( pW9N1(ƹ4}h$1_@WQ˕R̠k/FC 3<3}]Η@93E>x͒,Ft u P}U7>$6cɣV.Mא}Bj3?k9#8֫ rTS =f#s#P<5BK=Pa[^x:JR~Ӷ7ކSº&נlysC@ec.K+3Zd7'\tFֽ7r*ENi4WI0G3vӍ)Z,<1eal3JK8^Uy;p^-!\!SMʔ|uIW}4fe_<^^b/ ?arR)n-ЛlJ^ޢpGTo<﫞Iؽb' Z lRLźS@.9ߒZ 3\ ÌOB{'1l) !JG6:؃d{W/th 0B^:mpE0gzBX"s6)R߯dHmc)+ l4R4kE.>Ж!%k)!7dQYs@&z"9+XgxLWY&/ _ _I\'Sfq؂BM 9<pz`K'\ ,ǿHAѴ]$X0҈: l~yVQeA wrm K݊72Y ?YpEbtт}F Ncɦ wZ8<g~X:+El쪧 fIW2P(r7Bm>t(-j/i!QQTL.8GxFhꊘ8i̩0O׽<^;8[|ҝ`qIŨ󟘦D݀\/;Ӵ a*>c3оvQaq(Џ8xh(mx? TH pZ d<4OPb=TD)6uJ!WLqMKr;1 +A) n(e՟-8 `7@Iú=JNle`5"QUo6=bK"҉UkfzA cHZUGNjb72|r`/ey RdI:`pq1TiǮhz"Tmwj{@ .W#N#ӳՐGN6Y Z?c~OcAK AڛS!/Sˆ2o"'X6T',VgK&_CJ;1?)[Ǝz0whOْ8iue@D!yea7zv c瑥TEI#Ϸ=~wuKt؋y@ c#aPq#!B10uېC=vB݄i1WG#P̻<_$>aak50Z'ݝ5]MrP,| 쨑zw٧f`fU2p;%_T&WVPXUMnxg1 FէgG2{s4gHQT0#ѵcRx)cʏ \&yCzR}ؐa'+1$0Ϛ2rgY[P_Dӫ.ds,6]c , \ϑmybx DfptCCۏngZ%Eoy pIFyVRuٰWSǞWڤhfsbpH; TMh[wDuCΒ;YR? O(FĽ@(nvƂ"+7cwʣUN[T֞&o2D,J&YB $WBxb" \ b&2-.>>Kʰ_3ҏYS!*]Wo"hXZ5`2:wrH/Qh8v灍jKcJ OnXV4x1FTV ws)A>AV7)'N$O~a[/8 LJiz/?V͎8{C"u<\#꼰Uk@ OG%ttX@#(r6f]7fƊH+1L3axe @T[/@Bɏe,:+WO-X:A"otug5TM{o $ض]0 {Nߩ%pɥ5u&2־7*ϱb774i@$Eͽa^{MaZ,/KǺ{]_L%Y_3h)ԞRf[e) 52}3h4)&m>u+/918z[{״M!\ޝΩb*>ɯS &otɤs~mȎt HֲpY?p&Z)R : kW`yK bC ;*Ff`r(0,y #oEuSL"׮ܶnОN{|F9 VfCYHGuoKo4dk)1E%tʬ'-PJmClۦS@u ue$Д).Dn뱤f"St `ezMI:`S8xST;ϚF5{$$}gӍ< :V~{+ِjʍ}^M:Ӎ";{ێEޜ>^j2d@J0nBypz3;7żDأxVL 3˻arg!sM3:9]DWmG sN;n)\{^Exԫ@N*_>³^z2;xY(0K!Ebh<- k։f^o縐E> JTEu%T9wX~@E߷M_ yvuy)pLqfnv5֘YZ:nU h4F7 Lg !Dce* B ʾ>sx!N WfZӎ8B ip;3C!hY{\5OALPp(Ucp,"6)ȵ$}̖-Ddb]ڻ;Զ:y5.Hm9Kx˦z|piAu Uo'3..@kTX;UE ְ{ Ү[ T1WԈWq+YcΜY[˃#P&/ Cti0(v*.- ©׳렆n@7\˖ؚEw}@l8c4 NWtK^hr`g`Y.qͻ+PPcO7M{ê ޟ¤I6rx#qʭ#]6FVQny +sJCW.(j[ٝ9lZ\xş7}7)99eTN4pӰht#G`P oKX"t~PdZ9 BN`w?!#َm[CAK2;ƖKX˯4auftΈ.LjkY2Ĭ~ȥR?~ʩ4'.Пr 1kLJv,4ݖCRA$ϕ70Ty+Tcԛ9BX@ !WDlg~}D9D&᷀ ځӐO۱R1=yWYX!;WA(IVAG$8U뷥g 90H9v5Pj }͓~AP7Wy, b3,nV0`mo{b<~&kp5gytkq" 1.?\CV.9TáWm؏ Цzɣ<+lo$SqiAof%mٖvQ3mo]*1X?Zѥef Y:p6bw4$s\yGt<OQf4PVDf*y5ݝ̲Qݓ:*:T2əDl<VAz5aM@9}bOQ3rkQS-f!D`^uZ't܍C c11 呭:>5W@:L6?NmHG2ӷ|q+bY[żDu1|)"!Y1> srL2q jhFNK&-W R-,?&(oqc -=>wPt9zr҃3VSy҃ q#d6\ǧV@ĕqym)Nx%w.YmxLpt /)`U+|sgo5Cw΄n(7,7:>nTļߧ'=/=vEU&-n&Ac*KI4YoYt * ąVZZċ~FJ~0ϋp.'2< tOd򁫥ABU?ωeAQL*'l6-TTdBƏqd4<ú|cR̻]+7*>C ڭV|yn8փ6^wƻJDXoTx=<2]#JZlX߼#0ƶ =2-ߍO;1?#U>n  f{{@TӮ^#$AJ7`<&G: xkݝ@Mɦϥ"my/*^&^ > M]Bg!D&$X*cSP1xC`C/ zrCvk8K5D(9:e/ uOçGLPGp֕&W}lt,A2>{+A1$Ds h]Puo=V^M#Ѓ VyuKo&+.Q=sM79>66Z>\7>Xc`H|R *!-8ĴM`Ic&ޱU58wi&дl"EV]T;Kyٍs30@Uk;Iz6:L྾4,-%2?'g dbP˥g0_G 9T F|'<2O*j B*ǏOqg$A.]&UAAčdx/t1\t Ǝ>P/G0A^iP٦N9Wkxh_F*-EpMUNOB$=% R0+A-VxeKl3}n8lce`NLnXۄ0,, BAd&1I"Sbkm?y,~ vCxZ4aaЉ˦#x"og삵h7C^}Ǩ0s:Hjv)KGd[{ 0cmԃHX E9L6C>O;G2PΏloenV8F w%kT;r#,kOR²L=iz'S@7J|DHSQ,s5h£2ȷsya{@A0#^FG2c:TI/6w8|nհz{1ccB8gd׷T4#~!2kbim: ?6p%bc;LJh w+龨<#^I;n\VMfff%JN\xnDB -uv$(#G$[3xY{CZjS}A3+Ghi{k lk* $i -~+HJ};&?WX Fs"VZ(%dV2[/@GMc]dQ/,v8LekgwLqB =t/:(}yj>A䢦|="٬DܑP5I]h<`٬v0]-*`+Fjk8fz[wc@xY0j(>v};A~A=L%$ D681ݤ~ZbioJC}ؐ` gGA_V0I{~83@2j0ťivv2Az, 섾V2?;y]N $&Y~McL|߰N(4q,rC+~}oiԬcQIMhK'`_6O8p1?`9vVQzaeO{ Zt@9i_Mrk<̻EDP/9*՘jO w8Zm1<(l\yM_eV#)[U5$i(,fl[kzEgӜ ,ԋyj*V4Hљ5%`<#}Sٗ-au⛡t%RNSрb RՊv0ϰ JEMjf۞ue .youvSWWT!k )uu!qˢ< (wbh+ąaOpoO$ ӬP8<s\zOAYȜ<כMktƻ3I,%o[X(&43hr*Scs]QO+I2+l0%L S5٬* 쟶o3csSf%8햓#]R5h:b] Yar q*A{c)7l$d+CQmiŇ>p}{@PrH͟PeT(f+oooX.xI2W>ЖhFnͽ1"]t>Itw鎺|3Kq,eHӦ9 TމeRD*L`NeK^CF/\Kp C4$,BW ;iQ +,sXI,{Ƕ:qS8%O]y}(%Tkl,SDlAUӀ9`K\w>405_*眻j -zj=*T:[|Q#SZ_+lbaXg?6 b2"^ T֣\lߺ2a,g_ nD>j/Ǥ,N8~t+DUxrn79Hޕ~@>$5J-ښY [hV??G191jA띃={$U4 NφE,qxhe!&]E RxX ߰3OTS E/"b5H"́u8My[?RzcӉ+o\I«.x;]HM`3YOpWIk 竹ߓ$xXh%>wyOZ{ˇn@0Rȿ S{5t4f<0- ]bEFJt >G5ym\tp`FR*my$Qm]뚃n!4O(Â%d2!c0up16_ɘ&GR_c92`G4א=)v0çg}sap`UX6R}A3rs6:/pH*Pʪbɦ(/O6uU| zjP ]I<3waFk6=R5hS j[+h 8 5] f/ `Q] G+;WSm;nNy׊ӶjvG=i޽ bө sI!7k IHX͹|nlm4H\߯,ڃZh863*9p/Y52/}<(Րb I d߂\]NUlOVA+T.תڰ;C/Qu7؈i1-z-?@nU2`F)_ǖ4;Hڻ}fG6ZhTk|w!|w ̓5Ei>U?ɂ 2]8bܣ1^E!<҂Β&<6LWeen3oS 8`=b]\8 %FsLEтi 41dyߴLLXެ![mwy5>x)4P;XPŝ3˩KgH#r r3h\XJ[| e`l1ˆ7zVxPgX βkGHaxXc$.Mmg;|}V@T`ʬ͇y2~9W֏t@ÈA ES$'^ wtbzuU-;'WL޿5ϵӷsj#Oٝ(cm6LJ 6&CC%G]P| Ѩla_:U bM;ݍ#׌0{,vKְ?K`3g>|p%ޚA),tu4T@H xl9qK(585ih9٘}T}_jkFJp|Ҕ s@C߫:d]) f 6Q 0^yOk؂`@٘F=RDd&1?a1يkad蕄>CdYp!}GHnP'!v՜9|Z/H;Wrڥ0 e`AKSBo/;YF# 9#_:wUNj'Hg.(B[g(b/jAY_@4yUrGln#c3Wg\U.`)B&龍78M%W,ҤaE/GHxUSY+(Xς=]) !p;:|s8s': ׾}xue08j=A0(p842='t62Ea<a0;`W Sc0PvײWRg0"!٣iv"W)9F:Q[  4ԥDUIN6%:N`)xP [c^Dv@{gt0$j oV/a,l)L.v H~z'%\Tic6M-55yz۽8Erv3OkND%K\12C"Yͱ0).&>p滑V,(SgI4L.ޓ zwi-bdXfKzUI,ͮ8U3Zp˗AYҀAPBo*~c\R) ],IN,VFa #ȏS9T=Ϟ2NF[V]hGLF 3ux|J] Z{ ~3Y2|{L,K2DӯGm˒kvWpӣ 2[2P\8桰_1uF@M8e}Be #.:r嫒?<y[ܺl=ʯK}%VYmeT@T+Xmwpow.k*1cfls|>5J˅h;P%L1:| ^g+E OumKf W8ui!9:P +BSluXi)V,|Zf&tOdSn9!H(j7 MԬf_ZL)ZYGliG5y- SvG޿ ю'xܹP5NBI ;< ?U<\ ?#ˀ^؋\gcvW(]{mE42D*١e^b9uN 8MHp@9x¹͔ #,T׀d`h5&c*ȚJ}vܺh}[Em1ēl]/&)&tV e}x/ݮ3PNs3$kZ= wj,կ 496Rlm^rR l1i,R]yX^~8[P-Ye,#9;h/AL 1 #n/;Q8\z]wML4qzfWUX0\Ӆ}e{C@Hk~]a|UW_ڪ[\iBB]ZlX-xmALIZH$qfmFQtX.}S,R-4P]fW kx9 SjmoT(niiav4鵸.T6"%&O:G\r5vJ3]e؅X + {҃_}1z u8/".F|st=D jkoʳѺ)~J2ip#il9@n;6a5*Vv֣IȀ<q5tc@=NգOu=|0C.hJ7% vCUv(#r4>jQL&XyavC[#R*"vYi$myL&͉0=Yuێ1tả>v0LRߒ&ETj36!*X'~՛i0Oayl:Ȥs-f|ZPFD+Jbw`Ȧ@z!`^ܜ T(m,~QRgn#H; C: γ"۶?/Dmm|T̗f)á֫h $mUADZdLˌ=ncbW l|(3gO{?!mp) @PzV-$6V}:7L/XvPנivU]*D͢l~u%S<8u16亠} BGϷ9UKZf:A+][|{:'q;LUhUp[ EV@3;Kݛ^kh#*n<ȗz@uO//0p21 8AJPeȒ$ X0JP8=7ݧ$~غs^=PcC.BlgXi{"f~z"h(I,★{"KŴ{Z =!_Q }NHSf9, &mPBG w`Nn̆c .ۭ SH{q)-n 2w{5T4̺JͰg66Srh ~[ wm3':A76 WLna.;ese/K1>%n˻q)̉!&ihct JuBA3O~;U+ʃҢpؙâiwi )΋~o N R[dF@^ )H%,ʐJ$Ag+VcWa_fA+Gޜ<GaRJsvAH I@ûJ:tCn*<`'#mX3 ?H=w44EXKc-._"BtuO¥ySkam5lEvrlNVaI4Z˼4 nn;-rw=2EFc(CY$$ggNb# 7-15+qgJB\ӡeob5q*,Մly[]Y#j¯pB2~}\j5|I|/(kh.Q,U| fHw6)ekUxr\QGŸ!5L4һ$bĒ?u3 ki 2~4OHՄ\݃iqfmq[:@:BFDLףa-{_o qeW̰]z T T+eehGJОz`wct0xӮ K>4VʃV `_)_9X`kh7[JfbI!Nr"@!t󮗪wR7).l,AOumWLEbC48\ȿ"cWKh,%͗c`gE|q/} ޅ0 f=+Kd+T$;EZa^ɟį!2kU_dpItaZś"VXK1ky%fnfd 0(|Os9*wР.vQ%i'i %KVխD/ !a; Y&dXO|sHU>h#p4wL"iBm˂N1^%:ËpPdq tsohڄMVnZN^qSĿIP$@RF\.ip7ӲS\y2i2Lt~-0(ŀIb3  ͦJGE j%1F-!!|ew ^ja1P/Կ0Q1FĦbʼnAp~H׍.fߔ?zJ/~L"vr5 5y!̫O탼m ,Q5#0E/1f?4+Hbʨ9W~b9u=Rv =)+s(xu.O-vD46LHO&%2^6' ^2A H mSKgH6 !A~o'dZY<^`3(31ZkyT6YA)bO`}7R/p<]$Jtw{G!JM<= ˶rF͡概&ya*-x3g)D,va@D̼"6t>ɷ-Ydgg΍H IJdoA:v МJ$9ūKrڦ#=mԎ(> 34|{\l!3J[S/vEM[`0죰߫~㙗 'nb4E19{\;}*By)r8{yAQ&ct` 1sVZm&h c  sAJdL#X_pJ? a&Ei܆]shbr9݁~')/#]mnU -0ikH( FÀBl̚% 5XZ;Wj(Hv9o\})_ &¡a@@zZ_IslJ ko.jegV,%mqd#U&_Gilm<#kfwBf={J.`'Ƶ\8 gJPv8¼D =GO4S*ŕ/%*$4KZQp+:Lч}p7C"rᠿ_^FER b;ѾbRWN pnSakúBNg7,1uwϝ$x$, ăorpv ?")(5IZdAPMěa:F"&@ynYq $TJ䞎y"nˋcغB*;1pCuO? 1vI/"\beu<`x6uu\hH ǹgF\V;wF 94J2T1\8<R7Xד-(_;+dnbfum 9D Ӊo*K#Br2viěy{MX`v~|%(2mPnr%ar?\6 _Z4]~ ;m@E8w.0f'~h߻4?@N? 0dUp9[e. Nvy36$+7l`d)>_z٪l/TE"`bdY*S_RJN>xaf@oa%;Zi LfB8.Sz"!62Q27>!#ZiZfP|%_kG#[lB)jηnOW.M Du5fp)`#U{y fz)q@`Е7L+ԞQxLjaʋ>V_ish1Vgao_* c(oٰ2$7k5$uX7'JN2P:/j<fvIB&ci0bhȺd.íc >WU7KPͥgZdXpuguBИӏ҉4s`w^Gږ+jFm `l$N@ =Ocp@'Ml]^QRi5FqHVcxvI Fj8.3 j{y$kitQ1dzrثIyc>!.@t`ERc=d&M4mnG Xǝ.=b"vk%ՄfG*q Zg*q^؈.e{,JI2VOV).& jUb>I;ߏ6E&R$zT:ECeN}{{Cqa}'e悽H%>󍞦--@pS֡Dge΄RG-'-Шi=m*}PB#{y1Bye㞪eNAcX  f->}f/Vq>뼃<Z#l(bA=~DcW X GoM<!W$C 'jӤYJl-n~WAo{MIxn/y#ji}7Rf=G@ۭn# eq_ A3 9 ϠPydājF&Y~KP-wW.XMu\7nK)H8y|Z3FA]$Of~w^ yG=c0+[% ;αS#}" H] @YܘOQ#]o& W|X`Hq˩oj[a>z6rMwwJ)4~9(AҤ&Vr榫ȿ=O#;:)XigElJ\0'^$dݵ0u +y}u~wUJ|j ޺"{!MeIM!:Ozױ&q"q=wrc-R]ݺEM4(ʅp6+y^~}绖HDxdJII𗃻9yeH9EY$S@mbwiɳt,|m?yLxloDk߸ }1X Frz%l )0({SvڹD&b:J߻4zU2pIKQKvJ?Ҝ@ۚ< ^Efp L F $oRp' Ɲξy⤑3hӋV %K-FUD3^}Tp=xfJb1mxO.EO ڃIyjugsv. o7 *;;j9;#8E3<[DXE]Lم=Z3[?[g~29\0b>fO[ºfӋ&HD9q:e R]y VS)' X/r @Ѽ3ց\ޛBIj'/ps8=wLRhM݁Ԡ[7!|iK` ^$zM|'o*qC8jlw,7᳾/a9It/-X|K.wvaxxЅZz,'(KSBQ*AʴCCZ1?73 !h.:j[x||1R,.[~Q["e4QԬIh6[2e­/2p(~/g[u'~ 1pxL81 Vamgb`п3I>Y͌l/-[e mpvQ!30s ,Ր Ao朣`(uFf5*Q/הd1c"Vg$xK4BUFpWԊPMRZTHq+y7r>ƾ:66JTf7_]yĬ7XHaƵ?1ʭj ?4bb(Sqæ91V=,e0n}i'[n6Teƨ9i*'*\&ےbi!,,0ɵ}L6u60@Zk J;Qk*f&Xc7 X9H/L5uB~dXLtPCHrwu3#O?mԉKҩ#,c\(z=+>Ns b Ρ| KQ-[]֧Uq\α֮ɿ}5?[K;o ݊eS, >^1zD'оV  ޘC^9oMe Xuaf[nTK.Ts–I݄6'}AZ#ݐ$F.FXbjKiwˡOT^wĴ=Έ/BN'ZI{ "k)0nPB/d&!>e.B'٢f=oҐ~%…{ZUF渘|Z5gUJ'_ݘR(_(xf1|FQ n΃o ƭ7؛zҷdպ'|\2A>H;ڵ{策ʻ鞬"sg acoU_r#L52Ӎ5=5~ !`^PJg*Ƿ NKl/fR#`MW\ex#+8`x`6;a%ACij-J,Ō;q3r-5ߴU!h^8KXNFh);pO7~*H= (# qG) LeֵC/ro`8io40g‚;ئs CQ)7+!zJ>)LMl p|Lm>Zz5RU|e&>4p9>YMWM?0A9C,@q <4>޿9K(c@<4ӂܰrm(MF89l;Fj9>~6dW/,eZ W ްuKDs L$ee.hD f.3~bum|dXb,gMk`D&Uݬ{bxZ4e!sNave qS t"\6#$>5ñro6#@؏#]Ӟ!0MUB7g} XF㾚-@%{*nn#.?XWD!TKn7se qDIY"G,1t11MI-3urMY!`r!wXwF[5{XM3cjH oCОlʊl!s~4Þq⻷pҸԎ=:nC w՗5PzesawFڄr4|qR0D۷'c=]DkSp:$ú䤃-c78}t/R;wg->@iedjq_H-]*&i&yԝ:dێ75l6{q(S"ۺHġ@}I1 [yXS%o~?iR%h4hwP?:-_8 s8 [ZNk8n~ Zh2$kӹK[>[=Kܟ6Ψ-p(o#_.-2Ip2\aK6kҼJYr3"5=~#ZL?X.($Sqv"`]/ 1O-RA9Rra!)Ac_ , nʓ4]r;)r\ȸ\W3MKevDYK."Ff{-'&Ay?P:~<8SbXhSUӮ_\\Ҵ9Oޯ%`{.^!%OLkM@s HuDn'f>խ==sChP+.MT?lO.~;q\#kxF3 iY8QX5_%EH3?_HPTHFWz >}}}x*D-+j ppy XYkr,hs.o,$uo)eاʢ^tzSx<%#Vtxwϲd[3]𾫞pCV9t?F,c!\?>ߏ.͹EL'NopRt,Ėoـ֒_wb: kI='kU^|C W.&{@`h#4#7*CGHP~:f V[lR"tb܂Hhq^hAJ]u!M*DRMf.Hqĝ֯K YݖOczmQH:WCJߎ,?-W"{䳬CBT3n}|mroQX-3 {9(;uU9PM|hH>;ˋO̫GUwYA]Z--7K V#y1ؖo(s|o $ljmo K`g`R)Ʌ U\9cC\[}.:%B0 ~Hr~:%^+ΩLaeg8?fj`5JzS:"A2+ )&[őhg`nALט8 d!_f+ubā|#he'0:{tlbͥ/}gm~xi`]&%4*mp'8^Å38j Ye Nn gkn^?f88eI @[`j Q!!} %"T(U @m*7FFAov1${SkNc4Byj5lV\eQ ]f{< OFh4`>2IgI=q9=g8t-ʠ2*P-O<N.!d<Y z0x;;[,) +/8.8 bo+X^\P:Jɋ|;P>l۬Tc}u5쀛QClU yE^m&a1mSRW ƭq﮾^Ga nmmHJ  uPC)=!*n ]wgQbťpxY8yѮ&|ܑwk}<ޘ{Osl_ƙO5MRH^1mABcB%'B|')Tb8Kl^ yؐ\ꪊ,k`yg` Wqqm,JN;]=µM#p>)IkUE bCK~2UFy¥-O.DogdcdiFTWKC~Yil}sT<@UoBhJ3%nN*)_٘ B)!U-YPIZ_K2dp~su4&1ADb?ġ"*H}6,f̦xPaklBy/$2kd96w, BF[zr82=rOxmhqc?WH6n%1z;H:oYc=|]Z+G4Nx8|tJ(2W3 ?Y"̤*!5u$8aohs`l'6Vۆ cmmb.^AŠK@>8(|8pN ϋgr9Oo5ҝ @aepShSGYt PeCP#Vio Yf+?d|ǿET? AL.;N>".jڒUR/" \ékΒ7ĄEk垖Xg{7Ɏ98yCMϻf}LQks =1v*Ctѯ*bjY~ERtUt~v%6>0[C]z壙|WstN~9G=G>'NB0qYaE;Rj:.%[J̄|ƾKZ-A Iz(e@cԓ䳕-.lg=ѿ x9]aRT3GOl^ZD_g޲+N$usC *9&?v/097p7&VvgLC͸U7FM6S.L͓ϗ*.j=ɋ ~ RՕć3(R^ZkZ ^ vyA-J8K"`th_Uz Er7KdRC*&·B2!;b]ɡ+ϊ+䀍$\{$Ri|Q 0Oԟb }ŋ+=ǃS{djZ/Y>^g `qQ|7 ‡)X' 87TmuqepIM:A.JpyZD*8M' wk'E r_,rD]Mxݔ<`ƹ Qv7,z>Ac15WBHM٥r]"1Cld[@!J%ѕ-^ V<W#=7eLjLG\֍!sȍ/R1%T nxtn F6)3Xhqu!1x!`!h϶M,CԻ"X/h"E=oT0 N2I(>ZYexT/$4[_Y3/JVu&Hh2~y!+/82TcCb8Apy;CJQ79ER`/VH9}[5NZFqScF&{遖m]2nt[K :yE sߡN9/ނ#0G\dfVqUtoG LIuT1'*^7}."(|؋fq:J-ԳX5v&Lbrt5=Ś5 tE1? f,^_\)u{.g+~"OkHۚ%%|\k9z".B'6Ĩ;QHm݈[US;_6;r7͟pƏn}BɌbL?34J^/A2ͼ#b>14^06r Ri /:(SƳxȡ#PPxjefZ8tWU$FDAGBAs '<LjƷxEBǐKCۨg;7\PnQ[(pпL~aahu9CW{iCiΈ@;Y;Xq: g;c(#}P#* z:]D  #$ȵ:FRH7gUb^AGmM>9X"U5g3w6Ӏ_UB!ю39dWjfe j"=d_ $? n2 Mx\P܁2C5ImrZp. ! -osV`B|V5&CS!#r;;%C+/2^`-nK?FBr*p摙R*r{}HЄ~oB+Ӿ}=%?6ɞ0JNY=5T)9#-9&_<|)"Xz'm:@P3S33Wf@7>dK)ЕAFZ{uѠ~FȁƋOӺ!X1PDf=YhѡH(uEXOJs(sHg^ns2dW3Zu5J/6pLFKTaWoY(3L.tʄȭ$M`zÿgiy:rTDL[I?QCj?ۺ+lv<(Őb WJ))_[_dèQrD%!(|w;LjkOhhɨ|"5e&5!`ݽ [aMh@a/cW‡gI*/ CJ iya8 $?@eJ;\ b:H`ӐBz'EnxsxXKh}eK5LX˝p1!. UO.8aM@U*%>8N1 9.cD* 0z/Ą<|Ac1b[Z1cےD AЈq+ZDvݭ8fgAA!hٞ|%):`\AY [Y-urdq{hu"H32,J_2;o[ݲ$ H7yaج ۺ"I<$thPAXfxn54𧱞wig)S2Cz37~ D Gwݎz&<~#s :UyIF"*v̍km҆\A?͂ߌšYC5oXT+_ 1 ↑06#oţ|G\ɟݼrL-ÎۥWǚҍdT(Q]C£.pq/cߗH*)noaB(,ANWZؒ:DI`EQ57*Z7r9\k@t.aJ$B{+)PN|<+aW9e1)ktD@ z(}Dyxef ,7iz6B׵$ԜYd!W3 ;;ᬲN!XGaR4OR!N~B,/5\ƨ/9\À-f] 4,+dOsk@ NDMѱG.ag|M:Oqmʊ[pYh(b*$v'KhTBzaT_ZM[^ۤؿQQcy_H¥c\ty#HU(ȃoLGO> :GUȳwp?i f>dR r\V tEWzgkZoq.D2c hlJ(wݬ2;.1<#uNI2`\]KY) w'_g^@l UԹȤ]cDH4 wvQߋI anYPYbL Bئc&B)D3*X$ m%EE r@ŋ}aGJ,eHɴ&cP<ګ/tG/W-֭->rw@xq;krЮ8l8D K7 ^~F轑f H;{آ >Cu+I~QJ&@8Pc9v#k>=W]b 0[[^g%IgYs}9ڻbH|lLQVu]zO CFkJvizhCNc[BID V+o0[EĀcTrъ#h[] ]E& ƸM2)JПJ?њJ*U[{~U#JPƽ䞽Ӯ|DbēlrL2˧Us;V(Wva(׹aRe/ ~4&5jUK'-|)SI<۽2a_֝ggyV4]YD _z›SLR yĐF=o;j_v *ˊ])^qґw5޽'&I/2"&Yb6m &7/և~ "Љ]]}#}HGrt:zBn=KR#(t='&&W~R(9#tcJ&Ήl?]8m4w]=j峆ޭ.̇TK0ufm+\kU7Fe4}RUCbD7Ƈ!jxNӑȭ _:TYoiT{M"d!_%Q7<N1=Q8O-K<ҷ;U#QEǟ5'[Dn6X7OiA)-]@tyj o<H&R$ Aive{}Т@[[VO?Nrכ-tS,?5wA_py3b.Gnsk~"=P16銓]1n>vj鞮r D<}zA V9ݛg$ݨYBs\#H&N 17=c+PJϐuu@$B) >uHɛg@k8[2LΒjO[DS̰$ܑtiu RD -{۽YUtdJ"b7]cBeUR9"D$hwǦV}B4 Q&k ;JM` f)WYIiq "rDy 骳2>ze/sUFXԏRʣq_ԄWȿp.%dgQӫ(u׎!;W}"](|_ iVG sT08|( |B ϶Pm'4z$ &)A@H.y(tdq`/^Sg2[fi̷؀I`\qĪuUp;V$TQVL& nr7o(} `ql  -ɹ3:!Rրb*7Tj.@қ%ڃr"U︮f'vJǵ+k>+jP^ X Q!hۿҝd $ dR|y5-\09t{Nұpar$Fe\l<5t~2H؛W?\&v䵽/w6ExGu>Ie2A +@uhr$p\C$B_iwG.Έ*N.kZ lpڊ|yO#0j 1Ua(Vy)%? 8koӗ ."LJ}*QZ/m'?u[ȅ zH "4oɌ l}u_21fG]Ύ[~dj3W IWnRr9oi@u/2p铱r#LCN`EDCwÁH`dYը9GPwVK5ޒM;+WGyyK+ oP3vD]׊٧zThq(sG.#uc݈ԯSNS$Eb=^|ZM?Ud9V?cTNܣ> PzNdղ@?1I'j$ ftEVT3~$ .p>v[|%`FaJ%^d@9'Gaoe ]uV⼽[f| 03"I/GAZㆰSkڂ;T1;Ge)ĩeEϞpUUѓ٠7AJt A%!%bkeթ6=Q9_hl"l%~װBp+:~xbV}ۥZQey1ڱj%tDgaH0OyLA⊅gmR&vFgg̤ :Y܄/gawaqS fu0E\bk|{5hXfɗL~G% rgu2}W5 G "{.09t ۦ֩xꆲjBfCmQOtg #9BߟFV-`:%âHRҬ֗_]P922w3@u2-u+${A߰n;'A}=#>6sE Eє"%S̮ޔak_'idY؜U Qم9"d T2,)#Ձ s=7awE#dm/|r ualN,XLBp]eȖRs4<f iςXY!y]h*ڦjDާMZ`)WM6a2_Ŧ3Rf{EF˜yT-'8\";"52!r >+_:p'|>C.鵄R fX:yj0N=39b2|nL5ykM貜=\.U9*{+UY!c J2'`3F|r52Җ.?ydVZp J9-~/ar?l݃RaN;4tߺLB7]^FDcȧ~e";R]C); Z+Biy17yȈoZ(p #ߴha:r;y`Չ#clv:>řfoo5lž+!b /^OY{)2s}?Xb,wta;MebJb$AKvfw&WɊ}C7^I՜+鼝 ުM{$TJ\3y*b54t260Jx"zᄟ[vTgF6YL$ Z= S9L tbxI)ּspEXˏ?)8k~6PRyo[cw$;K%,9y eť i_kz*nL>:pl~y549p cq 3 "b&u[,d,RNdcO eMjfN9̮L>JfNee>b] I'%EtWrH!LuNY0 8 įR&ȼI}KbN}t˖~a`_GF0*&;\]TZNcyVJ;"{"-~x9wsniiN8eIMx3rCFZn/M'"|7oӖoPY'߆'`~$|LptQd0 C3V VYO,m~m"Rz3ꍈ{٥%N87#8NR2gJpWCu?g٧iNE%RѸg a²YuW6Y`5Q=U\c d{L7Б]r2^F+zww5twYz l rlHk5)*sA8x}C@'+*&OWh͇F|oi 75}%[VSw;DwIpz3q|u`rg;U^𸔔_*}(cU%i3eUwP5߯GƭDs.sY&rɾo'v$kf @3VT6ѦDUw/Z")H!5dmVÃdž'31A ]FHNϦkJEBGG5v=y閘Q ORƍֱC %*jJ/P4j,TFK,KͽtfW%:z8lC·J4㋎5w5bLl8a7ZnF?sƄ=y7ؼL|b)Nt{+6 g /ƸY2dMv|H,#Kٙ#8o`Op㌖ʄ6biH$cG4Z勣.^|5dN ;'9QŸL4uAh͛4%U2yE;n$/KӱڣQ%;)I'%1T @Labd6҄fMpI@8k'u ? I,3Pf!ņwR;*jY$@: w&^Jy|g-%hx].RuLkBɃ9N{ӣ7Bin/Prt§ c?ɍQ)^+ϐ3]?IrWIkwo+刺X (%W ugFq1 Mc] 5`h7ɣT!D#MR:`7w#odU,{OtV o\]>#Yi84ފ;rn_Uڄ(׳)[A.k]p^`f˻ O,E;^jŝ湞$1>Ga+lZ]+ŴL;GZ%m?;}[G%r¾Ȫ;/ɫDXtX݁8!`vcnqLԲ(1nFH4,j)PԁwuV*3Qi2Y>H$Ҫki`G pܫ\bHZ Y좼`@ay֒"FUbL=hvFPs2=%J>K Zεq?|&yO3D혛0!DW+ ]C,M0{:BTÖAM8 Cz2:P兛 =P0lJ<wY,7x4.J6́?Ѱ[b但7Jl%^mZy&װC$=3 Z"|_^~Vuqau Si2܉8nQ$UدŸs_?vCl:}=*=]4p!Eυ(c\H@v)uu#CּXFp*n爥}_*ITϾǨD?.yR":.Qpc(C9cߍԆ%ˌhjqdf:/PK[< "k, :`YW[K J?0TK J~r׊> \CS%&Ids|# cpU0b(-]}p2Vr@LA1tZ[/N'\"Dma̩$-j LWA)ܔ v˾exF%~/.gLEC7V}Y6DYV %/WX̛hؽ'Ro8g];,[ԚTy`qj\ݖD@gH͡k`D4i´ފ[Ԍǧ_YρҞ <8hTQ%֕vkr:SН}ldG4K/Dמ#0NJ[zE:8J5Ο;'y 촯 Vb/&]ZwALJX^rBcym!M (€{nRn`_.h =++ өI9͐u_wBQ=~"EP73K^ ׾aNJHFߏZ۴K= ՟d JHkJ'p,Q ݗ?$?.%$ zwF{p< jzC5v;m#YBJ4HcÌ˙Z`8 yDQ2E#pD P'OKKl} bzdu_LC8 T:J!5|fZ ܩ@SJ )(\\jV0U} Q T{hК a1b85?*4-<3`FG)`4*[I\xZݵ*ʥٵ"\"|}S;"X \fς~c ŀd<=Ag}/tH@`v%&+Hjh_r9;D2 wMd/8ief.Bv)ٗUcV{;H\psXݮGD̛ժ;\(]/D(g8AJ.+<-΅R#-1|]/*59a
! _Ʀdv9 Ҟ-nch}'"_NT>k& ⼚tq 70ц>\X1r~c*U* KQ rp<)HnƿC<{x&ue`e|TEED3w#yJ" yCiø7)=5uĮ I{ IIS xqSWgfq(UYKΊWSNŠ{XEHƎfuhNNQ %O#>Fνb г4߈G[rn*dFcNgD)n=@J?[H2REFDJ8o!'` f4=prds'9 g ?ng8?'g/BЁXWZGU0C]<;rq=T:i攬WZGN:oXd \Y<5t0^K ݸ^"ًɣMja } I#~]xYw8=X_IXSU5s~/"ǔYGA;~on+3I0@B^diGrMu`xScǀ@֊D\^ȑ4⬒cT3pU; Gՙ1>sA>_5ؿ&I!"YͰ +Qr H@v`)SGMT,+O9-R"MxO厔Pvaߤ{;x1`"\70PX==%L*],Ƿ|v $U %WuegJg[^E25’b޾F5(Hh#Mby<t,}Iqx{%s$#!lKKb}Qzz:4MvDݸEnA}x'l8LuU&(+Gy"B4WD:Ǻ.qR9Q"-5oQvnCvⱗb,53:b3ToV0Ate5#r/xe}TX_7y>j gVjdn8Q> PcvC&PivRoa:n9\=ro7u{9Qmk-ZolxKqo'~/]r`ED%69-!F 2v2hĊ/)uk4B~t#7H)UKaY{΢DSU2W~7Kàs$-d=>Yƕq,'5x'0]Ӵ@(4[sfx4xNw.[i.IS|}inMyrxzW7Jo?bF˽6т|FY%Ec_o%۵%"%Q|{b\yk']~ "\˻RqC6jʛz!܋kq,z(&$7AKB@p8&CNFKh_4[gB ѼT`0 -o@/uJgI<(_9G<2xIDL1Uy|^ (JG)7޽_e ds 2>ǭ&r@9e?}h#];/& =qU$sJ7X :>7D٣&,X\IGˌ#q -M!aХ%p!K+F Nd5"{  bWd'<:yjPvApx[5ZNC@Vwƴ5E"Zҧ1 u:X(RR/>(ῧFÇ _!~"=PpLni)1eԸlU\%5Ï 9e# &f[})/@i]J0!# ~B@"7Es<]UԤŵuv\u`xL< P;C^pW%ʽPzr?L_1$ .֤G<ƈw*ؕbR^|ɷCWgUfdg2ozcI s%.+#EUOj-VPR .V,k7%1wR:yۂ.oJ[W&=~~JraBT]);mRb,URIT{^\a I уOm MSa{Z, VO5EI(pr/4(9S1&,Ug̥>.a@ꧡknI-p1ByøL_r5Ynt$2tSˊ^L^$dz5M8-(9Ռn וځp2f.6T~Ђ`W%Pڄ4>{ubϬץ"g?]#]F*dg9+?#Ͷž19IfdNWEIg oTV$v L`^GC_}!Ŷ~SDjFu/-Ϲ.biT9 iOl1f~iޗ21adrŶʿ]36\ҽN6s/Oim Q0/ZO㋆Ci4CA%UPY$|WIpV'YθwZ=֑rڿaTKznj|={ͦ]5 Apd5JGvQ6oKcLQRT-b/^y@ d~|@@T8Xa1='֜)^H aO/"&2cuLg"[(沃igxz{X8=>YmcMKT%XW쳫l 8D>p9qf`8x&YD8PĀr.+}Z$u8t35.0|nCeYCS^fLvt5V%G݈?sf8d4,K hG2F3O~R%v6;8q3}RM/NS$ 1k@|y%K>BSIQɗ5&:[As_f@xqK8걞a1 j"U4w7j),@:;ŶG-lR-BW:k-AEWq(nAuL"Yv o򣒤l3g%Jr!QQWhvʊg K8eGE:+:{+"$H9VXSݚq|bk$^[2^!*nd3csn\j~NT~&|TbN^Ҝ!-Ձ*ՙ*.K|0 3z-pJufڻ(dՊg0 ݢDu16νY/>nP(k+k]Pƙ" a}{mwv9k$|;HAa$N}$%qrZ°qD^!$$nxYas s nM y%繦I YS3erΨ=^m" VG>ǧ4 TChL_&Hanl2X(D1`[e4#R_ޟr%>1h0;ZosrmMeܽa)ePg_oMdYa9[FFgPE7,qY%MgjIH(rw7TDۅTd|oЩN?@L`Urmuҏ2maUvFnYh䅛[9yLǨ`('XI9g:nnϒ-uir[WO uZ 7w uk"?2P*@6wv]Y8Xy:?*z*8|Mr[@m#w522۴$A7s>]jlQԫT5mVnJE0Z^}"DDA)L' ͭczP{Y@h#Sf>2$xuqfsNL9;/<.} wLNV'jn5GnYYp~~a(ۘ|%Lͱ}n>d8Jl@ガuJHq d-YVd5Jt:*g_l^0n mJ'h;}|_!nEQ3ä%EsR0+NՆ䱵4]Jv $$a!U:]d=8ĵ2Zp#-kї48 y q|9H |'lU4S0.ϱ`{vrU1{P-X <:X'maEt&ZHilLc)fW˖iM~Oݥp""DZϪ:`XYUKsiXteOV#.7陭ü˦ +<d1 2/9φVk_BwBv?<B[mHΪQ%q[4IŞ]/ 5զ:pKT%a3PcFQ^_<5G/#賆מM_Ɔ<0K n[颰Gu>l0|. @Sk W3HϨo$&ѽV!Z% ШkLъN)Iv>x+)]WxVj8X6{5za6sZ_Yʓid4 Fda}iSwbY2OM\jN_j#/7(ΡvcUE;LiX&3?tVul6-uYjb»YAEظE2scHShhܓ2c#Yv6\Y]$V' i_zą1ÝUnJo@R3f' iWhd)%dqSBMk+5Zn @8q8 hѓ%f:f: kN{Bŕ}w\OAk3M%*J_tmהBL($[*]l so~#uv O!U!5p̺?@v]3* k7-ׂoR]qڀç- _G0­Z6ݎx6jPFG!tqݛ0'+T)1Z8>pI8NCBrWew;( (dFM)*;cI=*g "&i?x%Ijz 0EeG) P5T-J+?b$ȣ<.|P9px*,;HVLf>L|Oy/IIjSjdzGd=a&\|U y1+L$,8.!YsAeTmyo}"Z^SNj ] \lil.۳:o>&a:+ Ug;cd4잟SLp2HwdƦ_<)Yye[.y(@=nE'OǞp(/u#WggBdnjOpWبazu_802TGZ&PGD?U o4֫bpE |y"7dK4A'5"V2[XG |3Nz[*Q5J$) {>*|d{Q,{&~fW٦ eou4ųUw1<.nфwGhڶw'8'}'[vݵ@JGcJV PgI$cx4;v9| {]Ԕ\(W@Ӆw$n F,-.VGYWDä` -kJ-`S1I]}j S `4;ȷ Sa+۳Cm0R6րyi;acb D/Xq2e+""]utËxWCL* Fpl'O0:qDc \?f~Au"ӗ٬w Ө.zrJ;J 8j|M SaE am/Uhw9BD)^:(cĻN;'y# o$胐\94A.mȯJDI08FR L{JuJsB!^l6nu[5Ej3f(د 72MaY`PNc\(!~޳cQ4;3p5JTjmϯq^1Z~XΒpT',y^r ݾ7($㦍?twi]! eМ)ٻ(B=2kk(~tg#ʂ@C_qs;!b QyVf5549C%S~0rf@Rild߽:^c9|*"sLcqb0/wS8ۣ^TUIض OT`\/G ~U~g݅{ 6VG.T{YA " \/p=jMPcqGҪ}Ý+82W(B/oZT(smCsH\IBJG\gHЧX\&vxz[}g {prVD~ dWdwk(?r^܀~\w vY5%!s[fLvLi~hiq­Pt:4ӯ$xwٳbԥP4&(̀гw! tZx5ZzM8_ן ?#@Cq Zc?W猡yГ#M?ӯE_#P?% wFG{1Sfӝ d 8zOccs X#k|gP G=SE~ņ̞Qf@ƼS&_11om]7 }*Rh{n*9Y(8{>C;iwył1f\h ¡ ,EQS\U#r<@2)2]W{SW!.L!Fn ~k~6|'Uscqƈ߄ŏD>rM ok Cqw5k .`bxiB?`@.EH;!ԼlТB6r{PX59k}_[| M皙~ UbxGa rPb!Ua{I#G%CZK w BcfO-3sm7KJ\3=d,\jDo۵eg(0lY2i/8O-#P歡wi7YS 7PNަrچْp1]oD۵ꮞu²Z[IYxe/Nc)u DՖ$SON|/ke JլDVOT7||^֍xèFy)Ͱ/ۂ#'ZΏ'I8ud4KRZbf[?/ ʐSlhȄ Z)a\  <ѓm27 \̨o.9־8ٷJнMN>}%1)^Ap;S)7N uP{4<>$C N&~u-3[*X @$kD!3tkEyn=U.JbolYki/``ˋz\v꒖uzfm[޽x5RW*ŋ'IbEn@G*`|ԞyF3K$ebmv{xbK/%8,SF3[g?g"j6YpO ]r+jab}[\%*P%&ra31DIjONko:ݬ&%#uux) h(~󣇂,= Rgra,]~ȧBܒ׵FZݡ=,ӗB^Nxz5H7"yWQ$kB䫼C*jh 4*2[G7>m3s , .hC|_k$?%ZRˣf`.kHH-( ojk5 c_g[ b#EP&fWG=s9Lw`zX{< Q&|ꅄqwϚ%)L֤,jޭ2 ߋ_.^]B;Cd.wPS_C,p/*PL#m2FFLT_2ĕAF hIX)A$P1*ەˏ^aR=>.^\-aC)RkV}E{QQT-W 2گ'X?clʿ^:A{K;U?bmI|r55d۩/˽ґ4IB_6"CTcwR~W8M9wK7!e]8d9fQ!oДҡ\ (xѿV,#z}8wOSoWGujQ\X]n$ WC슺xv&8`6hG t$FF ރ- WUH2/pTj$q!2:~\>PZe\H&d²ϥ߼ f fo=-6 Eɩy,Cyd;lypyk b[4b4bQ@'$1&mTo%a-DI]h  .cΔ.Ϻ#5ݱ&tZ`8y 9C7!;n\hvZp`\)&B:/ۃsܭ@e8 ;00%PۑJh;cvn#əwp ~Aby1#GAD`w6igoh rºRZ}kN>>"n6 #nS.#[ѧxmUO@=w,  q6;F Xr2SYTwb/^LxQ/ pnq#`[T`czgPF4p)y6ƵcbNyDqf;$Z 3HE=mO*ęDҰy9 D}wmr+VyK0-9e<<)[Q|;,n]v&ntlg%%I½ż h@wѾq큨҇[VDnQ lߖt:EU-p3T,AULR65x'%xq`v+17gEJG{L|rqk.t_GW}SNh}' 6yO݀4~qjWMg.($Tn"՚4g6{Xoll`j+()w$؆`c>d'@(QBZlN'jέ̯1"X8W]80ͮBAagx0 ϚD@djq36}@~D ~[Y{?}ph>zsPJI~EYXZ% :elQ8 vb H4G.44_?!s]So}7z7͊ 7aUkFgG ?ns&jpF7k)sS!+HL-W t_s}; OxNqP73 ̘lg]xJ9?F]bN*AV OTqƇԭeޓj@+;0T^8d{RTp-GS] <g\Me >[$}n 2ś[?|]j=]^OEc {:z8l٩#`)b{6f N5KDsSF KM[1hf,;f| ~DmOgFˏ2eBuM'|\3`ό!gŽ \Unܴ">9hgbt*ϲ鞶+g @{'}\}#l˸o@P;N3'W1!iPR-Lhѕʧk1y=Ko1ID22/eR7@֣̰T` F?FObJFk?o/y$7d,$V53rsKvF2*1E0'܋(BtMmOhu)dmi#(e_WⷾD_+gFm: >Zx)ٙf:nfUѸ8A3ݙ4C5 =췠OV7֓qO #j+=ۦfђhw,l?x:q.O~ߥ5l\8H\G !ﵞgGj~BN,3 㕦HiL%j|nMiH,ê=! >9 3`V (>/V 3u&$SZMWhY $⛥[ZCݔ?^a q>5 PpxE_|ߊA#p['LcI8#1 Շ& Xj R&˼Wh~#}QͫH*bRA'u5P/(m}v*IURn@-[G=~ )#&c2_" Zk*ωet 0oj}1HEa5$>r^~ً2<:PV_zO68nՊ4 o-`Z+򤑵fp <|eH_:G(uP5K;X'#%̾꬗@̛m-` ._Ub6 x@¬}kM w<\:.alz}đWMs?mݛjoӔՀO=E?LL]xR)Sآ{Ug1.+5hh(9̏m$)aBuj)nv㜲M</,iC7L!=3YZnhJ$!̾P%,6N}j̬zē-XɁ^$7 z2կk`D*s'<}jxżcVN#yCS|o"($؄jivF#t<^TKyG"qQh*($ ]ǒ;}甪roM9(<߂%2~KrSY&v.etWOGkYru>*bpBoQfoMbQ dLvrA2M B54N^`vްSp8]XU׶zkSSzJ&7w9+:Ѧ²D,8L`@ɅdGP)LHhj͚@h٥543ko4)I?0HD{G!m;P1;4ڇWQR>[yMe Za2ZwKbu;}>xc❇9xR@ 襢q&,w•&a HA硥"&iVazCj4oتeg7%U0_4oXV#pUß1WJS|v}& 1 pˤ28뗗ivEȕ2tL QO:"Kana)=+){ (ZY3SFg6_LjauŹ3ͫf7c¼OO(̿I柹uxW1k6)Y 03W|I pDUm6AH>3G ٹFϬDJq Ws֌2[{7zuOB:s qiKo.qv]W;w8X;TN͉G+!K11L h+rQ> q9%s5x9Zƌ3-BK˹0oK_tI| }~Q&qTI>U4|!={,\UXnC(]2j|s4W F"yFTH>t\Y12*CF%hTnqpI]'15 q؆Z~[,yX%kHU}ֆ 瀞^WߔCÎDn|Z+IGqoRmQZx<9 yTxO4 m&І[u{*D] IUK) 6>4-uN):GѬ~5f|F1x,"+Y_7[ֺhS?mT!Nhr DzisS}P4QW{zSO7TW L{j4\w:1Ds*~vUZ6#!H4E7TĆy(C>/{RETpjLeݪwWbz!ͦGzrD[ۂ⼫f/50쾿m+;\B amMR-t SW>%KL}ś=5:)_0iO;~}e\Uf;ѹA*$YVdubޫ#EAY }9އن= lTfy`DŽsSFq2\^7:,&( V6B%rBTl; "{hմQC.Qc {2¤uѢWD[\r}lR+TAtQ^vzOWe½ ;d]GZ)VSt)4 0ȧMZx{sfX Õbk.y8\GUZԱI@E4e0ɬT::jV&c.ax٤Ѥ9#W[z.f&e!xV$Vu=<`ըRdC) - 9tNn ̹)߁2nsIx,ʛʷv}]> C oqr_rQٺa>u!ejQ_]Zf8942*& 8g5H[b(\Wla5:<(G򏖣O3q(iDM_* T}hTg(B!m=<ʵ2^Ǘ_v2qGAH?&gxy, sBje &] vьP7x#I(O*ٵ M(7-h'u9_|/%Q@ n8tdg7SpRl'>Iy3X.`m⬧:zև\? \@D:tTY7i B<>h)83Hͽ_'z;LWB C#]4r@ϭ|E^ ΤaU*5Mo٫$7;\t.I((r$d/ :_xxf!NFY6ʷ59xٓAdB7>%mF .3/LO󟟋L @;9riƨi/ݓIk(315By'*\ll4d G2@3l; mQJU;,](yDM#氢f m6v NEطL.CoEY9z6=:|ulܤ`Wfm6ϗGu*q;μnvΑ'\:O ;_A(_O$\`l>=@MƘku,*,]vƷl/wD*F<6y/70o͉gr/n+_vǎT)Ѐ@8'2} ;EsV۷n(\U}gJ Rl|q9/jJ7OQ7E{k("υ:oaqױ,yE"B)'~/دGX0NUv{"D \CለD[q'oz9kꐊ\Twmv8~ʂ2'D`%.:i#`g^j"u4gCI{-O[}]χWWχyK ,oc죃UU&?_/E5i+,B({r&{!%BNC=`! Xm4ޟc3CZ6 t?asPϦz[pQx>(E?iE3?CI_<1 f̄iZC܎"&?~Y0HpE†6$M( wϲf0 놱 Mzb ֺh*F.Ǘ v=|G([,s=Mu@8uX8Z\-seG̜횏_H+ȿ,:iB3^Fg2/)"UEG4.KCN:+e &Q#\/cIZ~}Z4J'ީ}uFIhS1LI!W% +v.rH 7;.BU7 :S|@:$3]fl5(ڵn)MDeTLkSu+As#2%`ܑ8-\{E2X2"i>HJ:Ѕz9qPz$6K#U"5K-ʩް~Z,a=.}]{XJ Umu!iTДK;%vHkqogjd~X^ِEMZrh{ͥ[o"PM} LUcRA><8T9t,ysRH1g݈\"*@1}ZZD^}qxo+F h}tIU eZfdz^* Sb.9T*LZ6y8Mwjm-FYnXKo+nMn&RGΉC48d{EsrGz0hgXJ>?͎=/=Z /sg",LF4"ie6j|RDӇ`LѵnH(#K6ҧ+J\iey -l 2x0n21?P_[TQI3QZ:/Cn@4hZ1cE3!.=kط?d-፩Yuo;+.m"$Nc&1t m/ǏV4F6c"1^/ҶB*ă b.xޗHW=3xbFNT>Aw(Co7x$"?ȋl-}^:pC+w|"5M&wiZ50k0صp,Xm!gG!}<>\g'rŔMl3DM#&iu ,u9؇B{lٗڠk^9y6Nu3xlz<(L@V_L}ZȎuխkYd_ Zf Y9>d,f`.f+w;l S@.tB[NPzk_]\$g)u5S=/}wO'RcOs:>q%S>_2+LO\~r9\Ć4KD"6pj>]viDqOu[q\FDeio& >6TKS{ƀuֺ\G{/;5&=j1j$=-M4(]0n%)BC[DiŒ8$,CQۇ^gN`?qH5Hu"c= 2pVM-HT2@cnXQb;^apZoy& tR׎a`~ct8FD MKl v!1xbrNM-XH ز$ _|7OIQNv gA`8Zǩc/ }KAIYNFf7'L{nV{GJq F\YLfk49Vj);&W;Wo : 5~cL"*MU]-P&J=j7wmp˓QokO?$Lx^N5gF>8˶!fgKgQ`Qd#) xAqla;ޔhn JRHC=2+<{06#We| %H쐵eZ7ԽFpk6-h!9t3pٶ^.h71j D@ՙRx!V8VNߪLY9w7CyT1*kf]#h~hҏ1lh>HƲ Dm[FWLp&Qe# E蒁▋wmүO{FT1[wM C;٤~1؜qe$qrB1;J{$9%+ | 뢑C`MQ,ǻKoya@} $6^*eb#5ꇆ䴠U?W0⭖ӗD5W+I-& BJǒYY{ORKIH XNՒuoOa5yߏD,ռ:? vQ`-᥈{(]b4UHp?WJIi 38 >P Tb=j l >8\͂hԆ##UV"JU,H}zL 9Ɔ(@{|lm.U޿|mHcq^aCazCnpC}vSSA3 Cr&܋)\~pp b𧮰P <ߛb?d|)%0〢iMJ-n(HNp댥Ԗ[λQUw9hSh&RMK+Y <؅6@6m .zՂuė'|52SX+6 Ul+qtr}YJ2Ber\OoE 8fO,bIZ 2N4b %|%/p+Wuc "IM]?eG(w8J=q_P)7+рtz֔L*C\c98gYۛc&.a,NW1UVea($Y*6LV(Tkr< >Bf&z+?va39WdC _1C"ik#bxm Bs^~u9OffŷxJ͇knL"pdjZVFuL3 hA?C;ؿx/@oy0v Ug-SWyp1svBn[*ղ4VMC0(:aȚK*3sn~b% !xM&xN⥏6Lm7më66F:*9F{En1W;xҵgUsީ'r5җVyv#j %+?X 4 N6Ñ܀b9  z 4V?02vEF>we5.\kvu 46O&`٠G4pDzj,u-vU~!}Ӑ~l׭h*08Vp49گCcqfc4nW S>J^+^E)ġAʝ@:r/111V|=2Z MVtnlD:}!ZgDCBB5}AqOwbQ3Q90jT%C5!wqi6''E@tN6c&뇎\rdxz|,66Lo'*IhZǡL_:e8W~qiZ̑&" wDiZT\C&xMُǿfqhnsOLS׀-j_~S2U)IV k;9#IθMnBಐ?aْJ~Va]YlAgaugVTdMQni:d+ܼ3ؾUzdh:K,Bݭ}e}&/COVtHai7jzvmⰖY1k^CW#ﵸ)`Qcy!\5JLdW26bc/kv#XۣMX4fgPLuhgkK!.[_ i=cX2 9œ4v@Z!6\?Ui;1YSL8OIuaJ*}ܘ.k~ݠˇ41 a&Mգ PQ{RWWC+#2OedI&K4R/ q{9뇉sBA 9xʗ]=yQ>cW0~^1H ctX-^^$]?OYWy +uS"s8M8aBi(D.eF)kAgWg^ܙmsĜgʍ05&۔yCYP(@VrKbզ!t?&m'AEQY: /E9!Ṟ77lur$?X\Fv]"}OAeKDFJHl.ܞ[jCLݫuG Vθqn'EǟVWeJyúbmYpۥ34c<xF"XZ|^op3ex!HUg#Pښ"'^nP[S?ΑK%O7O,W~蒞C؛X] J/B~0m2G*c04?2-<`+=e`5jF>ɝE\lRWgsmĬ3[e&f/xT,$V]$ب} }΄7C)F{H X -}d?claZSO5q@חQ@dh&\7' {qЍQg He&=]GTeBq@-0e=Ka4"cJ+k2u"v^5b>t~hE(oEܨߩ t 1` CsN%%y+_iJ*;gv06LbIC: :W摠b]f0槆B, U$ k߀4Ayk@3t9e!5oWE%$O#AaԒsAq ̟ڒҊ_W/Nh]"}aSODR&[_b{ːp|GN[OҚأ=cA5N"*[?xSMϧbٛs6/D05ӜHx}Q|#R[ \U41by#J#E6? ^2'T^VqL:D);^H,3 $87y4X5rFߠ߫P  AwvSb)E_AN0w~b}V^^EcZcx{}#+aB, g g߳@Pζ<@ ހJ$KTNv@Pq}}lDIBKgL5I% Kt>,Ufi~2 P spEt+\[7EJaQ-WYlnJpkEc:3B{1.n`A^/d;y$Ƭ< wfMkU>I8ܑحhY}@? G#DAbI1Hf43z485bhV *9;> ]S=JK(AӾ)_tΖM[볬u9D5I(ghZMƨ!G1|9I(WoQHQ؎%G+8O׀l8XԅEcop H^].SJ'*ʩ͓q۵4ɠRw"?E^ӕHOmZ5;nQc<Yl֤Ɩ 竷Z: ap4V)N Q<ܯE"d xS96OE T&Sf`ꟖZ?E~8OI9=vgoEDd%;NW&γ3+9w?S8Wڈێ&n܊1PhT7@B8C,gBBSkkO4 va`y#^_F~8WE%31Cr#M512MT=:0e>3%YuFk8rߛBU-dt&K=8[cDH\ fD  LT¨Qa!5p7%Uc4lfkXS-\ ue# 3KcQ|nUNf[VQʂtzmD&ߠ#0oG [A7|2>˜q}{q‘D5ίZţ9y! WYٽEKGsn+`r=PM%_PAL3 p<~VPh=J:>f q*d,1=D2[‰xx`_P*ꏎgcT,=00 ilMq~D#/yG)h5"/gG0f<QhWJ>Ub{J} Ўyn{seT}a,rT &Gw}SșǨ;5"0"Ʋ*3)&@NjgyKhq oK. ``/ _;G{*]3fo|:@x? z:;Q;OH?_]۪kUTa|t2pT1 Zƹl5@ 2w?jR!P@@ Zo>gZﱷ~ə9DrvUzyQ[rܛVK0CNHyHLnh;e-bꪔw>HкS&Bn8_{5WT  !`Oٲ"7AP`4ESehɏbS,o9) \%![+fu?O(˔ec̣Aм+Wa3]f9 ϻ=hlumx 慠vň}!?d]2euXCz7*"m-}IgkP0,m/e @y;ա5v.\\gmyde+ D'/T%~Yj:<\a::n54qW,虜?tcz>SI}7L 0U_ߩG'Gcly -{ s[ZhW!{Vq6oR( vN2M1X j|fua[L߷jmn$ρl}:4ʠt21Aaf=2lVggE3̜!tp)Gq6;E#nvy&? cv!2Jۤѹt7 7h 3yAPl?` uSaA /=H'7Zkcy;{ }}8 8g!҆4CL "Biݲ<9IVcI%҈3I@mrztA?^^(60Hۃ\W [ ,͜ kn7h}i-$9`%ݬbh?AH*QL%Z2hۊ?D\drW3?bpjYLI ʽs%O?!]Vg%bNoz7+>ޏxp]X")璌̜(RV{V, .OBkq#i70ud 작=>9ʺs|(J0FdUpM.xwBW IghΜźH d (WlOU!o g\8r]sXV񜨁  Q;]1Y3bOL:rjk .]kR}+RMCgMMX"}jn sl lEwKS_f7L|{OɩDؓ6aHǸDw>YTyg{P<>8v 8ϝc]gdg9Iltsj_;j@zL:-(X{jI ?h6 HyT.l÷#b|ʝob&!V ,PFb1?eXY J N{$Ys}Ѳ&:bD4PpD[$SϻO!E[_ي`%<"0N6׭",QFhX64^YLѿTSd̷p8>  hPvU)ṋf0Cf4]k'^ATpkHE3wS1gG|S4 ec9\$++bztraĵfԞ}(nʔyyE+\qef]NsTUVYƠֆ4-bW[WM, إ-> n^ d~1k]3d 7cF+YU9ޘ,0Yj-(8  m+!E^ capבi@ JDŽLJcڐE/ҼpMDGRtF0b@9guNH fI^ԋn8SoxNDjrѭZOUn7(Aht@.qr.YM\@9klֿ$~1Ȓ'%4I 9~r\ޘR/Vщ싿n#B&ɇXTc^Sg~TVț_tEi:5tH"{4C.znk pWx7Ak, egy̘ H͋j;V19)^L;>I/3K o]Bߥԕ>Lut.dא.ਿ}IJ Mnc`ᰲ1rHp.7V̼C/f|Ʋ`G2 vgbZCE*4m9ZvN7BkFDŀ,;T`0;ZS2,LY䙚=0-Ξ`}vuy!SCohZ!tOU+Tp+<4/L>Eu!#S[1jXJ1:5pq Tp!P/[`*n%Noz̓#0? k(i tF~p7E @Hϱ7+2LP•Ju:҅G[ r"|-ë  =~kI`, %֔5Դ<l'Vr@(nuk\QkL'nk|bTrGotKJiGkG{A@Ng}fcR36W1Ɂ'@8V nW4 3h(+ 8 V\r>e½UݺHвx8Խ~u#,GMgrl ~b_W~8m^d%@+5r+nI@/&nnX/Ä+EA2x> My cavϕ102Dؼ'ϵIl+`9!v*kk󓅏=MtϣR`QJ]mt@38 _tv='SjQ7ɦ:ktȖGbH]bGMj?ɂc&-'S(V9=]zc[EB{hCu ߾,#jWN] ɒT)EQu (/+W'_ޙa?b%1ba L1n&؄~o 0BzhAQ %Wص}'#\?Rrz+X C 4$C`sf5h[٤EG}ID>4w|؀'Nm:ݬ"esN 𔃷GԭZX[-~З6/BwжP4::"[V[.Scڳ YI=RAwk+a0H<վLC8a>'+7XA=|~pR@3+QLq`XN57Qm@I YչfhDmV]%X'+sk!A8maCaWkX88|vAxσSeb~\^N?X5c1y!ٔ i.Sr62|n‚4t1Y圱8& EQuFC- _/xbȪ~^FMÒ=@0,T28Ctęo%mΎOȵK}F$g>і\,܅omhDw"o]:iL$qZ\qϞv+oطߛߥsjUO5zioؗ9(Ab Nu/^zYsmiE՚x~㚽H| elO/2"҃!L  |6rr2L UaH7ۮ,My)h=;[[>+vCckhG|3 Rdn/820d3f”b/ύzF ;Qs=_e J(\5DD K }TBxNv=*|.NjX pehsvo0dE3.,ސ<߅n7z)ȐxvOC1eji$#g 4Jh XҌݘTNnx?qbwuw-Yo<;`wcJ1;.w9Iu݆>kp i&bW PH}P[7;Feui97WrU^4rJ<镒o cO>jtK$ttߡ>n`h 0Tò0MR6VA!:'ҒCH [H S> =_lhGE䕄n>>G" WFR[1@In2C5n ybԹ-t/TCW4O=;<=*wǛUL2J$qFm|l`*1e`jg/I%O1xPDQ ݶ-;^0c@sӰ=^N$ ̣b7Y}w=Oʾ>jkO\Wuo=Q"^N\ڜU0u]ʇ+ 2YDT..KֈE 65$N#ە=""nFiWC|n *}-FjdtNv=ήdT]rHM[wYlYYτf*McQ9-b ɝ jE?on{qf"Ck%JI(gPZqDXRZ~)VCeG>/JZ7/8kwGˏ]&{KĪUڃZբ舀:xh­6c~`xEF,"v,KzO2QlV13 1 ?.&仠u3GȼRٗtG1Jh.#kx:O%-O;sh9/`1ej#57#i4nZZ$tt&.|dqB!, Ŕ3RE?: \>UԐ2{$g=su,F3P=%pk)20[;5 @+jomes8aCttE'+|;$.ffY 0CP:v0vND./ D|W;N_? GL4 U8V%D.QpȄf:*` S ֯:ә\?jɦeu)mQ-#^s*`.W t3V&(`:ik6#X@xr0_ɔlG?DBxw0!y+HV uAU9z¦^I/"zب:$Sj! u͟Vo8.wGf> D&diLr1-e8+2lYE5^6ޝ3nP]xj^[>C\E'8m; }\wx%,(vd֚àL4fz_b䨿՚>k@qi(?ȹ++hg$5P @J6`uS<-[+S2P3ޏ{_J|WCUۙg0V|ޡs)ɽ~Ս!Ix %^>S[~72R3sohMGmo%Kʽ(7Ԑߜ S]z HD2Ěg9b+bq40 Jzv #<%\-ZH$;\==z EZ|][LCn7w % PّO|[+4&8o|G=7&"NF} W>7{}]7/}?&rv~MFh ;(iuyCw}8'R pL3sWC^G|ؚY֝grxfSP*.MD̹1JY_Ut-Zcz8w@j]4?,4q!lzX2Ȧ춮 g4!PAϋUjkP,wN)Jk+&K"bbg){t7{[*-9͛${$п%p3xHŖY?^3!!Q<fPs+g0^s:./"Z?qh9 h7}\+d3 zJ\uswExcf70ҕ y׿TCMn?b cdqݽnƚܿT>ͭ/Ů(Fn;OHc{F K2` %5K\R7/SSkp"g!ïED %~O馾&""7|߰n9kƵ-TyYןcu^jE+.ґY{:uR^էa6(hjFyy۸F[~FԬ $俾 AjdNbjRy Aa.j uhK4xSZHM_Ea5r\ |_` h:܁\Vز\\B(;8dbO; U?_* _n&e8,$=Y:w&oAȫ̗0{P(R}. ˹lY +RBHGpMɤ} K W+?zEٍ+ijul[B5rt|!p =&6%.n_#w6OdT*QLknGd'``PԲ5墦{q:l=TѤoo`xNƪ7<ױ@8\DM=Zr"!eEڱ}'V_',WL3mspC*M}6X컸-1h̃?陹.azfZKoВjƣ&;LL÷s ?x{xOFΆKMD%[Lg'2vWK1ACX8,ȯڃ$Ӡݼ`BY)1ԕ i cIDPUiQD'DSݰN c7#H=#SyHXI9d!?-2|*?O_i?ء{baIZKIa4$ǥ:PA¤,őF3=0d4Iz=~M^'U܇ u Ur^LV}FBLM.Z"bfuecJ6v+%#@+L?2)a[VДsrьF>+6B?_ZTE嬀bJzmc0~lkB|Ea#Hy˛IbˋnϯI;35G|ު\;UL|@q<.&6TZɮs~ѢbrYL>a" ΁_1_R޻^7F1mL7 AT4L̛R ߇kjlR^xui͆v,砏0mQZDŽz8{_5)^ Jfm,ΗyԠ%"9'O\(_i]Eb1RE0.O4@dc|/rto~dzN>U0xSMl.?gydڎA/t5Yk4 ̀EcG)ccB9)j.4<`|tm V촪߅_"za`V!< B;?*à+#c{p>g* .OYTUP lSR%xM`GM7'A C޺cU;`4-# %-Z#AqH/֤y ŏ5]P<^M4{["\rkzMY@B;fc{7D M5DX InRLjk)s}MwQfn νRٛߧljZY"\!sgfMԋ&Ī$iAhxUpM<ԳV)ScY$(ng1*Zy'.q!`Q0=joX*Z 111 wVDs~((a{A %ؿklt+b<ZOA”M0Jh >bD+w^6~!gx=KrkLa%_`يM.ύ9ˎ.K 0("fK eCzT2J"ŸҢaѨj~0|Kf2qXBc*a`VkznWV1jA ƚĭ^^ӧVNԥV >lSRW&9Z̡c.(*\~3h{\7ud-6̊q|EΙwHb+.9Zhܨ_U t EJ\仮9?ֵ"/noggK(kqBm$E܇T"\)ΰ׃SW2o4F8u(/oGxàӡHYV8-MZ} 9&'26}_i>ӣ_-rODDj8A#ZH+vx1k,\a+Q=c+kwWk)[/p os[e" VM}b#* ttV<@˜jkePm͆vc̆W50Gّ<#'S4=$ 5PE!8/[D!E򋼘r,[Pvi= L'9wn$9m_eVOvMQK~KTl\籷vrQzxSl *5_1P:@/Ѡgzdi lF#E ~GZh00A~PёB+婕FCc W0{f жm(!*dz4 ~DPC&7 mQo4w!<ˬa,ATׇׁa-Eսy;Ϯ }2jqbLM~_RB/ڋǼ=%[z_K27exe?X5I8/0~lP  R_isB(. |+N%E控hhPWvg-5>i~L9K+ND҇vk(@âʰJs W#U.E<,dc Ŷz5ЇTv=8O@0ةcr\tUgte{bŦD^Tx.q,[J71,2sգ = NE%s*dg_0z&,*v4j l"4P-Jݐ" T=9$ r| |{iLƦ a>&GDn`i5,"`/!.Lwwvt [j5R-ei<@:T=Jjt#$k.Ոʸ)zҼ;< t[VhKcVeȯtEGru_|+[(A[]WH!)18FnbVtY#uYÉ*H z7c7a5Zyz7ȵ,Xv$;cwhڞPF2igL1CbMrF dwM8\?%{3 kU6^G2*gM>'XYhFx8☢;ƈFn, %v[H柺 xBu.|>bATi`Fg +Ƒ\.hiɓY 0(GDh7{=tF >!7ji:6\Q#Uƥ&t,:4&ZCKtv<7;bo ݐJY;Jy7IRQj5.΃_ޛ)\d)yOP$qigSR*D-bg!L^FZκmGbXaneئI:pŖ-/[W'A%|+0{y \9|ֵuCkP8LźπR+hh)f\=Grܦ=>NW)L[\F ᔜ35C6 bcy& ٸ4CV›؜p%D=?!+ ̋L˦ T C~JxKƶ> F>Zq;ajC=3UG |eq_mU^+U9#(O^78 ʼn`4VN3BGe+o;x +{d۸̐'u伮t`&d KN[}RL+s˃Mħ+Fkn[ !b tQ jq{c7_r$K+Oߋ&Sstm$`*m}1$s&UDǪ`)'dQgGq6q|]{Kv1_9MlBzTiN>kP 8!q Ny@I 2hDUrm|8vN\[R;/^Q[ յYIsFW=q.e9@ לk!"3]: %S؞)PRos5m`\Dž2eV,s+E[!Soѽ8J c*lj>+sAK7_SCe*Y߲_wdxšCx .Mz߷l ]6aC=r@{t '5aIuB,g)ڈ}6BFԐ-,z_ t羙d{<'K@*.lrz/¶9βBtXp*K2e.V~q'Q*iĜ%8XچKp x)I!tsΩʓŽ}FȊVL3hWB0q,H掻͙6fO}uν۵ET@SW2X8(/v]81G<-2MggOS#]`JQ$rt=vݎ/VA|Ti01\!/(aIJhaӁ~U 7Uc,t Q|x&jk9hTKht#x:ML}~jCv7B&<@4&JiXM#0z*H`T\aF^]R[ ui0D4i1 DL_ڻk fzh#M%QWZR8R "yi`;rKT! s @H/?jceY&H?Ih'5vIKRF[70Z(Ij_tixZ>XKHlKB.pɢJeS╍>.땸5_LMi㰙G;_+ \30c+8(qGrCݢ`O•\E3g. `kvˍkwh™ܦ1`Dk;v_pUN G>U7q}YbV2r0pR8WCoئȉ$ꑍ7֙UoѢRJX1DSMh"'b>Toߣf`΂G }ZsIU[’\lMd۫S|5F$(P bZ-"~/"nQ*b%i?@o;+ H֎ё|"[>Eu5;lGT~`fJ˳ntn7R(FD’a"+P NJ>/9,0aDyb ÞezFq#j7(a y0P$Q)M4Q6Ǎ1WJNg@j}]QTp5M!0)A)[dE׺9bU;a;mw^ñ$I*xg +/[*5H֔(BQוm܉ _8|XQ5 1$~?<Ghh +.)J"h&\+E  _a='AMoI#`& Õev7~npO$qb11\BES[JǯhDS_op[mA$@եZc L0"5/:bRwwC(e#5λt"[U.1{YV)]< ܘW\pVG}IOqybT쬐 px,~޻1WH"k|yhp$ 2i&Nz?.|^gnwiLB"!I#=^8}[26)9U^wJ!yLM!"r0!x xVpǽp #k2sk {y^@ LŸQKΥ) Կ %s1v6|6I;<^o0$ۯ]_J~ߟq:a]8yzl<\ nW@&mO#ؔ(]u><%.,Owbf ™)Y$ ֋;Xjs[`!rqfS2kܞE(L@:{lA*&yq&?o7-sS[e:袁 7@.U|jڹ' !<#ȖJ@HW;j&. 4Aiaž3s;,|nv4g=J$ ./:+K0%޶kx9Rܗ41102^WSS!{K{ܦdlҞ͔%;p7Z3DP[Ĉ9;/N$Uծdھʼ 1~EeK%[4qHgO`clApFuӴwе X {d< :RɁ @aq=C)ۯA0bnf$|CNwB(8c5@`U#Y雄T3ʕlkI4+,>p/[ =lPۡ` ++S7#b u- j1aEυ1v+yp_U:TR J!nV1AφӯϩL7Qa]!V.J`UBfE\(vy?bG=V3&\иi ܇3.+bCkQE5g*$䩀V | r+i(o!9&@$W7XOf+T~%'iB6 7O|:xaiO'E(.I,}/!dRV/VLaBQU?7C%N8*B\lY`'_g% UVt)ʼnGxH CR5S\Tֲk0ʀ߇2 ; ^c7h:>(Kċ"mwJ! CU߯v80K%U~0h|c1?4xi8u9#H뒴ݭ2?~QaT0\K!7#/lP.- HX+Mxmd<(=MDdE,/1nnLFMm$TB5ؓ۳|pZ i#vLtD栬$~7F?@77Pl;Bp3%:HsMͦaI8rֹIsޠb{jRQTvR .n9kvzeX HvBt/Ҍ^T[0!ֳ%LOy߅KTG$hR m"N"Scd]9aVhW؆@bY%~玼ٝE/!U{H7dun4n{f֢ {kh]β"Y#p2IVm }`9~,t'֓a@L P><tt 2 |X7E?{SCp.P9ChաHUZM #Uy5 Ѱro ƖMhMp~A%KsnadDάr (!Vh~"}@s*QRC'Lj4%T*vE΅斅NVW!ΈSJlTCҦN+qPdt*ORB;(}deޝr"_mJuWsaU(@ENh>ǒcHը.7_DjP:}$#ٷMh P?TwzJ3!=\c_5tӽ-8bWIJ:=Uԭт[,}c01tC* lYki/Yw4˓K%Ŭ\w0@hd-hIW\[.G8!|/@Kc˔zf#\ |T7 fnʮ^LB$$ev ,YctGr?:I*:S䍻B]ވ W]aVY%)%%ÍuG028C}gg&p_5_CU~ ktImn^c;vwbeUrRQAKaՐ2NФ֝} -絤avC .+]"-<6 XhB}o[Qf3~CE<(;bQLޫڹiX|[} Y~rÞNRN~O=ò8z\|; TFx~Dˬ[Tv,m10ݎhJ f,:-!{wiU<uEEA9’{'ּè8ql]Ž{ YLj* +^+r?lә`BuY$dQB}€tFb8s,ҴXnV e0 \nzRmf'@nB d_}mz3WRnz]8v7S3Ж%!`+^ G]}xU9v+yѸ)BX̯hL"5T›!U]O7c{;F |J٦w PMm3OxWΙfzeE5,' WlÚQ5f%RHHfD#aAJZA; |;9DIM^*߲u|bK:p K2,Qgw>] dc|D߹|zWD\j,m/αZ0pN stM9Y0˙R ꃗ"IrFs%uKt+\})~=LsaAW_3Ȍ9N.jӕ3~7cvDms~&X~.)~ QEEsbrh'WZ :>" hx?2"eT!{xdlՅHh<[%q|$O-;Rniϑ s%N!;0t9z;ƩA1+pM,y:Ģ$l`3%]FmXY3a-bG+C>C #;DH “K T͗64x ) h^w=r$$V;U!e#3HVW?0ϘE?έļ`P;BWmBwǔn`e,Yg߁讬RV; Z4, }ϯ0/<Ā,+G0IFƍ^fXt~etQϗՉUY U*|\U7Z$|E0LGWw6ʦt"n>179m-o'b b!JUBqΩp؝{^ `:U8hbѹdftMʘ}C;1QGQ<*|%5IL4XO% h3_aiμuS߯B XA_rWCzim8ڦ_%Θ3 q EiQ'I&ga0MFJ-o.uQ71G;Z"a7cEk-2co k~֘`dYm^/j "ݲ.ԌrN p7ļwB6jcڢA*GڰqHds8>NW\ P(FpB"N3+q GQ%mlnAS2q% 0>ܸ,gv Ԛ0Po4A6r6^`.cbș0e.?U_:#\E۬/R&`)%/IXg{alM$Ly.)Q(èsJyRw !%l#ٙg*Wj-,JI|إ?`̙Eiނ6^lUAk#M71F&wnX &Ӯ]2pѺ+˔2@<@0fсE$Dཆ?4!#q7l)@ŷmْ5γXM~5G]׷E */[]Oyk~:*7t.>k~R-Vj=d]o7)yC2dE=$:yO8#'e@[J .B!'v^`v%~5"gGZ]yo%Q*_oreM Oӕ;uپ!KƦ}aϛ 8^P:|8SE..~5Խ0YRX.=H@^gB8C?h1PL'BwN ﺅ&7/F)"pHfUBDv^xV]=S VӦY`ǰh3=t*h* >qBueZOrXjväl4eHwQLfCY]`,(8\Ut | ϼH+|7Ty[a| Hjcnַv{l1ivc{2_wb0.8yGBBW2S0:WVnb9&ı\#̜%YL}e!u̅!XTA6,h|[r/W΅FR={Lm/RiHD LP.6zZAA{,HC> aLL%1 1T 6rΩQ4{r|/83oYUhNYrޡ7x/>|:14[md3l̓D~ Wxw7l7`dijsܿNi~ЂE;EgRwO cqlYdMnss [U |B.3*$3bcXf@}d^w)}Obd G[5(: MTOzhEr(~:ŁT vK>4-0b1R; m{Z]pm]N!Nߏ#P˄AYR6gx %Bʎj%5[+_{ $C!3նh5/'O(jmEQը?;D8e=Re+Uմ\L*]AbhdKSxDYГIbD'UΔҗ rG%& y51iA;3Cۈ~. >5%:tkC;#$5˚:]]߀fÕ TJ+-vڞfemz+Glv}eeuҞ.%fܲt~DCl?`(ݲ asIbdjm7,kԹ%<' F.g[M`u85T@k}} DŽ[e#jtL Zp),aa6ZFοQ-‡c@F:"U{SEPGݯ/4.ya؄'( ^OK#Y$&BI'3A)q>~PGlXCuCmq/vx^?I"^ɗhFMү-2.Յ )"URA 7x]ՁQO@czyiLM|mu1!5hYk3쵠2jUt+5y퇣|e9&=<"Փw`srd]WpؑB 8]SCP|[Yf#IkĵA&2kS7!17MZI ߠh=xŭLrXzJT!qOv@*""2N?ƟT4æl`M  ܼ}G&+ioIxdV҇U'̿FCG/ߋII.NLӭgR?qͱfaǪ|r3=U£T,҅x^U/Jiwa#_is]#rN 9 MuKSo|Jtv1I<^XghWٽ>"uX^&L7Eezo=HqrGE= .@* /_Ⱥ PDQ y>+~;XW)XG…?E!LWlBS (7v|8ΗCn98/V?*9HXg|EOPA`[SQ.G@rK.&C^icבMdz4y&KP,'t真+/3l:&Jo7n6ɧJ#?G7נVBe2&&^j'M>-}R?M<㕊7\[K< yEDZ<=f PZ b~k9Y$!UGF귭z6۸RklGkg ]4H\6*#:V<|_:ǖk"QY:ΰzPv}.Y^Bd O@m3ӬD4-P h.c&kډu [SJ)}vZ.w\Ӛ .mI- q'M7'taﰊSaG5U+^}$] `+hM|<pK"x],CPOEG]㟿Ֆ5EYPnA $֥s}rVv9We >Fu'ٌ=7jT9Pfx^?}LSI_GtQBAj^MV:` JغLE`$n]˅@+呟qYh׳Jz[FG|ew 0rIm@ aidZ>Zo@%S3 c"_AZEe|ybL NbDYᛚeI!ȡ'Yln!+o*RƠЅNqfvÎ>p{dL wJSotaieӲ~/%IRgbz3V8TfzxAA~{"-lqrP{8# = 'y}=z/[ދ݄ܥjXg-ot_c tőAa[T4uffJYT#O[, iDŽgg?%duuOu6g_X&i1DbP<wu7$d!7pG-A5yo\Kp6V -!tjMikG6{648@xTQE`,S⬁X<B R郔n̬Iij1o5:O"?20m`u͠X)kσ†hgێfJ4UbVTp}ZBoVac^u7^W8#ǭndY9߇Q3iTR4jQEg(C)e4YoS•xY0܃c;}tf.\q^R(֑wBn)UڮTrpX1ac߯K?Θh4=C ~dC-7 DR>' v2V(VOƹHVBitr(oC,o൓)5[DR LbahĵSO%hGKŞ6ߴ>eO5{v 0uKOj>ݐ=Mx.ݻd91x2g@&01Μ%Y/:ܨ Pi>ii $\C'n63ƛ삌;Hi U~<.dƱ&}йȑ4N+G^4bM)$l,ixM]q͚HB;gaJCә)n t{}k.$z?hYuSmq {%bv}6 ƣjהE{?Oӕ^+zs 0^5H:c.wrsVS_6$ndž?PXYļw Ƭ9So;X/y4O&.5TZw2i eCCRz8 *ZY[1戗 reE1WJFLq Ͳ z*H~.DQ 9-ޤ'1G.[ZMxe~Ɉ,Lr*CP4}D f U$C4_-epKN7:0SM4'$kY=GI:%~zX$$]nI9,5)Z-w%?*SR"ah$pFFŤi1& x彿~<2Ja%2Uxx<\$OnPFNYý[PYݤ5D%67[]^:a4e O_אַd; kN:\+iaZ*[H܂ZgpgLBP5ʌjwCH6vF$iSqPmeJx=pc'chKdkPuqFN'_ڇ}E.ZSZX;o^qSRL-, < C_@dnj$~nr5{1S{FZzp L ^!QM{)[ q:B 9E`Mcn7 CžK H zzAA C^tMccg"۾>s2hl6iAW&jnj5ud 3@+$*eDFl`J!@.In-rrfE \ K~pP*Sk>ߠ9Ţ- t0J^hy@yVobCHc<>nZljgQΙm\d5lprp➏ށ KDӣ]\"Pw_pȰs~b2NPFeCZi8J(uĀu.|||\JM< ǡSvD~]Wu?q?ÕP v۝pRή^m@PK9z_rTBE8r( ̖B/` 7z }a$SHVxnt&_enj/:~B1fåHv@I`ޕ31aV:+er] ven*Y׌PK KdZ"w ،dzzV ҊDg6;׎4]o*=jꌨAwe{fFC GY.$~5A*orἏI}kg'&Қ :6g5:=0aVpR@@Tל.pXKnb0յ6Zc4+l MC=2\4˞dTROg m҉߯BIE稚 S؃o~_Ϻ7H -T[  ܅zD0}ξH<u璜,|CbݫS< EX,h+Omh);oN6TaĥOq䔯^MZ6FIWU<[$F'6ŷDV?~-G,{wl^'.3Ɇ,t2ĝ99^4MOޏπ)_#E>2wc :߆ yno`/K4(dz:X]ZweI>%hJ@L#'l0 ((~xU0IMyXh S9-@[ N֫QM rzJrPWw}ᮖuw.vO_[ Ia">cw={ax|I7}쀶D}(AvěB4뚒}$V^ { 5ܫ3fg f8zzR 51CTˍGL:@Raeqpk2TVqW? U/IR]ii֎sov_SrmVtuC9@?:1碈"Nu4v01 2ދcB[\/P_|Z41pP1>%QWPHt`~fť,x!fѽ1duռy(.pI4C"}6wI6On`LƎ(/ bf+|^"ЉD 8zA gL[͇,f'؟4}gA>I 6‰0AעabcK9MV}] 3݇Z @u#BN H cjC I~pńPgLR|u Id<E8ϨnR\_ȇ Co}Maf)} RY]Pj4w-0=%ǀo&iٟE}㱂-j-4Yz1OI^V /%Jc[H@ж s5?mO>*3g޳ əH+RQUY0rFw/OO46|&S?9tĝ]jpNOlgݎ<;,Y6wg}9L;w7Z nswKf >}E|q$<6/Y3:Ѻ_QQ0MW4kPZ3@ ՘1ia({q7۫%鸼H;!-%ymbJVMT!{f Ws\рGAܰ}fC 8#vA;q)Ox2z$cڎ/.T7}yH&yjÄq'G"eР Ю ,=ۀ ;MI/řnbzx{ig.mQ@9B1[H8WW.Ǽ:طRoã:iQ[7 G;"z.a[$)(1ћPifӛ@ ZsH5)TZxE;.k]5c 5h!$pkC"$u0^}HF#"0:!C!$Ϟ@չRn¤"7 sc2 ohrnxQ9 vfC )ktXF[?Ogavh*օT,8),b`Apn] a+R B{o7b-nuvJqu$wbmͻ"*sT2I%h#(iDڌJlrYM1,7Ѵܥ>ùoTZ<@KUYB sqׂ6lUvkS9FbK_Y_h(iNYVF:f&Q)Zp{*Gނz8,Fmy!#Ȃ K>ɍSf*l=C mҊ^u%t cf<bqI]2>= 6FFx {Eh@/m}V, OE6a1kP?2!egeu_b0.h$\;o@l@gNe_x[b.:ӲI#4Jc;N eX/s큤ݞ0e.p {͈Y[@5Mhr|DK~@Je f!I};FX|E1#]puw (g/B;'hIūCAgp;;7q_ t\;ksRaZK1E u@ބr J*劽7`'DWrnGna_ԣ֛JSn/d?~K{3;go7Qs&"QtbfA6WRiQP 'e^~$u`Xv40EB^ܚm['uL)KоՁ쬡R'IӆWchY\#T/ՋӰ7Ǎ31mH507 sZh3RŠZ)3siS_('3@7vk]E%?=dJ' SGtfu/V*kFJ\OpG=~#.Q=~d٣UeXaqCݖ{0"*uRC(dӐIE4lDRf4rRIʨ**Bdta( tNM{ș$a,AEsqq(Q+]f1upBxtGP|%kַXIx1fb,kV끽⸕!mXF` 7 ,,BdkGͨ~ -f$HB8tD(6Ϊ}GȰsox0orx|7p!JhI!_u+LMʉI ?vGIOd"*ɗg{l tHUbs#y!6S|2Vi"/N:biJ74eeAmS>cP,*ێ._& ӫU[1ks2'$( @*@=m(oPCT_',c:@6` ,nڎTzMnGypV>=T$l@pxQ]cz@,%0͢K]}uf5C r֣\"RbU>ᱠ6yԃ}[!'5G2dD59f}vG4285ZMGrfT <]nK).č+;Re 'taO8.l+[I}S:̴KƓ'yix I6{><,䏕M>@o:6I. _ri6 $ɲOփU3őZf2=GZ|';'\1S=\'`tC 'EtT1K˦\ jCKE0E#N=3ñ_Bɚre2B\sj%f^ _hP͙x NӽgKԀBP.чZ:/YC0ǓKgV:l TK>'Qjdvo~tPs]*)yC}^񸪦vM}Em7*06TN9M;7NK՞ã@X2 @>`jj[x-A"SéR^Y߆JM Κ)6 I .zqs%oKs%37ֲp>l)UTw2Di .)!+Mq^Usa xnI\t]; 8пytXd2TIk|gq5u ;4غӊ@-^<6\M z5jd'`$sz@A4@+WImmOŰW᣹;ǚGq>fdfa*aGb@# U<}d `?4lMsƴD(FBV d`ϲwIeju )L$; l_m4uRrHߡp< WJɪ,{SƍGn"Pp;2X0;Yc& 90ks,qUC D<{%m@?wc!ظ܋ rVg\ɨ#Bnbo;Nu8CAM#[ú {\~cLZ݃gE{/ƩiW6T]4*YݢLF,ߞ!bgl eH' VҜ.U|2`V<(.ayF]6e+0=, lLFMRDԫ2`=b#۬Nz$ꚕ]qmU?m%kdE2V9b`>ʼnA eK+DŽ'ǩil8It{?GU~w:3Vٞ$f`~]C /IJ%unB@hI\ l1HIZFE GFe u](q6ke"d,݅xF!j'4,co_4Ss~hovQ㠔m0.JMVU.iO|5'O8Hh@WBߝ>2L@EaJ1ܚJpٰS1Cӥ,KҴR?].XɌlc {)E:u N(_0ܐ;㨙S r ^yo^/ssϪDa!dJTCvem?؛ٶ; )jN_d+0AI]#߼]`a ͎[k6AZԓ+Nlp|(g@IHSֳST~Z (v%)hg楴䐊wPNICuEn SrٞuG͢{Ք:؏4 ] "I\=3WC]*"'y'!~y;nK&1r+^,ڨ/tO4~`V!l&7Ǝ MsZٽ~s\kh,DX>S{9Y-zgQϐ2CRbwTϗDﻉ"b8wӸ7WYpiK6U "[ռ)vuL|-u =Li%`,_ jT̷!7/L6T0ۭRE$G xFFG1Ks3KI =ɯZمb]dNe)zTub\6r7ӟ7RT3h/?&w ל=#/2+oM\IkxSmb $÷k+ÏԩW1n>v΋wa(KMփAS}#B _0i 8LSa끍J\*c}ͧ0l/t”l g)Xb bo{.T@%oKϜG;Oht{aaٶ{1UKޢ'="ò`"IN6Ә憏e-ct%nBT;Rk_z|1a͟t$os@l 91}&2jĜR$|~1@^SRK*>{um'nݤe!u:VEŢ%aRT@A]?lr(/,$!Ot,N4>j8bfZqJf' )3%wj^$/CVLm:m:͸o,pTt4(PW2کߑZI/%icqS;vO[`q"6@ZP;XdBn1O`X <9ײ8ΉD^BSۜdj5[(9 JjY?{C_{?WqTC)1 e8p֥̣apBDĎ+[u@I5ߨ!.chg?cXЖNgG1G<,36Qc7Gi&>Qz`8 [ymԀ0A5GC!lRq=Z8|Mp#8C"s"7B`NgPZs^r"BJxv *u{~ou=M.0 0b lhNVE=-{2f;x%!)G/ Sedtt悩D_l$vp3keKlmF4cUkuZD8^%TL)ᘂn^gNU3$vrTXaYLA<5w]6Xo%"}c~9L ~ZYdǾO%Sf{EF( :#N.w]-N^rFIIC;wR9AUaAӯl od}#Ƹ vDf 25@% G$N1uXs+WMLZh-xrK|'D`] ^A Ѿ3{>2 HA;24:ف:؇O> ##pkFծsxlsjs2_d5,.ck6o1:O;L]S$+,dʒJWg=PT YKKK &#$}8>aDfFVa o L`mnF=}]Ӹاr?[GA`D@v 0>-FsG<6 zo81Ar2=@d$n`,_||=mH8⫻1ɷ5i*Aacr/4>.!YT38h%4QIG'k~^2 l$'&٢NbK#|0 Z:ll)[Kt"ڞLHE9iL:e31;ĉ pvn T1<ɢArt {~v_O•K !܋6c%8dPf.3 It $'dd 3gLBu,ǟy`Fu0Y״hO%f{=%#KCJvL@a3wcp4e|G:11?ܠꎩV/O҃ww5sYXRГv*`My"#ߑ*t賑딅~$TowU_8uƖ?&7 `s`23S)WnMXGr|GxATAfDTXqW(iv RDߺzpX,4k4s%1y& 37Y~bﰶtd5$sL#D?h/CճNp%t YwAO# XYi躢}uU8rw%ڇY-SH:r]_mK Îք&\R-*ppSCp7%NkOp` O(V$6G2&S~AZ:lcJ6W{"oukce:ݴe[]LuܥԟmN|li?bkq$! I7 G}03>vn ڭQ_ vrkP|v1O9`'Jݖf+W{ւࣶ}t27tUNÄYh"8A\1Qp.q\1^׆$Uv8`_l(5yB%F,hԺ[Xz W,a!SM~O\?BScq- %ESS&)I^SK!'sInO9сbocjLWk/95}u@LYKLd,E Uy^y'.MѾ^9WXbĽ-Шގ66g/J;l\ѫUA-f]z?zj'8D ;eVf;PL+Z׆(`Wop + p ,|_S!|!,HEmۍk"Rr瑩,Tc VsAI%}yoR$$w;V JpsXa;Kμ⛗2 |9~fB-Y٭c=D jt»{:+`?6؝P޻G?(_M{0q-%{$[3I0]yU,O)e.g!'Hn`aYM9uC&T,ZW FB~陉D` JL;vx@5+: `᦯ؕ΀8QOmg\qt'`)kn[y հ`xbԌQt$_ Y@ǵ Pxw{0>5e&7&¼_gndb֨f84Ym|7 S9Gs '_pfZX(PB^<*j_X{bߚ/$QŜCBc )nO/$ &c&/ uIx_71l` n pOqL z׷*m#.wLr.**+'z۾@s῎2߹a57g^Õd2{UtyvnLr5%úqC|\3=#Oʾ?C32tx^6`5D'+o Y```ZwXjmԥ2CXM9eFD|Y4{LV:jj.&qpb@tIzwCcBzaOnrRZ}.UM44H8|QLvdxs'~vL <g.<9Mx..NGVLlSxIRnG4u$I;7mZ8v ?^".~=DfjX T5g m؃3y].ʯje0# tG(sj M!Qڪ}($7Hw&?,P# f2[8p/Yܧ6_^^<!}'|cZ')dJjE}ʿg,˜ll Xjocgkm=t[d^إ1rNW;$>wM^j@CսR,D).9!)BWWЦ/zui镾3-Y(ւYqp,;]hgjLmJsfrS,7Js Q-sMݳb<)9U:TnX*c,Ȫw罨`b^v*Cb\O42?\|XKx/Eu|X}1(jJNzyu'0;y81I12ۢ`|w ޙTMF@qȢ KN4#?X^&gDVF"by=; 5;.vnG 7xFC!*^`'<3 &ʈBt" >CҪ6g<X8nFduKfN.OL^;Rt\Y]8@.[~NPb&"nE$-I,~LJwY VTcA.\\]H !?X\w$dfoҳSǣGUZA nsqx]]4NSx#I+gܧ.T0%!QO͢bmKC3+T9OWYZ\4Y0 5d_EX[pĥX΀rWzD Jxeo"2'S@>-R}^v܃0X_B6]o(n&Z~Ӝ2} @>دu"eP_Ftr_H+ٕ7xņ3tqt![8fm&!P@ LZxci֛O=BS7y+(v+|ze#Enߞ$N]7fBUoQVOPmuO}}!xq ܛ\j@d8:EM1U/D+L,}Ɲ=l㝵Դ/≗t=`3ujiyybI Y>|f,bJۿƕiQʳ-V&ùLpK@abA3LZX'q52ݹѷdU1lIa #x-7~Q4FZP.@ 07u8>2Ɛhı$F[͘c(j6D:8؍yEP6RHԖDt */x4m + ;+Vcq:rG"]觏Uvg̅S'̔+}%.̮¿CfOl yb46VK!}fM([D"TPa?nv#υ~ʬN4> 0R/%nPRfoXU͸ eթâ]0)׬Ydݰ2@tC&XۦJKgP O fP<}\X q_lJ 2Ci2lУ2 AW׺R? P8ަKiX*`@g;#OT2 n8A9&‡T D,cMb!es%gBa51BqЖ4=顎ڜafUֹod:*(-@y'$|oD$c"]F+QG=o8Q `:7AA `dzMm#r{*ǺgkH/3,p*(:l"2Gp8L/[oeRsG,H=?m(m+(Lݟ_BԺ쯑Fڃ Q綱!.;)$Cs!\Gaq 3;MKlwdtƭEٓM2)<VNeȖ'9pf7/>hv9^iijId8GK]Za'~1o/JԈRV%$؛<B<.DҶ?c?%.bNI1$=-ȹK>M]'*;۬zb7( 7U2k>$OD. Biŕ+Ys!K=#t%~E8C|G1`o۾- FZa28$Я*99S>Wu ʌ)8 Jwu 9A/gck0p=/{@\yL5g>u-/1tC .hDϊ[t^o/I[L31'YSOT@)Y0@Y;L*X V/Fw x^˭ ]ʎ27ZugZH/bB|@\DS-m֘$zÄS.ŮM0f;* + | KT8OG: E8amT|¶ȁTD߾s51 ocu^ Nlp=tx%}|1?ȉUi|a,)QD` >+ll*U5wVTKP{H̾ƺs'kWFdR*edcnAĘaVNThlOQkgXֲQUcp=no=ڶg܍:03+c7*pТ멼./5EVح[=l\0iAhhf\iۤic*=42l^$-@ }a&|_Ӯ~[?3B=Z -bӎ3p-o^^45^oQx)H-]eT?EMn+Zij0Nw@V1[ Q{R4MQoT{* ISDGX2HCͨۢV6(Bf%KN.h(ntNAo|,C=yԣT1]0C4v$ 4+DCӗI*04<.\R) ΏeVG ܍?]cX?gΗɖPвF{ 0{ēKCo@~ Ԧ@gdMr֢(`c!g+u>!>eܨߴ3}:կHpB4;wO+kr^wZ ;U ya_9PD˃M|Wq([f2]:60-q19TA&ᄓI#veOCIYd#nKÞp l%QSFuEHpX`ozS߻CҫBW[YXyIZ,ҝQcȖO.7:cAAH~]d_CHUkY#7ʧ"0i6&J_,{5n Ey#)[Hl31}.ޢX#GK&Cj2=;֛\9Ys̾X".-YJEKxuK^YTaKIQ] b (k^ͱ=\ xM Xs'\]jűe>4B$mH+lu8<=bzϤT[iltI_\i_2lVK$c\՝w.}NtxZ F ÈBT 4+xm93Cˁy~ >?hthT.q/K8or[bN֞7oio/QqSNJ8NzonEwKd"*D>\|hohW> gfR_Gr"dVÜ=ި0Zk`sL~[l& TgU~_eYGJ Z*1d&/"ƹ/0-vRň|bͦ6#+FuD/Uu%XSN.lkPw }j] EV]ӳڡPY*yl\"1L3.X?CA,,كWPZ6 '_#U)$ƿ6?~PN#+3;F;2r-soݰ,. AX_iV-,7E锊cMɄmg<5b\{RZǮXi>**|O:7UG-+Ek4a8ӦFTU1gd2#U룪,jw}˪t8HC&<~mpYr I"ߛK9O QQމKă&i.\cܬl~*+m"6BO5(SdK:1 a/)r Λkɲ7ܚê}i*1D % "~oYRI 򾬪Ɉ!g?[P餅 =[?^Et3ex1ߞ2^`Ev1@Q{h[ F8K=y` !MTui˲ބZGJE#Izx ]bpG15E5O5ɖ U m#o63(N3X$fwm딒?I $Hp=˯H"o jg.ʼ 6bE.YEe&EU^>\ 4f+6Dz. 3i*)vյ $)s?K]-\)1 .e$7 fH0SZxrڋ" 𕅈 MeeXP'"źٌ˹iA*gߎ5t0M T']|%a|C.Q!d=.?Td}; P7"WsּJ?^> 1q0Ti wxOpN >}7_PgAx^ R0`$敿MxEԈB8'mBsmK=WYmKlbA[ ρ@fulqz;iW=u4{zʙŞej0شX0v<3Nݛn`*mm@6/`^-9{/an] {D1 Җ OȜgb.y[>ZH.p,| -⃴`lM5 4"/bʝ~.Nβqb·if;+7_A#0f 4>Cz''4Hhaj]q'h ;%J# $uPfuXJF}\TC{ c\0xlD $2An2Zw֠. ntJo{қKhӪ+Y;StnwaOtJ>_1>84gI^#֞M2ţ)nE$)V|j iiUqdv瓲t 3TTHA)0j}Cjf XR@蝘$X5iM`KB@G bZyRi E!OfzڎQ|5v0l zF@.PU5{-fn/ՅChB\S&z}}uĤ֪ v@IƎjlj >:BN FcZ1 Ѱ}T-t},>\I>s"MWN޲;zJ]_@e11gq_΄$B"o$ÊO0\R=u:~E|1I<8+lǶ[B=`;UaQON/ch|(No =4qe|2sP*XDatsuV) u[ECk2s4E#"\@8mrxSQaa&9] *Zx!]ԋ: 4-=Egb#P(Κ"WGۅ[Pi_J/.`iGFr^Wr|2/us\!b"?!1gpYoIo Ͷ=vlн%8Jn#Vr EO+ҚY RXPXaslk[!Pr5I[eZ혾.<7!=ދUtE:WQe:a^Jm.R{c@gԫT 'St"<x:A6݀!H&VO?[-OGH נ^?XF`|e9؄5Hn]p_DDruKGi~?2lOb(aNM'j+~ѱ.1wI{iѵ4Wa+!${5īMꥄ]")l#M䡠O>~d-- ۬?v.2t0|`oĥDwܔV2lkjJZMNh6x7l G3bӵ{bIߍNMYeBqo5ִ5\A2/SJT<#bZ_GI~@W]UQ&\̺vjǔ|ʐ7>{SoLuJ0Vz)М\q_ހLcmGBu(%+l8O_RnΆzxݻ's)wy\6W)RޓDK0e'Us+@t4ЙDHuHe:`گG*9iǖAxՄe9 JTe4p uP=ᒺ׮ 5IVlb}5<9Wg&YMrmah3Ro/mMV{C>ע76+d=_3]]!<+XI ɷ߹GX8 ",qUR1$ؼdN4 1.w|m*,F~|R$4n5B{SgA3bY ߫pOtzJ?{G+!b&PdS>lt{o*$U'y11Mg1 )p\?܈1rv#l3T e`P1 P/:"=t՚(~˄T#اb (@cφ 㘆QjPpǀGp6["JUJ=fi +DK ]A6lE鏰J'!. %%p/hXȋݏҗ_Zκ~9 h0WwSx&KhkbR Nw|dwH*5B 61deM,zD1GvGi~z 'C4y8L z@"L:ї}%0; \=eh, bͰtߕ`wC[˲nG!Pr8Oe3 waJ$*@'T&٩$\5.=ո|e%9X}2:qלdDughtv EHҹ=I89(Ptl#Ĭ(V ! 2D[NьU}=%ѯ郭aџ62'bs 7vh+< RNKB:aBã%n'B49-mFNd?39yH@ : ״{/FhixLפ[^Y~U]s:O1]gyhxoP1Ƣܒf{wrF_tݜ1l=ƺF5B11EuKmv9lȥ԰>qB/50.)g0%H3Ah*Ko 8+`'/6Qy >rMpvc-g VvaсaQZR.2 B4qE43~ x<Mp^Lv2 xْD]/#ԡF"A|!P񴝳*)qDzZFq۠^jv}Yg>0Y<{Y\[VϐxM0ZHr҆R(βC "Lf@JE];L[eћJVnylܭh5s0$0PޙJ zPЮ# wChFl#T/ȏ%EJJץ~goDz5lg,3,!HNJT@W\lhqK޲cugy]'oɔys}3xbTjUpQ[1G߸ -G+bI"*WpI摨ęn#Y?YɈ yxgQ{.}FI۹brF vSx\Q5%7p^s([q듀IwNl˶AmH,U+o!ΠusRȄI,rJtCju}0)xxˁ TK9xĎoQ+}HE@tgAlf-<|=9ǁeHX+2U_htQIY񪰧b,n lCKegR&BcqaFuo% Rd9׊B+6.zh}5j7<%6, |n!|!kX):%}0bAЗy2AEvsYiDı $U:}u @>@dE>Zux#*J au@0/jAS d UE=g߸Z"Bl*w#墱z 腙.9Z#EMRD[p=rycu[H Z`>R;aPZn7[P[Un-(S|?bKzĂyWkPSuSE ez_Q#Ƴ9P4)U> ҈Wn߾,V(ZCTg'aMz/4JPc![ wN3̔Ea;x J6!U);׿g?UFx,mm2:edR^$\_PY2,¸rv&$gv@~beޏ-MyKt\-s[A*!AE/v@γ :R-d8œARLC-/p^iY \X9BN2ku'ynn*#84{e%dIjJlWZQ*d!b v oƒ` t,p# ֩oRJ2bx&jnL$r*fE[DN y =]OƶEKWe ^i7: l6(6ϳV8)C\Xk;e[4w]t]|C. 踹w}Cfa="ژ:~Iru̎_Yn/7z?9FʳhаN~Z0:ǭ5}x%Fzs*SR1)տa#?FP>A_ߺrBf|U&^Є{UO\gc{$Cm"J/e"K&s2@"?\V__&oƕ5ʹT^цլ z@ϰ[$G V2K'F\'AKq6,שA<Ȃ+^LT\24Տg? ()b Uh7SlեPv@D}$KQ,h|PL+d_T 5S+'Y="KA{g>2)(:|^}@8DrC~F+oPݕ`!I)<,xV9rLmD[c=΀hp1qĬڒMLioX@Z0YtXoPIpӧbwPmHT=Osa>xO17rUg9ÂCI'ֺ k{nb0bJ|XXVSGsB;EUUGd&w {%!(ybAd@V(Xk웧ļ/U@~K)p9HvZ&qJ F~mK_#mcsh5ꚹ i/[ϵG_ i=aN^"D*mn睂*J!<+bsa|Q- :g2<.> N8OHOD 50L[0$C^pGyI␵jh%.{v QdR*lw+>CF ' <1 * Hȅ=_2sdy7@ :#zBUk]_?JHm—y * & :Мt-tAi|'`ĤIl8i\jL5̴ƒZ͈C%vYjGEB.s!l.?, ?0ٟՆ~7 N@&~sK Area;e]+6ы5b.52"8"r$ȔPoBKtv]Qs.dlH1Kk$>pIMFA9-lO -Cm5_&QKyd0u &>29h>~$(VEvvl/ z-ezQ)6nٍ0@v6AczLE܋\1>( .Ijq`g"ko@ő sGf,7R`~<%A5x+fۑ!U78+~~x<kYtcj1Z/P[QV^g\ +0\cјH d/DMSKe9s<N_-P?_S+i``׾`CH;L1x%{&wVNY,Tv)I!) GDU'8Hvrl A]lq-36GE*H%#W.?> w5>0j:[ZVRyv> j[R$2*QPU>Ik<K#yۚT{Ң]HD<0DƎ]G:k¬o3qJEpA>?_ޯ:"p(x#Qi]^bU;xA%S& Wq4-x LjE\ 9Kv\o}C0:lb `Oጌi7-دo?>DVvme*!3GxuM(Ap)7*%u!^Zl*P4iS a!BSGbk& 4a uBK &:>tne έ-C4jULoϭA,>P3+`ƲOv6l>TΘJai5ˬBcڈwO<̍qwRz)0 va,~܉oڦD?|',#/A@_s'E:I=DdnHL.kuuEV"avR'ps8Y{7bġlOeАf{6QMQR8`&F{(7ꃲ8.rZ=MLVX1W}9&a(8SɁY D1IOmֱ`qTTX>H]_CL;ik$\c-#f򕛖!}kqV?J;R;θ:w RCy2T#'tG82qRE)7qk};ؕ ϽMl#/γFR8FA!AǛ@դG%N/:\6^ H KG<Š 5 U2iEj FiXss{䌚t1yol(}=b_Z?O*}qM*^E3δz!]?y<|HږnL=@}'p&@^\&,6͔;#.(ۀr Th<@MSsPH⬼c9Sk8Wf r?!*YBz ->K%λv>ɑb}"=C0Vnno)XaX|T̢1%GcIX.R@]еg跈Il&vgƔrvjcV6"W ¿p߰Vd2w!~cnܩb&?+ « &o)p8Hg&m鵪FAԥ %yӃ8Bqܴ,KVdd098SVU9n]Ea~ hX\i$/|417鱾Ox~`0 6U _yrO)pXU* 82v;4Vo .>bӃZ+kimR/H̊ƯV)TY&J(U ^@]`Ѕߵ/H]G~WotTUʍ#S4+ `QH/Y*Uce >Ҭ[ ؤ@V'2ӋOb)՗vL9̓zܳş67̘wx`E4l$SWlZV1zր hh0Z2$}$O 8Y,E\F+dcjt9I}"}x^C}.Z9ud$8_yJXx-O,-HˈSg/[#^>22~-m@"a.QYtWxAE.WY>|%OTo]((/lˆ#W*ni(™:׷kNo Τ ZɼUE$_8M95oa9GlvtŎ >sfĞcGGmᛔØnS:QpcKR7.B`cWv\<^[郑LxpL}|8ZWo*)ax t?5 GNEgzwӦ=}m-e_Ȥ:&oT L;#;`'࣎_޸_.pSh\HW@¼~a%kv|v #yquJy^w168=hZR83n4mU&x U GCHuis]BBӛT>.>cyd"퓣Ũ^ޭʽ$-TRc[Ә [;DtzP6ZSGfCgY( z(q#55rh  {pZ2, +L~l3Y:m#^Uy"Xs :`2W?P Ic<=n[>Tjs m3#/昀i% ̫ f_à ),>K%S88adBz[fWZ߇ 8&FʉN)+F:yzZ s(\]4֦`ܺ)l:L*NH!YeiY*0ZH"yT[RA㨉 G{b̖; QjX.,Kj"5!x#t~s۝AP`SfQ%l<6͓/ߴkXۍ]di!e,N?QG:agCHQ;@[JsP{[1$\Cze"*_~|ktu(!=vrbQcƽ+n {X ٵܻ!OH} .7";Ì/CCKT^a۴'ѻ!YΪT4F4pyۭ]Em*bo. W;jTu2$F[ooB d5D̀םN`9{l kf|B:=Kf)5x9XGMa.(zV9Liq-+D\31)r0UafaNH˫BԞܝ[f}D ؟ScI- ڽƨϸ- = җoR F*a'K%8E=%'BG,q̨:θ*qgտ?-\{26 /{dzn#/REZ{gU9+X=7)>\gԠKT!mIwSn6dlBC'&ݦxNNtRev_lcm8M ,7& p㵃U)ٚ/}Jx3/ rI1h`ו.C|E'osyk1CV@ m [UNx`̪Fdpn3QK<d@iX)>g+F;ZC }Y)=l6>N;(8{Dl}Sd8(Nr#[q .LTs9پ2 Vo~Ƃ8;4@HgM~\:L\`e dEhP窽! fF"L^8D;n. oƩbw .9 |E@U"v>a|2Nǔ¡߂AH+OhO:Qd)Ch6*>(l]4nςC/=s1Ϥd ms(p4 aB%Ӳ%mPj %g=0Nh 6:cJl4C5Q,H luu_ 9@F6=kr%,z$ZpJ<Iօ ÞŌeOni=go\:@C$(@Wa * Yh"`l`dR]֜8Ib gH166&3hgmJgvC4}A^wDE9,`tű2E{KD!XE/v#|u3<ҧ#-m ' xt[+`Vrr!o< $K$/w1!" zz n%*U+$.k#8蓬C֯j^7]NR+1ã/n[&V8 L~KX =ݮ$>!z2A [!Ľh]ƼV((r|LuDY(Bw [)Nn L}.X1jG)C$:h.;29@C=~9WJ 1 %d 6<]jno*Vdc8D ^M-Cgs4=]q+͢(7 V!''أ,WO+$60wilR[n4A-&x xJ]|ܑ͡RDb+VO٫[Bkۉ>ōTWwwK'1:>&:t>F9qXD 3,6 B뛽IrK?o&үecwaz%2U9)QY>M (q~ *K11 LԷEϗ/4!IRb8ͱQEJQ% Bo[Nyǯy^Xȭ6&ϓA-RP2PZnX>z^X]8$M0Zv(I\BmG:gDԪQw%Z7̲N2M{#`2*7 /}}ГX'$ .C؍FX[g xB V3Y{\15R]o1#y g{AVc~WN*gP#K+ _NS-@Jڊm=O sZhT1tS2`f s/rB& n&Fb0K7+J0ٮژ s تBh3Z j=rOA*g'CQ8:Pc^&r7l}Ҥ o]RɴXEy5lpJ'VjEj#:緮w> BC̞]w'P~Su g)sr1@WmwfԇvQ j~ɢܚFtB36))Is.i}uY~*NBi0IWh G*2; d O}\1`{nVap>}u4ȱ\q݃؉g ]ZNST5 ]V-Z{d[HO'` ^ A\=*:ؒR'[_Kr<2[ΖvG~ W@| nV{HvG=r$e %boFsf׬4}Avb_iқW^FÝQ-J:XMSb@@T~qSo[aj1F=N[+5yY]C e q$ыKeT۩%yT.R"-L99y*ۗsM0`SH쯵`DsLD܊ Ѱt[:5YG@4{R~gwMl6#EiF4m6SwyJ9Ф'5"}m{à$cn֝=`a }Ft=o .^tu\HVBsD?5ז6N6TⲇMR@%Ѧa lekn3:\aM`+u2+⬺eũTGuZx}(Tk(xfjwA:,ŦJC\yWmЦ iV1 .&aUQkd,ԧ3X6zd?iu{\v #}aDĜK.Br[ٞ%A4Xlq/ 4kF5,pPMg*PXHen;" Pd9llSwވqKtcZ[-(Sw6*gM.h]G0*kFitwgfL3W$5 R6cO,jLcZ,amr2]`J"cMVUrlv!k|b5Zo9^6„W(ct*ݩ>.T?JB+kO0,J\me8C4†? zux=fNkŬqZѥp,1Of)t6&?щo0})≘c+jn|RRсs7OlY2;}s <ϟx(&nFID Ձ=d#8yC":+Ewhny.F9b`Ȧfx0] (>$٘rU'9(VbA/?`&gBʴp|p@hku9}>&aQJ!;qBPjÊfD@a; dDY(~~QO@26?CS8:T+EKҖ9Ϊ8>82N쾤KJq"@@˷zmo[ '>up_ *<% v-G kJ}5?c%/,Y(kW9pk^zV7wkLqE@FoY_r4L5wbOcFb%)ox8TMYhkBZIWǧ[SPw(C"|ˈx:2onS*g ?Bk!=R!(p V5ΦaȂUכ }_T͏lRU"$~豋ϖ5V{+8O\ S۠Tb"k_S\a=e7Tia5ʼ1}S,ac_EjApe)V@)c~i`τa%KIB6YZU`l`ѻ3Cjj&*8P=? I^ݼ,uyTQ4D{ ցZ *Úm LT Z mͿZs{Y  ֩Sܩ"n5]{Md*M? H#>b2u j43"@Ё:9@z$[EAZL@#yCF^:Z\wAue =-Xxae0: αm氿Hi{g$Q;U мH&ޙޣa LRWgL#B3!ТʠʛmSP8%2l#T&̌@1 o)uHB='&Vڬ,?$G7(Z q L;^Dfi ~XMbc(1cA-/D(D.LӏlbZ~o Jjd=|:",-9SvpǬUSYGkaNj s#nrd۰'up91ĥ#l8v#6fQ|,F O[Rݯjert3@;5*S\R ZzS|(qY2$D;Ln6"ɽza( ~gk'ӴWAS9l #_<33&p'}-l_z0|Ik~c2eGoˆ5S;ɷ]jD"%gEL6 cT}Exz;WI"ho aKC );na !sG6(tZwoGhh?1x wyyq51io">&;vjaXK-QZ! LC?*w 'x\֢JvG/}ٯJisK6zzkdbΊ5s$4RVo-NV]9oy u*G>.i>,k,~(gw[B\́G&46=9v>6@!_3>Pf)ø u4lĮVvmqRٷv'l쀦uFZ %% V:~lƇ(Rg9H^Cf\ufJ vmqv`]JڌkG`1 :iN ^Z8~&^(w/oW T6#MtKJb3ۘ4"ɏQJ2l:1HΨ,$:e)uS z#yU,($W_=OYk"; E2gE S>)"m :~_)gMV_F" 58%>AHJQc :Lڬ?EVKTOw<{Dܣ6\y{t)S*ʥk˃IbvW̔j!+쏟4u*xI*[o9 Fu Y!G℠0VlHI(q]NMI8+Kk2"͗6~eqRyG7qIHܑ׀mٲ~>âzh50,ryu~<ͥRg]^dEfˆDp}_b\O4]vKn PS !ݠybarc T||]DUPW r;s(j)Wĩ&?sA2LQ ;Dm$8TaDO2| r_ܖ$7/dt(y\{Ii?e8M1^PNөYg;,=å픴~(ؖ' uiXo;1Ut? ~;Q| '̄ wlW"]z5{YdҠqD WhWFKV2j'喂D,V_ڬPMD\o1>Bt,.Vn2M70C HLy|+>3Qgg:#W1"iG{r㗳4yg@@(-c|W  WB\N']ΖH:HU$ kBL\q9Ry+|:+*T Na?1*FXYўPs1}q!F:R()xԣ3;fWONr(r8mZuvh9y’^Ax;hl༿Ntj{sj\\EP5k9ad|L-, LjsFK/9`,ŃD֘0つ)pVE,uOu_;܈mG= 9yٗt>)(+.k3JiG / 8o٦oa9[~Zm{\ܿf?Q$ӆe WSbhq!HJ\+"BYA+2Q?ׯZZgWz%<Ɓb!|n -=(w>J520߰s@<56:(BEǍ"Ό)m="s2&OnQ_G8nޗǃ#u|Λx-ki߭o }V}&ÞN3?> k`"/tHPSr_S~|0O)?K>:ivZ-*#ͻ-R7e֎qAMyoCss=L7İ<C ux;<;AY]ULM -MD\21 3f$~XX*(b"X1Ḻ_VpnR'Iƴ**pƻH nLC6Fl?B +HzQS;lʩ°&ؓTS^HإPp3;{}gD ?]}1-\=𗮺T?6oE;24#M _L洛5qw;ӫ/6$f8P[VFV89[ɭ%xe)-ɫ^OrUg+ה.)f'Յ$lCnnњpj{,lZ^cwE{rf 5?Stp%T{Iɝx ]vQ}϶}ZuX?E;bdMiꯍIWYK[g*rHQ7Uf- U2ҌD ~86itI~&7)O@u1}KRe^T*P'c*p<4y]=˾nyڠ,&]7آK9t$0?'|1a*.$aSK:ё"zI*.yX>I]u ѱ4>Sw$DpdOȁ ;0uw(^ƛں<*}SDI(5Liuw&iDL-orǯ4e0r&*e}F] ؋u*9 CwjPj D&釐Dt " q hөC/3<k<ޣu/> ~y#s?rb]**NWs +491,]YEGɞK%BNpKi28ޣ.p fJ]cE -Av󬻯 >,ݧMlx925V"fl%)eRx^2 +bSQjXx҃gb;l=!?L򸹽#sj pcM%AH FzS5ӟ'wxdȕʎ٭ i*΢ ubt`xBpU'@<И&i  _eЌӪg6u5 V]"ӱacv/F)D3Qbý€w!%Plڟ'dS vsc`O?' CΫBGw!o5K:S_2s 㬞ÿrN&d+.,IVy/۠\BUq 9 zȅފz5 CJvk§%7 $Q6c5cMZ0jP/HM,Nu>:?R6Y6}[Lop-s[L_R`4raeF\[=Ob/'0Z0bt?PVnnMC (?ci`+ Pt6NdT$D0;cz |a*+T|5mMD)ak*K?eʺIǎ*JO2VQS_J #4[[^(7gJtCTYRRm:C;r R7[왢HMw %J0p}#Za<|w!T֭JXLV'9]yx}eVÊ N"4 хR.zG<▋[g"kBl|'£TsCDΤ[ JH;u7ֿzx=oE> IeZ. _skd;ܝ :@T<§mAΦg ;ˌ׮[?jՋ8O ea.. ʸ 7 Y4CCNm2ܪPgkB GBUǮ\yWʉ ^cbr )g|RRY/! Y v9j-(?xa,3$JաDAj  $i;)pݸBӰ@E1N5ҮRˍݴ8[sre%L82UHXU/}EPeiHM-_?i\ KI %x!قi:PIźDW~RHn+jL~%hS\x sZH5ZGJSWݬb;[t䄈y? d2OQVz vYxT~Ǚ 1n og7 ܐ2ҽq;>ôA I{ﮨ { ݅ltLpHPѼNUy8 zsZԏmGEˀ1M,-ȳ̒%y$ܯov+W=*jnyNxPt3n3FR dBfi1UirDfӀ;TRt,$D}8@i1%Z'DqD;-$ظ0\ xɉ mx߽B |T)Eh)N/K~zֹK ")QڗFz:Xc6eJZcwX26e jY.@Loc:]HLG ~t{O3ks4-ǭ).Dguw [YXd1Ч0tdĠ63|h9YD_ UNLrh~R}JSQ!qkŰzOc?u_u'_O3#ξMcsב %%&[GJ^;G8-vu э`{5Gf+Ke_|2>SÛKEMzp%evM*ޛ儋mɶѦ+}zI[+CHu9oH/{*ڙǢt"^n:AcJ|k8/ -oLaŶqRO~{y bNʊ3Ԅ!ӿ}WxFhu42ۛrG8bBa^+!/ 792Hl).BG( i9c U wˡ#r3+eGy˩Ѩ׎~ӎa * z$ 9&$?neR,/l1n;?˝=M=d J4BQVE"Ih˙ʆ.,I,gP؂,($u 9ڦ498?3~ZNF'CrVC v x_b #bjxɟr|N|TtlV%r̘jC.C*Z60OKQn{QLdekž hVH6B*{Xqsq`p dB_qyӯZ X5JuLjekGBZՀҲN%Y) Z:I,@|eUT.{mxgvAgfi[ŎiV:R,6gRɦ;GO SYo-]KbnHnDžCĩŏǷE_ Kiq'V>3zsNE(H LS"F:qLxKQ7%#2}hRZa d&x \ 33쐀.#J} xGSrR/c'ÐĀF D[2{CƊ9 E$M`RA3tJR;@t$[9-<*Ŏ\fu]&a8Np`aoUcc ʝkZKQO/~~lQռ䷆T}Ofȁ< {;Ɋ6Y)@7tRtӜ&R)ْ <[n27iv-'+y<*i`<;~dR)ϩc7B#¥stMel@u*E&]Gy?*`Bn$_r=F?:x5cT}L=pW`܅n*."66(_ς("kdh(|$=w2^aբ>Qy  ;zY<t >4%oh䡺rC)/cЗlj@=a< ۩bd?.ۣ*cV[ _b%пt@NY!UilN5hR$֒nrDnǰ#xÞ{XI`FAEo1 YMG\A&L7 ̃uoj*x:kG*} K9_Q0 FWhZwah:&f+~]#!zyCa>ړ\X2䴖kET*V`a;C6"[ʼn"Y/(0 hДuA%%(FGd6S7f)Zq+Zb Uyw$\\ m_hH@LyHs/x%>ԑDUjs<4Y SN/PO$0b*NӮ;@pa$3a|hEe,Hʎ(nVw0i ΏYvzM0 zP![0[_R }y(2Ƈ;iTNQeݡ؏ +i b$~l2I wVWj~C󐟈|D)Qt ÊII&Fqxz+ =F`k Cy{Y֩ w `.BnqGN`2gPjjxcZZ1vK]q ;Xz+J+,AiN;b}E['>O)`$2۳Ŧ&c AӖY(P5ktWѯ&N5@ƦH -՗]ReAI9jWp}!-w/itoLO"ϐ(c-Ĥ*JNxHMS[w\.qafc ܾg yxe2J=\x dGD^!)왰z oҟ]),+PfCvp(Y$pe$}e8[Q|{{~q3ֆ&1_1j$8 Ei.^$:D>icd-uDfТ `C!Ga:n o+A6Y &ZI,P#tib|RffK[p?Qo4\[zz__Aag\Lit1мȨa iQC1ϗ7W;=_3f}h8$)G m,s{AʱO+!az_l^{2R/WNVR=M+bi'#P7ei阶AOCkdi.LpՑ'tښD66=p'IBlb%G{/=. R~ K'rE/&*bs:p7ܗ2+6uݾZ1.jЕ[5L p Bd- S8)1GY{QPL:Bsh \VˁM7O q 9 /VN>v,o w-R"ӝ9RIXȓMӚ yfjk)IisH247a l=/Cr.o!\rG3 {1-o"H@o͢>juMg@2NԃjĈ6=n>ܰe\C0FU2өT3x.d0hQIZ#(ϐX|%(4 >S DW3Wχ+QQo9̖_-`˴oJJ֗̀”X5wgL$Wϑ乺 hYz95Pl,GRL|,'/[B"c' rQ=2G  g:vIQ=NK۸ycW/ע<<>n٭Ld#GX@8oiOxyxTn C1Rm}̯߿ f}B˱m`Á(s81bCԀ =&$Ɲux.y{ø;p\):vrs{X3}_;:Q@2BB0m 2wS>Pf1eǬ6DEl 8G%5:{n8 )MMI!׳- !%,iCPDgȿSAujM/Hͽv]efTJ97@NWܧkRDX[u5Sq/{_UjxPp_:htcB71%QL|'⥲9Y0*;uMÚ mtn+`o UT3+xLlS‚fPb?ݻM|\߮]*)J&ZYƒ,aBpz`Ѽ<WO2"ۓ)/B\gSx) TX",o\'){zx"ui-D $r$Zbn/B N9."rc8+^C%=|3N"Hvۯ,z5]ce +\L:Mz-N _p-4}& \DŽLU+-07)Z"NGU|*6|tñɦodDݔ-l,G þ܂%.4 cRD}6yJb4~' 'j.ҀNONGL#! %gNQeaPГUcLD MT?NViؗ{AQb⤝0X1HBH0U( E.~YEgk!NmAD } OvD~P)h.Cߍ6x]'` wN;I:gYUZzMMRzDE>&Bͪ$9K<]2 !)D~78&:f(˵wæ쓡)n)uu ;"{QTXH|DRΫyF?T%# haaK]:L<%;PrZguPŊkE][Sk>?A7h:ff}> z+&1qL _ DS#yNPFӗuڡ]*eyF,bi n*B +V"4(>~ҽ˫`T]:oNALskys ahږ,."gSp\E*8'k[h@&%u"VPUbT{"[zrzk}Cʧ'*s|.oAM! (sC т1Vn8B Qc?𺉉gq%JٞƻLї%7? y}d@Yw% &%<22hڷMzyUf`MvtEQ^N$ۄ%w } mR7=NE+' HӀ8T)K`C+̹خŶ0|EaBoCx /,@{e@IXXw>3#Kǻج(f,vdyjI.HX9>5~9Ȫ<:z$b# %},,zv L+h++1Ыt>;M(Ue(Qqܯ-^pbE\xa~82}@zРw:aA<]_l!bW VbwN ^I4/etj%jSĔ^KVms?>`" vZ.),ܽIVbnacl,ᙜXO3<3 ^l-/m%._Na>iwZp)d0c fuנP "Ph]N)OTVe/N5pǺny&ǴTt : sc/K+gbvyx" %ʓj/O#X_iX/j ah`/ckڎu=#s埳AҔNA#fs#$m `{~;1 uj-&;@OnI^ 42l%Wtǡfu4WsYXې·S)qU==bXM5ڏx:h2zΤ.r;'J|H4XlEzbPǚcM Ka ]udjl:p\f 79yNlSj 0)7.٩|XҨMB,2߀½ i⅘}$iLuP ߐJdbMq;7{"mll'1R)3\.`O G%kԃ V+VPk.^kzp'b͋A6hagu0jT`x8oCXGRFe88[7:.)`ͯ`FHAftJ˙,m%(3=#.l{Yek.B13H+cUlgl N%qhāO'<|mQ#=,o9wCw\xte;;oQ[hUq0 ")D6"@ Kv0VхC=J[*Cf5-PMܐ*F`No8)#-d 4`Ա]].iO,L8Ҙ݌3k FR " ?z=HW>Tz|UP9t<[(#m&cFZxN&;Y E>9 Zg9)T+|̵(nP֗ϳ,§)T˨IQ3]SG@ȔXJCup/ivb0D*uaT%M{!(m7Az7 {/J6˖8m G^ c@=r1{[$|~Qʱ k]:u:43؍azZpk/w)uC7hlMsD[OZ%pC>|~Itܡ]YN=N\?HEf܆1]P\d,G!V5Әln/J(>}HȊ" %G6] Z K,oNxR{7]໖@Xp8ms~)&|Ahj h)% #k*"eԂ>h8 ŶH%u+$x#I,5Jf?{TT ^"M6ggZeSx x\$\xrio;!v4R7\ͺ }P9=rЦFc❫!/YL&|a*pԬ8xCZϨC@3 v?}_-`)<ҕ2o mB<@φnЦ'hs&A>9 +>KKa*jfjͅ3 ^`ؿ_+rKJ "An!+Z#`doS\d~Pj'Cs$eAjh|Y 狣2n{LY{-Jڝ)Ak5 w'di[k8 +R2Q0OZ 0bcilg)&l59Bj60XMӁnoW2TZ+aE$Stc]ix=L엣:wNzvB ̱.T9"p760D}|xt4<3,B%wT#f}X6L(AK"h/{ʽnڙگZH%Yޚp cFˮ+ԥ^.PNb]\utgR)HS7y+a*'buen"ZDA<{; 27y+M1%Z\r'柽P,^PXSB5kD-ogGh8}^^sWf!~9qR98a0~t.-1%Ýr4݋yMby23J[]UyMÀvt<^11#ͦСĊ1k.iQ;Yk|ز$ꂒ("~Faga܂VؗJզ1# _ 1D/f@}z9FY~ A vt} A&:: $91 _HnѦwjG07NM!giYs/+5퍐G[WA 2~xT2&yZSve|wKrW+h9yZ{ٺO߃lk,VCS)iR;-m,'9. T}FZWjWBLG#o guF) bh_ ZI0?wl$U\ %jd/uWҾJ돧Q>VU dvlXȨq㜚) Y+<r IY*p%eNO1S60aW2Q\ȶ|jZ{e5WCIENȴ g`@ۧ`Ր NHr[H^,\C0ŒgLTUrT<9 ޑ^cӃ] NdRVFsZjXT^;4SeK|Xa^Ju2ށ. cl札%uVp_*;߉cmwZx< L]YKV;2B*6YyRÞOYL|ʖB}43$Ko≽$3M5gtc#YMpz%ڒ:HO_#toƪ#V0Fq*O ORZM/laGam6[{(D)k;L3hA3f|!i JC%u 785]=zW~LA3hmPsYdz +?X 9gl nVxpq1t߶ d%O01ȧs)T^ܢ &y>Fzx* y˴ō&2(AHfW/t/ чtj2Siã BKzL{=&d ) P ܸb^Ȏg3d2y L0#pdFiPFV!>rόKU[yndCu.4x/icV>-=F](#]Rs/?p!]:؄t}r5cıE柡+]g@TkI ) ;&~.wLiMDh gL鶱&՗x-z)r-Oa`g9ʷ,P{Ӗ q$ҖRbXkC@ fm2Xw 6hH_qů#<&T#0 |PaNg 44BEo@VǡMeRe,t[xI{1x  Ts⥨k@e]r4gn aI7E;{>d{SL\^D멒y<71r^4O4ET [7ک>PO8>|C6PtA\KI(1 Ȓ1ao#DKdKo~%@b>%SRX;XќHL<L Hbz;kPFSIOwEQV -6hxJJM@|nB@͢%'j:vL$NcuJ"„va$XH{1l"Q} r4YA^JQK f.Xt Sy?lQCx5>Z.>'tO( $=տK~ܼ@0^T>`ED9FeM,:La;ZgH vV9lX2ضo[GFrU\b MN LNy-Wr_&wWyt.;8&01m61c3w(3q8m1S[O<;FKD'=ΩMrgOmXl}?x^ R[_5^N- &{*u+OǤ+aK*zpX%%)8w8€1b}fО\ݥɦ7;5_{{Ae_"CluHKB1lDIܝ~KvSҤ(}\d31ҽ ._/NfDa}omOP?UCMڏܢ['TprTNJ#61ir W>3k j>{AqCH rkl4PmJe z ]Oe.UHgu-KB8o)g!TMps դy`gl f.-%lrLW/^R58j-ۮ7! G(+5hX2O8gKl ^ҌpLe@>G0dNc. #C'nLoW2> z݋1)'䟼15ܾstS$(u ֚h(N6pwH)hu{}R=fu[yA-mG͝3KLӰ7,ߍnMD֫51IdUT[ \S#χ nq6'W,꺎ܣ8sB_Be/{S]Jy>8nE[fy/f: J Oa-|"ikhGvd܆F:Iźis\T;b,ޏ΀;҃xc).DQ3f | yVq2_G3%zO+i*4b;S]Z<alk ? qqRDF %pc^ ?(ԇk la \)$~<])+Yw)@ΰR::7p EX/R;>=J[78]}"phZ{{O6g znS0g7a/jLV}/jš0"ak~۬ϙ`O]]WG 7ɶT2&CQS&yCzJ珦*$^7BG }!hcϺb{ О_hG,v+j WI )wYCu;HY7ciuͽV:CȿX6@uJMqj37`"rQ_魎ΦB fvvS:͗Hgjyr͘h;oYNQ;]|NJ_-tr\Mt1\ɫmVpFbO~qNP5m 6Ӣ%9w>4 $rB -U`I-*7B,`` 9Lw(˫\\gHnrPע@Bpn)>R:]y;@!- 爄>ƋsBe?z,i Mw8n/G6~g CJ:^2НwWwjACѥ~H=ï ~'Z(٥qrz(kO,3t'ʐ@P{KkДsX- #t='\8~hIUNTALs /$)׫=1i< [+T+fj*<ѣ@WG-Yݽ%*HV/j2CZ5X1Y罤O7nbͅ(؊CP.U)$,h%zKgk4 $nd:׌T0s#B S=T[&/gIq%s(qoAJX:Q<ܕBJ1~; *czUrQְoStb>.P #Q$3)04ktr  uMXN G?a5_i .A"2k,rkcEzÈdYÎ};]E|_5퓊4OkZdA{agvQq[RkO d- 2=' ]` ;|yd0>%еRvEZjء@ u6FYۊz_h Yw6#ޞ]T:>E= E>g)CY6{ 5p=kDBiRtJ?Bs_G;o7ᜉy@B};xp9C-@;г\рS W:|UdTqq(V!hAU??i҉XHCj0yiG7viSmht0le]~I¼M1yFLuw-1=#~>Z7)}K^f9(IpdLze5;ki$Xљ 8LO@%b`lQ(;R8 E_o{Ǡz-vUjEޫt|5ъ4xAo,IGr%=^u@ 4͎) ɋտ9*عYł ky|(H2 ,ɀtv@edx2xg8mGi7|o"bdЬdsP\qYkTK7#w-sHZ1c&3 Ã-a4xdz.UD 1<8Xo8eQIj8%M HCLj569. 1_T0mf82HWaBƀnIazW!6 nRDeY.rqN_íքT.a-S H&lٶp1vhsV=q3^3T?*`Ko!,#!a/AJWt+˝JgG{ 6h hν236pT >|/eyFyu7`_ Ru@+D%rDh'VعJ-bAhCs-XI ݿ%s|w|oL2Yvb,"6/ni7s)-dAy2әq-tF -GjV˧y6ڑǕ6ACS})syV}}V9TMJM%!`J˶F[m ~ǢҤىB`ʌz&ߛÅ IZdÒu]6ttıڴl}=@ OG9,ysj0ѢAVN2/Z1?c-uym8Fu(-9#y#`񷒀V`%E)XPopFZ}={5d1!Uq![0 ɆY9=L> D*G=[a`+@%(}F,"gqݫzZ0l8p#M#]hA"W^zHvc\rg?Z󧺛}'| p 5^T#UUkٲ@@ܐ]a_mBٯO&z} MuԷ\-Lt-@NKB[E:Cl)k-e|}33Em_YqFRJ>ZӍ2[#f+d;-~hLIbT"%p0yLjL髞e X_ ^nϒ\MsQ'R qvAlOmH=VaKk/;aǫ%߽,jyk\pJKe/)Ꙍ`~h T:TGRuj R ԏLEơBfLJsa:h̸6UL2v'}k{`[oڄ_?v)]sϮoG!DG:d⋕ķX\inS&ʧC,;7_=} 9SeYe׸6u#-6+Hm}$Y\3S fN2h~H0![[TNpN }U1.gEFU:M-JUca Ƨ2eoj>UV`lg-9~*ߔde: fvS0-*v;իHrw58~!ohӥ#64v )@$n}<{Au wO S-$ 5M?zCs}`a+R5NJFr;׶T aQ$ ( QuK/#1RymEmw誑[<4yWÂ\|q[1BsbO@9"+sZqos{v9VyCpnzZa}H{n[oZ$KZAŋ'חҤU@X-`[Hq*2BE׆~7z>4I7 '0ċoE"T+HZ;9i摫]wJ]M^E[c 8#R$muPe\"tŀurWNqgnjMtF׼8!Yk6W0PRW =7c`t-OK>"XGN8=|eBmO$S+ic`^zڷ eLd risO`dXȍaG3dmXj9`-{ћf rX zQ̪=~{غӾ@mv;/E$Βj|vXՁ]J5&\ʿ0S %2K_'4Z&טޤ!{!#OZ( lCCgi@ mw?Caʕ4un)-)yվ HM|el)DSv ((Q`  ䷥V#lGb8 rGӉ< vhr\YPLb߶fڭD_}B {G o{{j)P+'=N?nKK;hʇЇj_LmWw[P˼pM| ӇP# x=dr?cК ?J -p ̰8~WJ#nak"@.>'@RقiB0&z?4Y56ۉ=|}B4"!! jE6L6?iNXLN]99΋d3=N}˝̤ZM)ŏθVoMr}* +\5f>>b5|}?}Z,Fnt@"t,O[7!kHssdz3T:ո-W*F)y~֏>H5W 8P QbRœK_LUF0N`՛ժ'/iG)HT8.TZÊ 5ov,IܟHkзeݑKS5Ku?آ>g"˩ bs?Ipj  qT'j9W n?^I4Z'@gEÍ4dY։zo^\?VߒeY6}-1I<((HlbRF*Pi0U h gRJ!N_ֆrzۛ h3+`Ϋ,:QZtiIfEfR\ww&yӂb>x* )= 6Q8Ԋ6{O_$1vMݫiK9D@*r?{^D:T}Eg8IWI0-V},ph'Ipt,7WTejdz%AQpxiQ٩0$ GqְhĐ c?Y`ͭc%1c@YN6'wYLjnrT$.PQ2dR1cحE:m\  jb,z[@Tp呌j|úC6ZoO7h!n:HDRl9Xf5O>>Cy=b5ĉ|1s`̭xT N`xy ymxc5q=[QaSUU3O(BkaGƽJG\C&KѮXnILw(*blxXb7y᩠Rd'Abع_&Jg[ŰAX"`v[]W4N)j<M\ sDD 𲡅=6sb"DC @V^NjYy;!غ!,9#fn ſޘjF| B͒CoQl;R/t?/#H/\0%L1! ʾ;MzШEbM$ȁ,AU%cLVAes~$ $=jxjQm+ c{(YVWY,nZ&hI ,J/\v Imaɬ ڔ(8 nLȌ;FCS3F4$(QY!əx׮9C jEhXg*6B<,w0P IE1<!qTz:Ccý_H92nkAr]qLl*&zrht" ݝm3v|Rl ֻL{MXH~W(<7-e%'LcnHI W|(,ɘ-wpNPȽFխ^`jpS!ŚUӜ:!~zz& GsW}ㆼWuT@bO h.!8Ǚ~'\ ;%z7 m},YO#z'_emBOnGۓ|M)YvfPGJM n-Z+ mZ) Me_ףL:N& _PO_/(@ACh*c6)pʙiVTC$So2RN|Z ͮ|q<\Y+ C P/-KLm6D؅q>=^w+&fy]lE8@0)x蘆jcr#ꉐW03 Om4Z9~^I ك7~`AxGE|΀UBT_wĒw~'.`Ɯ`8B aCzO3Q'~e2gCs5E]c-dF=aVg/{q,ՇIU 3_%A $U+!yA+3ԁiTK %:_b…ZN=sVKѽy)oZJr9!Z[6u.bڳw ")U6w-YD<ƀ/DJUU̡#݅FV *.5tbUxi*Q ԝݰEh$ }\T/KƤ,uQG+:RrU-!|l0h:x⛝(!5%wAtI-$-XX--5R! 9D}w<-k6+h~Y/^zdH rGbSUl|Rz_jn%9d 3񸠉τs?vB]*"=2 8Mf=@u<9"s]7+{0 TE[!" Y=A2կ%lw yoHx<8-C/:r h]Lj0^|&ㆸ C(0faWa"LӖ-?r( 7\!Z=|jj4˅س:-[fXNUў`(,To$FdJ/;,{sICcUZlDűέLjQ Vf:,AG] @Tyl+"Jb?g%ru~JNИpl-PKTwp Cb<^F,#7 E/fR X2d5\iSoB;;V٠G~b5HMoNޜV4\H,' :b_-'wUqz[ŴӪd"~7*gKv铂s^n'UQHEauϩIxȇ틔KNS6؀D?5`~$k8fS* TqbT,xX)r_2~oQj FZA枃"$p\P"3܆5{éa1AA60)|.Di|Z7A>_v$|ߎ>E !Kcr5Tvrb awq[@2Ȗ#! !yzm@YI\K28+tByZjjֽ**E!q& B2 CGZ'o E/*(3Dd31YpB 3MR1Euh.A*6Mmɿ-} EҜ8V=K8+ԴUOx]nz hx}ZX`2Ds]@5r&9_Gw{3TQz6~iƑPFPc/ԣFEƑ#L٥b׋ie/ 쁢O;?!?$iJО/_@ &tDL`B؏ wqv"㍷ OQv[G!ᆕ&K,,1q^fWT#x/9BU+6|,Okר ᾂQ/THhj|C,%E/J+zeM/d dhsA/hϑ.q)q^3j+NH:_*ކ_@6[B;!h-9o1îx^$5sN23ZM ŗG`;0^w>ar|ZlY: bqR}-՝zV};W%:ˈ$Dok}:zϚ#x^D桫6~<DĤYjGLqlI#xʖ0Ua}{QNWCVl3㶗5̻Mx de7g.?DOs d;nc_I/;آnHNRc!&W ϟ':LH E$F4K%p˵;KPx4BV5͒4yᥰk4/ť-׈UZψLXxLr|'D ͼt[~ENZ)间ѩd 4'Rc]89_ \򒝟Lq\sx\S wI#P\Nt߮qK>j^dӖ.PߊsOߓaG|g vT6i)q <5Ȉ{#d^6J432!\IK"+b^v'l"V/ܕHM.y?trVHsn43p)@M ^bR%.űq}-b9 BfB1LQi>`ux8꽃,)f?o `-$L i^I[́7p!5А# ݣ RA g0sL1Xx4U^ j_jlfӟˉA N e>3 YtoIrz׀0J|/A} =dɨ׸$,X9=eupiNaqc QnUh~'y'2$ k EXLD%@dx<#(5i\n|zs yIԁ{ba~TN@|z^JIpcXK)Zu*# ƧpF΃Nʮ? ui.1*0E5o|O_ ,ֳ8 v .i c\Rﬢ%q`."v#Ӕ?T9JZZF]YeX?]2][9%A2WJ1ULq >6 =މπ5 f2*5ndrBd<Jt둯WHtX3Qy%F7}Td9 *-\u0!#4@zYdJ0P4\/cIh5` ’T+Q{I{8~y&lD:)-U2?AڡPY>t@ ~Nk5CbTxޫ`v^(69E) ܆z0DÁ&Ʋ\ޢν-|ꪧ)biFJi>:S U06\JoOȀz?Q&%bLy*AH3&}!Ȟw?ULoX1 XSD>PGr 32Հ3tvk Y:|Ǹwiʞm܋aG?@<^(ǟ[{-46t X$"p^?g=TNGقcM m{~9yGxZ,{*dֱ޹9)Hj0Pzi@7xTKc,2UI9$&;Z?òM#<I)SYmQB=ip]Rț1Hh"jc8֒pg278Y@@^ˡXYJ? sV0>R"E _ujtj>khSI՘+ #-^HCF$ƞa:E^˟m{chyi6P]vIn[T ]le68h (MzNk8u|6mCXYׇCʡL_z4Ft '1MyùXm&(f!UOǫwaopAQ́'57z.b!<jŠU:dX4aQOɅ L+>2jKn%v1E:mo"\~(c-;]<7id G0ȵPW)EW̔$51pcD `"M?pe- gU1Lk3߱0[N=Z _{=2h HB}$l(;`*֭M@擐>wt(roV3uEkzn1@;b?5s96(Kc$_8m^1yr4TDU[)?he%\^Xd61UxqJNb"iD5!"'TBZ\jg3PFgOo݅%3ɩ$3"M}BP"LzbX|NłwxB^U.bCuub$nN{6VACVP7ryW- 6$TMEcwEs # 9]j-/A{1 o(Ҫ+;a>[?gHw !ۻ`p8W9{]YH1\E) Di'MkphjD {n%д8ruꉗCb,NqwZu>oK@卡}jOCnТ$nqC$U#ӯ_A]&]0:a'ehhU~@%a1_/Q>^k>5D:h;[+ pNPmkp5kfݗ9HuYpZp|F Nn e7 TA^nvZؖXP+c0#ƹjkA+O_Pdo{|Q=3 S*%٢1bqacga9k?+YYMh~'^Ak$,i r5syӼȆ#5cGF |W#KbC#OcmK e 2H|U&L)"Zg\]Z᳕̪sٝ^5V˷(@fh0$l|K [4 J}*pPyv8Kgm I?Clhak4]jP##l„}sEa4j$@ hg9 o{y0+{`@oy RdȗT6I.()kubq-P-MV*Cܸw3Ezl{zwwm^o-6Գ"<硇1RSDGrN틵p(Y/l^OF ;- Q굑l%Jg,2Gr.6&5IPYQ;9Yc}`S k+- t lFD` bwS 8opl!} uސ_/ @$p4{=  (C(1|=N#<Ї]$tdc_iKvJ^vIRc+aWCe5qiPqV\J/Ђ*ORs%q*6Iҭ.{kC6Uc *8ѤjQRyZHłRf'l=% &6eXvZV%U큞Ɂtt~_v]vxcX ,nZk8 f;BKv0OfY:{z9p0ԎG"R yz]LPQqGثLgdƙ(pP:q(ziN4AJٕ>p7T +ߡ»_0 Q.ZІ])$L5cur^n0O(Fsv4%>JnnowARmWV23(;5Q4۸E)!yuP.d}. feX?89aK8#CfHq%C̪g6ejYGaOJ+ ?w3~X1[ V(af/Ȃn( m{k6B3'j_ɉ5AUӗ/hp+չq56goj @&V<$-ХK{/39տ. \*H A״{u2}\ UF Hb`P4K8N[Za{}}n5i>zezM*w&tfN@xիQX{_x8Ig 綷O }.z)5Y嶌lJŻ39\cڃOcaџh$XՅ6^=?n 3iW|~¬/ܲ5pD:! ^8z/zS^֭|Ldg )~Ea%,umR2Y@A2>+1xhZ:j[ /6*ۙej@bRW1r 4'\_q퉅s &5޴߬ jp_"Ctf8FC;Fz0L K5 &{ ;4%b͡n0;x,F+f:*~tRjw ULwhfawE IhқX\B0>W7m|}ɰ|zS퍀HmںyMDzc( cп0 >|c4(\UV[>7(/ ?lylY2|h7gEu3U1 +zTFlcZ5#woĄ 2s|m75 Ґd%mN@Ϣ.8Iº6c6ɌO~֪PnǍK[Wy`;V*-_ЙNdDTJ>mLGgPQ>&qڤ | hQF݁?؊SLW TPxO NzQU_n~9D.&фزӇ3^IHkͶPҩOl 7-:IZy6J&xr[Pc'`jW7R(H ƺΊ\_V΁DOb͸eq0r, sƕ00Ĺ wHWC$!B~ilsH$q3BL[܇_y f޼%_`4V]> ,V9RB:vOyָZI3e ep'e?8/S)8d=`vKlD4^9h"1S<X^7ܗvgH >"ӄF4LՏ/֋44Ibß>_H5gKSm#ThL[sh~,{r]e*sqxp4Y:D I~ȱ LEZ\8&&TMl^.rۢ>"Ej)]'Q/&$G@IEkUfʀw˃&<DGQFyY㠹Ie~j%4?c.3ۖqZz_}$HlɆG08ngh,{ROu0g7ߝаwD$5ĿwPw~3훼o4dh[zBUlMq旽dˀ6?"\ܽL1|{eVb&޵R`Oc3:t+憶flEXd>#K'.Y@1R=3_=-׋ q}zCHM,*;bq #Q.nfGQfmhygl(sR{ "ĕPKT&ԴEn+d`J usbɨBM  `)ΰJS;۶TN86_$M'; 묣pb8z]I06U8_$_+KXITBn gnUO_ԃ wnZ~P$nAV&N9j{KB s]??1-<1 %ݶG S\ ~tg-FFL5 ^Jm7a_$㌊Wio1_*~h y~܋-b_h7H)2\4/l,;Sb~rj6yV |*mU-2 l (#9e? 6Iw.^u {LұtO<{R_@Su] Lu: C/> >SDtS p9\'@kԥ5-K3ZRb=_v!0V`$BzkqB<~+`cL >_SHzBfK ̋=_nhb|ܠ2ϰJzZ [|؞Twy>TT`iqKދ9(PN _4Yk/ZeH{XEq>()>|:yC!ӶT`}Y3aujNdk'"\ck<5ADɷzJPjad{ը؝XȉZ΁4E2ڕ.pv_`V>eД?ccq6 V8tchS7fߕj|ZL{! eG댐hs?a_Pyo0X;띌aCnJ{rƟqn) ^ZD_7[0<4=NzW}aI\N'qfg>|'!ػbȇd!mzǍЌh"nFg=̀Cawx+RЛ D`82kvDWG3xvp\6̶dvUOZv޸yuqWd:#o v*ޖq-VhX藩6s#'a\6q5ǞVOYbl4fsU뭴8Sq$II#р?AGWq"==\p7s% ϤXUMmCx<5qۄ|o2-@3kS&G/C_Et䭚z=pE@_#w{NAhʿʭ&#TOxtZ T0NO\-YCG>Q[93|8yIrc2,[/Jހ69òdiGw4k yLJ3;J 6U9>썌Aǽq )i02ꡁujkTVD+Y&M˔P:U{ceMC)b"/2 zs>DP/%S8Xc:,\?Tĺ :URe6aAuMrkyQsk뿐]3ưl÷}JYQZ8бUZ2{'ir'wEOOV[$@dfNee=*r d(X3oo0C8B lC\ ZJ$kfdq`4)Ҳ*fp7|pH m)GR)VaR6?Dfbk7x*ON9ݡw|TVYjGFyh?)e .HcBPiE/u$&H&:hw'|:/nO:$taNk ܝp:{C- CQ p5ǰغN `|9XVce::V0U+X=U{S/ٹeKCFsU^g v2 .#JO;\6Y@.q'`#BG*Z+k^F V)*cs~+u!m$ [M1 ;גU/Yx7=O\Ӵu ʏlrZE?SD)#Y ʭIJ€Ăk-CPHo.6TmݭtvOXv͇&³FH= @SN2>(N4 'Ӝ[|dCϮ7o#e5()3 %" 'ĎլUw 1مb1#hR PIg]qu2b*`]_ًʄ dB9ejbRg)%JVxǞ Q\WjS9nRqVcR;}Yv*?X?wܤ8|vȇu7vq!2Exu9Y~g^#O3uw-6e#Dyt'iߣ,~aCk#P 'ruCHl"1Rrǟ=EW9a2n$v@VQ/݂&щ`h\A-oc1A#&>_=2]0#ʖփjQ7A9sgɇǝUKH&K 1 u@:۲g9g^? qg^8$vG|D Bׂ+ݶ7+]*Oϐ]a"к &0B&_HKoo췼*c.(S)=( 6Th9!%Q*'2k 9emDƭ[ߧb UoN>c-BI L#Y;#>Zį"Jxn% Ly63sVZj ˋXLjc"J5UpGJGn|P fղ8Ty'~/>$"*\Iis15I3z;9(:{&^utJ=ELNڃ7M|Wu5q'z4?L7< ǹ21tcUS6|Bi֌pIﶙ®˞PM͗eqnN 4x$).:0vI4q,^)}8S"%m, hGQ5X ͢T9y|- $ADo {V !OΊZ {LF]v#$q3崶`@$>ك30#Eu;HXiuao;J}bJJ2M3>iS87j(F;ެHb7>o3昱gD# f#& hwr8'`UȂŞFR h&GN<+ZʈE}aQL"]]<9PGVK2 A4]aMJc!fXSu~sMl6|2:IلV)pӘ ebȢUYV$1C4j[ h1 D Tєڏ JBK0`)lKAQPHڛDu:_g b ɲ|ὃĝ7g %e:Sd< UAPo،.5%8xuCQJ|'U#ubsh+}Ŀ~@SC5T38 {X䅤ʪ_&hD]?Q@)W\ه ٔ۲-MJR*<*vB$` hwVH2Kөbk1tǾe \:ai '-8N#c}xI;Źr"~,Əǭ9D L㋆xt8&U1iN.*jjx,'/9p=f]yPD&0$!+'t>o+ VW?Z4.M+$ i,2&0 ˙[QH*ٲhRdQBqZfy>3லP7Y_:Nm3׫Btu& a|7* qۻ_ոIކ*/_7,2 J X!ߜ"e wd.4 紜ro )t<nSGTCy!e(F U*oNsrMUhk &\ylFJN=%h:F ,?FG3oOo2>sN(EhTs989 <ɵRnU2iq=;y3YSS)=?14+֓Oڷby {' x>'~s {x' 1'K ~zZ$@C^ TD6P^bN\zkր/B+.SSV&tG taO^eTyaWHCj9 )YGp*61})09ar`Ux\JbJ>,nlӓņM=), :4w n \&ol,)AK:EoKF$%Kj7Td"ܠ/C;3: vN#p(K˯ :ݗ{z'A$sl%/9P=NJZQt17^" n2\j .Q5aH5-;:%1*gN4`dfH+;RygL3z"ӿ8AƤR # V|wvES,,c+=it$H\eD!fƐqE^[X6*AM'HGrܥ/PmtƢ`,MQ[{0:<ݖk/'+C`#J;5 >(\l}~Ke{ev8F$?jO %ӂ.!,\R-DjnVd}9owL2IǂX1ass`Xr mNh??Q'A鰵Vu>zFG0PZL+ˑC=8!>A9^K齅=kHs"4+@իtZKc}LyY ?'8 4ZȺoDO8.6GTeeW%Mt% r?@Q&D!|iG?<_eiG+Wựڦ)ؽ ӒZ)1iǹET4tpz I\48Qe042>oM!jbI9%)9l (_أ܅ًb GڙQ棟FW:i@8C) ސ@% uc8L_ 6 )^oAC?<@.-@TAlE[+0ɒ6"6rDrm3RE5̊)#6\mvL%P5D̲h (G=Mh`ڕ5B-Yj0V i|5e &5Mi2LE@p~^”zP wIs1h[(G4%FOۣѐ&h&i L+QWNՔ)-?'2DM6]Ks &cкʗ"0zsxOA:w9¤*ycю]Y|IlX/5"15t+ Bnĩ\yQ!nr˂yj^Oo#= 6?yNEWIf>h1D\uHT x ·=+JB齶f%37􅾆`O|/lIt"K4j,\<U͛I>O %yJBpV"ĦT߿}a_kM+cp * Ĩ{k DatdTeqMrТH'iLD`4*n/(oL'[Ȇ2`#`>.B}yxq. ag_\mmz ?q8jLy?JVϧNCF혲Q'Ev Yjd x©jyL{^?%jBtEhPJq/}L6<e{)?`#ɹj\!fIj9D/Pf4Z>ŌbRD}Xt4IC% x @Jkјc&r۸CqC@‘nwQ`++Qj2624->Ƚ:IbfjlXvҨeUϗv!N>&jk_IW6@hH0+֙tZ%g2`a-Fd],Tw%?Wt&4n$UHDujO^#]" c; ΥBm%E_L &>G]9ա)g؅@77~*=E7`@5˨dp2GΙu!L OVmzw y9lTq-#p)9~}W|cŨ`'4ԭxQW8o*⦦YΛ}Bh1=(tJzY@hZau5 ]B{f'lLYYz7M6tN1@ nԥ^׀Xd}ɨӀ87PT;h [ fUl<Ք~&1зeWQ̫!fVYv=zU6L M螅Ik@xxv'.YT؋ [E/N*av)~psk5D(DC~ܠ0@9#ֺfx%,NvG&^0ܨ:pbf%cJR !M/ݶTot8 (Nv n']]:½sؔ$ċH֠X6Bв6Q rm?=D8<29%\WқgO])=b`:o`3[Ƨ]SKJWg PyAUl&co4yp P)ǒU^}E}]I@!35+#),[ NS du3B%L P)v6>ϰSDs$sruװҲ/>`hfCSX)q!#|i2NQA¯_+ǖhyJ5M>~XI8GN [Dq87_gtsοO ˌLV\̱1鯮H^$ORjG|u[()sC9g1W=ֺ˹޶<.O~YٚZj~V{]؉43;W*\5uZ!ZXq搼I`DE$3 nM'R19N,;m̑FYʵ++HJmP?u#!,wM_ ˀȴe>@ʹ99&trK/ ĤjBC'G*O[,ʤסa8y Qޢyc*jx'2ט|$ڵD֮oAiBP^P;i"U %D}X7p"TUXd#Ġ7*;EO&L[ѕ3C?7ǗK Z&0ɷ-xI΂Q;ܲH,~mfGoK.Ht K@x0.;*U|d2ܘ6bpTɌKIESI;T|QF[N<5uoJz?Q5!Suo;ݙetibf_š"HX6\ԐB,X\M "kF?l.La=t.N/K%yCJߪҎG/TZ}-tuފLGse{(|,-ٗ'RWqw_t,$X#(:ZfhGQW(0d"(,_S:Έ@ x3دlߣ4j-f1,?)Ѓ~CfRohޝPւ O f_v6f_Q锫m1w[ 3'x07ISX=fo% n"#rRwq,$M (mh,hq0^s1^[PO!R LdRj622 !m9$/G+(4(w"Һ0oj%8+RɖzT{>n޹mu1xS~mR(navZEkԥdP+ cr~]AگOVM\l>R:Mdox(=|l^NXCE\Yg ;TEi6 P6i)dw6†[\e?%`z@!o)~BG˶Te3~DJ승!lIm,\!쀩@em&X ~҈8yfB`a3_H*,@{}v !Q_R :xw2u2c'<<Zn1L,+f8 w_,T/>#euaj}ǝvm^- [ N,YXnj_gwIu+m`Aq?mN(; ᚽ 1DUlT/&9ũiJ5+J=EH%߹rGHG@ޏWsɔC;L$L-\@ݾҚ'EnCs`RkN4ױik8rhR1;˧?u*L֜sǁ >|p5lW@՚hOe^R~VKO^_aRpZ-Rȱ>f d(l|YG^֝2ku;̰J6L}p"!J58N$^o_ =_'o;}YNpfAXm#V32+έ o= [MpMh߰mR:WT QÐj[n=| -lA;-6 q_f-ȍ%*whMce -xT]÷k mOByW3s X8Fqx=3}m+AopBLnlj7PE @s˚Pe͗ _Ɵ<9\mN:\pz2bD^'1~a/iDYdٗ6'$~cp9^L ;}SH{:6 _٪y-3v㫺vyp[[ZqE1pB2[4HE|"vQXdA@ >Y Q7r?xJ I b:]Y.&A,gԉI_ŁH I:wwd<3E73Ӊ-GF#LeK&6xn-q} ؝OY nĞwPsфq`cw8!=b%wl1{X^ qդo<:i^l96% qyes[q ȢP!w1qvJPV\m ⁼b&) ΘЧILѝ9VS 暗6@M5]%[@L2gd]׌B?ԿLESI`KU`⛖a"ێ\#(8/3&̱v MS:#w>=EPF켣{HD(p6Ҏ qbL}}> 13)c_T0ԔԚ`VKANl >_\5?z&iAzY7+AC"!c۱T| h^V<kޠGNu_#.r0Wljs><mCyw~ e-JUq~)N1L(TўtԒ;Q.f[ `mNSkI`k3Mhp[vc`]Z9D-l `ݙeʮbu7B\R;LGNU#o>8AF14 'g%BNSr$ђL qZfWc>U~6ظӢAI@/(?pB+`3%qFJRs?sd9p|ȈyIs ˆ" |K߶O?,\=P! U'S ܜS*9ޡ>? Ώm B?H EO| QmQ׵AOh@C r댍@tcb;4,99%˫ĝQAg , :? TRʨk bog#u>.VRc0̳ς}o&?g ;rcGϘJs{,𱨑"Q@@dKm0+lh(h",=M @>-'F]EYV?Y "f/e4V[qMr"F^CxiXI_PyKI`W޽Ƥ[Ők/8۫@6>Vh##!wyYƂkV>-('l$h#4$w@/ԓ7<T㱡 E]!sRҮx.ímT|,;u\L L&@Q$Gs~=͑ Y).ajK<`.frjaK'[vǨ'dҌ,ѡ^}I%2Le\YuuASr ^+>Ј4_iׇ$0F0B8Jc@7:n=n4ZQb0AF/EHDVƇŤϭL7Yj걕Nk@n'fHCRWCwB,0碁93~F{3w5#Po/~$ TƩNUQwshwnk,ů2tWs9kkdC~PFϊOR(8>`39r uj5K`Ϡq rR1bqŷeA>XTiWGE2xaZl} tO#慞<['ڀ" Y&ͮ Vڹ\R.*y^7:*^<7m +BOJgsIbJ|Jظ6ѿϯ +ͧ">7w%,C ڢjŜ!_>'" xO!y ϩZ 0Ij"#xů!8q߻?t2a,ŒAսUqy9&Z *ٟrl xgLWeTXXLGb(pY廾C:fӎ94OٟryЂ$s:-֤nQNfʛcq\FF1oR~JӰ*v.D0˅!X E7E҅ e:IC64x πԧ/qUeQ!JpBBwe#'쨺\9- ɤjw {r.CJm~>Ҹ xpi;=]%e/6< n4;!/To&Xi8cXr@/<yٝ|D4 ΄566X\$oN qc /xL Uj["h#W9wND]Mwi PbOxg9 E7zQy<`,bɇ"VI@\M7>{b\ -@tcifi!yӦĴk 40.Agm?bCBMzwU0&5 57 ~ot#USxv-W}!:gի[!t?LO<.hj:?ԡ&.dnBmV>qy/{J񆢙')|G jPdo@V>zRGiرaI.Be/Gly3%T[w),i* AS? gtL,PGt ċ7.]idF0+\%: SJc^|ߵF~ 0D$z3Cca?wI? yǡ|Vs'>й{䲨aq:>u|9YaɬWMDLZ W7ds|i 0Eu;ɵ0]_32U:u0b\g􇐾ðAAj ]EE 7}ڰd̺6G }N26t)=Yf1r') XJC%eT:,O'?%eig?;WPN''q0Op)N1Eܯ &1^W aZjʐR)e(=UbkYO/s+2ݵH3y9+ѵS;y{Ac+j(0Py͌2~΀bY%?|D(he)\Q~-&N O()*v0T3ޚ}*b.$wh^Qߢ,Zɚ`Z4Gl w62y1?DaAuZxӢ;>:Tr\O0YF7KiР~]ִ T b=3&ϫQuZ}H돁I#1Lԛ;M6; ӅD;woS ^]|Q/pL37dYְk.C`5,x։yVuw):ȟl@i , 9 _ f%d.V4R %ovȿDclw(ὔTNTrweOƂbu Pw <IF5 Gs(hvO՝*Sa|JHMm٠I&ο /:mOda~3n,yi #Qx{-P}ʉbiT@9ALPh傩)nayկ R^-=on-& y]p, `1YE󨕃H SپIoVP <4v~*NMOG>\Y钋^\|&+ݐ{_&L=K]{ {$l1a : 7Bwnt#ZtcD 5@u ό4ZC|nLS]#$,sWW=.fD*+{j`Ut^|d->cnEыɹYAwnp?o#$?qA*RZ$Euh<X`Dv`{vvKܘEO[槉mi/.4Lv}=,yh RP;g1f!e Vσe4rJb~ANjaKp =d *wnXRy!iR%Ǖ&Dwh\5 lT36kM1VWxhĨP\qGgNuր*M&a/i`3_~^!_;!()w&,k-#W}.w%!ްS;"N1j<Ҍ P >MJLY:ka>,`/.u4hPYE`:=0"C▏pmeThzshgJ9sLTȑP7nzZ'wԮBJQӨcQ7o˅ Q,U{Xg(F,/䵇sJ2$›+?Ib$"Kpxwźӟ/252Ff4^¥mymdz1y\/Bd<# hK 3"C0s@l*L4;Vi!ѻxՐßFs0#&nQ4ܿ}B'쵋eؼa%\;IXR"H{x~"? x9~ IȾ!nGZwd2UHy[C^=Ҳ!gA%;nv/n4SQ4gţAm% ""8fyۍ0)Fh`EVO`^aH !}&gr 'Ic1z|>"s&IOyƻdhEzOHe1}x!^Q[V[u';"`i!GP3U@<;QK*W58%0:j!axXA=I᧵QrL3,5pEOe/ ,7*+IkI>Vlؠc!tPgjcDf 2V\q ࠠ#f`if$؆Bl3Ndzkۥx>N/SdzCȉO v9"n+]yNt(XuwT|Uh!1qGfK F³$ &شmSs?GChr#!KVY鶪q3ࠖq-HI\RO*E>P_B{7 "w̵^r'YW߳{ S d±-GBfQ*2at` V q$%b½~BFBQx U smzGTșiixr&g*:"#*2^/"e5'Q?ϽyR䓜YO_*p1I(YuGA+`X`BCwdDFITkQQ_򐘃@]o{49n];W~xPS ~=7=bK`|dL=PnFeEܠ՟o `=JCJt0S%q|ENCma% Hj%N Vi]RRV|B=OBU'kGmx MGrn ޷઺W^iQ&ցm8I.JkI1VݹAl4m+ID;T. 15P)/=àhh|G@pN1rXsj קu^nuNxG61]2@G2׉ xQFh;Wo$DU3nˉSMa0kvUC+c07;sDGPcx/:(5 B= յۻd ;5 U\,5SXH=Z/2F QQ"hBWmv($r55vcsS#T&7MA-wc,i1*XLb[:; :,g1hmAp5ZWO}6g1[`8*4MkY^ Q5K~*Bq wsSe•'ϗ}LBygYR9eqo^n-dR(oP4p&_PٹdR-BeO2o#wC(f#t*hYŖP_!RЖv+hLy?oCTV+BW;SI 'fWIsg|Xʊ%iz0,midq׳zoCd,LZyㅌynT&?Lm,Fk(kgyGr ."vF{p&M%HrQ J&CԿ+T$#;ɞ@F*yMg`7g䇠I'1^^o[Pbj-*$ \ÿxïRϴ]բO.BkksTĀ:pkw` 1YIJߔihփr,Ƕ޻o MW^s4;R~1ԂPcF8Y#+5^n, %q Gm(0=W_P9v,RVH/I-R~LJh{ K+ml)^|<Յz3Έ6q=d]VgA7m섳/Ѐs{VQ*+js͵P#zN4q^mRBgD`rVV Mݵ6X‡yEa*>z&; .g~d霔g.j6_p?_qe&̀xR7/l(/=U:ja|0 ^B=п5Bqmb _m"]'ZJ`wcKH^J8!S$Ürd*gm_,nړQWF +E@W]=]["?|AA'qQM–-E2w:\0L -&(jWCUJ*ʼ]է2XXS(b1|Έhf>rpv2Ob:?) HEGR[qWLF߼wt[}B||6TO ;O{*[".DW;OT8#LY3:YI@m9S>{6a;Y0lX[Vqim}B\j6V}X4n ($Z-;Yتh=R ժ*$9)')catjcDo?qKTΘIfG[y*Z]F =8+:`ng: ㍞Ya-oWzBq궉n%Ԗ2 HnB̭jw~赔sByŽIn]R! @{dJ'wYaM&޷p̔X&t3,ʂZAǫU3WXFbK(lRNB.AV47BnFm •O ĸws>պހ0}]tՑj1Qs^EЈǟ A1LksI%X\AU)gBgHm#`FPAcH:~o+c'up[^E|X{YO8HiXGk}<I$JHG"\ CC5 ų85-fy/|ʦOa{u+|Em VQ'TOґhc_8AscKlRn:GOg܃J\)8Ac#O+Qi4r)phtADrξZ\YɰJ(Y:z͠Y),ηb9I!!Ui* X$^A8)7$>)dvgͷQ .D-hϡC e,$~ih4Qn$"_;302#PZ=p؃i7E^÷'M#D9n!?Vԓ(Ո;GǬ/*`<TɑpIG: IDU-8m0N-eZ˽ '5rfjqJhM.O#_} E_`H:2I:`G.ixWKQ̽u;GE Idy#RzJ7`Lg-utv)I' i `YIs p<]N ,]Nb85!$1VUr])_" G4)/hJab=Nd7b!G {w% +Z!#hcz_\r~ȝEMv'*ʜB9(MF^w_:iHrwq[Y9*rD7%B|f@AUdF pAEte6=wK VZ8Kupl: *h?fl+!YBz RL(@'X%5tu|3KxHD6Mۤhx(T5cd>Źr'p+Mi9+M~8A’]j<(l3Bms{GdH"}ʭa')|(/5 @SD ߪ!pRjaD +!odRHCy4 ֨Gy5J 9Qp,ܦvyA tpB Fk3.? I{T?=q0fG-{,nYm owhTPw9M|F٢S @{`q/"X҇q~v+^)t,LF $JI8/\Gjh[d쳭} f %M>J:Vffό (a0 =iٝlBa.Y,P"蜊|9A(GOW _:^Qr I+QV2;Vrt9NN+e7%č9fX},~A~EE¿=kxhEыPx)7kM@HkQҤM֘+-0-/&JqaMTa.ZH5T!.Tv C)b 5a%IUjX'V?4"Ft8oH~-pFHQsS v~ J&$*6":Ŏ λݿzZ{{ K^Uwk#pvZA_ %aV pyժVe.(F{^5GHР_E $iя!p~5k؏̃64~7Ugp!qV2U,V4I1!Ž<Mf-}DDb^V TΑ"UWQecOrB?+UWe,$XW:;~ZU!vˁwNā:e@DʍHzq;({<8@ʔпͥY_=<%6 ePeN[$^8V%T*t M$MUɕ2Z)D Y0ʖ\!,1w5$!/|>HqHԼOJ5Äl!aE{;e9+H#s~|Źca4tjz%ek1TOzp[q`RbRMṚb4Y)S4rR[;3Lx4=)oS 9Ddo|>lb0m%Hzgg\>AcLmָؕ~EOuaϜ!h@Wo!iMMѳ׸],(K귒vqSN K?|TdҜk=Hx6kH\4|p"͹ C9vpr*I2D):m1;hW1ڼ&{R +VQR$rm3 ee+i+8cBEYW~ p;7XLK_r{r/깖>a̔nWJ|FV>u)dž 4@uߘ䮂g HEvU4̣L!ԁOS7!H8d;)nlܱ-ݣ9d `~"iBM?uNwgMOUh`yJ}am? F.9CWbO ;zfh-9ݽ>n1޶i|MjiKTt[=emkN|+h>S,,gIj_>00$fﲥl˖.%6A2JÅ߲ݏF'cX]^Oڢ׃^j'UmWPdEjщ3m{,CG@9}2g[uL 5#r~YηOj6$dQ`uXq] SV8}mϰTfv猝Gۤ 7}'Kvǐj!s,a :q?=8Hux`gJ!\L}&]1xz\mLlNyCM5E86kۊ Q#?\ #9whaFv*hgC _PRX'͓UB=x/|,_qClvpUif@Zpү즒C4ReiwU#"w D󦄑3Є}0mθ`$g.sguc)Rab:@ P/BUx/\΅Ѱm,j4zT뼅?Φޤ,TFJz Nr8?E]{~fϟYztq}Se%/& z?u[ {.L[G&^S>a_vF$-Bd6 ?b"Yv Fk]JҝcA)JXAJPt l٪zw<Lծpֽehy =X =:yw7bµ^8DW,LC0}I$|9"#SA2(HhOs e`" ^/&' n^@2 Y7 2Vn]glu1}.e)0OW  dE8䘻@<^e;iŜtup Xt}Y9s@]7mkIfE *H>w *}RSs`Yy1 MR,%_PF `'Ǹ~+]ϧVl!SIݢAI e$g~}-g6k噧#Dž9'3x~ 27׭ %ura:418Ұ%4,ا`]I&OD1ٿ>E)FY_{HѐRڋAGlP:G1Fֵ'vWWqp̞9qzrnIv % |Cuu@肩ˎ*2Rk'#ΐ6^Mٍ7|]ʩ[>FpgZ:~Gc͒ȶza 1 ( ͯR_""``P:IO\#@0zT¾9EN|91uc4nR|㟽;߽sZ[qNzYނYzPEʊ-7p@9{HX>y +AA v1hMf b-uUoA?!r_%[CdFsIb=Xkќ2_.o%Kp# }1My$Ufi\9Gc-؎bMnP?Or!T䵠Q+ɞP^gn(;eyrH/$װ}Roڜ~lǐf{]2)UUf=4 n “ʋ":L5ᜅw :ƺEJlSk 3X͈/~-{oC;տ#UI%MXH(JHU[Üq$OJzgl O]: m rJT.6{QzI ]5@R-ޗjt 55g>Mf.h<=~ ~CzG!"c%X|ͷL؇%/ָtOˮa&'sO5h^ng7 1\D(P? cЌѤ*~Ԙ"%h^퍄Q}.υ ag@wiJ,OD΄mcn2$cRI]ݶkr ۳ ER9^R73Fʛ FI-2} $4Q{3.W^2R~&V#y:jq3,mxG=WJt <(n]ھuȅKW`'0C9qH va ϐ4]z(xS:kRb\_<_1/'K5Oep-!oШ;ݕ6vVP3*I|;(p7s22U!v\d^82_/V^%`-/ D6yS8j6>bu-²P:Qt.bٜ@mRgoS)y}qM*n'uP8O Ey%0:C۬^!CX茐NًIbᬈ/JJ-UYn![SHqb)w,jhe/+L/OIr91R4o6TGX焆\,Ug=MI3ĭyaP8 zS<ф{鿍elaZ\`G97r^\.\޵S{MڧQ)*irLԎЧ?(__c+Y i WPLaː$ Й>m10yȈW9u҅`.Eua!H`hJoA:FoϋLɾص@m~nÕdC-r)tSB}>`Ad$xdTڤ_z0f>dZ9 ܯ~ =8lMbm>׾fq DfV)%:ď8zaOQϸf Q TND+ܕ{O)Tfeucjs>7&Kig| <4'0wU-=Z`;$:siSywq/L\_r*ab4ݽ+-rC&z) ADHIWv o=HX !`:PM gMgi:5l.%racHw攃&b#^)#CynH%M3|\49]{ w46^TVPPVm9H\g=(=fs:h 1G ],]otyN:u}bVI"KC:ND^ 0J*%z_Kf\@0^`xzofƷ*7d40\he3Ȏun='emeC{>)tѐ&Xjpi|oβn_ӄG Ȥ^-ooOG!cOZmLB6Q |q<5zEҤ$7RE3Dhx LJJ ?㍕yĽj]\6Wѵ9xnIg5CyPLP[l'`TSΘ7aRTVIt`B In﷝ DbWse16H:L6O\z,j` ^gNlM U*BH/t1w0{~ n*^22B*q(v)0n$HLh8WzzEӝq]1.^suu~½iwLo5͓9ڛ%+&Kz@gY_,DnC&M4r7"Yz?;6?ߘDK#~QiHj'1.7V6\FEv IPQת&evrlb0̝+$5r"L /5ZO}X{fUc'9ئ0czXlr623ksCMBSV:1]I"œe\Q|9:6yVE$8}X mx{Zn]ePշmP> +$Ic珅E"L_{h$vWe Jcd!~@=9͔I /] 1!BR I $(;}+l+3HAzh.|%YS "{M t /:ayc(_huv; y59r#Pj nk*2p)Z ?^I:l+T. DR!MgH_9E$D3$9Mz@J6}@^h=^{$L~5Pͳ7ՖY PaiC U5v/$~y }j-*/ {ƌhl2=}hb1WE^o[R7vMv.4$# ܪbn˜`r$s.=7άòD[d>Ԙ7vݓHfK hT(-5SHNքrȐIyAN:닅=rgLren6|ԛ2bK|jxJ|4{KsO1A71qtr aZξ;R$Nͱ^Xg&ۤiFH/xždVF$9FFJ\q@m=/>g i4ZN 8*- gjYQ?0Fԩ)É v|Lɽ/j(%'uw"Y v5A&hL~IT131'XS"{Dmp %D5LjȈFiV * @Vq*;7e >PL2(Cj6?:]>Z쯖Q]3L[쳰}*[,G{F=JCIBtK4E E.?V=^"7ER嘎hfI4j*f(zκ"rr ā&#.J=? zJgܨ*ݬy2TC ǖd(~% D Ţ-蹈*zyX{AYe|p,-lik>3֎tt II0k,ˠR+OYK LI?]TV t7BЄL|3D3G=Lr/2}wEF룄SUv``}xʝݯ̤3j(J*DB,+b߷x`)J^[av%riRbiT|hhfOa{Qo-S7 U Qn(ƴjҊl"q`ڲ?dk_`b)Kg.x<(Z=6ު3נ՚\{ւ g!JgcQѱ 5]c/֗c]U,"= /|ʲY~7˜S*`)UsԶ= /GWxR-iwy6ahn5&`$s\SE|K cM[ے­y6v(O\p ]M,ll>U|d4i J N%g&XdLzy(=Rw6Ff&m+V8_ ]'fĜhQF[tɞIg<_ɗ&h&ŃvU78DV9l\4.sk`Z0O[=PAJN.$R z̯ u!Bg_l=ußL!TpmP w!̃f bT`=KJt BO;{,eOayHTﳡjߒ"WUKMײNö">h5jgt5kN7FD*)fget7oxJ[x=T+j+j\i:bbb1X.ϝ Ru8^0Gj7zD^.>E͢adP Jz4َ3*3ŶjbMfN1}d8ۅLJ|87s-+c}ZڷEt,ߪ:B xpj"\kBV0e+lnj~s)DZ9qvH_A)6{:pT|4YXzrhV6=4~@!O<[ﵺW7S5bt%!R\N%e 'Τ.Ϙ3 pI5R1Fg‘l6-4'?mb8+5x[:ΑS1w7 [[6DG`5`dl +woQ6lS"oXw xYgLѻkExiNs@+놄>6$X&oYMo7| P ay)ɊDŽ^MxXyң_y+<6(ыy'`P\jqXdYm&22lF r3£xoAM+qn eHA`x'NYVD`FjH^HBq-U;{0V*j{m)cҟX㯈ȃ 3e if[2[bg(8xz=N *^{o&'u wWmLBzY4'Ri-$ ŜtܾqǸ\%W\\]lFzh ?Cp)Dr/F_`v$۲Z?2FbqB=齝Qˀ{?}rY /wNo\b 2qo*:/oj)pMm] ')43uue6;9ejQ#b-̸̟P~ؔ|uTp ,&ͪ%VdU^ .XAL7,H$KtVAGe/F ~*Ud;U{el3"Sp-8P?j!54PX0eD77D̊~O,/vSeD;f,6?c$ ٣劬kMk<_+8昩㻠W ]n]ɰٌ+>6~:2-QSaJNmCO\%v'nVwLCvahLA3_sSBl"'-ⵙ7ƚ2͍iTU x3Ȥ-`|YyPXi쳱 MQk䜃 ^%zE㋟6e xhsg|.Bɠntxs p󦟟u:vabOCaI/ Z1m|F5p:pN[*A޸eWT,6ǔx֩prp,89*'] 1!Ԝ); wU;Yal5[bAnvL`iBj!`t&(j) ͐!a)ޟ 3RU/}pBvE.[r}Cm|T.-*dX`ǪfЌXqYZk^>-= -EL(aޅ5M򥤨kԃ[/6]1,_{B밳-(glxA x>;Q>Ix˿Fi 7<0==$Ƀb%0pJ xW OA' JpD0+:.4|&@\q6TKžJJD8 ;dW_C孙3u(V/=C_Ii g~$(ۊytjH[jD:*ȁ3c&<Řvߠ?pœR*M'*@e>vg CD^c@l \c2ԾjɴW^0Ivl-_ z׳SZf*5E*Ȼ۠Q] DI]gA˾J,`F7s,?Vo\HupiD-6Epa"D4# 摪~ged/6&W*?ZeyJZG LIOX'Fz_skj݅Mk#,{\3l扨.hInZiO srrՌ5lR`,5q)Jyʟ*DxN(ə((0[ -t@?]}a|%깛CdOhƞ FDG;e4][]]&qW=^ЌM-"؋E.~}3zqW[nV3[xN)S!mр+-A\7Gփ3:NQ(*iO㠦z.NKmԓ ;s!h>dg:F@򓾆!Cdž](,>&@9U2]Jw#2%x:ؽBmmP(lJ# gCdMvγFJހ(=QBcЭ8;B!cI~} B^68 D)Ʀ(z;a4z)D)eK8\q@?nb!h"K ."+0>09TȔ`B *`P4׾9 u3bEXhf!3I,FsьȻ}d،,Qu`&u^ͭnybwӖsB#5w99?kmVXKmVC̅1| H#S؀du 7y(RMH k/9u4t >I|]mi˝ 9O{T<*Γkd C˷}OS7 fG,8@k56$H?j.ŏtxT{XA4uo"d5Ϭ>Uam #8wjiV5TUz1sia:-l7n-'2 ;ն.Q(J}#x|MldH+Mv7PG5eY%<uE fP)$ykE:$bx S\~=5B̌y*F[cX7&cq>,v2Н-kWû!SH1ö }RQJћI3?oIzVW7Ҭ*6J7 h}ES_1㎎BUE=:mbV?mܬtD,< *rVocoyK^;v15 L\+8 Q:K# 7LJA/BO@ jpCSì6sHZZef@PV jX]α㯚UU t3Ʈg7UFr)uH(DKP-'9.N@VEVKND+AF4dHyR}Xֽ6(ugnk/-yۗ\*Qs60`=K@t^٩h'.y+5~IOuy(\zOWC1uaʳ |I{_bՓbX&)ӳV:eߴ)Ub5PS{k 7gx-+@.ڶ |X0QFn̻(\ `^!8R,кUHyK~~!k]$?13!Z#̖պ<,^<Ӱ5Tr=BQAU˺iǴ 0ܭr'Me̢<fC)2lPJ*cwGz5{V{vT.ﺳzL?LʛmpM_$ruop:V'B{L)A$SjVe?]D1t[.ȳkPK5$C6 Ĵb;ήlHe(wŏ] G*ۉEO.|U,v l"QTaxkpV*&2}@)oK<+@%%Et"cץ ȇ%݁`.VOA[J Ov/xh銂 vE®-ic׿`>w3H̨CYzqA(rpE BA\La\ XÂfܺ})Nfxc 'l @4:`:W%Bŗ _x:)4J2 NPxd@x7~%4Hws' n'\ sv[MUǛ {r4и+$!#0 [8WHΦWaJÏ5V uS9 f(*QdCLrVLpμ1H >>`6-0 ={ʁ:zhkioԠ:~Ը LKp /F.(Ո/%baSS$/pAhf7 h{d{|>:\ӣ-0-oI7O#h CږԂ\珢iŸmf8 (ˬ"򞌣u"݌&ۏ=+R^2[2O|-=Qd_n B*Vr놇Bj03+X?}H2ZIʛoӅ^I+=cN1QYsKIțXzZ&ii-DNt.h4.:w~isUHLԩZ8t-NV\0HS^LG=#aO0顊 e#JPr dOqS(V6"C
z%ZTapЖE[_h4wtvi2[a0$ tϐi>$%T'꘵/Mg;Gχ3ϼnB4v=DT׶NDO۵I_õ6k1i}LEaLmp^T 7wt<םVլZoh=K$.@[>_`2@ FԆUwHI5n$fr.k1I= cNLuuPI x!|Ps#[uI}+2g{P ײY˗go<e/n3 Ar+XYVC7U~ . LaiOS0Litde%ݠkAJ|f?z<"v6p:vG[U͔LWY6vV|u1H=Z 'K wJa, ICip& psQ3G"Ysż{EzS_Mt6Zm]Iwd$_ԄFTXuɗ%)d'DGck`Ia󦘅, VD4u31^nQοbJZG21~+iG.!JFJbK.1aW!UsV˘OKbqS25yЙ? ,Q27' F๰Yõ"`Ψ0cѣ{eb8zD.̕h.Zq FˋV`gQ#ůxepnr-}3 Mî{7/|mcA 0J r!$ڼ=uSAP%]zJjgZUkqp4 NB`΍OV@J;ү&:ߑW%սS|Z矃;.ãLeHeb߇6\$XꟙW)W鵼Frs]dHL7ptKʘEjH^Z%g;cb}*O!ȳEH}/ p'BE9%<x8'foĦ/ D 6{/cyFd <6oy*6"w ?:xcyB-5jH{\J'@CZ!=Pz`䧈]1Y|>NMfZ9o')+qxi5驈aO?9Nc\~S~S;&ɴaS%,󙮞"0NHM (P"5H!{g: m훃Fs+3MGUj/8w){-#ӏW2Yj]=|vU1oF 2=db+2\ߑ&`l5-W?T3#`c$x-a`vO#m3 vxNj9YLOrǹ+i@T:,Ь#> a^ {7@~ IpD%ψɾüzvd-}p{Cxx>/=j^L?Za=_n ? 4F7Q?  pJ `VX!탔4Xnp[A0E*2  Rq mn~7M$3J9.<(66"q;[h`ocЮ eӇv{mӡ8tEdyŒ.Xx d*¾~#t {g2T8kZyny%wz"ra!!SAڬ6и&fUk~ǥ{9Uuf=1[H %C)p|_o4I}1/D9oJq~cX3NoCl`ԙQn 2ٻu=y+G,h:S%._lmULmx&.Z+TQ!fRԥȟ4@gO[v7f1LWkfxptђL݆zgZykc^2uی/VS{)'-3z"ru'T42Ƭ O,q羟[!UG3k3H g|`)&*{b(]Ė~(g4ߨ%m*H锽W_~{BH1SڎE] vlJB7FfןX$RV,bk L3_jz,uU*6ܟ?*D _ x%h~I3zMNU##D.\MYU”491[||Ģ 3/RϓɒϑÚo{Ǖd+( 8eb^ݱ!@]ǁs-AFlJG. |@mWx,pg,Bn :셋5ŸbPfÓͯ4pZѩ=yaMiʰ?[F6f#8"uef-ÊC*3 hy>% _2' N ib1)8bT^=IL|,>x$ xA 6<wiɭągiRiK@]/AJ׹RQ ˴hX3T&"FY'u|oIzv.OrR0D7V6Ӹ:l_ ]'n)&\`E܅-,6$fN4DŽ9;(բQ}ixd 4Hi`jV\l aסj!?'NAus${M~oܖg+Ѥ6n+9LgT3/ijSZ,&C2?=%[}L$ԣ{&wU8`س0@)_2) J_~LEYZð) B"+v9Og>TT۬* 4 vȓpM6P@D}0 љ9wl~k-=U9bGZhޤ_mc8Qe#T<2oȝґN!2m݊aOƮWkPSEgn,ҡ´toX g6cܵ2 :Tg·W$&qB$'$v-tubVc?uSO;aŽVu3I#fn,#( 0we,D 8b}BXqp "/3UIc7 658‑ׇg_rsoeP'o1ΐֶ_ix:Cò˃*{\=IPfb^?A4:%|gl,]n6xBBl܆6^'sͷk[y|`- Kz4[ zg3 b=pjٛ-[$?W}.6o>b'KrLU[L881=Lut`_]y3|T fsZ 8MnDEc 6>رq22gQ'w]z94)|^@` rU' )| 4X.];of<4DŒ ,eģ}4|9 pp8=<&@HC*b)KMcSH?{.@%8x `M|a?% LpXk07R,]4X撃Xׇ{b`iYINǟ`?q)lTsa}uH#>hGds0'jܹr[/:%N@`gT>R)q'l?;5oըNus7+ 3#m~|Q,7a.]PƣQ:烨0Ju9VF F.IiOgB,^ ?uf?_sIK` TKF|.fK-a,uMMf-IdF>* IfvuX^%ɷyFB]r6i$ݽe\)9͐lA9bIgg|ik Qos?Vs}&W΢BXrE9>@}F!5fPuP̲>$њLr8uᑩBw-n3,gB0Nd4}WC\bOf,IFp aT+Mx;2JQ4|vU(S?DAY9֯r<t(z6WlW/>#R00Uo^ᯛ2ln!@V*<!%h$a>f+cF D!\fZNU.5X 8|omKb|{ p *%?kQpպ^4x|J](xec(6hͦ9|2Zߥja I\5kLnQ>2"G Ap!2zպzΠ.=d:NOͫaϝbCM'*j`]PFaYη iӹ9#SBH,#q,l8>VXqml|*z* SoO 7LC96nLtڄ$I  њёYE9~0\1t_;ErʹX,q MRpeXAo ϥέTI@z~ͲA!V %H1%~'R_W>V6\ qfS歨V]15r@Q?Gne& wÇ1ZVg#zd|,OB}g쳭wnSW$5zJ F9c/P{ΐ9 %ZZɃ@|aAHK|4գ$$Jw_{5f~ht,h5'FuԢ ~Ig<ؽA_ ׎-*VnӬaa(N4ٗ,aBՎRֶC,ZVPO Lbۭ "B+Dv"m@Ao+ Ȗx mIiWC'i ]HxCýq+/"?yPTZoBW~w9lߣ d>+:M 9^npjYmr\)j{"j5ľ:q# `N4㬾LFҭ{;p-i># U"ʚYVy঴a໹q 1pJ=^,ٙ2#m +!t*wQ_G6;kl4.U4łN^%OBa.|4r),~lgFpe k# meof#D(q'8p}aR2OHO `WO~;̠"T(=!Q |g^Խkr6 :YhtBFfsDbeV8[[ d671YS"({By.r.]оg>}bRuܶA` !WrvJci|i H)RشI,Њm(>PLں)\1@Nz9nv4g6~u-@wAnIv%XHffı/,z×2^2F y古{\s Wrų!RaW%:YB~I;Q!4,r^d9X9b;'$ϔuV^m8_6`]◢++A[%g§ 7_1/eԗ_B}FD[LUNgF')|tЍ3xcswbt&,n8Bsr3s}J3E]<# +J0+،:H+u$ rIyCuI sUە{1u n+U/OSXt-7;67֡IK H۝J[=*u`M3ҫBSȟ@h.B`|PmR\?_nDw:sknuӲދ^1\.VgxP(YRnj\y-z' 'pN3TK_͔%bOuEa*pbp dws[f+w.s#=S'9@<܈e~+),Qgsz\Oi* wbbj90@E {=ȲN|B Y?/lc d=j5{X=1Gg)UM3%w%H˜ע>uR9$=g0^\葺/ZT.Lo.`$ry U!ݱJ f:()nJ d>xG(ʪ,of֓7)+OiI<@z6=>G7p̘yk@R胹SQxy.'⺀D^Nyk@ox]4.T4Mđ4WQn*\ak]TO&lq~lp )FB2kif$B,E ׹{/=O2A̩~eY}BSi|*Rv̀y^orw*hk5HN *(p:/,~kB:E" :Q:HEcIy7iGI ,4X7ˆz9 Y/t0VOB(^NR{{zWוEZ Ri)7$'D SrbӼ-2Є=ֿ}n}/UL rYFc|j`bojqɎYvnj 9;B3t6a$h m"6oG2Zz H˖I}^yNΫܬט!#? IܚrYZː|+%@.83-q^[9;?l$ Wj{tϫڀPIP2mv~&G'X㐆3RW#D/n[YK6A٬V!ɰ{qek 2OqTu+QIwJAO?/gm(d5ƿ$eky pDLˊԘBV'=!2)^yz'%&(Y/+3Y㼒a¹u?MA*eAT>ShHK cַFU UCT^Gn{W,3kSkJ۳Y\иk *Nh.cq>tiSV#Q\,|[◕$͗+TQڵlC*Gȷ[5G, L" LM?u%oޕ,+L]s@`{2t L$o$O*bz~=zDO]Q1pxZj|*J`*֩E,XIDFH(. &DʍS } So[&[3AQ ͯfB('Geg&C[3=[ CWW#9N01z00vb1 יk=6%D \-;. J0KgV\TV-k'C#MF4K! jC\u'y`Hqv,ZNPQmoΒN,D a0 !l~ dÉ6ٟ#x/WA$dB(4ewAnB,/4|5L1G _'9U>~zNdz6 ʷ瞱 pj܁H\aHY*vnp#US %/@e͂ WdDcun(lz‡ʤ)3 Ƽk*챆F =ѥI੖R.6FXNa?>+EdCgjḳ7kXՎwv*EӅ jQ5wHS~Ki6۱ >I|e,!zd$ h|'LQI3 0j$%%Gy԰ mvjMZI9ƾh}HUL(_bhN1cD er KaѧJ fel`ϣbpU(JXmh-¹?)} ǔ['wGWjM3.{ Fm6_&cY[E-K}5ς,@6In&0٪HtPvUcKťSNE&o:`pc5kB4[A˒Z -t2Pr!iC'A@>c*6xL1c\6͢vbXvxS˜#1?|枇=eQ\B[50I/g@?\,^:吺Ks~nS)GD h+9=T&&ݲ3!p.ᓰbH;2y9$% CLk3c9-:C[??"Ƥ YtwMM3^$y:ځ5" iCJAHhqR6Lmʼn"=+HrW0S(BqƎw{glDBes0Y|JP=M` g%¡u\RսW,47N,b2TvZڦ1R}nq kkzAj'bj[3x| D/lJ*H #(ĥg q 3 <&l?1^Y/S3nTO)nJ{C[;;ӾZwAF܋I٤҅c/M\|d]rWyTإؑPXvoLȹn :|qD`8 J@95Ǝ]=D0=K*]~CVnr#Zľ yf轟Ф =rb8a|Ҍfvl [v5xiUmȶ 6)o3 )8mX߼qOn-*b1RH9lLnSKЇQ RRgJ1`ragfwbm`H6Y~A.糸Mf$xU/mI'Tlև,-"& $@:n[ogο|0_)VqeXWFCȇ# R:ܫxlu-×HB6Rz|t,m5TH[0h%[ܗF]4\ĦRl U9x ty'nH5R5X&spү Xxt߬kC1 S<܏l4d2xȨ$'~c. u _Lԍ_a7q []ZeZ~qYTP}µz>zا &"}u^W꿜zw^:)Dim@]jvu`9ƀ(GMl`W\6#9@5h:)M6cE/5۰Yݞ> 3-t99=+3eA2?2&BV79k3`(^ RޘF;MRD-쥭_Xcbb8c+iOoxAs>ԅ UŸW9OV`@Vv4kZ:;'9p*tbqB;6JyZBL6fK8kk%~eOj n"y~|׷5 gŸAJ#l\.HZ,20L8KFeg YS3`=A^KV|IsU!.sKʆFNw)|ed׾ΆBoM[&e@鷻NHXK*%( *`-8Ye? ϒD 羻oaW 0B r=n@ҶZʼn+fE\'J 2hU㕲x-Dj˶<B mx';o4{`uY't1 @BO~Ynh,|]X_'PkԼcÎ_Ln>U=y:(n YCL[t?T$]PrwKg:jZ<(?&wvsf[V= `zFG5DN.oHz v*9~:a 6{:UU|Ge_$.o&UJKת{d͟s$|G(_v8n^QVSJQvpi(f)PT2 0dն+T Ml2iWj$S"E1L ko/6h P%RdpPr"ɚ'*L5dK_W2غ}u zEF>5`5Ju6E*9Z. v#BaJ1 O3L l2ϒ<175x@T9֗`rU6hOϰEy#2G9UP{?x|Y~ kx PbBP#.Yt2$EZMK" !'[{rvL  SL@r[ 4©wqb҇w~Udz~b@WʅsP14}ڗU PMKlZ;鍷!;Cvbj%Oi"*r0SpRϭjL7Qo-͟N"v*Hk\8ElGUI!Pm,2zA@X[\ݯ#X~-!߭OQ}i=~֖X([;U MW׹Y +@Ӯ&-bt3NhE݋X[‡DQU;JU-s鵑x=8䎺Fk JivzN.F= g(c!Ց Yb.g, XX깿acXoF`gDq>9{es&d0dK ޜr 㬝DWl3p5 e\:5F0Y}ָ҅ bٵJpGAv#`tpIԬLMh"Z{79iRi]Ɓ;hiFGs\]7zK}/E׎ӥM: Ȅ0hϻL Lm6L=֋_5 Dь`!zm\C 9fKH%*ѯ]ɬ=XfFo EBVoٞAv:cR~i+\&ױf %e,clJ<3zN (n ć y()e;8W|2KM di W<\SrgRx t_%'΢$'I bGN bxىE@ *^E"}vs$;啜p$\zDC}>E1sI _*NǴ){r4操Mx}_|R꧳;Xagd?̹ԏa ϒ?;<4d^p!T)]X5[ /yMfIVPR(4_Obp j,ƃ=7.ڲB^iiŜ"iX^Û a n1b.Qh[K SEY\ 9H74V5Vna9z\"̄Kze߲=|ڒ:a$U5G|TdN׌vFIs&,+LR@╞'&#{'l$|3(ޅuB0ez+*q:qu&ʞmGכ,ӫ}[WYj;UETޜ~|Pʈ ̣K>kkAy>/[[aõR%mGO67?3ab]j#6%2I>pqOpH-+y=h9np2grh⳷=>VeCR5̿x!nQ*тN=_xU)&c =5Ԩ_D+ 6akp=|0JpPy]:;9í ¼KYoqFiwM?)a2Cհ7~]~K3f؇rd7 Xakg#C-Z xe8zoЦE*7_sw_3c9ےDgV)VPwo~`F.Sd T`#rn Wܧj{GxlldIh!3@V1 ˷_A|d\뮳 tqjP5bR)L4_FF9.g"3nPU")oIKB&*ɮNr𩻙J8F|z >4W=JnֳmӚu'ׄ68H u q!Pq"4YpE[)MMp6]ڎD$7܆Wh0QI\1*CZ~X}.:a>OaՇ5~]l-M߭錵~*XTܞ'4s7ȦD2L,^X`L'iJ ]ܿ}A1TXkQ&0b)pBU1ɬ=湣ΧZS';W`ɴN?}E#K,IUq\ZL~B^\E\&rK!uzsBh(-{jW׎t=4!H&b9 $f>vEo#Ko>AwE~b8zDjjR\YViK ;0;bn)-̏+ .R^.Du֟ek$ VO#;Zg8` [Z^ô1Xߨ\戊S xJ`)iZCXbsJɻו*K HrJ3ړN 纑@̓f2Uͼv/!cS `bjOYB VssV0"ww,ΟY76RN [Rjld{{ o|OxbXl#Z&1Vl FYxN4:a2V.ځ-$^ CX[ d .5$N[O޾ϠKVV&o8z1v_GQD˿TIk٥Vy&\<w-XT泘 Ղ>`GNV(L 4I}`y)⻮Bs*z`J#k/x'Hv_ʻ 6x|Gr$k:'D&G]gEHV,⩦[ߞ@qgTKfD*0FXP`Xm"f*>j|G\ht/6c*ΉF',($=*`p"AxN{𠧺}SDA{tT/y4Tup֭uJ#%XzoA@u; ‹ڭڼ:PеT=?r7ѨYGٽȃS3J<0eKJ0H,a1'D\& gmiyZ:p|O>,\|=ﻻGGPg6{GViOtiXҕjNRcx^T]815w{bS9{Xnse'$} m.Gt?w̩ӌԵueѸKO$"wO}W֕5w+&nmڂUKf7beHwD\J6c[  ߚ`  <7ՕWʅ(#uwb֖V*g Me/b/:J'HKu9$uThZ[xnF2nnα@ KUe j Gȍ])迟6VmzQ󑑛F4ɍn\JC<Fk&m`E4u3a͗/|"bðܷNm_];Ӻ)_vKxMvsJZ[IDHX GA]??ѨŽ0[\DeefHYr)K3S"Tv5",!έyTn$f;hSMKÚ~QJ=zCQB©Xxwܭ }lG#}Vc`4-o8GoD . +pb=D!|4=b+scuXO X,V {4r5r.Sxfu}#NR[*;@˒b8&}CJab}Ț6 p &Z|t8GS0$S~K_G_Ɓs1~zP_o=IȔ5SmO~*8l?3i˜1SƒECkޓ9:_'?es.Mߙ?==`R$f+J"_dˏxhˤXk8 (r#OʾL8u,mKԎX&9)R2BLOEptOG#^֏@@^^N b OK4+&]L#s4J!CVqL5m-tpϳ^2vX]̩&._mr566 e*Æ;?~7Ks`Z*^)m~S! ><ҚX>H%<ĈpH]i%+@K\)+x>}q FGiN.2Dg+g Pg|F'(eC *26=]m\\k[)s ;~O `'V<ļxqTV2)OѩE/MӞv`UJF9"#~|J.7< fʝsn$x\bAfj/\t_tZaU &Z(fPfqlF8Ş/"뇋!Z<)ؙp Xޒ1-=)ESko:MKȶB4ݛO?1`b7V>Nɨk+^Ǵ߯hШg2XWcAtDmR;[!VO]>$4 [1Hq] Sc^'ֻuXˆݙ_f̻-0J^DL 3d6j@#(|o?Y2Itd6?w6K,T88x 4d[%ٓm\ m`A;/晴aͤI16rMAZ=$}\, WgT-I2:dMZ^헁>+fz}]L-eu8SIb!.xpV\Rlhxa4&%W|'N4"a~(I'!H54tD7u'k^wTSv-+nL.j6* |Gu@4.Y!s=P:~Z].OחpK7'ʡ&'gHl eK9/`HNV{i#5"D 5R~'! X_{Cko|n3LB]u GipTI#Se&]J",=1 ۓ? bZQlUAl\i+2;Ogw6#;yU&=1$A\PgoG%am̓٢Vy W(#n(h\Ki#U'sf|7[搧0!~>rp‡Ι|t)o_Rxb&~͗yC'C뉎 gLFo45ӼwCa7RiPcZؚD dA:).~!ޑC![=$VK\Q+ JGeErsuG1X;(˂V| ;!F#bİ/-4GQsN[>'zC~Y_IKiB^$fp{7CTF&>p ќ NoU]?ZA1I?cȠaUn`b&+̗FŲ xUi!kr+~/ 7&Lea2?Ȧ91Pîv'WrS̠{ϣRB4S_1{Ƕ@{?>+$kQ6+c6?L2{ y~AsT(ɟ˔%8ez̷/ٷ{6PFdXMm-ՎMITH}̻ګuCKZVi0TPQ"!E9w{ujŝt8j,S*=A\xXdx=8jfON4}:˓c ٬ҊSѝG8-Ɖm5t[(M6y IN3(&QϘFƘsmaW%7'#g(1ICCґFQNި zl:Ziisf sW7J^i ķҽuJf_>f5v3C-$ݕ §CgJXGV:H/քGLr.Oh꧙N3[a@6Z]^ӌ+c`I̓w۩rƒ!khۤ51mY>c,lE+/9gʄL-\-^FbpjZ]G@ɵ/䛒Ѓ8n?̚ƐV)-X_nVP䡶Ƌ''Tv9[*DLq)VGZvL)v+Dل`'B#f$M"Y/Vl;1ˋcXɀBl N0oCD]p slTƃǢS=T`Oz_)Ws~ 70 %!+`d.*cA~ni)x]޼qui]vho8҃w|(E \~ `)Q̖Ev&GvpаaiN;wA"CZ l:@QK‰4M-MyAl.!KuX6#:w9\7mj$_5<D',"_^Z[40v Z܉ٔ|闊TBCBM b[cl NMЁ0ӑ{: A'1#8,"*g,ROaXۦoߑ'm<7,L\ƋbJqզ2.1/WI,I`gK8Kʷ5FM0aDzÕR3މ)Sևoew_Cf9"-2C `Ny 15mb1@xM!Fx<aHY/0 /9@|q.<+œb>!f-T\ e5|KOZM=܎t:o#|4*]-sƗ7ٴu6yuH|<u3b1iJ_Po>5uzWѭ|\ZRj:c%&ZD?w\Fo\ONw3^F0W?Jm;8EYT]wtcoyn蕰[(oNG֜d{# [KGu8d #-x(kZ.UOv#<&IPbQxƉ =@ CE> )F#MCnS5F}S]MGr!QqUxctUO R:a>492}o@iG(⠺gTr i4 [UsxI G4y3LmVϛnv a|WV@K yDy]onNKYh<GzMW|.lpCSyFư}}?  v6$|hOEǧ[,@Gr.NV怗Φj%g졡u),l6`ěkSҲjcpQ;0)+S}C 0`ZXO PZ=4lF7!(1~?"C]*D>'əPDKX-ooW:8`dnIpI iK#MXLQ+a&|OSSwRvTLY? hR,s{dz5pQI>%3bd;:"Br3 x#hX eh<ҽr?i)4:(u gX]ғ=4f T'K3{*Pe# `-9'Lo-Uf'E̞vKaiW徉Z奾;8c=|$U;뉇t×}crN밬42y$Lwn l9љOMZvp1/Ch))K.F_<h;JX~Jf߰Na> 89%ք: h_E5{vu^ཷ;|:Bc8ۖ-INnn b5nV~%{RUG@1~p#(k_K!_Hxm>+/۹FL}:q#sS"^>0T4:ڴBTjB3|ܶK n Ue!]+2brzďlcȮ)aD4kLdh#Yi-5vY! 7B\ޥGv2˗PdreZ<}c%VZ8U盱1wSZ$콽d:e8˩ U676'`mT̞P''awcXyY*ւB8pT>T4}&L0,ܑb(ӋVFMA֗&UY%W}tZ΃A2CBx1!MI.q(:T{񌲾nch۪~@!s5f5:ɓU%LIaH\®+L>/{n&@q;y":'?{<ujW=OTXT<9Ejx$KvdmB́}!#P?CK,7{1v-%*YA,U=1ۍJUs_Icm8E{ Ai(VynHA{.$! sKFn ͎e!-unY"O+C64huUqϙ`Έ?KQ:q^P0nxy@m"o~J1aYt9\pg`*f~Y*j}r@zJ$ FS{02܇UJ5)-b;v祋N"tKQ򂈧)"s3&ag X㞇h(@'"yyf:DB1*7ZmSϔ*͙hA[\ށq}ΐl^۪f ;Xkk=zG8C(5個3HwI?P,nh%ƅjim9%nf]7m=|49]*5B)2woat7'[WdW.V gPS'Π\"ZR€͓Uݴ9kz=%&n| DkDT12gnEb0XRZlS&pdI Q'९AnI4qf g[BRGe^pnV"EiK>kC W;U*U^ƒ4PZ]-UehÜ4t6KCm 믍-(9$Zۮ.<`īIExZJ0:Vf3pѳNL|ND2 Wa+ALWky n:cʸC`B}(s;:7 t[H$S]% -5aCZ߰xI0 СeۓK~BTkFA]˲0F܄kR=I:iI-LU_%%}9;5̎BYN50g XsI$7\c$*h n#̹X@+ ;)QBF"( J5e[x4vcۡa(h8"Fl/Z].piڞpq|:OYnf"Z +d=y6ڽ*jĻyսZKcQEvH$.6z4А962m } }`BP[PtjƑKC ?b1$A$?30w$uTT^!Qt~Y'lE\zP bEKA CYZ1 h :,T]23hx:&G]lu#]Vdʊ^=c폥u4YLo#@[$WCPO4 BQ$$M0H&|~gk !T/ si8hw>Q̚Ɂ// L U@CxOauT~DK`ۻj6enYϳcQ!(GmÝQ~3"%ybnЇ5zM/lqtyrx+'0$4fU?tp볱ZKIHٲbN CcaB{k(,)J{#,;ٯ>/q$'*)r9X9÷@t?ٙ'%Ti>ѡ5` cB צ%L+@YaQ~~\g!"w#5&~fuZƽ g%=+3"/+gq4_Kg Y=S< qO]/Gj;ZZ5YVγ+%S S@zR b,{Wќ@0 o*xT0 joX bBةHn;6*ϓD\!ހ;Š$G%ұ3? b@ 3q>Ad(Y Dx MaAwRpg}k\$&+2Q̦@XNu6W8!vn6 Wd[K|uM1Ԍ6Ŀ;T)Ɯ9vUZ4EیH}%j|3]7=&@]iux,PA*x H^h,t֨T +)ܯˈh]a|Dk[iö ҫ=Nm0\<)Sʝ( P*|#s/d='7 @UHD<8}Tlݘ fJ`'&4^ ?dv{(>~%fP|a@/kA `M"9`L~ߚEH$s)}FE B<.\-L\D=$x9A*$tC]3Y T Wl){(owh8SHt2UF`df\m;=߅q)I~1nARn3@g86 } 밖T;zJ4ЕKRRwEs=ZlJwbF5 oy"~s&'X&~Z13qo+JI"P?ygd㯓ZɻȒr#W'Mao f ,pD#ĕi,d~R'-쌎Zäpԃy?p-'nłƱWR/yH} kM>,U?S,$P u)l4w lly֦~x26J]R,À{ӰRd0hW0]ܘX2cA7}/[s;GmPŒkYTPx%kH"Kz"N!=thMl V"*t2zGuqa}r.{<{LG P5/HDݔl@!{rmѣ]5U>Lg0gxmuݛѤ:{rerVtˣ\ o]Vg!jtL~n]T+S|W],X:=MCrLM ae 2PN 8dv8-bTњw `ء:P}uuUd Twt&hSx[k)]'*JުYT.]\lefnp)3|Cc 3.#C52FBU.I"+B~# I`P }3>Y"j1,1aE\&nl vPY ;;f/9[1espE(2]^\Al3jH^af4цxY> cX_"IKN:+Da;-Pi-e}4f9@}YqJhμm1[Zc60a`çG .$1sbξs%1(h»A!4Tp:gYj- K_4G 68tذ9NӐZRʒ[t@]ާXIsLfCMcB{ ]0K(/N}.q컆dC=oU6 ƸSƈp :#NǶqYA.S2!@y˜参K?c:LWxfd@26[dd%ޤ~2F391MU}z4(aR{QeWJ z]yu_h >!5݇ f=>_BH3{lC-j(Nq=5iɭZ/Q0yՏJ ikɱ{7I'd]rCÚ!BY}?횆?;ޖs y1~[Fm؍y qc 0Q{8h f&$N(jPkZznfϠVg^h`~DйDžAB46&2< zH|q 0na{ߍ&#|x(Y(hILlFeRdǒ꣨Wyu8>RLKz+5viSw@2i )i ȴ6%HuTC 3؅bMc0y{[S犖Uհ$b0EZAT/ؑi!Kqy9\jI oh<t8BG& y Nv p0>O>T#tMF7z2Y. *bjnE_Ap%\Pd2",͛Rxͭ>W;}3Y jx|$g9hKT87㦿 {#RÆBnQ!!-waޚ̚b ϻCJ: # x16Mp ߆H]NlrsL)‚~^EwV+JZՊ u\-8̀pF.ͅ?YB^N~vN,;]fzYnN C-"دNQ63w#*x,ҝzb1uf[@%?-k_eb6+g` 5gEiܟUԚ_Ha482Lb5jV5S/pkN~ =d#-0MwE^?G]Yׯ!Bsf{x&|^IU}% K2ǘ+].qKTuihx؂NAAz;//HA,dGgMo}a -00B+}|n6.LL,HT_jgȏo N7N&)ӧ*,R"|cyPr|Mw4t`trzps'{HuyVPggk/O+FjA,%ކ H7VwX9?$8ēξ)2T}I /NQ a~w]B1>rPC>mlYmD?BA!p1,;'ZJ,P XM!;2/5"pQ41oQ^mgln|Ҧ󇔨 O5ffŬ~jͺ\d]Gⷪ pa=`yhOU}C{}-a *ݏTTPRZla>FeA*CsJEF:1.&:_]!3T˺q7FCۈ2>9^Ի`nXrOO"BYሦ5 w 3[%y칦>Nǵv36 =9&m#Ja!˽KY6<E:oMgBR)mɻHɣEXۯHa,Aaȃ")ͣP;r&0J9鹞;u>WFS7Υ+I;}TLa0x!`<ˇF'o>/ S~WI,F3g{~+b=eY!3n$5q3atXx{kQ9V ¦``~$&Y*Sd]U y*˫yOM/~:^DEeykOOt~*1.m,B/Q\k7)=u!c@ jH7y pJg)/nWo!.lg( cS r\" tkdt\@X1D(L)% $  < Dl6 3J~aљR?l ܪ”?tS /5ު0kv շ'yG@"J \ rH"^n{>%롮M\UYAc~x"(j Y>M3/zLATPLAc Y?:D{ڰ*sz)QM[ib 4A-fOuS%5'息tᜇK~mo\K4,)zX ,dڛq^ ZP$E/b}O`r OaYJ#)N6MK_ |a]I9XY'Ơt覎UF϶Mq7.@6 qݷBrHk>`k.L J[hEFY:|M,á & >|NVkI|(a3XrdZq1nJawJlG`H4qV5#cQҮwWv[Y rH-+UIa('n;Cƈ@M{E;vjg-yGjXfR c@>@SKgtRBTeE -՞lnjꫵ֎f_Xiw–F3֔vbC O(/H4^(1ܑfRK-~":?eHm$#iG|pQr޶"I$%bڪ9(Yp;qf^jlMG»JNx,bgڢ)hԾrJSIu`/vmRN֮hQsSuQB  WU?Slj{ [;w%>IXlIQh*=¼v !y{> ziF^rEތ"Ԕ"x`&."zW=sMc^^b[u~|+C.U/88oE{:/2R 馷'e}_{Y"@녠Ylm;UD귉A"%jY`;ز>;^rQWz.~Ez4yS5Ŀ8:l8Wyo#זiet0,*O<}9uK_yޣ J6F /N+KNȴ)]kԷj(Xlʾ>ޏNb&}rU[Ԯ"F 6oXc, gŠ-au]@-Bn5J,hdZח9t]zEfS-jM[O.cK½qS%|a'![d 9#3>>b&g=?4AY;37Puk f}B,xP6đ d(kNH"#]w1d'U)db~c|pGh@N_-)ڡKf)!{Pݕ11fJ6f4U@u(( ;ژVnv ]`HnX7 3Q`֑)؛bOg #VֿqFi4I7EJC|m վϬ ,Oƞ+*`-%o;J'`ڥ# 4.=@D EǛ%vĕMs/ *Q >9,v1~L\l=LY] 4!0:xChB+1b41'QXTwʦr)8[SQ a g& 8\D+nleQ&JX}eu~dw.EhԢR"7zR/r-} ߦ\YiJjw/쉗,j&0k9e5*lHGFtpo8 'k&& FBy+J]v`&>KC1ϸܶH񎘃i[wUDF29* _`I)}XqKMba0 C*+~ -O H(a[,wE(fNj:Pk}_w~_xDz3*ıI(;雺84TWKvp+C|&5:C2l~৖S8a}1ǟt }*G~bcCK5ϰ)%1W~l;_u*''p>A@m xO._ 08Ĕ3Rz`3t oL7n N+SJ ="8eF}[B p@   ㄭ$ !p@7j ÞRS;flغT 9o5Ju"L[:뼆ꕼBtW4:m!_XG;Q&vP; 5+5 U%son`M{2>4Ry7ߥ}^Wr(RztR/i$>!AgSZ潶Yb\M!&у# qْ(@x= h^}`,)xP4(]4(D)L,j 0e⾑Nj>4T;-G܌,cNg6seDW>-|.jox&6dd>z"l=4@O 8s˒POd[`߼ ٗiۓjcV'O k?%?ؘNmÝ.}[qcSBQe+'fNω-U^Ǚ &X;RBVBq#0yr i,wCW//wJM^]pZżnǗ!>xg+(h=R@xQOT"*^x=J̕s/Ŏꣿ3N2 [19[= u8&%; r1}ӈor=XH)6f?* J Cy M/Fh\+7_llF/\ddF;%hawl+VU٣ʃt̀:oЗ*g$"xV::$FD+ӻki͢_rO:ħyҾJ"ǙRY=I7*ώ_y-h yS۔o|W mX-Twm*@TzF%6,+aQݲ٤/4mʇl/My.˭,(~%*i2Rlme6PK|3!hY I'3F0j1BV1%Y^ܲCsxOj9Cn>R\*[1J)K`UxMU-BRHZX6ܐR+JD@_Nru5QOֶ廹Vx(jN*99#qGNyNdksǦ!DX #϶3}I*# -T@l8" &/ɉӡ"Quaf"+|XRmǏN]DyT\|S%Z1cl&W;ttϲ.3£~T<>4N8cˣ)+BlXYG:Io+wvW~j{ݡnzĚLE֚zhw).T0(BENzVa>yUI*^C3hh6Nx=+l]Y0M^҅V1球x)M͏-"|mec :#,~yĝ ;Paز<[P꜍Z[T6qspˑR<^/g7PjV =YlMtm[Eaַn DpKǦ _pquV]oJylVFɼ0EUCMW{l3.fFOkbE@u1" iߚ>쬛" )8} X"1P?Ҩt7{1MeA zClX]Lp޷Ľ>}UQHrj* zY@a̢8ZQDem!aӮv5xn}BOm#''IΙ@\*8Qf>=J-~6**QdTBbn+;6uU<~Gn o~'.Hշ/-yIO-!%il W9L:7'k=u1*G32.%s JגK^NфMg?%?xrvhQ /H[/(%{v=G{0EƎDook.NȧzD /X@x;,yaCd*ؿʐk T2u@q` P3{e?.9\&];) 4e&9[•̟Wq8I#Cs+zRQ?ve#Ts: +M08-MGS@u];YUWaߙ8fMYSEe=uTdʚ2"7LMִN.ܛpYXw<}.>x9n:0lLZ8Ip-ɭKyR rt%VErBZLSƓVo UwSR]}4f9Jh 0BljLB.>)(3#az̞Bg8 T1ϧv_&\";X.S- ~H~΂bo*Ry$(%UanwXn3 #Vȶ7ЖubpFRrEӱXrYӦ6tN{@^"b'ٿ>Q\s)th\Qtd@^ D8_/%t'9Kf&t[AYPřљ|"TuoRcWSwL5BE#΍8&vei>8U0+3]t#R)c>^+66j[BH̊#bU%ly"W{Lj|jsFUH[3HX-iV3'յX؍ #\Lf]\\ˢ!r'~|e$'$zv@(hD(}$콉VN/n(waQ! {iF:9v.wdNRH1[(r]BT9Z#Hayx\XTYj_I>[sN~)iLx~rmn!qV^O~za- " PKEͳ{\հ΢}Pt,4!ʐ"j+XXwJbUo f Q|p[rD{ΝlTX# YߍFq*LNquў-\$Z$Ȝ~˦`/0, JnZ#,r7e< `{ EW'\1_V7*VM:9w5wR MDdz0=rb+fڛ`H z[ˌVRb?O%*7wAT&t IkR-◊VCcдS%MV&:nC|?zn/mN&$S?/|>Tu`8@E O9⪮>pJpM 3 Z8$] 9z0YظX$ؕa۴=p۸LbB/_Q(hEg6q?n spĢ֠<-kt1s֧yN[”Xr0M6ؘ m=We 慅ƐNuaKӾt ]s>]1%gq-D'Clf2I>v< GC\E|CR ؠ5G*iOUmV DFP=f_5 U]L0 F-ܵ_74)&@,s[waUI@|f&@hb79a%a/yꖲA.inP:8 m 9i_U]M\½TQ*SpQW7j O/KpeW/dwOc%  m͋͹D_,dj̜r~{`ݙM) |Moz Z նx LS.;hh9aoS櫁5bل,1z-BI޾khrP7.gxUEQ {Ց4NVaX6%fA22kR k˺?I ]IůӓDUOEWQ}kF~x8gSSS1٪ux]c)`H vAQz>}SoT:/]vo׃@fZVD-v1n:>,Aؔ]s @Uw0C}S:1Biy8a?4= 14ԁG.M04Y70Dk^$bGyFtca8z_nW{:h 4ZBar3&#O&hec @ǝPJ_ge/A_z w<`5 H FGtM^([m?IWV _?H!п93]rcٔkA u [Lsi]ƈ 8㩿)܅!AmI=4]QtOPLIĊgRav#Lw-=2X@ZoбJ=벙n9-fjA95cyZev6TKVYD6lLҵa;33YNWZ-SSRJϏE&'=PYP e'HA}朑ԙ32gGAU˫s6{&)cH0=[c%۶2"r !AE؇]םkA5H`/*H/Y~( 8L.BD$X.;qJ8@v]q4T k0pCH;[|("a7pf t0lF?G(r2g_k5o J0lOK!e^N`֢o-5sTB7W *DS=)i *4Q~eD:n-Xj.Xg'ysτޔ'-9uHz\@࿋>kEBh 2` iJ V/0|OIW[gUuK)S7 ṽE|o >@VR[∸2t=&N`ⶾ_n@D}7ɑ%ZDs^=+@Py)WmA cVqdLp;}^HCBU2BG-19̼8 MjY)Z`l}\½eN̳f!xMuP_jxsfeB HzXt'Z3PDj#;O,`nsn)ex'hݛUmD I''j;$@iO" qn2.Z{AK?LH!)cěo:ٟUˈ5̎Ф\!WȱxZl~}Y_~ГHDfwܲ_j wj<!N9qtW[PK˗܆E◩wZbg;9Ÿ@* `OرTY ؼ_p":gE';`7'Q@Š~SZcUeT19ZodXǍW:!L%K ~H/RSN6$4$> HV0D=PE~Y#Etwƕ̝MA?faM^]6~sdpI Av̩54lIzrĭGYSz6̹| !7voTMfJt Yj~X"/-߲t{WS3T?۩ VL+@eGGTj I?Ub0NCadh]>r10%Q z]9^"(8F?ӟ-^"Df-?rGlhոGLitX<;Kd-i2|A]$nJvkEr^9vA=FPI( M&D3ĕ>'HKMfBJ;T c 0eiS#8 # a0o7Q$'xJ=8I@cVDVE|т(Dy5Xf5NhF6 @hN"3 R_r-eE`0ό-bIJo,ч;t YBV'qS!}M5K|ԊA(a#wWFP{%1?l+Kl==@}=(n*.}XU:LYqNS=~ahP\ZO1bīnF{V('LY)jvXR6V2?b GЮ؂'+4H`as\<9ox(̞:˟Br`%.ro7!!\*H{pϕCB}_Wj&nԍ?Wn񾨮~Ch?/aU]HBĎ(s-,¥]0I5aG>u8ܲF[~qB53JA80Kf s*yn"b,72y'\K6dݓvUk5b9 AB ̘$gѕ9q>SM7M/jZP"RQ3_DdDRSZ==7D:39Y ~ QrH͖JΛ? QnY޾ [я*]") V= vחe%;yTdZQ\%*ICw B؍vֲմ͉dSkf&g F%lz9~gT<>l#gL'U(X؈I9?@vUꭢ) T[F27%0B)k9k1X(Cxy=>&}d'@߿IL؟E~bh 0# W.,r˯qq#UMgF(aӾՏR^M<{!|}svªVy_ y5ׄ/u`pܳA3 JFLێ y496W,Jzۚ--@UՂ{F7OR R #:8e)1[0 t^8gu/s ?Bٯ=a֞S@-H=^?Jz34Ϫ֯ZQGx幉JBWrT5KO+פ3[2wz-awk5KnP) >&nk2!\5nJ)]׻WBwZXkމxwN6pz$ƴܧ%'k B6?-B F0v zW#͒FTxUX=,m wҋFBIUCƠThWhr~p)|89pdz6EkΐsTc6> lt<7 v;%Y+|1iU;f,Lo1W뮊0_wv?m`{,Qsl`_n2USL)?6`"'5ȒTr C(ֹehCaKDnҳZ CB wxQi`{`dJo!G H08A<:мD:ecOe˩\ :!Y OW' ')y)t[qЂd돽&',WP bGHpH}>V*KV:A-kl.w{216Xh?甾ͳ;;<ԟ7EN2U{p#[[_[Ypl>K!+40nPNqxWwc)}cea&׍)=޾Q?ʛLIR 7_p  4Ą)?3bY;֘m剳+qѹr#O؁_MMH8) oLrPGk\3[R4ht%t]ԯPɐ-4i1_YI΁(rqV85|x72y*12`JҁsD N>Dk|ӲiDg=cOn했&#Mj0|d= D~[er@(ABifҬi@ske/˅深OݰӎAo йfu^e\M8kl$~+CBt" :S{f-kOCH?9e< )EsZ=зm~=zGzdnbYN>\\$0cbfIƥiOE=tC*%ԺE˦Aϟjm^ν'"?+`P2눢2[а*HdPIfZ@; d1N;׾xu 귽q,>5Md9dwBXukZszVoB|>&41iB[ 'n@3?R_%XBBÃO׼EV"l1Fzn}AZe/^(45Q~[ZjΰPԔ#(ټ_=ڪ`Q 鐛OTxT,+_Nl |"czog)褰7v."7է $ELwv-B'zo]{ŀfrI%YP3dKz6s\djf(QQ_)`syG%֍Z<)<HFP5_Rce2y>.7?hZԠjkYq,LŖ֙I݂O]MݰC)|CNɔg`vn`aOeC"ǡ;~J~۴w E#$ώ&C [9@EB3J7V}䓊faۮESi3Eǀ}}1^<=@^Շ 9ܙm WoTJBkHwTy (MQA^VBU¡Gy;9W lT`F0 G״5d 8g]6JT};vfK{YN<=o>]}MW!NCA=8ISat' ^\r"JspDSURY{sRθ<WCEV)L$ݜOV`z@(RBz gZYQ:p;mcYhu/2 W)1,n~H,8{q24.!Dddن#KN %ֈbJ{SwGqøLv=@|f[rљEH'%&Huաu9o΁)"'[I: U7waa&`AZR gPhz:1 !@>Qk&(dB]H2v'ԄoP9Ay hf2/eo*XH>󎫹Nc|47#$3grOrΤ"\,`R[ I $Q0v"Du7̀Ӳ=%ε9Z9:08DI׺;¬h?i:w|ر>Ϝ#&a⮤ڕ$LbK䠀M8&M+-,i@o'F /y)E` O&FA<v[z~ί@FO?cFԟE^"pƋvz'k WnRv@P`puudxP(t4RXl5Y)_6=B;ALTF<'gd5>CNq教G򷵫:ޔ!oY_BIC@AԇWDg'wGبqz!Re?J3yI@J~}]hx#5]bEeـI [a3D8Ѩߡcp_ޤE.a K2(%dڷB-爢A:#E_-Qn;h^iAQEbRb\ZKj]Nz; E貈k)$Csz N'ER˱bvPd 8bЏzj3y#lUf?ՙw9mtu&)qaYUop L5qKP[dM񪲉`[MA32Xgp