geexbox-0.98/0000755000175000017500000000000010106501334013346 5ustar aurelaurel00000000000000geexbox-0.98/AUTHORS0000644000175000017500000000431710106467316014436 0ustar aurelaurel00000000000000 ooooo oo o o oo o M" "Mo Mo oM" M Mo oM" M oM""Mo oM""Mo "Mo" Mo"""o oM""Mo "Mo" M """M MooooMM MooooMM oMMo M "M M M oMMo "o oM M o M o oM Mo M oM M M oM Mo "MoooM"M "MooM" "MooM" M" "M M"ooo" "MooM" M" "M | NOTE | ~~~~ Do NOT send bug reports, help and feature requests directly to the authors. | GEEXBOX TEAM | ~~~~~~~~~~~~ Aurelien Jacobs * author * main developper Benjamin Zores * co-developper * website | PATCHES | ~~~~~~~ Serge Gebhardt * added fbi for image viewing support. BWare * added wifi support. Serial Cleaner * setcd patch * hauppauge remote support. Herv Urbain * logitech remote support. * realmagic remote support. Plom * leadtek remote support. Guillaume Roche * menu files filter. | TRANSLATIONS | ~~~~~~~~~~~~ Kiril Jovchev * Bulgarian menu translation. Michele Schaeuble * German menu and README translations. Andrighetto Riccardo * Italian menu translation. barb3tta * Italian README translation. Yogi * Polish menu translation. Eva Mikulcikova * Czech and Slovak menu translations. ClycioC * brasilian portuguese menu translation. Nikolas Garofil * dutch menu translation. kim * Finnish and Swedish menu translations. c0p0n * Spanish menu translation. Nicolas Forgeard * French README translation. | THANKS | ~~~~~~ Romain Perea for his donation. David Legrand for lending us his ATI Remote Wonder. Mickal Beugnier for the GeeXboX logo and bootlogo design. The whole free software community, and especially the whole MPlayer team.geexbox-0.98/README0000644000175000017500000003657110106467316014255 0ustar aurelaurel00000000000000 ooooo oo o o oo o M" "Mo Mo oM" M Mo oM" M oM""Mo oM""Mo "Mo" Mo"""o oM""Mo "Mo" M """M MooooMM MooooMM oMMo M "M M M oMMo "o oM M o M o oM Mo M oM M M oM Mo "MoooM"M "MooM" "MooM" M" "M M"ooo" "MooM" M" "M | ABOUT | ~~~~~ GeeXboX is a kind of "divx box" software. In fact, it is a stand-alone boot CD which allows you to watch movies or listen to music. It supports many formats, such as avi, mpeg, divx, ogm, rm, mp3, ogg, dvd, vcd and cdda. It also supports some IR remote controllers and TV-Out for some graphic cards. This archive contain the needed scripts to rebuild an iso image of the GeeXboX. | REQUIREMENTS | ~~~~~~~~~~~~ To generate a GeeXboX iso, you will need either : - a GNU/Linux system with mkisofs and mkzftree. - a MAC OS X system with mkisofs and mkzftree. - a windows system. To install the GeeXboX, you will need : - a GNU/Linux system with syslinux. To build the GeeXboX, you will need some classic tools : - a working GNU/Linux system. - the gcc C compiler. - GNU make - the patch command. - the nasm assembler. - bzip2 and gzip. - mkfs.ext2 and mkfs.vfat - the wget download tool (not needed for the full GeeXboX package). - mkisofs and mkzftree to build the iso image. - mkzftree to compress files on the iso image. - cdrecord (to burn the iso image). And also 500 MB of hard disk free space. | PERSONALIZATION | ~~~~~~~~~~~~~~~ When the GeeXboX is installed on a hard drive or generated, it is quite easy to personalize it. You can add some proprietary codecs such a rv9 or wmv9, simply by adding them in the GEEXBOX/codecs directory. You can find those codecs in the package on http://www.mplayerhq.hu/MPlayer/releases/codecs/ . Useful files in it are : * Real codecs (used to play rv9 for exemple) : atrc.so.6.0, cook.so.6.0, sipr.so.6.0, drv3.so.6.0, drv4.so.6.0. * Windows Media codecs (wmv9/wma9) : wma9dmod.dll and wmv9dmod.dll. You can also modify many options. This can be done simply by editing some text files. * Language : You can easily select your preferred menu language by editing the file GEEXBOX/etc/lang. This as no effect on DVD language (see the MPlayer section). If your language is not available, you can translate the menu in your own language. This simply involve the creation of GEEXBOX/etc/mplayer/menu_LANG.conf and GEEXBOX/usr/share/mplayer/help_LANG.txt. * MPlayer : This is where you can do most of the configuration and tweaking. The options take place in the file packages/MPlayer/mplayer.conf. You may want to modify options such as OSD font size (subfont-text-scale). You can also add lots of options such as DVD default language (eg: alang=fr,en). The best place to find them is the MPlayer manpage for Linux users (man -l build/MPlayer-*/DOCS/mplayer.1). You should also have a look at the MPlayer documentation (in build/MPlayer-*/DOCS or at http://mplayerhq.hu/DOCS/). Another file you may modify is the packages/MPlayer/menu.conf. You can remove items you don't need, or you can translate it in your own language for example. Then the last file you can look at is the packages/MPlayer/build which contain the selection of options which are built into MPlayer. * tvout : Enabling the TV-Out is achieved with the help of multiple small programs dedicated to different video card brands. Currently we use atitvout for ATI cards, s3switch for S3 cards and nvtv for nVidia cards (and possibly intel i810 and 3dfx cards). The configuration of those programs is done in config/tvout. There you can choose the TV standard you want (pal, ntsc...) and you can also modify specific options for nvtv. Please note that you can also define the output aspect (say 4:3 or 16:9 display) in this file through the line : TVOUT_ASPECT="4:3" This parameter will be used both for TVOut and regular (CRT/TFT) display. You can also specify the desired height/width values and your display's horizontal and vertical frequencies in case you have unusual screen like WideScreens or videoprojector. This can be done, editing the /etc/mplayer/mplayer.conf file. Default parameters are shown below (please uncomment lines related to frequency if you want to use them) : screenw=800 screenh=600 #monitor-hfreq=31.5k-50k #monitor-vfreq=50-90 * Lirc : You can choose one of the supported remote controller by editing the file GEEXBOX/etc/remote. Also take care to chose the corresponding ir receiver in the same configuration file. If you want to modify the key binding of your remote controler, look at the file GEEXBOX/etc/lirc/lircrc_REMOTE. * network : You can configure the network in the file GEEXBOX/etc/network. There you can chose the IP address used by the GeeXboX (default is to use DHCP and if it don't work, fall back to 192.168.0.54. You can also specify a login and a password which will be used to connect to windows shares (default will only connect to anonymous shares). You can also declare some NFS mounts in GEEXBOX/etc/nfs. * wifi : By default, GeeXboX tries to autodetect your network settings. If you have both traditionnal NIC and WiFi cards, only the latest will be setup. You may have to modify the /etc/network file in order to fit your network's settings. In this one, 4 lines are related to wireless cards : * PHY_TYPE="auto" # Network physical type (auto|ethernet|wifi) * WIFI_MODE="managed" # Wifi working mode (managed|ad-hoc) * WIFI_WEP="" # Wifi WEP key * WIFI_ESSID="any" # Wifi SSID These lines let you configure most of the settings. You can let autodetection enable or even force the use of ethernet or WiFi adapters. In the same way, this let you choose between the managed and the ad-hoc mode and let you define your WEP key and SSID. * gateway : GeeXboX supports access to the Internet. In the case you've got a connection to the Internet, you may share it with your multimedia box, using a router or a gateway. For this, simply define the gateway IP address in the /etc/network file. * GATEWAY="" # Gateway IP ("" for DHCP or no internet connection) * tv configuration : GeeXboX supports TV inputs and tuners. The system hardly tries to autodetect the card and the tuner. You can force the settings and skip the autodetection try. Please modify the /etc/tvcard as described : #TV CARD/TUNER Model (AUTO for autodetection or look at the following urls) #http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.bttv #http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.tuner TV_CARD=AUTO TV_TUNER=AUTO TVIN_STANDARD=pal Please let the AUTO parameter whether you want to keep autodetection, or replace it by the number of your card and tuner types, according to the previous URL. Please be careful : in order to force the card and tuner types, you have to know the EXACT REFERENCES of your hardware. Once done, you should be able to use the TV inputs (Composite and S-VHS) of your TV card. In the same way, you can use the tuner to watch TV. For that, you will have to define the region you belongs to and the frequency of the TV channels you want to watch. Once again, simply edit the /etc/tvcard file : # TV Channels # Syntax : CHAN="Channel Title":"Channel Frequency" # Example : # CHAN="France 2":"26" # CHAN="Canal +":"K08" # TV Channels List # Available : france, europe-east, europe-west, us-bcast, us-cable CHANLIST=france Please be careful when editing channels and simply use the same syntax as described above and TV channels should be present in the main menu. * audio configuration : GeeXboX supports both analog and digital audio output through regular JACK connectors or RCA SPDIF one. By default, output is set to analog. You can change this, by editing the /etc/audio file : # Output using SPDIF (yes/no), otherwise ANALOG output SPDIF=no Remember that you will need to set your output to SPDIF if you want to connect your soundcard to an external amplifier for decoding AC3/DTS streams (using passthrough mode). * DXR3/Hollywood+ cards : Users with this kind of hardware decompression card does NOT even need to have a video board and sound card to use GeeXboX. On the drawbacks, only the tvout connector can be used with DXR3 cards (no CRT display). You may have to set the required image norm (PAL/NTSC) in the /etc/tvout file and the kind of audio output you want to use (Analog or SPDIF) in /etc/audio. | GENERATION | ~~~~~~~~~~ First have a look at the personalization section just above. Then basically you can generate the iso under Linux by launching ./generator.sh or under windows by launching generator.exe | INSTALLATION | ~~~~~~~~~~~~ First you need to create a FAT16 partition with about 16 MB of free space. Then you can install the GeeXboX under Linux by launching ./installator.sh And then responding to all the questions. Be carefull during this step. Read twice each question and stop installing if you don't understand one of the question. | PXE BOOT | ~~~~~~~~ Yes, the GeeXboX is able to boot from the network on a diskless station ! To achieve this you will need : - a DHCP server - a TFTP server - a NFS server - a PXE capable station :-) First configure your dhcp server to send PXE boot info. Here is an exemple with isc dhcp : allow booting; allow bootp; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.128 192.168.0.192; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; next-server 192.168.0.1; filename "/tftpboot/GEEXBOX/boot/pxelinux.0"; } The next-server option is the address of the TFTP server. Then configure your TFTP server (such as atftpd) to server the /tftpboot directory and copy a full GEEXBOX tree in this directory. For exemple you can copy the content of a GeeXboX CD from a linux WITH THE CDROM TRANSPARENT DECOMPRESSION ENABLED !! (to verify this, look at the sbin/init file in the GeeXboX tree and verify that it do not contain garbage) If you've built the GeeXboX yourself from sources, you can also generate the GEEXBOX tree with make pxe. Then you should edit the file /tftpboot/GEEXBOX/boot/pxelinux.cfg/default to set nfsroot to the right NFS path to the GEEXBOX tree. Finaly set up your NFS to export the GEEXBOX tree with a /etc/exports containing something like this : /tftpboot/GEEXBOX (ro) and a /etc/hosts.allow containing something like : ALL: ALL That should do the trick. Boot your PXE station and see what happen. | BUILDING | ~~~~~~~~ First have a look at the configuration section just under (at least the global part). Then basically you can build the iso with : make Or you can directly burn this iso with : make burn When done, you can save disk space by cleaning the build tree : make clean or by doing a full cleaning, even removing downloaded sources : make distclean There's also more advanced commands if you want to hack around the GeeXboX : scripts/get package # download the package scripts/unpack package # unpack and prepare the package scripts/build package # build the package scripts/install package # install the package with the $INSTALL prefix scripts/clean package # clean the package source tree make exec # launch directly the GeeXboX in a jail # WARNING: this is a highly experimental feature # use it at your own risks. If you've made a hacked version of the GeeXboX, you can easily build a small tar.bz2 for it with : make dist or a full tar (containing all sources) with : make fulldist or a geexbox generator with : make generator or a geexbox installator with : make installator or a pxe ready tree with : make pxe | CONFIGURATION | ~~~~~~~~~~~~~ * Global options : This is the first thing you should take care of before trying to build the GeeXboX. It stands in the file config/options, and it should be self explanatory. There you can choose your CPU family, your theme, and whether you want truetype fonts or not. You should also modify your cd burner configuration to be able to burn directly the iso. * Linux : This is a classical Linux configuration (packages/linux/linux.conf). You can edit them by hand, or you can also do a scripts/unpack linux and then a make menuconfig -C build/linux-* (or use the method you prefer instead of menuconfig). Then you should backup your build/linux-*/.config into packages/linux/linux.conf. * Lirc : Lirc allows you to control the GeeXboX using a remote controller. First you have to choose the file describing your specific remote in build/lirc-*/remotes (after doing a scripts/unpack lirc) and add it in packages/lirc/install. Then you should choose your device (default is /dev/ttyS0 (COM1)) and the lirc driver and put them in a file called packages/lirc/lircd_$REMOTE. Then you can choose your key mapping in the file packages/lirc/lircrc_$REMOTE. For each mapping you have to select a button (pike their names in the remote definition file) and associate an action to it. The action is one of MPlayer's actions (you can find a list in the html file build/MPlayer-*/DOCS/documentation.html#commands). | HACKING | ~~~~~~~ The first thing you should look at is the initialization script. In fact there are two initialization scripts. The first one is in packages/initrd/linuxrc but you shouldn't need to modify it. The second one is in config/init and that's where you may put some customizations. Then the next thing which may interest you is the creation of a new "package". A package is just a bunch of scripts which have to follow some rules. All the scripts have to take place in a directory named as the program you want to "package", itself in the packages directory. Here is a list of the scripts you may create : - url : just a list of urls where to get the program sources. - unpack : what to do after unpacking the sources. For example, you can modify some configuration files. This does not include applying patches. - need_build : called when the package as allready been built, in order to be sure that it don't need to be rebuilt. It should remove the file .stamps/"package name"/build if the package need to be rebuilt. - build : all the steps needed to build the program. - install : all the steps needed to install the program. The installation prefix should be $INSTALL. When a file from the urls is named patch-program_name-... it is automatically applied to the unpacked sources of the program. You also have to remember that software which run on the GeeXboX have to be compiled with the uClibc gcc wrapper. Finally, the best way to make a package is to look how other packages are done. | LICENSE | ~~~~~~~ All the programs used by the GeeXboX are protected by their respective license. They all are free software and most of them are covered by the GNU General Public License. The GeeXboX itself, meaning all the scripts which are used in the building process, are covered by the GNU General Public License. geexbox-0.98/COPYING0000644000175000017500000004307610106467316014426 0ustar aurelaurel00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, 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 Appendix: 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., 675 Mass Ave, Cambridge, MA 02139, 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. geexbox-0.98/VERSION0000644000175000017500000000000410106467703014423 0ustar aurelaurel000000000000000.98geexbox-0.98/ChangeLog0000644000175000017500000002706710106467463015152 0ustar aurelaurel000000000000002004-08-11 Aurelien Jacobs * new public release (version 0.98) 2004-08-04 Benjamin Zores * added chapter selector for DVD and Matroska files. 2004-07-31 Alexis Saettler * added geexbox-generator Debian package 2004-07-26 Aurelien Jacobs * updated to busybox 1.00-rc2. 2004-07-25 Aurelien Jacobs * updated to busybox 1.00-rc1. * added dts decoding support. 2004-07-22 Aurelien Jacobs * separated remote selection from ir receiver selection. 2004-07-20 Bernardo Santos * added Gradiente D-10 remote support. 2004-07-18 Benjamin Zores * added support for SPDIF output. 2004-07-15 Aurelien Jacobs * updated to MPlayer 1.0pre5. 2004-07-14 Benjamin Zores * updated to ALSA 1.0.5a. * updated to Samba 3.0.4. * updated to nvtv 0.4.7. 2004-07-10 Benjamin Zores * added support for USB and SideWinder joysticks. 2004-06-03 Benjamin Zores * added drivers for wireless TI ACX100 chipsets. 2004-06-01 Benjamin Zores * added drivers for wireless RT2400 chipsets. 2004-05-28 bufa * added LG remote support. 2004-05-12 Benjamin Zores * added telnet server. 2004-05-09 Aurelien Jacobs * added libirman. 2004-05-08 Aurelien Jacobs * updated to syslinux-2.09. * updated to lirc-0.4.0pre4. * now use lirc to manage Ati Remote Wonder. 2004-05-02 Benjamin Zores * added vidix driver for CLE266 (VIA Unichrome) 2004-04-29 Aurelien Jacobs * updated to MPlayer-1.0pre4. * updated to linux-2.4.26. * updated to ALSA 1.0.4. * updated to BusyBox 1.0pre10 2004-03-31 Serge Gebhardt * added fbi for image viewing support. 2004-03-16 Aurelien Jacobs * really working v4l2 for bt8x8 and saa7134. 2004-03-10 Aurelien Jacobs * updated nvtv to version 0.4.6. 2004-03-05 Aurelien Jacobs * added MPEG hardware decompression for DXR3. 2004-03-02 Benjamin Zores * added Serial ATA controllers support. 2004-02-24 Benjamin Zores * added 3COM/NetGear Gigabit ethernet cards support. * switched to V4L2 API with Connexant chipsets support. 2004-02-23 barb3tta * added italian README translation. 2004-02-20 Benjamin Zores * updated to linux-2.4.25. 2004-02-06 Matt Rinsch * added Packard Bell Fast media remote and receiver support. 2004-02-05 Aurelien Jacobs * added streaming support. 2004-02-04 Benjamin Zores * added BT8x8 cards support. 2004-01-25 BWare * added wifi support. 2004-01-23 Aurelien Jacobs * updated uClibc to 0.9.26. 2004-01-15 Aurelien Jacobs * added matroska support. 2004-01-14 Madarassy Lszl * added hungarian translation. * patched s3switch to support virge gx2. 2004-01-07 Benjamin Zores * added DXR3/Hollywood+ cards support (TVOut only for now). 2003-12-17 Benjamin Zores * added new Xmas theme for 0.96 release 2003-12-16 Yogi * added polish translation. 2003-12-15 Michele Schaeuble * added german translation. 2003-12-14 Aurelien Jacobs * alsa updated ALSA to 1.0.0rc2. 2003-12-11 Aurelien Jacobs * updated to MPlayer 1.0pre3. * updated to busybox 1.00-pre4. 2003-12-11 rheve * added animax remote support. 2003-12-04 Aurelien Jacobs * updated to linux-2.4.23. * added PXE boot support. 2003-11-27 Aurelien Jacobs * added NFS support. 2003-11-23 Kiril Jovchev * added bulgarian translation. 2003-11-22 Benjamin Zores * added experimental DirectFB support. 2003-11-12 Cristi S * added romanian translation. 2003-10-19 Benjamin Zores * added new halloween theme for 0.95 release. 2003-10-16 Aurelien Jacobs * updated MPlayer to 1.0pre2. 2003-10-16 Guillaume Roche * added menu's files filter. 2003-09-28 Benjamin Zores * added the Win32 version of the generator. 2003-09-23 Aurelien Jacobs * added autoplay. 2003-09-15 laclasse * added creative PC-DVD remote support. 2003-09-15 freddy ARNAULX * added sony RM-S6 remote support. 2003-09-10 Benjamin Zores * replaced oftpd by bftpd. 2003-09-06 Aurelien Jacobs * updated to linux 2.4.22. * updated to uClibc 0.9.20. * updated to MPlayer 1.0pre1. 2003-09-02 Benjamin Zores * replace OSS sound drivers by ALSA ones. 2003-08-30 Aurelien Jacobs * added genext2fs to be able to build the GeeXboX without being root. 2003-08-29 Aurelien Jacobs * added XCD support. 2003-08-25 Benjamin Zores * upgraded Samba to 3.0rc1 with WinXP shares support. * set resolution to 800x600 to fix some TV-Out bug with DVD playback. 2003-08-24 ClycioC * added brasilian portuguese translation. 2003-08-23 Aurelien Jacobs * updated MPlayer to the CVS version. 2003-08-21 Nikolas Garofil * added dutch translation. 2003-08-21 Benjamin Zores * added ftp server. 2003-08-18 kim * added finnish translation. 2003-08-14 Benjamin Zores * added zlib library to read files with compressed headers. 2003-08-13 kim * added swedish translation. 2003-08-12 c0p0n * improved spanish translation. 2003-08-09 zarta * added spanish translation. 2003-08-02 Aurelien Jacobs * fixed a bug which prevented to play file whose name contain a quote. 2003-07-30 Aurelien Jacobs * installator is now available directly from the GeeXboX cd, by typing install at boot prompt. 2003-07-29 Aurelien Jacobs * updated busybox to 1.00-pre1. * added DHCP network auto-configuration. 2003-07-28 Eva Mikulcikova * added czech and slovak translation. 2003-07-28 Aurelien Jacobs * added lirc_serial module to support homemade receiver. 2003-07-22 Aurelien Jacobs * updated samba to 3.0.0beta3. * added autodetection of all the shares on the network. 2003-07-21 Benjamin Zores / Mickal Bugnier * added new theme: movies. 2003-07-20 Benjamin Zores * added Samba Network Shares support. 2003-07-18 Aurelien Jacobs * merged rp9codecs and dmocodecs into extralite to use the new MPlayer upstream binary codecs package. 2003-07-17 Plom * added leadtek tv2000 remote support. 2003-07-15 Benjamin Zores * replace kernel modules support by build-in drivers. * added support for Ethernet network cards. 2003-07-15 Andrighetto Riccardo * added Italian langage support for menu and help files. 2003-07-13 Aurelien Jacobs * added the installator version. 2003-07-04 Benjamin Zores * replace SysLinux by IsoLinux to avoid floppy emulation. 2003-07-02 Aurelien Jacobs * disabled many unused video filters in MPlayer. 2003-06-29 Aurelien Jacobs * added runtime subtitle file selection. 2003-06-25 Aurelien Jacobs * new public release (version 0.90-3) 2003-06-24 Aurelien Jacobs * tested and improved ATI Remote Wonder support. 2003-06-22 Herv Urbain * added support for Realmagic remote controller. 2003-06-22 Aurelien Jacobs * better playtree interface (Jump to menu). 2003-06-19 Aurelien Jacobs * added runtime DVD subtitle selection. 2003-06-18 Aurelien Jacobs * added rescan-scsi-bus to correctly handle firewire devices. 2003-06-18 Serial Cleaner * added hauppauge remote support. 2003-06-17 Aurelien Jacobs * added ATI Remote Wonder support (not tested at all). * added runtime audio channel selection. 2003-06-15 Aurelien Jacobs * MPlayer menu now respond to all commands. 2003-06-14 Aurelien Jacobs * updated linux up to version 2.4.21. 2003-06-12 Herv Urbain * added support for Logitech remote controller. 2003-06-12 Benjamin Zores/Aurelien Jacobs * more classical font for subtitles. 2003-06-11 Aurelien Jacobs * allowed on the fly aspect change. 2003-06-10 Aurelien Jacobs * added patch to remove some encoding parts of libavcodec. 2003-06-09 Aurelien Jacobs * added the generator version (win32 generator still not usable). 2003-06-08 Benjamin Zores * added Windows Media 9 codecs support. 2003-06-07 Benjamin Zores * added patch to use cyberblade's cards under vidix when using OverScan TV-Out's mode on EPIA 800. 2003-06-06 Aurelien Jacobs * reverted to an older acpi patch. * added patch for displaying I420 streams under vidix with radeon cards 2003-06-04 Serial Cleaner * added setcd to reduce CD drives speed. 2003-06-03 Aurelien Jacobs * added patch for displaying I420 streams under vidix with mga cards. 2003-06-03 Benjamin Zores * added RealVideo RV 20/30/40 codecs support. * added RealAudio Sipro/Cook/ATRAC3 codecs support. * added patch for displaying I420 streams under VESA mode. * added patch for displaying I420 streams under vidix with mach64 cards * added locales for easy langage change. 2003-06-02 Aurelien Jacobs * integreted iscd for better CD drives detection. 2003-05-29 Aurelien Jacobs * changed the stop/eject/quit scheme. 2003-05-28 Aurelien Jacobs * new public release (version 0.90-2) 2003-05-27 Benjamin Zores * added S3 Savage chipset TV-Out support. 2003-05-25 Aurelien Jacobs * changed mountpoints naming. * added support for SCSI/USB/firewire disks (no hotplug). 2003-05-22 Aurelien Jacobs * added some patches to allow compilation with gcc 3.3. * added some adaptec scsi support. 2003-05-21 Aurelien Jacobs * added firewire support. 2003-05-20 Aurelien Jacobs * merged the normal and acpi versions. 2003-05-19 Aurelien Jacobs * switched to 2.4.21-rc2 kernel (to support EPIA M9000 soundcard). * added USB keyboard support. 2003-05-18 Aurelien Jacobs * modularized kernel. * patch for audigy soundcards * more soundcards support. 2003-05-16 Aurelien Jacobs * first public release (version 0.90-1) geexbox-0.98/Makefile0000644000175000017500000000062710106467316015026 0ustar aurelaurel00000000000000iso: scripts/iso burn: iso scripts/burn dist: scripts/dist fulldist: scripts/dist full generator: scripts/generator installator: scripts/installator pxe: scripts/pxe exec: iso scripts/exec md5sum: iso generator dist fulldist scripts/md5sum clean: scripts/clean distclean: rm -rf .stamps build sources geexbox* .PHONY: iso burn dist fulldist generator installator exec clean distclean geexbox-0.98/DOCS/0000755000175000017500000000000010106467316014111 5ustar aurelaurel00000000000000geexbox-0.98/DOCS/README_de.txt0000644000175000017500000004031010106467316016255 0ustar aurelaurel00000000000000 ooooo oo o o oo o M" "Mo Mo oM" M Mo oM" M oM""Mo oM""Mo "Mo" Mo"""o oM""Mo "Mo" M """M MooooMM MooooMM oMMo M "M M M oMMo "o oM M o M o oM Mo M oM M M oM Mo "MoooM"M "MooM" "MooM" M" "M M"ooo" "MooM" M" "M | BER GEEXBOX | ~~~~~~~~~~~~ GeeXboX ist eine Art "Divx Out-Of-The-Box" Software. Genaugenommen ist es eine bootfhige CD, welche es erlaubt, Filme anzuschauen, Musik zu hren und Bilder zu betrachten. Es untersttzt viele Formate wie zum Beispiel avi, mpeg, divx, ogm, rm, mp3, ogg, dvd, vcd, jpg, bmp, cdda... GeeXboX untersttzt zudem einige Infrarot-Fernbedienungen und den TV-Ausgang einiger Grafikkarten. Dieses Archiv enthlt die ntigen Scripte um ein eigenes ISO-Image von GeeXboX zu erstellen. | VORAUSSETZUNGEN | ~~~~~~~~~~~~~~~ Um ein GeeXboX ISO zu erstellen, wird eines der folgenden Systeme bentigt: - GNU/Linux mit mkisofs und mkzftree. - MAC OS X mit mkisofs und mkzftree. - Windows. Um GeeXboX zu installieren bentigen Sie: - GNU/Linux mit syslinux. Um Ihre eigene GeeXboX zu erstellen bentigen Sie einige "klassische" Werkzeuge: - ein funktionierendes GNU/Linux System. - denn gcc C Compiler. - GNU make - patch. - den nasm Assembler. - bzip2 und gzip. - mkfs.ext2 und mkfs.vfat - wget Kommandozeilen-Downloadtool(wird nicht fr das komplette GeeXboX Paket bentigt). - mkisofs und mkzftree um das ISO-Image zu erstellen und zu komprimieren. - cdrecord (um das ISO-Image zu brennen). Zudem bentigen Sie mindestens 500 MB freien Speicher auf Ihrer Festplatte. | PERSONALISIERUNG | ~~~~~~~~~~~~~~~~ Mit dem Generator ist es sehr einfach GeeXboX seinen persnlichen Bedrfnissen anzupassen. Sie knnen zum Beispiel die Untersttzung einiger proprietre Codecs wie rv9 oder wmv9 hinzufgen, indem Sie die Codecs einfach in das Verzeichnis GEEXBOX/codecs kopieren. Diese Codecs finden Sie im Paket, welches unter http://www2.mplayerhq.hu/MPlayer/releases/codecs/extralite.tar.bz2 erhltlich ist. Ntzliche Files in diesem Paket sind: * Real Codecs (werden bentigt um beispielsweise rv9 abzuspielen): atrc.so.6.0, cook.so.6.0, sipr.so.6.0, drv2.so.6.0, drv3.so.6.0, drv4.so.6.0. * Windows Media Codecs (wmv9/wma9): wma9dmod.dll und wmv9dmod.dll. Sie knnen aber auch viele andere Einstellungen verndern, indem Sie einfach einige Text-Dateien editieren: * Sprache: Sie knnen die Menu-Sprache ndern, indem Sie die Datei GEEXBOX/etc/lang editieren. Diese Einstellung hat keinen Effekt auf die Sprache der DVD (siehe Kapitel MPlayer). Falls Ihre Sprache nicht existiert, knnen Sie das Menu bersetzen, indem Sie die Dateien GEEXBOX/etc/mplayer/menu_LANG.conf und GEEXBOX/usr/share/mplayer/help_LANG.txt bearbeiten. * MPlayer: Dies ist der Ort, an dem Sie die meisten Einstellungen und Vernderungen vornehmen knnen. Die Einstellungen sind in der Datei packages/MPlayer/mplayer.conf enthalten. Dort knnen viele Optionen gendert werden, wie z.B. die Schriftgre des Onscreen-Mens (subfont-text-scale). Sie knnen aber auch viele andere Einstellungen, wie zum Beispiel die DVD Standard-Sprache verndern (zum Beispiel: alang=fr,en). Die beste bersicht ber alle Einstellung finden Linux-Benutzer in der manpage (man -l build/MPlayer-*/DOCS/mplayer.1). Weitere Informationen finden Sie auch in der MPlayer Dokumentation (in build/MPlayer-*/DOCS oder unter http://mplayerhq.hu/DOCS/). Eine andere Datei, die sie vielleicht editieren wollen, ist packages/MPlayer/menu.conf. Sie knnen z.B. einzelne Menupunkte entfernen oder das Men in eine beliebige Sprache bersetzen. Die letzte interessante Datei ist packages/MPlayer/build. Sie enthlt die Optionen, welche fr das Erstellen von MPlayer gesetzt sind. * TV-Ausgang: Das Aktivieren des TV-Ausgangs wird durch die Verwendung mehrerer kleiner Programme fr die unterschiedlichen Video Karten Hersteller erreicht. Wir verwenden im Moment atitvout fr ATI Karten, s3switch fr S3 Karten und nvtv fr nVidia Karten (untersttzt zum Teil ebenfalls Intel i810 und 3dfx Karten). Die Einstellungen dieser Programme werden in der Datei config/tvout vorgenommen. Sie knnen den TV-Standard whlen (PAL, NTSC) und einige spezifische Optionen fr nvtv vornehmen. * Lirc: Sie knnen eine der untersttzten Fernbedienungen whlen, indem Sie die Datei GEEXBOX/etc/remote editieren. Falls Sie eine ATI Remote Wonder verwenden (welche nicht von Lirc untersttzt wird), mssen Sie nichts verndern, da diese standardmssig von GeeXboX untersttzt wird. Falls Sie die Tastenbelegung ihrer Fernbedienung verndern mchten, so editieren Sie die Datei GEEXBOX/etc/lirc/lircrc_REMOTE. * Netzwerk: Die Netzwerkeinstellungen werden in der Datei GEEXBOX/etc/network vorgenommen. Hier knnen Sie beispielsweise die IP-Adresse festlegen (Standardmssig wird DHCP verwendet und falls dies nicht funktioniert, wird die IP 192.168.0.54 verwendet). Sie knnen aber auch einen Login-Name und eine Passwort festlegen, welches fr die Windows-Freigaben verwendet wird (standardmssig wird nur zu anonymen Freigaben verbunden). Ebenso knnen NFS mounts in der Datei GEEXBOX/etc/nfs eingetragen werden. * WiFi: In der Default-Einstellung versucht GeeXboX automatisch ihre Netzwerkein- stellungen zu erkennen. Wenn sie einen traditionellen NIC und eine WiFi-Karte haben, wird nur letztere eingerichtet. Unter Umstnden mssen sie die Datei /etc/network editieren, um sie an ihre Netzwerkeinstellungen anzupassen. Dort finden sie 4 Zeilen die Wireless Lan Karten betreffen: * PHY_TYPE="auto" # Physikalischer Netzwerktyp (auto|ethernet|wifi) * WIFI_MODE="managed" # Wifi Betreibsmodus (managed|ad-hoc) * WIFI_WEP="" # Wifi WEP Schlssel * WIFI_ESSID="any" # Wifi SSID Hier knnen sie die meisten der ntigen Einstellungen vornehmen. Sie knnen die Autoerkennung eingeschalten lassen oder sogar die Verwendung von Ethernet oder WiFi erzwingen. Genauso knnen sie hier zwischen den Betreibsmodi "managed" oder "ad-hoc" whlen, sowie ihren WEP Schlssel und SSID einstellen. * Internetzugang (Gateway): GeeXboX untersttzt auch einen Internetzugang. Wenn sie einen Verbindung zum Internet haben, knnen sie sich diese mit ihrer GeeXboX durch die Verwendung eines Routers oder eines Gateways teilen. Dazu mssen sie nur die IP-Adresse des Gateways in der Datei /etc/network eintragen * GATEWAY="yourIP" # Gateway IP ("" fr DHCP oder keine Internetverbindung) * TV-Konfiguration: GeeXboX untersttzt TV-Input und Tuner und versucht die Karte wie den Tuner automatisch zu erkennen. Sie knnen die Autoerkennung auch umgehen und selbst die richtigen Einstellungen in der Datei /etc/tvcard wie folgend beschrieben vornehmen: #TV CARD/TUNER Model (AUTO fr automatische Erkennung, weitere Infos in den Links) #http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.bttv #http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.tuner TV_CARD=AUTO TV_TUNER=AUTO Bitte lassen sie die Eintrge auf "AUTO" wenn sie die automatische Erkennung verwenden wollen. Ansonsten setzen sie die richtige Zahl fr ihre Karte und ihren Tuner-Typ (siehe obenstehende Links). VORSICHT: um selber die richtigen Einstellungen vorzunehmen. mssen sie die exakten Referenzzahlen ihrer Hardware kennen!!! Wenn das erledigt ist, sollte es ihnen mglich sein den TV-Eingang (Composite und S-VHS) ihrer Karte zu nutzen. Auf dieselbe Art und Weise knnen sie den TV-Tuner benutzen. Dafr mssen sie ihre Region und die Frequenzen der TV Kanle in der Datei /etc/tvcard eintragen: # TV Channels # Syntax : CHAN="Channel Title":"Channel Frequency" # Example : # CHAN="France 2":"26" # CHAN="Canal +":"K08" # TV Channels List # Available : france, europe-east, europe-west, us-bcast, us-cable CHANLIST=france Bitte seien sie vorsichtig beim editieren der Kanle. Benutzen sie genau dieselbe Syntax wie oben beschrieben, dann sind ihre TV Kanle im Hauptmen verfgbar. | ERSTELLEN EINER ISO-DATEI | ~~~~~~~~~~~~~~~~~~~~~~~~~ Bitte widmen Sie einen Augenblick der oben beschriebenen Personalisierung ihrer GeeXboX bevor Sie mit der Erstellung einer ISO-Datei beginnen. Anschliessend knnen Sie unter Linux die ISO-Datei mit dem folgenden Kommando erstellen: ./generator.sh oder unter Windows mit dem Starten der Datei generator.exe | INSTALLATION | ~~~~~~~~~~~~ Als erstes bentigen Sie eine FAT16 Partition mit ungefhr 16 MB freiem Speicherplatz. Dann knnen Sie die Installation unter Linux starten, indem Sie folgendes Kommando eingeben: ./installator.sh Beantworten Sie anschliessend alle Fragen. Seien Sie bei diesem Vorgang sehr vorsichtig! Lesen Sie jede Frage zweimal und unterbrechen Sie die Installation wenn Sie eine Frage nicht verstehen. | PXE BOOT | ~~~~~~~~ Ja, GeeXboX ist fhig ber ein Netzwerk ohne Festplatte zu starten! Um dies zu erreichen bentigen Sie folgendes: - einen DHCP Server - einen TFTP Server - einen NFS Server - einen PXE fhiger Computer :-) Zuerst mssen Sie den DHCP Server konfigurieren, damit dieser die PXE Boot Informationen schickt. Im Folgenden eine Beispiel mit isc dhcp: allow booting; allow bootp; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.128 192.168.0.192; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; next-server 192.168.0.1; filename "/tftpboot/GEEXBOX/boot/pxelinux.0"; } Die next-server Option ist die Adresse des TFTP Servers. Anschliessend konfigurieren Sie Ihren TFTP Server (wie zum Beispiel atftpd) so, damit er das Verzeichnis /tftpboot zur Verfgung stellt. Das Verzeichnis /tftpboot muss einen vollstndigen GEEXBOX Stammbaum enthalten. Sie knnen dazu zum Beispiel den Inhalt eine GeeXboX CD von Linux aus MIT DER AKTIVIERTEN TRANSPARENTEN DEKOMPRESSION DER CDROM! (um dies zu berprfen schauen Sie auf den Inhalt der sbin/init im GeeXboX Dateibaum und prfen, ob diese Datei keinen Mll enthlt). Falls Sie GeeXboX selber aus den Sourcen kompiliert haben, so knnen Sie einen Dateibaum ganz einfach mit make pxe erstellen. Danach sollten Sie die Datei /tftpboot/GEEXBOX/boot/pxelinux.cfg/default editieren, so dass nfsroot zum richtigen NFS Pfad des GEEXBOX Dateibaumes zeigt. Am Schluss mssen Sie noch NFS so konfigurieren, dass der GEEXBOX Dateibaum exportiert wird. Dies erreichen Sie, indem Sie der Datei /etc/exports in etwa folgendes hinzufgen: /tftpboot/GEEXBOX (ro) und der Datei /etc/hosts.allow folgendes hinzufgen: ALL: ALL Damit ist die Konfiguration abgeschlossen. Starten Sie den PXE Computer und schauen Sie was passiert. | KOMPILIEREN | ~~~~~~~~~~~ Bevor Sie beginnen, lesen Sie bitte das anschliessende Konfigurations-Kapitel (mindestens die allgemeinen Einstellungen). Anschliessen knnen Sie das ISO-Image einfach mit folgendem Kommando erstellen: make oder Sie brennen das ISO-Image sogleich: make burn Wenn Sie fertig sind, knnen Sie mehr freien Speicherplatz schaffen, indem Sie nicht mehr bentigte Dateien lschen: make clean oder alle Dateien inklusive der heruntergeladenen Dateien lschen: make distclean Es gibt noch einige Kommandos, die fr fortgeschrittene Benutzer gedacht sind: scripts/get package # ldt ein Paket herunter scripts/unpack package # entpackt und bereitet das Paket vor scripts/build package # kompliert das Paket scripts/install package # installiert das Paket nach $INSTALL scripts/clean package # reinigt den Dateibaum des Paketes make exec # startet GeeXboX in einem Kfig # WARNUNG: Dies ist eine experimentelle Funktion, # Benutzung auf eigene Gefahr. Falls Sie eine vernderte Version von GeeXboX erstellt haben, so knnen Sie sehr einfach ein tar.bz2 Archiv davon erstellen: make dist oder ein vollstndiges Archiv (inklusive allen Sourcen): make fulldist oder einen GeeXboX Generator mit: make generator oder eine GeeXboX Installationsroutine mit: make installator oder einen PXE fhigen Baum: make pxe | KONFIGURATION | ~~~~~~~~~~~~~ * Allgemeine Einstellungen: Dies ist der erste Schritt, den Sie vor dem Kompilieren von GeeXboX machen sollten. Alle Einstellungen stehen in der Datei config/options, welche sich selbsterklrend sein sollte. Dort knnen Sie die CPU-Familie und den Theme whlen und ob sie TrueType Schriften wollen oder nicht. Sie sollten zudem die Konfiguration des CD-Brenners anpassen, sofern sie die ISO-Datei direkt brennen wollen. * Linux : Dies ist die klassische Linux-Konfiguration (packages/linux/linux.conf). Sie knnen diese Datei entweder von Hand oder mit einem scripts/unpack linux und einem anschliessenden make menuconfig -C build/linux-* (oder ihrer bevorzugten Methode anstatt menuconfig) anpassen. Danach sollten Sie Ihre Konfigurationsdatei build/linux-*/.config nach packages/linux/linux.conf sichern. * Lirc : Lirc erlaubt Ihnen, GeeXboX mit einer Fernbedienung zu bedienen. Zuerst mssen Sie die zur ihrer Fernbedienung passende Datei aus build/lirc-*/remotes (nachdem Sie ein scripts/unpack lirc gemacht haben) auswhlen und diese zur Datei packages/lirc/install hinzufgen. Danach sollten Sie die Gertedatei (Standard ist /dev/ttyS0 (COM1)) und den Lirc Treiber auswhlen und dies in die Datei packages/lirc/lircd_$REMOTE hinzufgen. Danach knnen Sie die Tasten in der Datei packages/lirc/lircrc_$REMOTE belegen. Fr jede Belegung mssen Sie einen Knopf (entnehmen Sie die Namen der Knpfe der Fernbedienungs-Defintion- Datei) eine passenden Belegung zuweisen. Die "Belegung" ist eine der MPlayer Aktionen (sie finden eine Liste der mglichen Aktionen in der HTML-Datei build/MPlayer-*/DOCS/documentation.html#commands). | VERNDERUNGEN | ~~~~~~~~~~~~~ Das Erste was Sie anschauen sollten, ist das Initialisierungs-Script. Eigentlich sind es zwei Initialisierungs-Scripte. Das Erste ist packages/initrd/linuxrc welches Sie aber wahrscheinlich nicht zu verndern brauchen. Das Zweite ist config/init, wo Sie Ihre Personalisierungen einbringen knnen. Das nchste was Sie interessieren knnte, ist die Erstellung eines neuen "Paketes". Ein Paket ist nur eine Reihe von Scripten, die einigen Regeln folgen mssen. Alle Scripte mssen sich in einem Verzeichnis befinden mit dem gleichen Namen wie das Programm, das Sie "packen" wollen, dieses Verzeichnis wiederum im packages Verzeichnis. Hier ist eine Liste mit den Scripten, die Sie erstellen sollten: - url: eine Liste der URL's, wo man die Programm-Sourcen herunterladen kann. - unpack: enthlt, was nach dem Auspacken des Paketes gemacht wird. Zum Beispiel das Modifizieren von Konfigurations-Dateien. Dieses Script spielt jedoch keine Patches auf. - need_build: wird aufgerufen, falls das Paket schon kompiliert wurde, um sicherzugehen, dass es nicht noch einmal kompiliert werden muss. Es sollte die Datei .stamps/"package name"/build entfernen, falls das Paket nochmals kompiliert werden muss. - build: enthlt alle Schritte um das Programm zu kompilieren. - install: enthlt alle Schritte um das Programm installieren zu knnen. Das Prefix der Installtion sollte $INSTALL sein. Wenn die Datei url einen Dateinamen der Form patch-program_name-... enthlt, wird der Patch automatisch auf die entpackten Sourcen aufgespielt. Beachten Sie zudem, dass Software, die auf der GeeXboX laufen soll, mit dem uClibc gcc Wrapper kompiliert werden muss. Es bleibt nur noch zu sagen, dass der beste Weg ein eigenes Paket zu erstellen der ist, einen Blick auf andere Pakete zu werfen. | LIZENZ | ~~~~~~~ Alle Programme, die von GeeXboX benutzt werden, sind durch ihre eigene Lizenz geschtzt. Sie alle sind freie Software und die meisten Programme stehen unter der GNU General Public License. GeeXboX selber, gemeint sind alle Scripte die fr die Komilierung benutzt werden, stehen unter der GNU General Public License. geexbox-0.98/DOCS/README_en.txt0000644000175000017500000003657110106467316016305 0ustar aurelaurel00000000000000 ooooo oo o o oo o M" "Mo Mo oM" M Mo oM" M oM""Mo oM""Mo "Mo" Mo"""o oM""Mo "Mo" M """M MooooMM MooooMM oMMo M "M M M oMMo "o oM M o M o oM Mo M oM M M oM Mo "MoooM"M "MooM" "MooM" M" "M M"ooo" "MooM" M" "M | ABOUT | ~~~~~ GeeXboX is a kind of "divx box" software. In fact, it is a stand-alone boot CD which allows you to watch movies or listen to music. It supports many formats, such as avi, mpeg, divx, ogm, rm, mp3, ogg, dvd, vcd and cdda. It also supports some IR remote controllers and TV-Out for some graphic cards. This archive contain the needed scripts to rebuild an iso image of the GeeXboX. | REQUIREMENTS | ~~~~~~~~~~~~ To generate a GeeXboX iso, you will need either : - a GNU/Linux system with mkisofs and mkzftree. - a MAC OS X system with mkisofs and mkzftree. - a windows system. To install the GeeXboX, you will need : - a GNU/Linux system with syslinux. To build the GeeXboX, you will need some classic tools : - a working GNU/Linux system. - the gcc C compiler. - GNU make - the patch command. - the nasm assembler. - bzip2 and gzip. - mkfs.ext2 and mkfs.vfat - the wget download tool (not needed for the full GeeXboX package). - mkisofs and mkzftree to build the iso image. - mkzftree to compress files on the iso image. - cdrecord (to burn the iso image). And also 500 MB of hard disk free space. | PERSONALIZATION | ~~~~~~~~~~~~~~~ When the GeeXboX is installed on a hard drive or generated, it is quite easy to personalize it. You can add some proprietary codecs such a rv9 or wmv9, simply by adding them in the GEEXBOX/codecs directory. You can find those codecs in the package on http://www.mplayerhq.hu/MPlayer/releases/codecs/ . Useful files in it are : * Real codecs (used to play rv9 for exemple) : atrc.so.6.0, cook.so.6.0, sipr.so.6.0, drv3.so.6.0, drv4.so.6.0. * Windows Media codecs (wmv9/wma9) : wma9dmod.dll and wmv9dmod.dll. You can also modify many options. This can be done simply by editing some text files. * Language : You can easily select your preferred menu language by editing the file GEEXBOX/etc/lang. This as no effect on DVD language (see the MPlayer section). If your language is not available, you can translate the menu in your own language. This simply involve the creation of GEEXBOX/etc/mplayer/menu_LANG.conf and GEEXBOX/usr/share/mplayer/help_LANG.txt. * MPlayer : This is where you can do most of the configuration and tweaking. The options take place in the file packages/MPlayer/mplayer.conf. You may want to modify options such as OSD font size (subfont-text-scale). You can also add lots of options such as DVD default language (eg: alang=fr,en). The best place to find them is the MPlayer manpage for Linux users (man -l build/MPlayer-*/DOCS/mplayer.1). You should also have a look at the MPlayer documentation (in build/MPlayer-*/DOCS or at http://mplayerhq.hu/DOCS/). Another file you may modify is the packages/MPlayer/menu.conf. You can remove items you don't need, or you can translate it in your own language for example. Then the last file you can look at is the packages/MPlayer/build which contain the selection of options which are built into MPlayer. * tvout : Enabling the TV-Out is achieved with the help of multiple small programs dedicated to different video card brands. Currently we use atitvout for ATI cards, s3switch for S3 cards and nvtv for nVidia cards (and possibly intel i810 and 3dfx cards). The configuration of those programs is done in config/tvout. There you can choose the TV standard you want (pal, ntsc...) and you can also modify specific options for nvtv. Please note that you can also define the output aspect (say 4:3 or 16:9 display) in this file through the line : TVOUT_ASPECT="4:3" This parameter will be used both for TVOut and regular (CRT/TFT) display. You can also specify the desired height/width values and your display's horizontal and vertical frequencies in case you have unusual screen like WideScreens or videoprojector. This can be done, editing the /etc/mplayer/mplayer.conf file. Default parameters are shown below (please uncomment lines related to frequency if you want to use them) : screenw=800 screenh=600 #monitor-hfreq=31.5k-50k #monitor-vfreq=50-90 * Lirc : You can choose one of the supported remote controller by editing the file GEEXBOX/etc/remote. Also take care to chose the corresponding ir receiver in the same configuration file. If you want to modify the key binding of your remote controler, look at the file GEEXBOX/etc/lirc/lircrc_REMOTE. * network : You can configure the network in the file GEEXBOX/etc/network. There you can chose the IP address used by the GeeXboX (default is to use DHCP and if it don't work, fall back to 192.168.0.54. You can also specify a login and a password which will be used to connect to windows shares (default will only connect to anonymous shares). You can also declare some NFS mounts in GEEXBOX/etc/nfs. * wifi : By default, GeeXboX tries to autodetect your network settings. If you have both traditionnal NIC and WiFi cards, only the latest will be setup. You may have to modify the /etc/network file in order to fit your network's settings. In this one, 4 lines are related to wireless cards : * PHY_TYPE="auto" # Network physical type (auto|ethernet|wifi) * WIFI_MODE="managed" # Wifi working mode (managed|ad-hoc) * WIFI_WEP="" # Wifi WEP key * WIFI_ESSID="any" # Wifi SSID These lines let you configure most of the settings. You can let autodetection enable or even force the use of ethernet or WiFi adapters. In the same way, this let you choose between the managed and the ad-hoc mode and let you define your WEP key and SSID. * gateway : GeeXboX supports access to the Internet. In the case you've got a connection to the Internet, you may share it with your multimedia box, using a router or a gateway. For this, simply define the gateway IP address in the /etc/network file. * GATEWAY="" # Gateway IP ("" for DHCP or no internet connection) * tv configuration : GeeXboX supports TV inputs and tuners. The system hardly tries to autodetect the card and the tuner. You can force the settings and skip the autodetection try. Please modify the /etc/tvcard as described : #TV CARD/TUNER Model (AUTO for autodetection or look at the following urls) #http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.bttv #http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.tuner TV_CARD=AUTO TV_TUNER=AUTO TVIN_STANDARD=pal Please let the AUTO parameter whether you want to keep autodetection, or replace it by the number of your card and tuner types, according to the previous URL. Please be careful : in order to force the card and tuner types, you have to know the EXACT REFERENCES of your hardware. Once done, you should be able to use the TV inputs (Composite and S-VHS) of your TV card. In the same way, you can use the tuner to watch TV. For that, you will have to define the region you belongs to and the frequency of the TV channels you want to watch. Once again, simply edit the /etc/tvcard file : # TV Channels # Syntax : CHAN="Channel Title":"Channel Frequency" # Example : # CHAN="France 2":"26" # CHAN="Canal +":"K08" # TV Channels List # Available : france, europe-east, europe-west, us-bcast, us-cable CHANLIST=france Please be careful when editing channels and simply use the same syntax as described above and TV channels should be present in the main menu. * audio configuration : GeeXboX supports both analog and digital audio output through regular JACK connectors or RCA SPDIF one. By default, output is set to analog. You can change this, by editing the /etc/audio file : # Output using SPDIF (yes/no), otherwise ANALOG output SPDIF=no Remember that you will need to set your output to SPDIF if you want to connect your soundcard to an external amplifier for decoding AC3/DTS streams (using passthrough mode). * DXR3/Hollywood+ cards : Users with this kind of hardware decompression card does NOT even need to have a video board and sound card to use GeeXboX. On the drawbacks, only the tvout connector can be used with DXR3 cards (no CRT display). You may have to set the required image norm (PAL/NTSC) in the /etc/tvout file and the kind of audio output you want to use (Analog or SPDIF) in /etc/audio. | GENERATION | ~~~~~~~~~~ First have a look at the personalization section just above. Then basically you can generate the iso under Linux by launching ./generator.sh or under windows by launching generator.exe | INSTALLATION | ~~~~~~~~~~~~ First you need to create a FAT16 partition with about 16 MB of free space. Then you can install the GeeXboX under Linux by launching ./installator.sh And then responding to all the questions. Be carefull during this step. Read twice each question and stop installing if you don't understand one of the question. | PXE BOOT | ~~~~~~~~ Yes, the GeeXboX is able to boot from the network on a diskless station ! To achieve this you will need : - a DHCP server - a TFTP server - a NFS server - a PXE capable station :-) First configure your dhcp server to send PXE boot info. Here is an exemple with isc dhcp : allow booting; allow bootp; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.128 192.168.0.192; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; next-server 192.168.0.1; filename "/tftpboot/GEEXBOX/boot/pxelinux.0"; } The next-server option is the address of the TFTP server. Then configure your TFTP server (such as atftpd) to server the /tftpboot directory and copy a full GEEXBOX tree in this directory. For exemple you can copy the content of a GeeXboX CD from a linux WITH THE CDROM TRANSPARENT DECOMPRESSION ENABLED !! (to verify this, look at the sbin/init file in the GeeXboX tree and verify that it do not contain garbage) If you've built the GeeXboX yourself from sources, you can also generate the GEEXBOX tree with make pxe. Then you should edit the file /tftpboot/GEEXBOX/boot/pxelinux.cfg/default to set nfsroot to the right NFS path to the GEEXBOX tree. Finaly set up your NFS to export the GEEXBOX tree with a /etc/exports containing something like this : /tftpboot/GEEXBOX (ro) and a /etc/hosts.allow containing something like : ALL: ALL That should do the trick. Boot your PXE station and see what happen. | BUILDING | ~~~~~~~~ First have a look at the configuration section just under (at least the global part). Then basically you can build the iso with : make Or you can directly burn this iso with : make burn When done, you can save disk space by cleaning the build tree : make clean or by doing a full cleaning, even removing downloaded sources : make distclean There's also more advanced commands if you want to hack around the GeeXboX : scripts/get package # download the package scripts/unpack package # unpack and prepare the package scripts/build package # build the package scripts/install package # install the package with the $INSTALL prefix scripts/clean package # clean the package source tree make exec # launch directly the GeeXboX in a jail # WARNING: this is a highly experimental feature # use it at your own risks. If you've made a hacked version of the GeeXboX, you can easily build a small tar.bz2 for it with : make dist or a full tar (containing all sources) with : make fulldist or a geexbox generator with : make generator or a geexbox installator with : make installator or a pxe ready tree with : make pxe | CONFIGURATION | ~~~~~~~~~~~~~ * Global options : This is the first thing you should take care of before trying to build the GeeXboX. It stands in the file config/options, and it should be self explanatory. There you can choose your CPU family, your theme, and whether you want truetype fonts or not. You should also modify your cd burner configuration to be able to burn directly the iso. * Linux : This is a classical Linux configuration (packages/linux/linux.conf). You can edit them by hand, or you can also do a scripts/unpack linux and then a make menuconfig -C build/linux-* (or use the method you prefer instead of menuconfig). Then you should backup your build/linux-*/.config into packages/linux/linux.conf. * Lirc : Lirc allows you to control the GeeXboX using a remote controller. First you have to choose the file describing your specific remote in build/lirc-*/remotes (after doing a scripts/unpack lirc) and add it in packages/lirc/install. Then you should choose your device (default is /dev/ttyS0 (COM1)) and the lirc driver and put them in a file called packages/lirc/lircd_$REMOTE. Then you can choose your key mapping in the file packages/lirc/lircrc_$REMOTE. For each mapping you have to select a button (pike their names in the remote definition file) and associate an action to it. The action is one of MPlayer's actions (you can find a list in the html file build/MPlayer-*/DOCS/documentation.html#commands). | HACKING | ~~~~~~~ The first thing you should look at is the initialization script. In fact there are two initialization scripts. The first one is in packages/initrd/linuxrc but you shouldn't need to modify it. The second one is in config/init and that's where you may put some customizations. Then the next thing which may interest you is the creation of a new "package". A package is just a bunch of scripts which have to follow some rules. All the scripts have to take place in a directory named as the program you want to "package", itself in the packages directory. Here is a list of the scripts you may create : - url : just a list of urls where to get the program sources. - unpack : what to do after unpacking the sources. For example, you can modify some configuration files. This does not include applying patches. - need_build : called when the package as allready been built, in order to be sure that it don't need to be rebuilt. It should remove the file .stamps/"package name"/build if the package need to be rebuilt. - build : all the steps needed to build the program. - install : all the steps needed to install the program. The installation prefix should be $INSTALL. When a file from the urls is named patch-program_name-... it is automatically applied to the unpacked sources of the program. You also have to remember that software which run on the GeeXboX have to be compiled with the uClibc gcc wrapper. Finally, the best way to make a package is to look how other packages are done. | LICENSE | ~~~~~~~ All the programs used by the GeeXboX are protected by their respective license. They all are free software and most of them are covered by the GNU General Public License. The GeeXboX itself, meaning all the scripts which are used in the building process, are covered by the GNU General Public License. geexbox-0.98/DOCS/README_es.txt0000644000175000017500000002516310106467316016305 0ustar aurelaurel00000000000000 ooooo oo o o oo o M" "Mo Mo oM" M Mo oM" M oM""Mo oM""Mo "Mo" Mo"""o oM""Mo "Mo" M """M MooooMM MooooMM oMMo M "M M M oMMo "o oM M o M o oM Mo M oM M M oM Mo "MoooM"M "MooM" "MooM" M" "M M"ooo" "MooM" M" "M | ACERCA DE... | ~~~~~~~~~~~~ Geexbox es un software que convierte tu ordenador en una mquina de reproducir DivX. De hecho, es un CD auto-arrancable que permite ver pelculas o escuchar msica. Soporta multitud de formatos, tales como avi, mpeg, divx, ogm, rm, mp3, ogg, dvd, vcd y cdda. Tambin soporta algunos mandos a distancia IR y las salidas de TV de ciertas tarjetas. Este archivo contiene los ficheros necesarios para generar una imagen iso personalizada de GeexBoX. | REQUISITOS | ~~~~~~~~~~ Para generar una iso GeeXboX, necesitas: - un sistema GNU/Linux con mkisofs y mkzftree. - un sistema windows. Para instalar GeeXboX, necesitars: - un sistema GNU/Linux con syslinux. Para construir GeeXboX, te harn falta algunas utilidades clsicas: - un sistema GNU/Linux funcionando. - el compilador gcc para el lenguaje C. - GNU make. - el comando patch. - el ensamblador nasm. - bzip2 y gzip. - mkfs.ext2 y mkfs.vfat. - la utilidad de descarga wget (no necesaria para todo el paquete GeeXboX). - mkisofs y mkzftree para construir la imagen iso. - mkzftree para comprimir los archivos en la imagen iso. - cdrecord (para tostar la iso). Y tambin 500 megas de espacio libre en disco. | PERSONALIZACIN | ~~~~~~~~~~~~~~~ Cuando GeeXboX est instalado en un disco duro o es generado, resulta muy fcil personalizarlo. Puedes aadir algunos cdecs propietarios como rv9 o wmv9, copindolos en el directorio iso/GEEXBOX/codecs. Puedes encontrar estos cdecs en el paquete http://www.mplayerhq.hu/MPlayer/releases/codecs/ . Ficheros tiles en el paquete de cdecs: * Cdecs de Real (usados para reroducir ficheros rv9 por ejemplo) : atrc.so.6.0, cook.so.6.0, sipr.so.6.0, drv3.so.6.0, drv4.so.6.0. * Cdecs de Windows Media (wmv9/wma9) : wma9dmod.dll y wmv9dmod.dll. Tambin puedes modificar muchas opcionesa travs de la edicin de algunos ficheros de texto. * Idioma : Puedes seleccionar fcilmente tu idioma de men favorito editando el fichero GEEXBOX/etc/lang. Esto no tiene efecto en el lenguaje del DVD (mira en la seccin de MPlayer). Si tu idioma no est disponible, puedes traducir el men a tu propio idioma, lo que conlleva la creacin de los archivos GEEXBOX/etc/mplayer/menu_LANG.conf y GEEXBOX/usr/share/mplayer/help_LANG.txt. * MPlayer : Aqu es donde puedes hacer la mayor parte de las configuraciones y ajustes. Las opciones se encuentran en el fichero packages/MPlayer/mplayer.conf. Quizs quieras modificar opciones como tamao de fuente del OSD (subfont-text-scale). Tambin puedes aadir muchas opciones como idioma por defecto para DVD (ej: alang=es,en). El mejor sitio para encontrar estas opciones es en la pagina man de MPlayer, para usuarios de linux (man -l build/MPlayer-*/DOCS/mplayer.1). Tambien deberias echar un vistazo a la documentacin de MPlayer (http://mplayerhq.hu/DOCS/). Otro archivo que quiz quieras modificar es packages/MPlayer/menu.conf. Puedes quitar elementos del men que no necesites, o, por ejemplo, traducirlos a tu propio idioma. El ultimo archivo que puedes mirar es packages/MPlayer/build, que contiene la seleccin de opciones que estn compiladas en MPlayer. * Salida de TV : La activacin de la salida de TV se consigue con la ayuda de mltiples programas dedicados a las diferentes marcas de tarjetas. Actualmente usamos atitvout para las tarjetas Ati, s3switch para las tarjetas S3 y nvtv para las tarjetas Nvidia (y posiblemente las intel i810 y las 3dfx). La configuracion de estos programas se realiza en config/tvout. Ah puedes seleccionar el estandar de TV que quieras (pal para Espaa, ntsc en Iberoamrica...) y modificar otras opciones especficas de nvtv. * Lirc : Puedes elegir uno de los controladores soportados editando el archivo GEEXBOX/etc/remote. Lirc no puede controlar ATI Rempote Wonder y est siempre activado, asi que no tienes que modificar nada para usarlo. Si quieres cambiar la asignacin de teclas para el mando a distancia, mira en el fichero GEEXBOX/etc/lirc/lircrc_REMOTE. * Red : Puedes configurar la red en el archivo GEEXBOX/etc/network. Ah puedes escoger la direccin IP usada por GeeXboX (por defecto se usa DHCP, y si no funciona, la IP cambia a 192.168.0.54.). Tambin puedes establecer un usuario y contrasea para conectarse a recursos compartidos en mquinas windows (por defecto se conecta nicamente a los recursos que permitan conexiones annimas). | GENERACIN | ~~~~~~~~~~ Primero hecha un vistazo a la seccin de personalizacin detallada ms arriba. Para generar la iso nicamente tienes que ejecutar en Linux ./generator.sh o generator.bat bajo windows. | INSTALACIN | ~~~~~~~~~~~ Lo primero que necesitas es crear una particin FAT16 con unos 16 MB libres. A partir de aqu, puedes instalar GeeXboX bajo Linux ejecutando ./installator.sh Responde a todas las preguntas y ten mucho cuidado con ellas. Lelas dos veces y, si no entiendes alguna, para la instalacin. | COMPILANDO | ~~~~~~~~~~ Lo primero es echar un vistazo a la seccin de configuracin, ms arriba (al menos, la parte general y la que se refiere al tostado en CD). A continuacin, puedes crear la iso bsicamente con: make O puedes quemarla directamente en CD con: make burn Cuando se haya terminado, puedes ahorrar espacio de disco limpiando el rbol de compilacin: make clean o haciendo una limpieza total, incluso borrando las fuentes descargadas: make distclean Existen tambin otros comandos ms avanzados si quieres enredar en las tripas de GeeXboX: scripts/get package # descargar el paquete scripts/unpack package # desempaqueta y prepara el paquete scripts/build package # construye el paquete scripts/install package # instala el paquete con el prefijo $INSTALL scripts/clean package # limpia el rbol de fuentes del paquete make exec # lanza directamente GeeXboX en una jaula # AVISO: esta caracterstica es ltamente experimental # sala a tu propio riesgo. Si has hecho una versin modificada de GeeXboX, puedes construir fcilmente un pequeo tar.bz2 con: make dist o un tar completo (conteniendo todos los fuentes) con: make fulldist o un generador geexbox con: make generator o un instalador geexbox con: make installator | CONFIGURACIN | ~~~~~~~~~~~~~ * Opciones globales: ste es el primer apartado en el que debes fijarte antes de intentar compilar GeeXboX. Se encuentra en el archivo config/options, y debera explicarse por s mismo. En este fichero puedes seleccionar la familia de tu CPU, el tema a usar, y si quieres utilizar fuentes truetype o no. Adems, deberas modificar la configuracin de la grabadora de CD para poder grabar directamente la ISO. * Linux: El archivo packages/linux/linux.conf es una configuracin clsica de Linux. Puedes editarlo a mano, o tambin puedes ejecutar scripts/unpack linux y hacer make menuconfig -C build/linux-* (o utilizar el mtodo que prefieras en vez de menuconfig). Es conveniente que hagas una copia de seguridad de build/linux-*/.config en packages/linux/linux.conf. Lo ms "difcil" que puede ocurrir es mantener tamao del kernel lo suficientemente reducido como para que quepa en una imagen de un disquete de arranque. * Lirc: Lirc te permite controlar GeeXboX a travs de un mando a distancia. Lo primero que debes hacer es escoger el archivo que describe tu mando en concreto en build/lirc-*/remotes (despues de hacer scripts/unpack lirc) y aadirlo a packages/lirc/install. A partir de aqu, escoge un dispositivo (por defecto es /dev/ttyS0, o COM1) y el driver lirc y colcalos en un archivo con el nombre packages/lirc/lircd_$REMOTE. Entonces podrs escoger la asignacin de teclas en packages/lirc/lircrc_$REMOTE. En cada asignacin tienes que seleccionar un botn (coge los nombres del archivo de definicin del mando a distancia) y asociarle una accin. Esta accin pertenece a MPlayer, y puedes encontrar un listado en build/MPlayer-*/DOCS/documentation.html#commands. | HACKING | ~~~~~~~ El primer sitio donde debes mirar es en el script de inicializacin. De hecho, existen dos scripts de inicializacin. El primero est en packages/initrd/linuxrc, aunque no deberas necesitar modificarlo. El segundo se encuentra en config/init y es donde puedes personalizar. Lo siguiente que podra interesarte es la creacin de un nuevo "paquete". Un paquete consiste en una gran cantiad de scripts que han de seguir algunas reglas. Todos los scripts deben funcionar sobre un directorio llamado como el programa que quieres empaquetar, dentro del directorio packages. Una lista de scripts que puedes crear: - url: slo una lista de urls para conseguir los fuentes del programa. - unpack: qu hacer despus de desempaquetar los fuentes. Por ejemplo, puedes modificar algunos ficheros de configuracin. sto no incluye aplicar parches. - need_build: es llamado cuando el paquete ha terminado de compilarse, con el objetivo de estar seguros de que no necesita volver a cons- truirse. Debe borrar el archivo .stamps/"nombre del paquete"/build, si el paquete debe ser recompilado. - build: todos los pasos necesarios para compilar el programa. - install: todos los pasos necesarios para instalar el programa. El prefijo de instalacin debe ser $INSTALL. Cuando un archivo de las url se llama patch-nombre_del_programa-... se aplica automticamente a los fuentes desempaquetados del programa. Adems, debes recordar que el software que corre en GeeXboX debe ser compilado con el wrapper gcc de uClibc. Finalmente, el mejor modo de hacer un paquete es observar cmo estn hechos otros paquetes. | LICENCIA | ~~~~~~~~ Todos los programas usados por GeeXbox estan protegidos por sus respectivas licencias. Todos ellos son software libre, y la mayora estn cubiertos por la Licencia Pblica General GNU (GPL). El propio GeeXboX, incluyendo todos los scripts que son utilizados en el proceso de construccin y compilacin, estn cubiertos por la Licencia Pblica General GNU (GPL). geexbox-0.98/DOCS/README_fr.txt0000644000175000017500000004274210106467316016307 0ustar aurelaurel00000000000000 ooooo oo o o oo o M" "Mo Mo oM" M Mo oM" M oM""Mo oM""Mo "Mo" Mo"""o oM""Mo "Mo" M """M MooooMM MooooMM oMMo M "M M M oMMo "o oM M o M o oM Mo M oM M M oM Mo "MoooM"M "MooM" "MooM" M" "M M"ooo" "MooM" M" "M | AVANT PROPOS | ~~~~~~~~~~~~ La GeeXboX est une sorte "divx box" logicielle. En fait, il s'agit d'un CD bootable qui vous permet de regarder des films ou d'couter de la musique. Il supporte de nombreux formats tels que avi, mpeg, divx, ogm, rm, mp3, ogg, dvd, vcd et cdda. GeeXboX supporte aussi certains types de tlcommandes infra-rouge et les sorties TV de certaines cartes graphiques. Cette archive contient tous les fichiers ncessaires pour gnrer une image iso personnalise de la GeeXboX | PREREQUIS | ~~~~~~~~~ Pour gnrer une iso GeeXboX vous devez possder l'un des sytmes suivants: - GNU/Linux avec mkisofs et mkzftree. - MAC OS X avec mkisofs et mkzftree. - Windows. Pour installer la GeeXboX, vous aurez besoin : - un systme GNU/Linux avec SysLinux. Pour construire votre propre GeeXboX, vous ncessiterez les outils classiques : - un systme GNU/Linux oprationnel. - Le compilateur C GCC. - GNU make - La commande patch. - L'assembleur nasm. - bzip2 et gzip. - mkfs.ext2 et mkfs.vfat - L'outil de tlchargement wget (non ncessaire pour le paquetage GeeXboX complet). - mkisofs et mkzftree pour construire l'image ISO. - mkzftree pour compresser les fichiers de l'image ISO. - cdrecord (pour graver l'image). Et environ 500 Mo d'espace disque disponible. | PERSONALISATION | ~~~~~~~~~~~~~~~ Le but du gnrateur est de personnaliser facilement sa GeeXboX. La chose la plus interessante que vous puissiez faire et de gnrer une image comportant une vido complte qui sera lu automatiquement au boot. Vous avez juste copier vos vidos (ou vos fichiers sons) et vos playlists dans le repertoire iso. Vous pouvez aussi ajouter des codecs propritaires comme le rv9 ou le wmv9, en les copiant simplement dans le rpertoire iso/GEEXBOX/codecs. Ces codecs se trouvent ici : http://www.mplayerhq.hu/MPlayer/releases/codecs/ Les fichiers utiles sont les suivants: * Codecs Real (pour le rv9 par exemple) : atrc.so.6.0, cook.so.6.0, sipr.so.6.0, drv3.so.6.0 et drv4.so.6.0. * Codecs Windows Media (wmv9/wma9) : wma9dmod.dll et wmv9dmod.dll. Vous pouvez modifier d'autres options en ditant simplement des fichiers textes. * Langue : Choisissez la langue de vos menus en ditant le fichier generator.sh ou generator.bat (en fonction de votre OS). Cela n'as pas d'effets sur la langue du DVD (voir section MPlayer). Si votre langue n'est pas disponible, vous pouvez toujours traduire un menu. Il suffit de re-crer les fichiers language/menu_LANG.conf and language/help_LANG.txt. * MPlayer : C'est ici que se font la plupart des configurations et modifications. Les options se situent dans le fichier packages/MPlayer/mplayer.conf Il est possible de changer des options comme la taille des police de l'OSD (subfont-text-scale) et beaucoup d'autres choses telles que la langue par dfaut de lecture des DVD (ex: alang=fr,en). La meilleur faon de comprendre ces options est, pour les utilisateurs de Linux, de se rfrer au MAN de MPlayer (man -l build/MPlayer-*/DOCS/mplayer.1). D'autres informations sont aussi disponibles sur la documentation officielle (http://mplayerhq.hu/DOCS/). Il peut galement tre intressant de modifier le fichier packages/MPlayer/menu.conf. Vous pouvez les menus qui vous semblent inutiles, ou les traduire dans d'autres langues par exemple. Enfin, le dernier intressant est packages/MPlayer/build, qui contient la slection d'options de compilation de MPlayer. * Sortie TV : Activer la sortie TV se fait au moyen de nombreux petits utilitaires ddis chacun une marque carte graphique. Nous utilisons actuellement atitvout pour les cartes ATI, s3switch pour les cartes S3 et nvtv pour les cartes nVidia (ce qui peut aussi marcher abec les cartes i810 et 3dfx). La configuration de ces programmes se fait dans iso/GEEXBOX/etc/tvout. Vous pouvez y choisir le standard que vous utilisez (pal, secam...) et y modifier les options spcifiques de nvtv. Vous pouvez galement dfinir le rapport d'image de sortie (mode 4:3 ou 16:9) via la ligne : TVOUT_ASPECT="4:3" Ce paramtre est utilis la fois pour la sortie TV et pour l'affichage classique sur moniteurs CRT ou TFT. Vous pouvez galement dfinir les valeurs de hauteur et largeur (en pixels) pour l'affichage, ainsi que les frquences de rafraichissement horizontal et vertical, dans le cas o vous utiliseriez un cran panoramique ou encore un rtro-projecteur. Ceci peut etre fait en modifiant le contenu du fichier /etc/mplayer/mplayer.conf. Les paramtres suivants sont donns par dfaut (veuillez dcommenter les lignes lies la frquence de refraichissement si vous souhaiter les utiliser ) : screenw=800 screenh=600 #monitor-hfreq=31.5k-50k #monitor-vfreq=50-90 * Lirc : Choisissez la tlcommande support en ditant le fichier generator.sh ou generator.bat (en fonction de votre OS). Faite galement attention bien choisir le rcepteur infrarouge correspondant dans le mme fichier. Si vous dsirez modifier le mappage des touches reportez vous au fichier lirc/lircrc_REMOTE. * Rseau : Le rseau est configurable au niveau du fichier iso/GEEXBOX/etc/network. Ici vous reglerez l'adresse IP de la GeeXboX (qui par dfaut cherche un serveur DCHP ou prend l'IP 192.168.0.54 si elle n'en trouve pas). Il est aussi possible de lui assigner un login est un mot de passe (par dfaut, la GeeXboX ne peut se connecter que sur des partages anonymes). Vous pouvez aussi dclarer des montages NFS dans GEEXBOX/etc/nfs. * wifi : Par defaut, le systme tente de dtecter automatiquement votre configuration rseau. Si vous disposez la fois d'une carte rseau Ethernet classique et d'une carte WiFi, seule cette dernire sera configure. Vous pourrez avoir modifier le fichier /etc/network afin d'y configurer vos paramtres rseaux. Dans ce dernier, 4 lignes sont relatives aux cartes sans-fils : PHY_TYPE="auto" # Network physical type (auto|ethernet|wifi) WIFI_MODE="managed" # Wifi working mode (managed|ad-hoc) WIFI_WEP="" # Wifi WEP key WIFI_ESSID="any" # Wifi SSID Vous pouvez soit conserver la dtection automatique, soit forcer l'activation du controleur Ethernet ou WiFi. De la mme faon, ceci vous permettra de choisir entre le mode managed et le mode de communication dit ad-hoc et de dfinir la fois votre cl WEP et le SSID de votre rseau. * passerelle : La GeeXboX supporte l'accs Internet. Dfinissez simplement l'adresse IP de la passerelle dans le fichier /etc/network GATEWAY="" # Gateway IP ("" for DHCP or no internet connection) * configuration TV : La GeeXboX supporte les entres et tuners de cartes TV. Le systme essaie avec peine de dtecter automatiquement le type de carte et de tuners utiliss. Vous pouvez forcer les paramtres et ainsi viter la tentative de dtection automatique. Veuillez modifier le fichier /etc/tvcard tel qu'il suit : # TV CARD/TUNER Model (AUTO for autodetection or look at the following urls) # http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.bttv # http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.tuner TV_CARD=AUTO TV_TUNER=AUTO Laissez le paramtre AUTO si vous souahitez conserver la dtection automatique, ou remplacez le par le numro de la carte et du tuner, comme dcrit dans les URL prcdentes. Soyez attentifs : pour forcer les types de cartes et de tuners, vous devez connatre les REFERENCES EXACTES de votre matriel. Une fois cela fait, vous devriez tre en mesure d'utiliser les entres TV (Composite et S-VHS) de votre carte TV. De la mme manire, vous pouvez utiliser le tuner pour regarder la TV. Pour cela, vous devrez dfinir votre rgion ainsi que les frquences des chanes que vous souhaitez visionner. Editez simplement le fichier /etc/tvcard : # TV Channels # Syntax : CHAN="Channel Title":"Channel Frequency" # Example : # CHAN="France 2":"26" # CHAN="Canal +":"K08" # TV Channels List # Available : france, europe-east, europe-west, us-bcast, us-cable CHANLIST=france Faites attention lors de l'dition des canaux TV et veillez utiliser la mme syntaxe que dcrit ci-dessus et les canaux TV devraient apparatre dans le menu principal. * configuration audio : La GeeXboX supporte la fois la restitution audio via la sortie analogique ou numrique, en utilisant les connecteurs classiques JACK ou RCA SPDIF. Par dfaut, la sortie est gre de manire analogique. Ceci peut etre chang en modifiant le fichier /etc/audio : # Output using SPDIF (yes/no), otherwise ANALOG output SPDIF=no Souvenez vous qu'il est ncessaire de rgler la sortie en mode numrique (SPDIF), si vous souhaitez relier votre carte son un amplificateur hifi externe pour dcoder des flux AC3/DTS (en utilisant le mode passthrough). * DXR3/Hollywood+ cards : Les utilisateurs de ce type de cartes de dcompression n'ont pas besoin d'avoir une carte vido ou une carte son dans leur ordinateur. Parmi les inconvnients, on notera nanmoins que seule la sortie TV peut etre utilise avec ce type de carte (pas d'affichage sur moniteur). Vous pouvez etre amen dfinir la norme d'image souhaite (PAL/NTSC) via le fichier /etc/tvout ainsi que le type de sortie audio utiliser (Analogique ou SPDIF) via le fichier /etc/audio. | GENERATION DE L'ISO | ~~~~~~~~~~~~~~~~~~~ Avant tout, jetez un oeuil sur la section personalisation juste au dessus Sous Linux, l'ISO est gnre en lanant la commande suivante: ./generator.sh et sous Windows: generator.exe | INSTALLATION | ~~~~~~~~~~~~ Avant tout, vous devez crer une partition PRIMAIRE FAT16 d'environ 16 Mo. Puis, vous pouvez installer la GeeXboX depuis Linux en lanant simplement ./installator.sh Rpondez ensuite toutes les questions. Lisez les questions avec attention et stoppez l'installation si vous ne comprenez pas ce que vous faites. | BOOT PXE | ~~~~~~~~ Oui, la GeeXboX est capable de booter depuis le rseau sur une machine sans disque ! Pour obtenir cela il vous faudra : - un serveur DHCP - un serveur TFTP - un serveur NFS - une machine supportant le PXE :-) Il faut tout d'abord configurer le server DHCP pour qu'il envoie les info de boot PXE. Voil un exemple de configuration avec isc dhcp : allow booting; allow bootp; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.128 192.168.0.192; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; next-server 192.168.0.1; filename "/tftpboot/GEEXBOX/boot/pxelinux.0"; } L'option next-server est l'adresse du server TFTP. Ensuite il faut configurer votre serveur TFTP (tel que atftpd) pour qu'il serve le rpertoire /tftpboot et copier une arborescence GEEXBOX complte dans ce rpertoire. Par exemple il est possible de copier le contenu d'un CD de GeeXboX depuis un linux AVEC L'OPTION CDROM TRANSPARENT DECOMPRESSION ACTIVE !! (pour vrifier cela, il suffit de regarder si le fichier sbin/init de l'arborescence GeeXboX ne contient pas de caractres totalement incohrents) Si vous avez compil la GeeXboX vous mme a partir des sources, il est aussi possible de gnrer l'arborescence GEEXBOX avec make pxe. Ensuite il faut diter le fichier /tftpboot/GEEXBOX/boot/pxelinux.cfg/default pour faire correspondre le nfsroot au bon chemin NFS vers l'arborescence GeeXboX. Enfin il reste a configurer NFS pour qu'il exporte l'arborescence GEEXBOX avec un fichier /etc/exports ressemblant ceci : /tftpboot/GEEXBOX (ro) et un /etc/hosts.allow ressemblant : ALL: ALL Ca devrait tre bon. Reste a booter la machine PXE et a voir ce qu'il se passe. | COMPILATION | ~~~~~~~~~~~ Tout d'abord, regardez la partie de configuration ci-dessous. Typiquement, la compilation s'effectue simplement au moyen de : make Ou vous pouvez directement compiler et graver l'ISO via : make burn Une fois cela fait, vous pouvez regagner de l'espace disque en effaant l'arborescence de compilation via : make clean ou en effectant un nettoyage complet, liminant mme les sources tlcharges : make distclean Il existe galement des commandes plus avances si vous dsirez effectuer des modifications en profondeur au niveau de la GeeXboX : scripts/get package # tlcharge le paquetage scripts/unpack package # prpare le paquetage scripts/build package # compile le paquetage scripts/install package # installe le paquetage dans $INSTALL scripts/clean package # nettoie l'arborescence du paquetage make exec # lance la GeeXboX dans une cellule # ATTENTION: ceci est une fonction exprimentale # Utilisez l vos propres risques. Si vous avez effectu une version modifie de la GeeXboX, vous pouvez : construire une archive rduite tar.bz2 via : make dist ou une archive complte (avec l'intgralit des sources) au moyen de : make fulldist ou construire le gnrateur d'ISO : make generator ou encore l'installateur : make installator ou enfin une arborescence PXE : make pxe | CONFIGURATION | ~~~~~~~~~~~~~ * Options Globales : C'est la premire chose dont vous aurez vous soucier avant d'essayer de compiler la GeeXboX. Elles sont contenues dans le fichier config/options, et devraient tre suffisamment explicites. Vous pouvez y choisir la famille du CPU cible, votre thme, si vous dsirez utiliser des polices TrueType ou non etc ... Vous pourrez galement y modifier les proprits de votre graveur afin de graver directement l'image ISO. * Linux : Il s'agit d'une configuration Linux classique (packages/linux/linux.conf). Vous pouvez diter le fichier la main, ou via scripts/unpack linux suivi de make menuconfig -C build/linux-* (ou utiliser votre mthode prfre en lieu et place de menuconfig). Puis, vous devrez sauvegarder votre fichier build/linux-*/.config dans packages/linux/linux.conf. * Lirc : Lirc vous permet de contrler la GeeXboX en utilisant une tlcommande. En premier lieu, vous aurez choisir le fichier correspondant votre tlcommande dans build/lirc-*/remotes (aprs avoir effectu scripts/unpack lirc) et l'ajouterez packages/lirc/install. Puis, choisissez votre priphrique (par dfaut, il s'agit de /dev/ttyS0 (COM1)) et le pilote lirc et mettez le tout dans un fichier nomm packages/lirc/lircd_$REMOTE. Vous pourrez ensuite choisir l'affectation des touches dans le fichier packages/lirc/lircrc_$REMOTE. Pour chaque affectation, vous aurez chosir un bouton (choisissez leurs noms dans le fichier de dfinitions de la tlcommande) et associez lui une action. L'action sera une de celle disponible dans MPlayer (vous pouvez trouver une liste dans le fichier html build/MPlayer-*/DOCS/documentation.html#commands). | MODIFICATION | ~~~~~~~~~~~~ La premire chose dont vous aurez vous soucier concerne le script d'initialisation. En fait, ils sont 2. Le premier est dans packages/initrd/linuxrc mais vous ne devriez pas avoir besoin de le modifier. Le second est config/init et c'est dans ce dernier que vous aurez de probables modifications effectuer. Puis, vous pourrez tre intresss par l'ajout de nouveaux paquetages. Un paquetage n'est implement qu'un ensemble de scripts qui se doivent de suivre certaines rgles. Tous les scripts se doivent d'tre placs dans un rpertoire dont le nom concide avec celui du programme que vous dsirez ajouter, lui-mme dans le rpertoire packages. Voici une liste de scripts que vous aurez crer : - url : simple liste d'URLS o sont disponibles les sources. - unpack : que faire aprs avoir dcompresser les sources. Par exemples, vous pouvez modifier les fichiers de configuration. Ceci ne concerne pas l'application de patchs. - need_build : appel lorsque le paquetage a dj t compil, afin de s'assurer qu'il n'aura plus besoin d'tre recompil. Il devrait supprimer le fichier .stamps/"package name"/build si le paquetage ncessite d'tre reconstruit. - build : l'ensemble des tapes ncessaires pour compiler le programme. - install : l'ensemble des tapes ncessaires l'installation du programme. Le prfixe d'installation devrait tre $INSTALL. Lorsqu'un fichier de la liste d'URLS est nomm patch-nom_du_programme-..., il est automatiquement appliqu aux sources du programme. Vous devez avoir l'esprit que les applications qui tournent sous le systme GeeXboX doivent avoir t compil avec la librairie uClibc. Enfin, la meilleure manire d'ajouter un paquetage est de s'inspirer de la faon dont les actuels sont faits. | LICENSE | ~~~~~~~ Tous les programmes utiliss par GeeXboX sont protgs par leurs licenses respectives. Tous ces logiciels sont libres et, pour la plupart, protgs par une licence GPL (License Publique Gnrale) La GeeXboX elle-mme, c'est dire tous les scripts utilis et le systme de compilation, est couvert par la licence GNU-GPL.geexbox-0.98/DOCS/README_it.txt0000644000175000017500000003600010106467316016302 0ustar aurelaurel00000000000000 ooooo oo o o oo o M" "Mo Mo oM" M Mo oM" M oM""Mo oM""Mo "Mo" Mo"""o oM""Mo "Mo" M """M MooooMM MooooMM oMMo M "M M M oMMo "o oM M o M o oM Mo M oM M M oM Mo "MoooM"M "MooM" "MooM" M" "M M"ooo" "MooM" M" "M | INFORMAZIONI | ~~~~~~~~~~~~ GeeXboX una sorta di software per "divx box". Infatti, un boot CD stand-alone che permette di vedere film o ascoltare musica. Supporta molti formati, come avi, mpeg, divx, ogm, rm, mp3, ogg, dvd, vcd e cdda. Supporta inoltre qualche telecomando IR e il TV-Out per qualche scheda grafica. Questo archivio contiene gli script che servono per creare un'immagine iso di GeeXboX. | REQUISITI | ~~~~~~~~~ Per creare una iso di GeeXboX, occorre una delle seguenti configurazioni : - un sistema GNU/Linux con mkisofs e mkzftree. - un sistema MAC OS X con mkisofs e mkzftree. - un sistema windows. Per installare GeeXboX, occorre : - un sistema GNU/Linux con syslinux. Per compilare GeeXboX, occorrono dei tools classici : - un sistema GNU/Linux funzionante. - il compilatore C gcc. - GNU make - il comando patch. - l'assembler nasm. - bzip2 e gzip. - mkfs.ext2 e mkfs.vfat - il tool di download wget (non occorre per il pacchetto competo di GeeXboX). - mkisofs e mkzftree per creare l'immagine iso. - mkzftree per comprimere i file nell'immagine iso. - cdrecord (per masterizzare l'immagine). E anche 500 MB di spazio libero su disco. | PERSONALIZZAZIONE | ~~~~~~~~~~~~~~~~~ Quando GeeXboX installato su disco o generato, facile da personalizzare. E' possibile aggiugnere alcuni codecs proprietari come rv9 o wmv9, semplicemente aggiugnendoli nella cartella GEEXBOX/codecs. Si possono trovare questi codecs nel pacchetto: http://www.mplayerhq.hu/MPlayer/releases/codecs/ I file utili del pacchetto sono : * i codec Real (utilizzati per visualizzare rv9 per esempio) : atrc.so.6.0, cook.so.6.0, sipr.so.6.0, drv3.so.6.0, drv4.so.6.0. * i codec Windows Media (wmv9/wma9) : wma9dmod.dll e wmv9dmod.dll. E' possibile inoltre modificare molte opzioni. Questo possibile modificando semplicemente qualche file di testo. * Linguaggio : E' possibile selezionare il linguaggio di menu preferito modificando il file GEEXBOX/etc/lang. Questo non ha effetto sulla lingua dei DVD (riferirsi alla sezione MPlayer). Se la tua lingua non avviabile, puoi tradurre il menu nella tua lingua. Questo comporta la creazione di GEEXBOX/etc/mplayer/menu_LANG.conf e GEEXBOX/usr/share/mplayer/help_LANG.txt. * MPlayer : In questa sezione possibile effettuare la maggior parte della configurazione e tweaking. Le opzioni sono salvate nel file packages/MPlayer/mplayer.conf. E' possibile modificare opzioni come la dimensione del font dell'OSD (subfont-text-scale). E' possibile inoltre aggiungere molte opzioni come la lingua predefinita per il DVD (es: alang=it,en). Il posto migliore per trovare tutte le opzioni, per utenti linux, la manpage di MPlayer (man -l build/MPlayer-*/DOCS/mplayer.1). Inoltre consigliato visitare la documentazione di MPlayer (in build/MPlayer-*/DOCS o al link http://mplayerhq.hu/DOCS/). un altro file che possibile modificare packages/MPlayer/menu.conf. E' possibile rimuovere gli elementi non utilizzati, oppure possibile tradurli nella propria lingua. L'ultimo file utile per la configurazione packages/MPlayer/build che contiene la selezione di opzioni che sono incluse in MPlayer. * uscita TV : L'abilitazione del TV-Out possibile con l'aiuto di alcune piccole applicazioni dedicate alle varie marche di schede video. Attualmente viene utilizzato atitvout per le schede ATI, s3switch per le schede S3 e nvtv per le schede nVidia cards (e, ove possibile, schede intel i810 e 3dfx). La configurazione di questi programmi effettuata in config/tvout. In questo file possibile scegliere lo standard TV (pal, ntsc...) ed inoltre possibile modificare le opzioni specifiche per nvtv. * Lirc : E' possibile scegliere uno dei telecomandi supportati modificando il file GEEXBOX/etc/remote. ATI Remote Wonder non gestito da lirc ed sempre attivato, quindi non occorre modificare nulla. Se si vuole modificare la configurazione dei tasti del proprio telecomando, controllare il file GEEXBOX/etc/lirc/lircrc_TELECOMANDO. * rete : E' possibile configuare la rete nel file GEEXBOX/etc/network. Si pu scegliere l'indirizzo IP utilizzato da GeeXboX (il predefinito di utilizzare DHCP e se non funziona, utilizzare l'ip 192.168.0.54). E' possibile inoltre specificare un login e una password che sarnno usati per connettersi con le condivisioni windows (predefinito: anonimo). E' inoltre possibile dichiarare i mount NFS in GEEXBOX/etc/nfs. * wifi : Come impostazioni predefinite, GeeXboX cerca di rilevare automaticamente le impostazioni di rete. Se sulla macchina sono installate sia una scheda di rete (NIC) e una scheda WiFi, solo quest'ultima sar impostata. Per impostare correttamente la rete, pu essere necessario modificare il file /etc/network. In questo file ci sono 4 linee riguardanti le schede wireless : * PHY_TYPE="auto" # Tipo fisico di rete (auto|ethernet|wifi) * WIFI_MODE="managed" # metodo di utilizzo Wifi (managed|ad-hoc) * WIFI_WEP="" # chiave WEP Wifi * WIFI_ESSID="any" # SSID Wifi Con queste linee possibile configurare la gran parte delle impostazioni. E' possibile lasciare la rilevazione automatica oppure forzare l'uso della scheda ethernet o dell'adattatore WiFi. Allo stesso modo, possibile scegliere tra il metodo managed e ad-hoc e definire la propria chiave WEP e SSID. * gateway : GeeXboX supporta l'accesso a Internet. Nel caso in cui tu abbia una connessione Internet, possibile condividerla con il proprio multimedia box, utilizzando un router o un gateway. Per fare ci, necessario definire l'indirizzo IP del gateway nel file /etc/network. * GATEWAY="" # Gateway IP ("" per DHCP o nessuna connesione internet) * configuraqzione tv : GeeXboX supporta le entrate e i sintonizzatori TV. Il sistema cercher di rilevare automaticamente la scheda e il sintonizzatore. E' possibile forzare le impostazioni e saltare i tentativi di rilevamento. Modificare il file /etc/tvcard come descritto : #TV CARD/TUNER Model (AUTO for autodetection or look at the following urls) #http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.bttv #http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.tuner TV_CARD=AUTO TV_TUNER=AUTO Lasciare il parametro AUTO se si vuole mantenere il rilevazione automatica, oppure sostiruirlo con il numero del tipo di scheda e sintonizzatore in possesso, in base alle informazioni dei precedenti URL. Prestare molta attenzione: per forzare il tipo si scheda e sintonizzatore occorre conoscere l' ESATTO MODELLOP del proprio hardware. Successivamente, dovrebbe essere possibile utilizzare l'input TV (Composito e S-VHS) della propria scheda TV. Allo stesso modo, sar possibile usare il sintonizzatore per guardare la TV. Per fare ci, necessario specificare la regione di appartenenza e la frequenza dei canali TV che si vogliono visualizzare. Anche questa volta basta modificare il file /etc/tvcard : # TV Channels # Syntax : CHAN="Channel Title":"Channel Frequency" # Example : # CHAN="France 2":"26" # CHAN="Canal +":"K08" # TV Channels List # Available : france, europe-east, europe-west, us-bcast, us-cable CHANLIST=france Prestare attenzione nell'usare la stessa sintassi descritta sopra, affinch i canali TV siano presenti nel menu principale. | CREAZIONE | ~~~~~~~~~ Prima di tutto, leggere la sezione di personalizzaizone qui sopra. Una vota personalizzata, possibile crare la iso sotto Linux, lanciando ./generator.sh o sotto windows, lanciando generator.exe | INSTALLAZIONE | ~~~~~~~~~~~~~ Inizialmente necessario creare una partizione FAT16 con circa 16 MB di spazio libero. E' possibile installare GeeXboX sotto linux lanciando ./installator.sh E rispondendo alle domande poste dal programma. Ponete molta attenzione durante questi passaggi. Leggere due volte ogni domanda e uscire dall'instalalzione se non si capisce una domanda. | PXE BOOT | ~~~~~~~~ S, GeeXboX pu avviarsi dalla rete da una stazione denza disco! Per raggiungere lo scopo necessario: - un server DHCP - un server TFTP - un server NFS - una stazione che pu utilizzare PXE :-) Configurare il server dhcp affinch invii le informazioni di boot PXE. Ecco un esempio con isc dhcp : allow booting; allow bootp; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.128 192.168.0.192; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; next-server 192.168.0.1; filename "/tftpboot/GEEXBOX/boot/pxelinux.0"; } L'opzione next-server l'indirizzo del server TFTP. Configurare il server TFTP (ad esempio atftpd) affich pubblichi la cartella /tftpboot e copiare l'intera direcroty GEEXBOX in questa cartella. Ad esempio, si pu copiare il contenuto di un CD GeeXboX da un sistema linux CON "CDROM TRANSPARENT DECOMPRESSION" ABILITATA !! (per verificare questo, controllare il file sbin/init nella directory GeeXboX e verificare che non contenga sporcizia) Se stato compilato GeeXboX dai sorgenti, possibile anche generare la directory GEEXBOX con make pxe. Modificare il file /tftpboot/GEEXBOX/boot/pxelinux.cfg/default per impostare nfsroot al giusto percorso NFS della directory GEEXBOX. Infine impostare NFS per esportare la directory GEEXBOX tramite /etc/exports contenente una riga simile alla seguente : /tftpboot/GEEXBOX (ro) e /etc/hosts.allow contenente qualcosa come: ALL: ALL Dovrebbe funzionare. Avviare la stazione PXE e vedere quello che accade. | COMPILAZIONE | ~~~~~~~~~~~~ Prima di tutto consigliabile controllare la sezione di configurazione subito sotto (almeno la parte generale). Dopo di ci, compilare l'immagine iso con : make Oppure possibile masterizzare direttamente l'immagine con : make burn Quando la compilazione completata, possibile liberare spazio su disco pulendo la directory di compilazione : make clean oppure facendo una pulizia completa, eliminando anche i sorgenti scaricati : make distclean Ci sono anche comandi pi avanzati, se si vuole fare un po' di hack di GeeXboX: scripts/get package # scarica il pacchetto scripts/unpack package # scompatta e prepara il pacchetto scripts/build package # compila il pacchettobuild scripts/install package # installa il pacchetto con il prefisso $INSTALL scripts/clean package # pulisce la directory dei sorgenti del pacchetto make exec # lancia direttamente GeeXboX in una [prigione] # ATTENZIONE: funzione sperimentale, # usare a proprio rischio. Se avete fatto una versione modificata di GeeXboX, possibile compilare facilmente un piccolo tar.bz2 con : make dist oppure un tar completo (contenente tutti i sorgenti) con : make fulldist oppure un geexbox generator con : make generator oppure un geexbox installator con : make installator oppure una directory per pxe con : make pxe | CONFIGURAZIONE | ~~~~~~~~~~~~~~ * Opzioni generali : Questa la prima cosa alla quale prestare attenzione prima di provare a compilare GeeXboX. Tali opzioni sono memorizzate nel file config/options, e dovrebbero spiegarsi da sole. Si pu scegliere la famiglia di CPU, il tema, e se si vogliono font truetype o no. E' possibile modificare la configurazione del masterizzatore cd per poter masterizzare direttamente l'immagine iso. * Linux : Questa una configurazione classica di linux (packages/linux/linux.conf). E' possibile modificarla a mano, oppure usare anche scripts/unpack linux e make menuconfig -C build/linux-* (o utilizzare il metodo preferito al posto di menuconfig). Infine fare un backup di build/linux-*/.config in packages/linux/linux.conf. * Lirc : Lirc permette di controllare GeeXboX usando un telecomando. Inizialmente occorre scegliere il file che descrive il proprio telecomando in build/lirc-*/remotes (dopo aver eseguito scripts/unpack lirc) e aggiungerlo in packages/lirc/install. Fatto questo, occorre scegliere la periferica (la predefinita /dev/ttyS0 (COM1)) e il driver lirc, inserendoli in un file chiamato packages/lirc/lircd_$TELECOMANDO. E' possibile definire i tasti nel file packages/lirc/lircrc_$TELECOMANDO. Per ogni definizione occorre selezionare un tasto (utilizzando i nomi nel file di descrizione del telecomando) e associare un'azione a tale tasto. L'azione una delle azioni di MPlayer's (si pu trovare una lista nel file html build/MPlayer-*/DOCS/documentation.html#commands). | HACKING | ~~~~~~~ La prima cosa da controllare sono gli script di inizializzazione. Infatti, ci sono due script di installazione. Il primo in packages/initrd/linuxrc, ma non ci dovrebbe essere bisogno di modificarlo. Il secondo in config/init ed quello in cui possibile aggiongere qualche personalizzazione. La cosa successiva che pu interessare la creazione di un nuovo "pacchetto". Un pacchetto un insieme di script che seguono alcune regole. Tutti gli script devono essere memorizzati in una directory chiamata come il programma che si vuole "impacchettare", che sta nella directory packages. Di seguito la lista degli script da cerare : - url : una lista di url dove trovare i sorgenti del programma. - unpack : cosa fare dopo aver scompattato i sorgenti. Ad esempio, possibile modificare i file di configurazione. Questo non include l'applicazione delle patch. - need_build : chiamato quando il pacchetto gi compilato, per essere sicuri che non necessita di ricompilazione. Dovrebbe eliminare il file .stamps/"nome pacchetto"/build se il pacchetto necessita di ricompilazioneif. - build : tutti i passaggi necessari per compilare il programma. - install : tutti i passaggi necessari per installare il programma. Il prefisso di installazione deve essere $INSTALL. Quando un file degli url chiamato patch-nome_programma-... applicato automaticamenteit ai sorgenti scompattati del programma. Ricordare inoltre che il software utilizzato in GeeXboX deve essere compilato con il gcc wrapper uClibc. Se si ancora incerti, la via migliore per creare un pacchetto guardare come sono fatti gli altri pacchetti. | LICENZA | ~~~~~~~ Tutti i programmi utilizzati da GeeXboX sono protetti dalle rispettive licenze. Sono tutti software liberi e molti di questi sono regolati dalla GNU General Public License. GeeXboX per s, intesa come tutti gli script utilizzati nel processo di compilazione, sono regolati dalla GNU General Public License. geexbox-0.98/config/0000755000175000017500000000000010106467316014626 5ustar aurelaurel00000000000000geexbox-0.98/config/audio0000644000175000017500000000014010106467316015645 0ustar aurelaurel00000000000000# Soundcard Configuration File # Output using SPDIF (yes/no), otherwise ANALOG output SPDIF=no geexbox-0.98/config/file_ext0000644000175000017500000000016410106467316016351 0ustar aurelaurel00000000000000avi divx asf wmv mpeg mpg mpe vob m1v m2v mp4 m4a ogm mkv mka rm ra ram rmvb mov qt bin mp3 mp2 ogg wav wma y4m dat geexbox-0.98/config/img_ext0000644000175000017500000000004110106467316016200 0ustar aurelaurel00000000000000bmp gif jpeg jpg pcd png pnm ppm geexbox-0.98/config/init0000755000175000017500000000206610106467316015523 0ustar aurelaurel00000000000000#!/bin/sh /bin/busybox test ! -e /proc/cpuinfo && /bin/busybox mount -t proc none /proc /bin/busybox test ! -e /bin/cp && /bin/busybox --install -s /bin/sh /etc/init.d/eject & /bin/sh /etc/init.d/fonts test -f /proc/progress && echo "87 launching modules" > /proc/progress /bin/sh /etc/init.d/modules test -f /proc/progress && echo "93 setting tv-out" > /proc/progress /bin/sh /etc/init.d/tvout test -f /proc/progress && echo "94 setting volume" > /proc/progress /bin/sh /etc/init.d/alsa test -f /proc/progress && echo "95 setting up tv card" > /proc/progress /bin/sh /etc/init.d/tvcard test -f /proc/progress && echo "96 launching lirc daemon" > /proc/progress /bin/sh /etc/init.d/lirc test -f /proc/progress && echo "98 setting up networking" > /proc/progress /bin/sh /etc/init.d/networking & test -f /proc/progress && echo "99 setting cdrom speed" > /proc/progress /bin/sh /etc/init.d/cdspeed test "$DEBUG" = yes || rm -rf /lib/modules test -f /proc/progress && echo "100 launching mplayer" > /proc/progress /bin/sh /etc/init.d/mplayer /bin/sh /etc/init.d/umount geexbox-0.98/config/init.d/0000755000175000017500000000000010106467316016013 5ustar aurelaurel00000000000000geexbox-0.98/config/init.d/alsa0000755000175000017500000000244110106467316016662 0ustar aurelaurel00000000000000#!/bin/sh # # setup alsa (especially the mixer config) # include audio configuration file . /etc/audio echo "" > /etc/asound.conf # set common mixer params amixer sset Master 90% on >/dev/null 2>&1 amixer sset PCM 90% on >/dev/null 2>&1 amixer sset Surround 90% on >/dev/null 2>&1 amixer sset 'Surround Digital' 90% on >/dev/null 2>&1 amixer sset 'Wave Surround' 90% on >/dev/null 2>&1 amixer sset 'Duplicate Front' on >/dev/null 2>&1 amixer sset 'Sigmatel 4-Speaker Stereo' 90% on >/dev/null 2>&1 amixer sset 'Headphone' 90% on >/dev/null 2>&1 amixer sset 'Line' 90% on >/dev/null 2>&1 amixer sset 'Aux' 90% on >/dev/null 2>&1 # set SPDIF mixer params if test "$SPDIF" = yes; then amixer sset 'IEC958' 90% on >/dev/null 2>&1 amixer sset 'IEC958 Output' 90% on >/dev/null 2>&1 amixer sset 'IEC958 Playback AC97-SPSA' 100% on >/dev/null 2>&1 amixer sset 'IEC958 Coaxial' 90% on >/dev/null 2>&1 amixer sset 'IEC958 LiveDrive' 90% on >/dev/null 2>&1 amixer sset 'IEC958 Optical Raw' 90% on >/dev/null 2>&1 amixer sset 'SB Live Analog/Digital Output Jack' 90% on >/dev/null 2>&1 fi # output in 48KHz for VIA VT8233 or SiS 7012 if test -n "`grep 'Class 0401:.*1106:3059' /proc/pci`" \ -o -n "`grep 'Class 0401:.*1039:7012' /proc/pci`"; then echo "srate=48000" >> /etc/mplayer.conf fi exit 0 geexbox-0.98/config/init.d/cdspeed0000755000175000017500000000024410106467316017350 0ustar aurelaurel00000000000000#!/bin/sh # # set the cdrom drives speed (when the drive is able the change it's speed) for DEV in /dev/scd*; do setcd -x 8 $DEV >/dev/null 2>&1 & done exit 0 geexbox-0.98/config/init.d/eject0000755000175000017500000000144310106467316017035 0ustar aurelaurel00000000000000#!/bin/sh # # eject CD if booted from cdrom and their is no media files on it if test -n "$CDROM"; then # add recognized files extension to the EXTS list for i in `cat /etc/file_ext`; do if [ -z "$EXTS" ]; then EXTS="$i" else EXTS="$EXTS\|$i" fi done # add recognized images extension to the EXTS list if [ -x /usr/bin/fbi ]; then for i in `cat /etc/img_ext`; do EXTS="$EXTS\|$i"; done fi # add recognized playlists extension to the EXTS list for i in `cat /etc/list_ext`; do EXTS="$EXTS\|$i"; done # check if their is recognized media files on the CD if [ -z "`find "$CDROM" | grep -v /GEEXBOX/ | grep -i "\.\($EXTS\)\$"`" ]; then # eject the CD (except when started with make exec) [ -e /dev/cdrom -a ! -f /EXEC ] && eject fi fi exit 0 geexbox-0.98/config/init.d/fonts0000755000175000017500000000174610106467316017102 0ustar aurelaurel00000000000000#!/bin/sh # # put the right font in the right place # select the font depending on the language if test -f /etc/lang; then LANG=`cat /etc/lang | sed 's/^\([a-z]*\).*/\1/'` cp -f /etc/mplayer/menu_$LANG.conf /etc/mplayer/menu.conf cp -f /usr/share/mplayer/help_$LANG.txt /usr/share/mplayer/help.txt if test $LANG = cz -o $LANG = hu -o $LANG = pl -o $LANG = ro -o $LANG = sk; then mv /usr/share/mplayer/font/iso-8859-2/* /usr/share/mplayer/font elif test $LANG = bg; then mv /usr/share/mplayer/font/cp1251/* /usr/share/mplayer/font elif test $LANG = ru; then mv /usr/share/mplayer/font/koi8r/* /usr/share/mplayer/font else mv /usr/share/mplayer/font/iso-8859-1/* /usr/share/mplayer/font fi if test $LANG = hu; then sed -i 's/.*font.*//' /etc/mplayer/mplayer.conf fi fi # also use the bitmap font for the menu when it's not iso-8859-* grep iso-8859 /usr/share/mplayer/font/font.desc >/dev/null 2>&1 || sed -i 's/.*font.*//' /etc/mplayer/mplayer.conf exit 0 geexbox-0.98/config/init.d/lirc0000755000175000017500000000066010106467316016674 0ustar aurelaurel00000000000000#!/bin/sh # # setup lirc # read the config if test -f /etc/remote; then . /etc/remote cp -f /etc/lirc/lircrc_$REMOTE /etc/lircrc cp -f /etc/lirc/lircd_$RECEIVER /etc/lircd cp -f /etc/lirc/lircd_$REMOTE.conf /etc/lircd.conf fi . /etc/lircd # insert needed modules IFS='|' for module in $LIRC_MODULES; do eval "insmod $module" >/dev/null 2>&1 done # start lircd lircd --driver=$LIRC_DRIVER --device=$LIRC_DEVICE exit 0 geexbox-0.98/config/init.d/modules0000755000175000017500000000017710106467316017416 0ustar aurelaurel00000000000000#!/bin/sh # # load modules IFS=' ' for module in `cat /etc/modules`; do eval "insmod $module" >/dev/null 2>&1 done exit 0 geexbox-0.98/config/init.d/mplayer0000755000175000017500000000764210106467316017423 0ustar aurelaurel00000000000000#!/bin/sh # # configure and launch mplayer # include audio configuration file . /etc/audio # include tvout configuration file . /etc/tvout # default directory cd /mnt # remove DVD from the menu if no dvd drive available test -e /dev/dvd || sed -i 's/.*DVD.*//' /etc/mplayer/menu.conf # remove image viewer from the menu if fbi is not present test -x /usr/bin/fbi || sed -i 's/.*set_menu\ view_img.*//' /etc/mplayer/menu.conf # add partitions free space in menu for i in `mount | sed -n 's%/dev/\([sh]d[a-z][0-9]\).*%\1%p'`; do MENU_DF="$MENU_DF " done [ -n "$MENU_DF" ] && sed -i "s%name=\"ip\"/>%name=\"ip\"/> $MENU_DF%" /etc/mplayer/menu.conf # set double to no for nvidia, sis and Kyro cards and VMWare for i in 'Class 0300:.*10de:' 'Class 0300:.*1039:' 'Class 0300:.*104a:0010' 'Class 0300:.*15ad:'; do if grep "$i" /proc/pci >/dev/null 2>&1; then # except if we want to try nvidia vidix if [ "$i" = 'Class 0300:.*10de:' -a ! -f /etc/mplayer/no_nvidia_vidix ]; then if [ -n "`grep '^vf=' /etc/mplayer/mplayer.conf`" ]; then sed -i 's/^\(vf=.*\)/\1,format=yuy2/' /etc/mplayer/mplayer.conf else echo 'vf=format=yuy2' >> /etc/mplayer/mplayer.conf fi else sed -i 's/^vo=.*/vo=vesa/' /etc/mplayer/mplayer.conf sed -i 's/^double=.*/double=no/' /etc/mplayer/mplayer.conf if [ -n "`grep '^vf=' /etc/mplayer/mplayer.conf`" ]; then sed -i 's/^\(vf=.*\)/\1,expand=-1:-1:-1:-1:1/' /etc/mplayer/mplayer.conf else echo 'vf=expand=-1:-1:-1:-1:1' >> /etc/mplayer/mplayer.conf fi fi fi done # set vo to directfb for 3dfx cards grep 'Class 0300:.*121a:' /proc/pci >/dev/null 2>&1 && sed -i 's/^vo=.*/vo=directfb/' /etc/mplayer/mplayer.conf # set ao to SPDIF when specified if test "$SPDIF" = yes; then sed -i 's/^ao=.*/ao=alsa:device=spdif/' /etc/mplayer/mplayer.conf fi # set the tvout aspect echo "monitoraspect=$TVOUT_ASPECT" >> /etc/mplayer/mplayer.conf # set ao, vo and vf for DXR3/Hollywood+ cards and upload microcode. if test -n "`grep 'Class 0480:.*1105:8300' /proc/pci 2>/dev/null`"; then sed -i 's/^vo=.*/vo=dxr3:sync:norm=0/' /etc/mplayer/mplayer.conf sed -i 's/^ao=.*/ao=oss:\/dev\/em8300_ma-0/' /etc/mplayer/mplayer.conf if [ -n "`grep '^vf=' /etc/mplayer/mplayer.conf`" ]; then sed -i 's/^\(vf=.*\)/\1,expand=-1:-1:-1:-1:1/' /etc/mplayer/mplayer.conf else echo 'vf=expand=-1:-1:-1:-1:1' >> /etc/mplayer/mplayer.conf fi sed -i "s%play_dvd.*%quit 167\"/>%" /etc/mplayer/menu.conf em8300setup -p -a -o -f /usr/share/em8300.uc >/dev/null 2>&1 echo '' > /var/use_dxr3 # TVOut standard (default is PAL) if [ "$TVOUT_STANDARD" = "ntsc" ]; then em8300setup -n >/dev/null 2>&1 fi # set display to WideScreen format (default is 4:3) if [ "$TVOUT_ASPECT" = "16:9" ]; then em8300setup -w >/dev/null 2>&1 fi # use SPDIF output ? if test "$SPDIF" = yes; then em8300setup -d >/dev/null 2>&1 fi fi # create the mplayer control pipe for external programs mkfifo /var/mp_control # start the autolaunching script if test -e /usr/bin/autolaunch; then sh /usr/bin/autolaunch > /var/mp_control & fi # start the file copy daemon /usr/bin/cpd & # give a shell in debug mode if test "$DEBUG" = yes; then sed -i 's%ok=\"halt\"/>%ok=\"halt\"/> %' /etc/mplayer/menu.conf /bin/sh fi # start mplayer with gdb when built with debugging options if test -x /usr/bin/gdb; then echo "r /usr/share/mplayer/background.avi -loop 0" > /gdb_cmd gdb -x /gdb_cmd /usr/bin/mplayer else echo "0" > /tmp/mp_result # start mplayer or fbi and keep then launched while true; do if [ -n "`pidof lircd`" ]; then irpty /etc/lircrc -- mp_wrapper else mp_wrapper fi test `cat /tmp/mp_result` -eq 165 -a -x /usr/bin/fbi && fbi_wrapper test `cat /tmp/mp_result` -eq 166 && break test `cat /tmp/mp_result` -eq 167 && mplayer dvd://1 > /dev/null 2>&1 done fi exit 0 geexbox-0.98/config/init.d/networking0000755000175000017500000000403010106467316020125 0ustar aurelaurel00000000000000#!/bin/sh # # setup the network # get options test -f /etc/network || exit 1 . /etc/network test -z "$HOST" && HOST=0.0.0.0 if [ -x /usr/bin/iwconfig ]; then WIFI=`iwconfig 2>&1 | grep '^[^\ ]' | grep -v "no wireless extensions" | cut -f1 -d' ' | head -n 1` ETH=`iwconfig 2>&1 | grep '^[^\ ]' | grep -v '^lo' | grep "no wireless extensions" | cut -f1 -d' ' | head -n 1` else ETH=eth0 fi # select device if test $PHY_TYPE = wifi -o $PHY_TYPE = auto; then DEV=$WIFI if test -n "$DEV"; then ifconfig "$DEV" up >/dev/null 2>&1 test -n "$WIFI_MODE" && iwconfig "$DEV" mode $WIFI_MODE test -n "$WIFI_ESSID" && iwconfig "$DEV" essid $WIFI_ESSID test -n "$WIFI_WEP" && iwconfig "$DEV" key $WIFI_WEP fi fi if test $PHY_TYPE = ethernet -o $PHY_TYPE = auto -a -z "$DEV"; then DEV=$ETH fi test -n "$DEV" || exit 1 # bring interface up if ifconfig $DEV $HOST >/dev/null 2>&1; then if test $HOST = 0.0.0.0; then udhcpc -H geexbox -n >/dev/null 2>&1 && NET=yes test "$NET" = yes || ifconfig $DEV 192.168.0.54 && NET=yes else test -n "$GATEWAY" && route add default gw $GATEWAY NET=yes fi fi test "$NET" = yes || exit 1 # start telnet daemon /usr/sbin/telnetd -f /etc/issue >/dev/null 2>&1 # load ftp server if test -f /etc/bftpd.conf; then bftpd -d -c /etc/bftpd.conf fi IFS=' ' # mount nfs shares if test -f /etc/nfs; then for MOUNTS in `grep -v "^#" /etc/nfs | grep -v "^$"`; do SRV=`echo $MOUNTS | sed 's/[ ]*\([^ ]*\)[ ]*.*/\1/'` DIR=`echo $MOUNTS | sed 's/[ ]*[^ ]*[ ]*\([^ ]*\)/\1/'` mkdir -p /mnt/nfs/$DIR mount -t nfs -o ro,nolock,nfsvers=2 $SRV /mnt/nfs/$DIR >/dev/null 2>&1 done fi # mount samba shares if test -x /usr/bin/smbmount; then OPT="-N" test -n "$SMB_USER" && OPT="-U$SMB_USER%$SMB_PWD" for i in `smbtree $OPT | sed -n 's/.*\\\\\\\\\(.*\)\\\\\([^$]*\)\ \ .*/\1\/\2/p' | sed 's/\ *$//'`; do mkdir -p "/mnt/shares/$i" smbmount "//$i" "/mnt/shares/$i" -o ro,username=$SMB_USER,passwd=$SMB_PWD >/dev/null 2>&1 || rmdir -p "/mnt/shares/$i" >/dev/null 2>&1 done fi exit 0 geexbox-0.98/config/init.d/tvcard0000755000175000017500000000344510106467316017232 0ustar aurelaurel00000000000000#!/bin/sh # # setup tv cards . /etc/tvcard if test -z "`grep 'Class 0400:.*109e:' /proc/pci`" \ -a -z "`grep 'Class 0480:.*1131:' /proc/pci`"; then # No supported TV card found sed -i 's/.*ok="set_menu tv_settings".*//' /etc/mplayer/menu.conf sed -i 's/.*ok="set_menu tv_norm"*//' /etc/mplayer/menu.conf exit 1 fi insmod btcx-risc >/dev/null 2>&1 insmod videodev >/dev/null 2>&1 insmod video-buf >/dev/null 2>&1 insmod v4l2-common >/dev/null 2>&1 CARD= test "$TV_CARD" != "AUTO" && CARD="card=$TV_CARD" TUNER= test "$TV_TUNER" != "AUTO" && TUNER="tuner=$TV_TUNER" if test -n "`grep 'Class 0400:.*109e:' /proc/pci`"; then # BT8x8 Card insmod bttv $CARD $TUNER >/dev/null 2>&1 if test "$TV_CARD" = "AUTO" \ -a -z "`dmesg | grep 'bttv0: detected'`"; then # Not autodetected test -z "$TUNER" && TUNER="tuner=3" rmmod bttv insmod bttv card=1 $TUNER >/dev/null 2>&1 fi # set mplayer TV options echo "tv=driver=v4l2:norm=$TVIN_STANDARD:chanlist=$CHANLIST:width=768:height=576" >> /etc/mplayer/mplayer.conf elif test -n "`grep 'Class 0480:.*1131:' /proc/pci`"; then # SAA7134 Card insmod ir-common >/dev/null 2>&1 insmod saa7134 $CARD $TUNER >/dev/null 2>&1 # set mplayer TV options echo "tv=driver=v4l2:norm=$TVIN_STANDARD:chanlist=$CHANLIST" >> /etc/mplayer/mplayer.conf fi insmod tuner >/dev/null 2>&1 insmod tvaudio >/dev/null 2>&1 insmod msp3400 >/dev/null 2>&1 insmod tda7432 >/dev/null 2>&1 insmod tda9875 >/dev/null 2>&1 insmod tda9887 >/dev/null 2>&1 # set mplayer TV channels list echo "\" >" >> /etc/mplayer/menu.conf grep '^CHAN' /etc/tvcard | sed 's/^CHAN="\([^:]*\):\(.*\)"//' >> /etc/mplayer/menu.conf echo "" >> /etc/mplayer/menu.conf exit 0 geexbox-0.98/config/init.d/tvout0000755000175000017500000000113310106467316017120 0ustar aurelaurel00000000000000#!/bin/sh # # setup the tvout test -f /etc/tvout || exit 1 . /etc/tvout atitvout $TVOUT_STANDARD auto >/dev/null 2>&1 test "`atitvout active 2>/dev/null | sed -n 's/TV.*/TV/p'`" = "TV" && echo "" > /var/tvout # There is no possibility of tv cable autodetection with nvtv so # tvout is not enabled automatically. Uncomment the following lines # to have nvtv tvout enabled at boot. #nvtv $NVTV_ON >/dev/null 2>&1 #echo "" > /var/tvout # The same applies to S3 cards for which you need to uncomment # the following lines. #s3switch -q tv $TVOUT_STANDARD >/dev/null 2>&1 #echo "" > /var/tvout exit 0 geexbox-0.98/config/init.d/umount0000755000175000017500000000053510106467316017273 0ustar aurelaurel00000000000000#!/bin/sh # # umount all mounted disks # umount samba shares for DIR in /mnt/share/*/*; do test -d "$DIR" && umount "$DIR" >/dev/null 2>&1 && rmdir -p "$DIR" done # when started with make exec, umount partitions if test -f /EXEC; then for DIR in /mnt/*; do test -d "$DIR" && umount "$DIR" >/dev/null 2>&1 done umount /proc fi exit 0 geexbox-0.98/config/issue0000644000175000017500000000002310106467316015674 0ustar aurelaurel00000000000000Welcome to GeeXboX geexbox-0.98/config/list_ext0000644000175000017500000000001410106467316016377 0ustar aurelaurel00000000000000pls m3u asx geexbox-0.98/config/options0000644000175000017500000000272510106467316016252 0ustar aurelaurel00000000000000# Target CPU (i586 or C3) CPU=i586 # Theme (xmas, halloween, movies, aqua, classic) THEME=movies # Default Langage (bg/br/cat/cz/de/en/es/fi/fr/hu/it/nl/po/ro/ru/se/sk) # for ru you will need to replace the theme ttf font by a KOI8R one. LANG=en # Remote to Use (pctv/logitech/hauppauge/realmagic/creative/leadtek/RM-S6/ # RX-V850/animax/packard_bell/atiusb/LG/D-10) REMOTE=atiusb # Remote receiver to use (animax/atiusb/creative/hauppauge/homemade/irman/ # leadtek/logitech/pctv/realmagic) RECEIVER=atiusb # Use Extra Binary Codecs - RealMedia/WindowsMedia 9 (yes/no) EXTRACODECS=no # Network Support (Samba shares and FTP Server) (yes/no) NETWORK=yes # Wireless network support (yes/no) WIFI=yes # Choose font type for OSD (truetype/bitmap) FONT=truetype # Add DirectFB support (EXPERIMENTAL) DIRECTFB=yes # Add DXR3/Hollywood+ support (EXPERIMENTAL) DXR3=yes # Add BT8x8 TV Card support (yes/no) BTTV=yes # Image viewer / dia show support (yes/no) VIEW_IMG=yes # Default timeout in seconds for dia show (0 to disable) VIEW_IMG_TIMEOUT=10 # enable debuging (build gdb...) DEBUG=no # Burning options # device (ex: 0,0,0). See the output of cdrecord -scanbus. BURNER=/dev/hda # blank the CD-RW before burning (yes/no) BLANK=yes # you can also pass options to cdrecord : CDRECORD_OPTS= # PXE boot options DEFAULT_NFS_SERVER=192.168.0.2 # read personal options if available test -f $HOME/.geexbox-options && . $HOME/.geexbox-options geexbox-0.98/config/path0000644000175000017500000000070210106467316015504 0ustar aurelaurel00000000000000GEEXBOX_VERSION=`cat VERSION` CONFIG=config SCRIPTS=scripts PACKAGES=packages SOURCES=sources BUILD=build DOCS=DOCS GENERATOR=generator INSTALLATOR=installator ROOT=`pwd` GEEXBOX_SRCS=http://www.geexbox.org/src/$GEEXBOX_VERSION [ "$GEEXBOX_VERSION" = cvs ] && GEEXBOX_VERSION=cvs-`date +%Y%m%d` ISO=geexbox-$GEEXBOX_VERSION GENERATOR_NAME=geexbox-generator-$GEEXBOX_VERSION INSTALLATOR_NAME=geexbox-installator-$GEEXBOX_VERSION PXE_NAME=geexbox-pxe geexbox-0.98/config/sort0000644000175000017500000000002310106467316015533 0ustar aurelaurel00000000000000isolinux.bin 10000 geexbox-0.98/config/tvcard0000644000175000017500000000106610106467316016037 0ustar aurelaurel00000000000000# # TV Card Options # # TV CARD/TUNER Model (AUTO for autodetection or look at the following urls) # http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.bttv # http://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.tuner TV_CARD=AUTO TV_TUNER=AUTO # TV Input Standard (ntsc/pal/secam) TVIN_STANDARD=pal # TV Channels # Syntax : CHAN="Channel Frequency:Channel Title" # Example: #CHAN="29:France 2" #CHAN="K08:Canal +" # TV Channels List # Available : france, europe-east, europe-west, us-bcast, us-cable CHANLIST=europe-west geexbox-0.98/config/tvout0000644000175000017500000000117110106467316015732 0ustar aurelaurel00000000000000# TVOut Configuration File # # Generic Options # # TV Output Standard (ntsc/pal/secam) TVOUT_STANDARD=pal # TV Output Aspect (4:3 or 16:9) TVOUT_ASPECT="4:3" # # NvTV Options - For n'Vidia cards ONLY # # Connector's Type (auto/composite/svideo/both/convert) CTR=CONVERT # TV Resolution (pixels) TV_RES="800,600" # Monitor's Resolution (pixels / frequency) MONITOR_RES="800x600@75" # Scan Size (Tiny/Small/Normal/Large/Huge) SCAN=Large # Image Position (TVPositionX/Y:+/-x,y) POSITION="TVPositionX:0,0" # Command line NVTV_ON="-t -c -S $TVOUT_STANDARD -r $TV_RES -s $SCAN -C $CTR --set $POSITION" NVTV_OFF="-m -s $MONITOR_RES" geexbox-0.98/scripts/0000755000175000017500000000000010106467317015051 5ustar aurelaurel00000000000000geexbox-0.98/scripts/build0000755000175000017500000000107010106467317016074 0ustar aurelaurel00000000000000#!/bin/sh . config/path if [ "$1" == "" ]; then echo "usage: $0 package_name" exit 1 fi $SCRIPTS/unpack $1 || exit 2 if [ -f .stamps/$1/build -a -f $PACKAGES/$1/need_build ]; then $PACKAGES/$1/need_build $@ fi if [ ! -f .stamps/$1/build ]; then rm -f .stamps/$1/build if [ -f $PACKAGES/$1/build ]; then $PACKAGES/$1/build $@ || exit 3 elif [ -f $BUILD/$1*/Makefile ]; then make -C $BUILD/$1* || exit 3 fi . $CONFIG/options for i in `sed -n "s/^\(.*\)=.*$/\1/p" $CONFIG/options`; do echo STAMP_$i=${!i} >> .stamps/$1/build done fi geexbox-0.98/scripts/burn0000755000175000017500000000036210106467317015746 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options if [ ! -f $ISO-$LANG.iso ]; then $SCRIPTS/iso || exit 1 fi if [ "$BLANK" = "yes" ]; then CDRECORD_OPTS="blank=fast $CDRECORD_OPTS" fi cdrecord dev=$BURNER $CDRECORD_OPTS -eject $ISO-$LANG.iso geexbox-0.98/scripts/checkdeps0000755000175000017500000000504310106467317016732 0ustar aurelaurel00000000000000#!/bin/sh . config/path deps="gcc g++ make patch nasm tar bzip2 gzip wget mkisofs mkzftree cdrecord perl" deps_pkg="gcc g++ make patch nasm tar bzip2 gzip wget mkisofs zisofs-tools cdrecord perl" files="/usr/include/stdio.h" files_pkg="libc6-dev" deps=($deps) deps_pkg=($deps_pkg) nb_deps=${#deps[*]} for ((i=0; i<$nb_deps; i++)); do [ -z "`which ${deps[$i]} 2>/dev/null`" ] && need="$need ${deps[$i]}" && need_pkg="$need_pkg ${deps_pkg[$i]}" done files=($files) files_pkg=($files_pkg) nb_files=${#files[*]} for ((i=0; i<$nb_files; i++)); do [ ! -f ${files[$i]} ] && need="$need ${files_pkg[$i]}" && need_pkg="$need_pkg ${files_pkg[$i]}" done if [ -n "$need" ]; then echo "**** Your system lacks the following tools needed to build GeeXboX ****" echo $need if [ -f /etc/debian_version -a -n "`which apt-get 2>/dev/null`" ]; then echo "**** You seem to use a debian system ****" if [ $UID -ne 0 ]; then echo "**** I could install those packages but you need to be root for this ****" exit 1 else read -p "would you like to apt-get install the needed tools ? (y/n) " ans need_pkg=`echo $need_pkg | sed s/zisofs-tools/mkisofs/` [ "$ans" = "y" ] && apt-get install $need_pkg || exit 1 fi elif [ -f /etc/mandrake-release -a -n "`which urpmi 2>/dev/null`" ]; then echo "**** You seem to use a mandrake system ****" if [ $UID -ne 0 ]; then echo "**** I could install those packages but you need to be root for this ****" exit 1 else read -p "would you like to urpmi the needed tools ? (y/n) " ans [ "$ans" = "y" ] && urpmi $need_pkg || exit 1 fi else echo "********" exit 1 fi fi need="" need_pkg="" for ((i=0; i<$nb_deps; i++)); do [ -z "`which ${deps[$i]} 2>/dev/null`" ] && need="$need ${deps[$i]}" && need_pkg="$need_pkg ${deps_pkg[$i]}" done for ((i=0; i<$nb_files; i++)); do [ ! -f "${files[$i]}" ] && need="$need ${files_pkg[$i]}" && need_pkg="$need_pkg ${files_pkg[$i]}" done if [ -n "$need" ]; then if [ "$need" = " mkzftree" ]; then echo "**** mkzftree was not installed correctly." echo "**** It is not included in debian woody." echo "**** You will need for example a sarge version of mkisofs." else echo "**** The following packages were not installed correctly ****" echo $need_pkg echo "********" fi exit 1 fi echo x > .sed.test sed -i s/x/y/ .sed.test >/dev/null 2>&1 if [ $? -ne 0 ]; then echo "**** Your sed is too old !" echo "**** you need a sed version which support the -i parameter" exit 1 fi rm -f .sed.test exit 0 geexbox-0.98/scripts/clean0000755000175000017500000000066210106467317016065 0ustar aurelaurel00000000000000#!/bin/sh . config/path clean () { rm -rf $BUILD/$1* if [ "$FULL" = true ]; then rm -rf .stamps/$1 rm -rf $SOURCES/$1 else rm -f .stamps/$1/unpack rm -f .stamps/$1/build rm -f .stamps/$1/install fi } if [ "$1" = "--full" ]; then FULL=true shift fi if [ "$1" = "" ]; then for i in $PACKAGES/*; do clean ${i#$PACKAGES}; done rm -rf $BUILD/iso rm -rf $BUILD/ziso rm -f $ISO else clean $1 fi geexbox-0.98/scripts/dist0000755000175000017500000000216410106467317015745 0ustar aurelaurel00000000000000#!/bin/sh . config/path NODIST="essential gdb termcap" GEEXDIR=geexbox-$GEEXBOX_VERSION [ "$1" == full ] && ( $SCRIPTS/get || exit 1 ) mkdir $GEEXDIR ln -s ../AUTHORS $GEEXDIR/AUTHORS ln -s ../README $GEEXDIR/README ln -s ../COPYING $GEEXDIR/COPYING ln -s ../VERSION $GEEXDIR/VERSION ln -s ../ChangeLog $GEEXDIR/ChangeLog ln -s ../Makefile $GEEXDIR/Makefile ln -s ../DOCS $GEEXDIR/DOCS ln -s ../$CONFIG $GEEXDIR/$CONFIG ln -s ../$SCRIPTS $GEEXDIR/$SCRIPTS ln -s ../$GENERATOR $GEEXDIR/$GENERATOR ln -s ../$INSTALLATOR $GEEXDIR/$INSTALLATOR ln -s ../$PACKAGES $GEEXDIR/$PACKAGES ln -s ../debian $GEEXDIR/debian if [ "$1" == full ]; then mkdir -p $GEEXDIR/$SOURCES for i in $SOURCES/*; do DIST=yes for j in $NODIST; do [ ${i##*/} = $j ] && DIST=no break done if [ $DIST = yes ]; then ln -s ../../$i $GEEXDIR/$i mkdir -p $GEEXDIR/.stamps/${i##*/} touch $GEEXDIR/.stamps/${i##*/}/get fi done tar chf $GEEXDIR-full.tar --exclude CVS --exclude .svn --exclude .arch-ids $GEEXDIR else tar chjf $GEEXDIR.tar.bz2 --exclude CVS --exclude .svn --exclude .arch-ids $GEEXDIR fi rm -rf $GEEXDIR geexbox-0.98/scripts/exec0000755000175000017500000000417010106467317015725 0ustar aurelaurel00000000000000#!/bin/sh ROOT=execroot mkdir -p $ROOT/dev/snd mkdir -p $ROOT/lib mkdir -p $ROOT/bin mkdir -p $ROOT/sbin mkdir -p $ROOT/proc mkdir -p $ROOT/mnt mkdir -p $ROOT/usr/sbin mkdir -p $ROOT/var/run mkdir -p $ROOT/var/log mkdir -p $ROOT/var/lock cp -r build/iso/GEEXBOX/sbin $ROOT cp -r build/iso/GEEXBOX/etc $ROOT cp -r build/iso/GEEXBOX/usr $ROOT cp -r build/iso/GEEXBOX/codecs $ROOT cp build/uClibc-*/build/lib/* $ROOT/lib ln -s libc.so.0 $ROOT/lib/libc.so.6 cp build/busybox-*/busybox $ROOT/bin cp config/init $ROOT/sbin ln -s busybox $ROOT/bin/sh touch $ROOT/etc/fstab touch $ROOT/EXEC sed -i 's%ok=\"halt\"/>%ok=\"halt\"/> %' $ROOT/etc/mplayer/menu.conf IFS=' ' for i in `cat ./packages/initrd/dev`; do mknod $ROOT`echo "$i" | cut -f3` `echo "$i" | cut -c1` `echo "$i" | cut -f2 | cut -f1 -d,` `echo "$i" | cut -f2 | cut -f2 -d,` done for i in `mount -l | grep -E "/dev/(hd|scd)" | cut -d' ' -f1,3,6`; do IFS=' ' i=($i) DEV=${i[0]##*/} if [ "$DEV" = "none" ]; then DEV=`echo "${i[2]}" | sed 's%.*dev=\(.*\)[,\)].*%\1%'` DEV=${DEV##*/} fi mkdir $ROOT/mnt/$DEV mount --bind ${i[1]} $ROOT/mnt/$DEV echo $DEV | grep scd >/dev/null 2>&1 if [ $? -eq 0 ]; then test ! -e $ROOT/dev/cdrom && ln -s /dev/$DEV $ROOT/dev/cdrom test ! -e $ROOT/dev/dvd && ln -s /dev/$DEV $ROOT/dev/dvd fi done for DEV in /dev/scd*; do DEV=${DEV##*/} if [ ! -d $ROOT/mnt/$DEV ]; then mkdir $ROOT/mnt/$DEV mount -t supermount -o dev=/dev/$DEV none $ROOT/mnt/$DEV >/dev/null 2>&1 if [ $? -eq 0 ]; then test ! -e $ROOT/dev/cdrom && ln -s /dev/$DEV $ROOT/dev/cdrom test ! -e $ROOT/dev/dvd && ln -s /dev/$DEV $ROOT/dev/dvd else rmdir $ROOT/mnt/$DEV fi fi done chroot $ROOT /sbin/init killall -9 mplayer >/dev/null 2>&1 killall -9 lircd >/dev/null 2>&1 [ -f $ROOT/log ] && cp $ROOT/log . for i in $ROOT/mnt/share/*; do test -d $i && umount $i >/dev/null 2>&1 rmdir $i done for i in $ROOT/mnt/*; do test -d $i && umount $i >/dev/null 2>&1 rmdir $i done for i in $ROOT/*; do if [ "$i" = "$ROOT/mnt" ]; then rmdir $i else rm -rf $i fi done rmdir $ROOT geexbox-0.98/scripts/generator0000755000175000017500000000136110106467317016766 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/checkdeps || exit 1 export INSTALL=$GENERATOR_NAME/iso/GEEXBOX rm -rf $GENERATOR_NAME $SCRIPTS/gentree generator full || exit 1 export INSTALL=$GENERATOR_NAME $SCRIPTS/install generator-win32 generator || exit 1 export INSTALL=$GENERATOR_NAME/win32 mkdir -p $INSTALL $SCRIPTS/install mkisofs-win32 generator || exit 1 cp $GENERATOR/generator.sh $GENERATOR_NAME cp $GENERATOR/generator.bat $GENERATOR_NAME cp -r $DOCS $GENERATOR_NAME rm -rf $GENERATOR_NAME/$DOCS/CVS cp $CONFIG/sort $GENERATOR_NAME/sort cp AUTHORS $GENERATOR_NAME/AUTHORS cp COPYING $GENERATOR_NAME/COPYING echo $GEEXBOX_VERSION-custom > $GENERATOR_NAME/VERSION tar czf $GENERATOR_NAME.tar.gz $GENERATOR_NAME rm -rf $GENERATOR_NAME geexbox-0.98/scripts/gentree0000755000175000017500000000234610106467317016435 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options if [ "$2" != boot ]; then mkdir -p $INSTALL/sbin mkdir -p $INSTALL/etc mkdir -p $INSTALL/codecs cp $CONFIG/init $INSTALL/sbin cp -r $CONFIG/init.d $INSTALL/etc cp $CONFIG/file_ext $INSTALL/etc cp $CONFIG/list_ext $INSTALL/etc cp $CONFIG/audio $INSTALL/etc $SCRIPTS/install linux modules $1 || exit 1 $SCRIPTS/install eject $1 || exit 1 $SCRIPTS/install alsa $1 || exit 1 $SCRIPTS/install tvout $1 || exit 1 $SCRIPTS/install setcd $1 || exit 1 $SCRIPTS/install MPlayer $1 || exit 1 $SCRIPTS/install installator $1 || exit 1 if [ "$NETWORK" = yes ]; then $SCRIPTS/install network $1 || exit 1; fi if [ "$DXR3" = yes ]; then $SCRIPTS/install em8300 $1 || exit 1; fi if [ "$VIEW_IMG" = yes ]; then $SCRIPTS/install fbi $1 || exit 1; fi if [ "$DEBUG" = yes ]; then $SCRIPTS/install gdb $1 || exit 1; fi if [ "$EXTRACODECS" = yes ]; then $SCRIPTS/install essential $1 || exit 1; fi tar cj -C $INSTALL -f $INSTALL/bin.tar.bz2 lib usr/bin usr/lib rm -rf $INSTALL/lib $INSTALL/usr/bin $INSTALL/usr/lib fi if [ "$2" = boot -o "$2" = full ]; then $SCRIPTS/install linux image $1 || exit 1 $SCRIPTS/install initrd $1 || exit 1 $SCRIPTS/install syslinux $1 || exit 1 fi geexbox-0.98/scripts/get0000755000175000017500000000120310106467317015552 0ustar aurelaurel00000000000000#!/bin/sh . config/path NOGET="gdb termcap" if [ "$1" == "" ]; then for i in $PACKAGES/*; do GET=yes for j in $NOGET; do [ ${i##*/} = $j ] && GET=no break done if [ $GET = yes ]; then $SCRIPTS/get ${i#$PACKAGES} || exit 1 fi done exit 0 fi mkdir -p .stamps/$1 if [ -f $PACKAGES/$1/url ]; then if [ -f .stamps/$1/get ]; then exit 0 fi mkdir -p $SOURCES/$1 for i in `sed s%GEEXBOX_SRCS%$GEEXBOX_SRCS% $PACKAGES/$1/url`; do wget --passive-ftp -c -P $SOURCES/$1 $i || exit 1 done touch .stamps/$1/get rm -f .stamps/$1/unpack rm -f .stamps/$1/build rm -f .stamps/$1/install fi geexbox-0.98/scripts/install0000755000175000017500000000042710106467317016450 0ustar aurelaurel00000000000000#!/bin/sh . config/path if [ "$1" == "" ]; then echo "usage: $0 package_name" exit 1 fi $SCRIPTS/build $@ || exit 2 if [ -f $PACKAGES/$1/install ]; then $PACKAGES/$1/install $@ || exit 3 else mkdir -p $INSTALL/usr/bin cp $BUILD/$1*/$1 $INSTALL/usr/bin || exit 4 fi geexbox-0.98/scripts/installator0000755000175000017500000000111610106467317017332 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/checkdeps || exit 1 export INSTALL=$INSTALLATOR_NAME/disk/GEEXBOX rm -rf $INSTALLATOR_NAME $SCRIPTS/gentree installator || exit 1 export INSTALL=$INSTALLATOR_NAME/disk $SCRIPTS/gentree installator boot || exit 1 cp $INSTALLATOR/installator.sh $INSTALLATOR_NAME cp -r $DOCS $INSTALLATOR_NAME cp AUTHORS $INSTALLATOR_NAME/AUTHORS cp COPYING $INSTALLATOR_NAME/COPYING cp VERSION $INSTALLATOR_NAME/VERSION sed -i s/.*busybox.*// $INSTALLATOR_NAME/installator.sh tar czf $INSTALLATOR_NAME.tar.gz $INSTALLATOR_NAME rm -rf $INSTALLATOR_NAME geexbox-0.98/scripts/iso0000755000175000017500000000121310106467317015566 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/checkdeps || exit 1 export INSTALL=$BUILD/iso/GEEXBOX rm -rf $BUILD/iso $SCRIPTS/gentree iso || exit 1 rm -rf $BUILD/ziso mkdir -p $BUILD/ziso mkzftree $INSTALL $BUILD/ziso/GEEXBOX export INSTALL=$BUILD/ziso/GEEXBOX $SCRIPTS/gentree iso boot || exit 1 mkisofs -quiet -no-pad -V GEEXBOX -volset GEEXBOX -P "The GeeXboX team (www.geexbox.org)" -p "The GeeXboX team (www.geexbox.org)" -A "MKISOFS ISO 9660/HFS FILESYSTEM BUILDER" -z -D -r -J -b GEEXBOX/boot/isolinux.bin -c GEEXBOX/boot/boot.catalog -sort $CONFIG/sort -no-emul-boot -boot-load-size 4 -boot-info-table $BUILD/ziso > $ISO-$LANG.iso geexbox-0.98/scripts/ldscript.xs0000644000175000017500000001426710106467317017263 0ustar aurelaurel00000000000000/* Script for ld --shared: link shared library */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("/usr/i386-linux/lib"); SEARCH_DIR("/usr/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); /* Do we need any of these for elf? __DYNAMIC = 0; */ SECTIONS { /* Read-only sections, merged into text segment: */ . = 0 + SIZEOF_HEADERS; .hash : { *(.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rel.init : { *(.rel.init) } .rela.init : { *(.rela.init) } .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rel.fini : { *(.rel.fini) } .rela.fini : { *(.rela.fini) } .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } .rel.ctors : { *(.rel.ctors) } .rela.ctors : { *(.rela.ctors) } .rel.dtors : { *(.rel.dtors) } .rela.dtors : { *(.rela.dtors) } .rel.got : { *(.rel.got) } .rela.got : { *(.rela.got) } .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0x90909090 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } =0x90909090 .fini : { KEEP (*(.fini)) } =0x90909090 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN (0x1000) - ((0x1000 - .) & (0x1000 - 1)); . = DATA_SEGMENT_ALIGN (0x1000, 0x1000); /* Ensure the __preinit_array_start label is properly aligned. We could instead move the label definition inside the section, but the linker would then create the section even if it turns out to be empty, which isn't pretty. */ . = ALIGN(32 / 8); .preinit_array : { *(.preinit_array) } .init_array : { *(.init_array) } .fini_array : { *(.fini_array) } .data : { *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .eh_frame : { KEEP (*(.eh_frame)) } .gcc_except_table : { *(.gcc_except_table) } .dynamic : { *(.dynamic) } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin*.o(.ctors)) /* We don't want to include the .ctor section from from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin*.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .got : { *(.got.plt) *(.got) } _edata = .; PROVIDE (edata = .); __bss_start = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. */ . = ALIGN(32 / 8); } . = ALIGN(32 / 8); _end = .; PROVIDE (end = .); . = DATA_SEGMENT_END (.); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /DISCARD/ : { *(.note.GNU-stack) } } geexbox-0.98/scripts/libstrip0000755000175000017500000000143610106467317016633 0ustar aurelaurel00000000000000#!/bin/sh . config/path LIB=$1 LIBA=$2 PROG=$3 SO=$4 PROG_SYMS=$5 LDSCRIPT="$ROOT/$SCRIPTS/ldscript.xs"; . config/path UCGCC=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc` echo -n "striping down $LIB ..." for i in $SO; do SO_SYMS="$SO_SYMS `nm --dynamic $i | sed -n 's/^........ [ABDGTW] \(..*\)/\1/p'`" done for i in $PROG; do if [ -f $i ]; then for j in `nm --dynamic $i | sed -n 's/^........ [BUV] \(..*\)/\1/p'`; do (echo "$SO_SYMS" | grep $j >/dev/null) || (echo "$PROG_SYMS" | grep $j >/dev/null) || PROG_SYMS="$PROG_SYMS $j" done fi done echo "INCLUDE $LDSCRIPT" > /tmp/ldscript for i in $PROG_SYMS; do echo "EXTERN($i)" >> /tmp/ldscript done $UCGCC -s -Wl,-warn-common -shared -o $LIB -Wl,-soname,`basename $LIB` -Wl,--script=/tmp/ldscript $LIBA echo " done" geexbox-0.98/scripts/md5sum0000755000175000017500000000031710106467317016212 0ustar aurelaurel00000000000000#!/bin/sh . config/path md5sum geexbox-$GEEXBOX_VERSION-*.iso geexbox-generator-$GEEXBOX_VERSION.tar.gz geexbox-$GEEXBOX_VERSION.tar.bz2 geexbox-$GEEXBOX_VERSION-full.tar > geexbox-$GEEXBOX_VERSION.md5sum geexbox-0.98/scripts/pxe0000755000175000017500000000026610106467317015577 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/checkdeps || exit 1 export INSTALL=$PXE_NAME/GEEXBOX rm -rf $PXE_NAME $SCRIPTS/gentree pxe full || exit 1 chmod -R +r $PXE_NAME geexbox-0.98/scripts/unpack0000755000175000017500000000227110106467317016262 0ustar aurelaurel00000000000000#!/bin/sh . config/path if [ "$1" == "" ]; then echo "usage: $0 package_name" exit 1 fi $SCRIPTS/get $1 || exit 2 mkdir -p $BUILD if [ -d $SOURCES/$1 ]; then if [ -f .stamps/$1/unpack -a -f $PACKAGES/$1/need_unpack ]; then $PACKAGES/$1/need_unpack $@ fi [ -f .stamps/$1/unpack ] && exit 0 rm -rf $BUILD/$1* if [ -f $SOURCES/$1/$1*.tar.bz2 ]; then rm -rf $BUILD/$1* tar xjf $SOURCES/$1/$1*.tar.bz2 -C $BUILD elif [ -f $SOURCES/$1/$1*.tar.gz ]; then rm -rf $BUILD/$1* tar xzf $SOURCES/$1/$1*.tar.gz -C $BUILD elif [ -f $SOURCES/$1/$1*.tgz ]; then rm -rf $BUILD/$1* tar xzf $SOURCES/$1/$1*.tgz -C $BUILD else echo "$0: unknown package type $1" exit 3 fi for i in $SOURCES/$1/patch-*.bz2; do if [ -f $i ]; then bzcat $i | patch -d $BUILD/$1* -p1 fi done for i in $SOURCES/$1/patch-*.gz; do if [ -f $i ]; then zcat $i | patch -d $BUILD/$1* -p1 fi done if [ -f $PACKAGES/$1/unpack ]; then $PACKAGES/$1/unpack $@ fi rm -f .stamps/$1/build rm -f .stamps/$1/install . $CONFIG/options for i in `sed -n "s/^\(.*\)=.*$/\1/p" $CONFIG/options`; do echo STAMP_$i=${!i} >> .stamps/$1/unpack done fi geexbox-0.98/generator/0000755000175000017500000000000010106467316015347 5ustar aurelaurel00000000000000geexbox-0.98/generator/generator.bat0000644000175000017500000000617210106467316020033 0ustar aurelaurel00000000000000@echo off REM Menu langage (bg/br/cat/cz/de/en/es/fi/fr/hu/it/nl/pl/ro/ru/se/sk) REM This have no effect on DVD language. REM See iso/GEEXBOX/etc/mplayer/mplayer.conf REM For ru, you will need to replace the ttf file in REM iso/GEEXBOX/usr/share/mplayer/font by a KOI8R ttf font. set LANG=en REM Remote to Use (pctv/logitech/hauppauge/realmagic/creative/leadtek/RM-S6/ REM RX-V850/animax/packard_bell/atiusb/LG/D-10) set REMOTE=atiusb REM Remote receiver to use (animax/atiusb/creative/hauppauge/homemade/irman/ REM leadtek/logitech/pctv/realmagic) set RECEIVER=atiusb REM You should not have to modify the rest of this file echo "" echo "######################################################################" echo "## You should NOT use this generator.bat. Use generator.exe instead ##" echo "######################################################################" echo "" if not exist ziso goto nothingtoremove echo "Removing old compressed tree..." if exist %windir%\command\deltree.exe deltree /y ziso >nul if not exist %windir%\command\deltree.exe rmdir /q /s ziso >nul :nothingtoremove echo "Applying settings..." echo %LANG% > iso\GEEXBOX\etc\lang copy language\help_%LANG%.txt iso\GEEXBOX\usr\share\mplayer\help_%LANG%.txt >nul copy language\menu_%LANG%.conf iso\GEEXBOX\etc\mplayer\menu_%LANG%.conf >nul set FONT=iso-8859-1 if %LANG%==cz set FONT=iso-8859-2 if %LANG%==hu set FONT=iso-8859-2 if %LANG%==pl set FONT=iso-8859-2 if %LANG%==ro set FONT=iso-8859-2 if %LANG%==sk set FONT=iso-8859-2 if %LANG%==bg set FONT=cp1251 if %LANG%==ru set FONT=koi8r md iso\GEEXBOX\usr\share\mplayer\font\%FONT% copy font\%FONT%\* iso\GEEXBOX\usr\share\mplayer\font\%FONT% >nul copy lirc\lircrc_%REMOTE% iso\GEEXBOX\etc\lircrc >nul copy lirc\lircd_%RECEIVER% iso\GEEXBOX\etc\lircd >nul copy lirc\lircd_%REMOTE%.conf iso\GEEXBOX\etc\lircd.conf >nul echo "Building compressed tree..." md ziso >nul win32\mkzftree iso\GEEXBOX ziso\GEEXBOX >nul if exist %windir%\command\deltree.exe deltree /y ziso\GEEXBOX\boot\* iso\GEEXBOX\usr\share\mplayer\help_%LANG%.txt iso\GEEXBOX\etc\mplayer\menu_%LANG%.conf iso\GEEXBOX\usr\share\mplayer\font\%FONT% iso\GEEXBOX\etc\lirc* >nul if not exist %windir%\command\deltree.exe del /f /q ziso\GEEXBOX\boot\* iso\GEEXBOX\usr\share\mplayer\help_%LANG%.txt iso\GEEXBOX\etc\mplayer\menu_%LANG%.conf iso\GEEXBOX\usr\share\mplayer\font\%FONT% iso\GEEXBOX\etc\lirc* copy iso\GEEXBOX\boot\* ziso\GEEXBOX\boot >nul echo "Copying additionnal files..." xcopy /d /e iso\* ziso >nul echo "Generating iso..." win32\mkisofs -quiet -no-pad -V GEEXBOX -volset GEEXBOX -P "The GeeXboX team (www.geexbox.org)" -p "The GeeXboX team (www.geexbox.org)" -A "MKISOFS ISO 9660/HFS FILESYSTEM BUILDER" -z -f -D -r -J -b GEEXBOX/boot/isolinux.bin -c GEEXBOX/boot/boot.catalog -sort sort -no-emul-boot -boot-load-size 4 -boot-info-table ziso > geexbox-custom.iso echo "Cleaning tree..." if exist %windir%\command\deltree.exe deltree /y ziso >nul if not exist %windir%\command\deltree.exe rmdir /q /s ziso >nul echo. echo **** Your customized GeeXboX iso is ready **** echo. geexbox-0.98/generator/generator.sh0000755000175000017500000000732510106467316017703 0ustar aurelaurel00000000000000#!/bin/sh # Menu langage (bg/br/cat/cz/de/en/es/fi/fr/hu/it/nl/pl/ro/ru/se/sk) # This have no effect on DVD language. See iso/GEEXBOX/etc/mplayer/mplayer.conf # For ru, you will need to replace the ttf file in # iso/GEEXBOX/usr/share/mplayer/font by a KOI8R ttf font. LANG=en # Remote to Use (pctv/logitech/hauppauge/realmagic/creative/leadtek/RM-S6/ # RX-V850/animax/packard_bell/atiusb/LG/D-10) REMOTE=atiusb # Remote receiver to use (animax/atiusb/creative/hauppauge/homemade/irman/ # leadtek/logitech/pctv/realmagic) RECEIVER=atiusb # You should not have to modify the rest of this file if [ -z "`which mkisofs`" -o -z "`which mkzftree`" ]; then echo "" echo "**** You need to have mkisofs and mkzftree installed ****" echo "" exit 1 fi if [ -d ./iso -a -d ./lirc -a -d ./language ]; then TMPDIR="." GEEXBOX_DIR="." elif [ -d /usr/share/geexbox-generator ]; then TMPDIR="/tmp/geexbox-generator" GEEXBOX_DIR="/usr/share/geexbox-generator" else echo "" echo "**** GeeXboX files not found ****" echo "" exit 1 fi OUTPUT=geexbox-`cat $GEEXBOX_DIR/VERSION`.iso W32CODECS_DIR=/usr/lib/win32 if [ -e /etc/geexbox-generator.conf ]; then . /etc/geexbox-generator.conf; fi if [ -e ~/.geexbox-generator ]; then . ~/.geexbox-generator.conf; fi [ -d $W32CODECS_DIR ] && W32CODECS_USAGE=" [-w|--with-w32codecs]" usage() { cat << EOF Usage: $0 [-h|--help]$W32CODECS_USAGE [-o file.iso] EOF exit 1 } while [ $# -ne 0 ]; do case $1 in --help|-h) usage ;; --with-w32codecs|-w) [ -d /usr/lib/win32 ] && W32CODECS=1 ;; -o) OUTPUT=$2 shift ;; *) echo "Invalid option: $1" >&2 exit 1 ;; esac shift || true done if [ $TMPDIR = "." ]; then rm -rf $TMPDIR/ziso else rm -rf $TMPDIR fi mkdir -p $TMPDIR/ziso [ ! -d $TMPDIR/iso ] && cp -r $GEEXBOX_DIR/iso $TMPDIR/iso echo $LANG > $TMPDIR/iso/GEEXBOX/etc/lang cp $GEEXBOX_DIR/language/help_$LANG.txt $TMPDIR/iso/GEEXBOX/usr/share/mplayer/ cp $GEEXBOX_DIR/language/menu_$LANG.conf $TMPDIR/iso/GEEXBOX/etc/mplayer/ if [ $LANG = cz -o $LANG = hu -o $LANG = pl -o $LANG = ro -o $LANG = sk ]; then cp -r $GEEXBOX_DIR/font/iso-8859-2 $TMPDIR/iso/GEEXBOX/usr/share/mplayer/font/ elif [ $LANG = bg ]; then cp -r $GEEXBOX_DIR/font/cp1251 $TMPDIR/iso/GEEXBOX/usr/share/mplayer/font/ elif [ $LANG = ru ]; then cp -r $GEEXBOX_DIR/font/koi8r $TMPDIR/iso/GEEXBOX/usr/share/mplayer/font/ else cp -r $GEEXBOX_DIR/font/iso-8859-1 $TMPDIR/iso/GEEXBOX/usr/share/mplayer/font/ fi cp $GEEXBOX_DIR/lirc/lircrc_$REMOTE $TMPDIR/iso/GEEXBOX/etc/lircrc cp $GEEXBOX_DIR/lirc/lircd_$RECEIVER $TMPDIR/iso/GEEXBOX/etc/lircd cp $GEEXBOX_DIR/lirc/lircd_$REMOTE.conf $TMPDIR/iso/GEEXBOX/etc/lircd.conf [ -n "$W32CODECS" ] && ln -s $W32CODECS_DIR/* $TMPDIR/iso/GEEXBOX/codecs/ mkzftree $TMPDIR/iso/GEEXBOX $TMPDIR/ziso/GEEXBOX rm -f $TMPDIR/iso/GEEXBOX/usr/share/mplayer/help.txt rm -f $TMPDIR/iso/GEEXBOX/etc/mplayer/menu.conf rm -f $TMPDIR/iso/GEEXBOX/usr/share/mplayer/font/font.desc rm -f $TMPDIR/iso/GEEXBOX/usr/share/mplayer/font/*.raw rm -f $TMPDIR/iso/GEEXBOX/etc/lirc* cp -rf $TMPDIR/iso/GEEXBOX/boot/* $TMPDIR/ziso/GEEXBOX/boot for i in $TMPDIR/iso/*; do [ "$i" != $TMPDIR/iso/GEEXBOX ] && ln -s "../$i" $TMPDIR/ziso done mkisofs -quiet -no-pad -V GEEXBOX -volset GEEXBOX -P "The GeeXboX team (www.geexbox.org)" -p "The GeeXboX team (www.geexbox.org)" -A "MKISOFS ISO 9660/HFS FILESYSTEM BUILDER" -z -f -D -r -J -b GEEXBOX/boot/isolinux.bin -c GEEXBOX/boot/boot.catalog -sort $GEEXBOX_DIR/sort -no-emul-boot -boot-load-size 4 -boot-info-table $TMPDIR/ziso > $OUTPUT if [ $TMPDIR = "." ]; then rm -rf $TMPDIR/ziso else rm -rf $TMPDIR fi echo "" echo "**** Your customized GeeXboX iso is ready ****" echo "" geexbox-0.98/installator/0000755000175000017500000000000010106467316015715 5ustar aurelaurel00000000000000geexbox-0.98/installator/installator.sh0000755000175000017500000002063410106467316020615 0ustar aurelaurel00000000000000#!/bin/sh /bin/busybox mount -t proc none /proc /bin/busybox --install -s if [ "$1" = geexbox ]; then DIALOG=/usr/bin/dialog CFDISK=/usr/bin/cfdisk SFDISK=/usr/bin/sfdisk MKDOSFS=/usr/bin/mkdosfs SYSLINUX=/usr/bin/syslinux else DIALOG="" [ "$1" != --nodialog ] && DIALOG=`which dialog` CFDISK=`which cfdisk` SFDISK=`which sfdisk` MKDOSFS=`which mkdosfs` SYSLINUX=`which syslinux` fi VERSION=`cat VERSION` BACKTITLE="GeeXboX $VERSION installator" if [ "$UID" != "0" ]; then if [ -n "$DIALOG" ]; then $DIALOG --aspect 15 --backtitle "$BACKTITLE" --title "ERROR" --msgbox "\nYou need to be root to install GeeXboX\n" 0 0 else echo "" echo "**** You need to be root to install GeeXboX ****" echo "" fi exit 1 fi if [ -z "$SFDISK" -o -z "$SYSLINUX" ]; then if [ -n "$DIALOG" ]; then $DIALOG --aspect 15 --backtitle "$BACKTITLE" --title "ERROR" --msgbox "\nYou need to have syslinux and sfdisk installed to install GeeXboX\n" 0 0 else echo "" echo "**** You need to have syslinux and sfdisk installed to install GeeXboX ****" echo "" fi exit 1 fi if [ -n "$DIALOG" ]; then while true; do if [ -e /dev/.devfsd ]; then DISKS=`cat /proc/partitions | sed -n "s/\ *[0-9][0-9]*\ *[0-9][0-9]*\ *\([0-9][0-9]*\)\ \([a-z0-9/]*disc\).*$/\2 (\1_blocks)/p"` else DISKS=`cat /proc/partitions | sed -n "s/\ *[0-9][0-9]*\ *[0-9][0-9]*\ *\([0-9][0-9]*\)\ \([a-z]*\)$/\2 (\1_blocks)/p"` fi if [ -z "$DISKS" ]; then $DIALOG --aspect 15 --backtitle "$BACKTITLE" --title "ERROR" --yesno "\nNo disks found on this system.\nCheck again?" 0 0 || exit 1 else DISKS="$DISKS refresh list" if [ -z "$CFDISK" ]; then CFDISK_MSG="As you don't have cfdisk installed, the installator won't be able to create the partition for you. You'll have to create it yourself before installing." else CFDISK_MSG="You can now edit your partition table to create a FAT16 partition (type=06). Be careful to choose the right disk! We won't take responsibility for any data loss." fi DISK=`$DIALOG --stdout --backtitle "$BACKTITLE" --title "Installation device" --menu "\nYou are going to install GeeXboX. For this you will need a PRIMARY FAT16 partition (hdX1 to hdX4) with about 8 MB of free space (max. 1 GB). It WON'T work with FAT32 or ext2 partitions.\n$CFDISK_MSG" 0 0 0 $DISKS` || exit 1 [ $DISK != refresh ] && break fi done if [ -n "$CFDISK" ]; then $CFDISK /dev/$DISK || exit 1 fi else echo "" echo "You are going to install GeeXboX. For this you will need a PRIMARY" echo "FAT16 partition (hdX1 to hdX4) with about 8 MB of free space (max 1 GB)" echo "It WON'T work with FAT32 or ext2 partitions." echo "This installator won't create the partition. You'll have to create it" echo "yourself before installing. Be careful when choosing the partition" echo "where to install! We won't take responsibility for any data loss." echo "" fi while [ ! -b "$DEV" ]; do if [ -n "$DIALOG" ]; then DISKS="" for i in `$SFDISK -l /dev/$DISK | grep FAT16 | grep ${DISK%disc} | cut -f1 -d' '`; do S=`$SFDISK -s "$i" | sed 's/\([0-9]*\)[0-9]\{3\}/\1/'` DISKS="$DISKS $i ${S}MB" done if [ -z "$DISKS" ]; then $DIALOG --aspect 15 --backtitle "$BACKTITLE" --title "ERROR" --msgbox "\nYou don't have any FAT16 partitions on your system. Please create a FAT16 partition first using for example cfdisk.\n" 0 0 exit 1 else DEV=`$DIALOG --stdout --aspect 15 --backtitle "$BACKTITLE" --title "Installation device" --menu "Where do you want to install GeeXboX?" 0 0 0 $DISKS` || exit 1 fi else read -p "Where do you want to install GeeXboX? (eg: /dev/hda1) " DEV echo "" fi if [ ! -b "$DEV" ]; then if [ -n "$DIALOG" ]; then $DIALOG --aspect 15 --backtitle "$BACKTITLE" --title "ERROR" --msgbox "\n'$DEV' is not a valid block device.\n" 0 0 else echo "" echo "**** '$DEV' is not a valid block device ****" echo "" exit 1 fi fi done if [ -z "$MKDOSFS" ]; then if [ -n "$DIALOG" ]; then $DIALOG --aspect 15 --backtitle "$BACKTITLE" --title "Warning" --msgbox "\n'$DEV' needs to be a FAT16 partition. As you don't have mkdosfs installed, I won't be able to format the partition. Hopefully it is already formatted.\n" 0 0 else echo "'$DEV' needs to be a FAT16 partition." echo "As you don't have mkdosfs installed, I won't be able to format the" echo "partition. Hopefully it is already formatted." fi else if [ -n "$DIALOG" ]; then $DIALOG --aspect 15 --backtitle "$BACKTITLE" --title "Formatting" --defaultno --yesno "\nDo you want to format '$DEV' in FAT16?\n" 0 0 && FORMAT=yes else read -p "Do you want to format '$DEV' in FAT16? (yes/no) " FORMAT fi fi echo "" [ "$FORMAT" = yes ] && $MKDOSFS -n GEEXBOX "$DEV" mkdir di mount -t vfat "$DEV" di if [ -d disk ]; then cp -a disk/* di 2>/dev/null else if [ -n "$NFS" ]; then GEEXBOX="$NFS" else GEEXBOX="$CDROM/GEEXBOX" fi cp -a "$GEEXBOX" di/GEEXBOX 2>/dev/null mv di/GEEXBOX/boot/* di rm di/isolinux.bin fi sed "s/boot=cdrom/boot=${DEV#/dev/}/" di/isolinux.cfg > di/syslinux.cfg rm di/isolinux.cfg umount di $SYSLINUX "$DEV" mount -t vfat "$DEV" di dd if="$DEV" of=di/geexbox.lnx count=1 bs=512 umount di rmdir di if [ -n "$DIALOG" ]; then `$DIALOG --backtitle "$BACKTITLE" --title "Bootloader" --defaultno --yesno "\n'$DEV' is now a bootable partition. To boot from it, you will need to install a bootloader. If you don't have any other operating systems on this hard disk, I can install a bootloader for you. Else, you will need to configure yourself a boot loader, such as LILO or GRUB.\n\nDo you want to install a single system bootloader?\n" 0 0` && MBR=yes else echo "" echo "'$DEV' is now a bootable partition. To boot from it, you will need to" echo "install a bootloader. If you don't have any other operating systems on" echo "this hard disk, I can install a bootloader for you. Else, you will" echo "need to configure yourself a boot loader, such as LILO or GRUB." echo "" read -p "Do you want to install a single system bootloader? (yes/no) " MBR fi PART="${DEV#${DEV%%[0-9]*}}" if [ "$MBR" = yes ]; then if [ -f mbr.bin ]; then dd if=mbr.bin of="/dev/$DISK" elif [ -f /usr/share/syslinux/mbr.bin ]; then dd if=/usr/share/syslinux/mbr.bin of="/dev/$DISK" fi echo ",,,*" | $SFDISK "/dev/$DISK" -N$PART else GRUBDISK=`echo $DISK | sed 's/.*\(.\)$/\1/ ; y/abcdefghij/0123456789/'` GRUBPART=`echo $PART | sed 'y/12345678/01234567/'` GRUBDEV="(hd$GRUBDISK,$GRUBPART)" if [ -n "$DIALOG" ]; then $DIALOG --aspect 15 --backtitle "$BACKTITLE" --title "Bootloader" --msgbox "\nYou can configure LILO to boot GeeXboX simply by adding these lines at the end of your /etc/lilo.conf :\n other=$DEV\n label=GeeXboX\nDon't forget to execute lilo after doing this modification.\n\nOr if you use GRUB, add something along these lines to your /boot/grub/menu.lst:\n title GeeXboX\n rootnoverify $GRUBDEV\n chainloader /geexbox.lnx\n\nWindows users must copy geexbox.lnx to their C:\ drive and add the\nfollowing line to the boot.ini file to use with the NT Loader.\n c:\geexbox.lnx=\"GeeXboX\"\n\nOr you can have a look at a separate boot loader such as XOSL (http://www.ranish.com/part/xosl.htm)." 0 0 else echo "" echo "You can configure LILO to boot GeeXboX simply by adding these" echo "lines at the end of your /etc/lilo.conf:" echo "" echo " other=$DEV" echo " label=GeeXboX" echo "" echo "Don't forget to execute lilo after doing this modification." echo "" echo "Or if you use GRUB, add something along these lines to your" echo "/boot/grub/menu.lst:" echo "" echo " title GeeXboX" echo " rootnoverify $GRUBDEV" echo " chainloader /geexbox.lnx" echo "" echo "Windows users must copy geexbox.lnx to their C:\ drive and add the " echo "following line to the boot.ini file to use with the NT Loader." echo "" echo " c:\geexbox.lnx=\"GeeXboX\"" echo "" echo "Or you can have a look at a separate boot loader such as XOSL" echo "(http://www.ranish.com/part/xosl.htm)." fi fi [ -n "$CDROM" ] && eject & if [ -n "$DIALOG" ]; then $DIALOG --aspect 15 --backtitle "$BACKTITLE" --title "Have Fun!" --msgbox "\nGeeXboX is now installed on '$DEV'\n" 0 0 else echo "" echo "**** GeeXboX is now installed on '$DEV'. Have fun! ****" echo "" fi geexbox-0.98/packages/0000755000175000017500000000000010106467317015140 5ustar aurelaurel00000000000000geexbox-0.98/packages/DirectFB/0000755000175000017500000000000010106467316016561 5ustar aurelaurel00000000000000geexbox-0.98/packages/DirectFB/build0000755000175000017500000000151710106467316017612 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build linux || exit 1 CWD=`pwd` UCBIN=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin` export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ cd $BUILD/DirectFB-* && \ CC=$UCBIN/gcc CFLAGS="-Os -isystem=`ls -d $ROOT/$BUILD/linux-*/include`" ./configure --prefix=/usr --without-static --enable-fbdev --disable-text --disable-sdl --disable-jpeg --disable-png --disable-gif --disable-freetype --disable-libmpeg3 --disable-video4linux --enable-linux-input --disable-mutouch --with-gfxdrivers=tdfx --disable-extra-warnings --disable-profiling --disable-debug --disable-trace --without-tools --host=i386-linux-gnu && \ make && \ strip src/.libs/*.so* gfxdrivers/*/.libs/*.so inputdrivers/*/.libs/*.so src/core/fbdev/.libs/*.so && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/DirectFB/install0000755000175000017500000000237510106467316020164 0ustar aurelaurel00000000000000#!/bin/sh . config/path CWD=`pwd` cd $BUILD/DirectFB-* && \ export DFB_MAJOR_VERSION=`sed -n 's/DIRECTFB_MAJOR_VERSION=\(.*\)/\1/p' configure.in` && \ export DFB_MINOR_VERSION=`sed -n 's/DIRECTFB_MINOR_VERSION=\(.*\)/\1/p' configure.in` && \ export DFB_MICRO_VERSION=`sed -n 's/DIRECTFB_MICRO_VERSION=\(.*\)/\1/p' configure.in` && \ export DFB_VERSION=$DFB_MAJOR_VERSION.$DFB_MINOR_VERSION.$DFB_MICRO_VERSION && \cd "$CWD" mkdir -p $INSTALL/usr/lib/directfb-$DFB_VERSION/gfxdrivers cp $BUILD/DirectFB*/src/.libs/*.so.?? $INSTALL/usr/lib || exit 1 cp $BUILD/DirectFB*/gfxdrivers/*/.libs/*.so $INSTALL/usr/lib/directfb-$DFB_VERSION/gfxdrivers || exit 1 mkdir -p $INSTALL/usr/lib/directfb-$DFB_VERSION/inputdrivers cp $BUILD/DirectFB*/inputdrivers/keyboard/.libs/libdirectfb_keyboard.so $INSTALL/usr/lib/directfb-$DFB_VERSION/inputdrivers || exit 1 cp $BUILD/DirectFB*/inputdrivers/linux_input/.libs/libdirectfb_linux_input.so $INSTALL/usr/lib/directfb-$DFB_VERSION/inputdrivers || exit 1 cp $BUILD/DirectFB*/inputdrivers/lirc/.libs/libdirectfb_lirc.so $INSTALL/usr/lib/directfb-$DFB_VERSION/inputdrivers || exit 1 mkdir -p $INSTALL/usr/lib/directfb-$DFB_VERSION/systems cp $BUILD/DirectFB*/src/core/fbdev/.libs/*.so $INSTALL/usr/lib/directfb-$DFB_VERSION/systems || exit 1 geexbox-0.98/packages/DirectFB/unpack0000755000175000017500000000027010106467316017767 0ustar aurelaurel00000000000000#!/bin/sh . config/path sed -i s/sonypi=yes/sonypi=no/ $BUILD/DirectFB*/configure sed -i s/wm97xx_ts=yes/wm97xx_ts=no/ $BUILD/DirectFB*/configure chmod +x $BUILD/DirectFB*/configure geexbox-0.98/packages/DirectFB/url0000644000175000017500000000010110106467316017276 0ustar aurelaurel00000000000000http://www.directfb.org/download/DirectFB/DirectFB-0.9.20.tar.gz geexbox-0.98/packages/MPlayer/0000755000175000017500000000000010106467316016510 5ustar aurelaurel00000000000000geexbox-0.98/packages/MPlayer/build0000755000175000017500000001440310106467316017537 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build lirc || exit 1 $SCRIPTS/build libogg || exit 1 $SCRIPTS/build libvorbis || exit 1 $SCRIPTS/build libdts || exit 1 $SCRIPTS/build cdparanoia || exit 1 $SCRIPTS/build zlib || exit 1 $SCRIPTS/build alsa || exit 1 GCC=`which gcc` if [ "$BTTV" = "yes" ]; then BTTV_CONFIG="--enable-tv --disable-tv-v4l --enable-tv-v4l2 --disable-tv-bsdbt848" else BTTV_CONFIG="--disable-tv --disable-tv-v4l --disable-tv-v4l2 --disable-tv-bsdbt848" fi if [ "$DXR3" = "yes" ]; then $SCRIPTS/build em8300 || exit 1 DXR3_CONFIG="--enable-qtx --enable-dxr3 --enable-ossaudio" DXR3_INC="-I`ls -d $ROOT/$BUILD/em8300-*/include`" DXR3_LIBS="-L`ls -d $ROOT/$BUILD/em8300-*/libdxr3/.libs`" else DXR3_CONFIG="--disable-qtx --disable-dxr3 --disable-ossaudio" DXR3_INC="" DXR3_LIBS="" fi if [ "$DIRECTFB" = "yes" ]; then $SCRIPTS/build DirectFB || exit 1 DFB_CONFIG="--enable-directfb" DFB_LIBS="-L`ls -d $ROOT/$BUILD/DirectFB-*/src/.libs`" export _inc_directfb="-I`ls -d $ROOT/$BUILD/DirectFB-*/include`" export PATH="`ls -d $ROOT/$BUILD/uClibc*/build/usr/bin`:$PATH" export LD_LIBRARY_PATH="`ls -d $ROOT/$BUILD/DirectFB-*/src/.libs`" else DFB_CONFIG="--disable-directfb" DFB_LIBS="" fi if [ "$FONT" = "truetype" ]; then $SCRIPTS/build freetype || exit 1 FT_CONFIG="`ls -d $ROOT/$BUILD/freetype-*/build/bin/freetype-config`" TT_CONFIG="--enable-iconv --enable-freetype --with-freetype-config=$FT_CONFIG" TT_LIBS=`$FT_CONFIG --libtool | sed s/libfreetype\\.la/libfreetype.a/` else TT_CONFIG="--disable-iconv --disable-freetype" TT_LIBS="" fi if [ $DEBUG = "yes" ]; then OPTS="--enable-debug=3" fi UCBIN=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin` CWD=`pwd` cd `ls -d $BUILD/MPlayer-*` && \ ./configure $OPTS \ --prefix=/usr \ --confdir=/etc/mplayer \ $DXR3_CONFIG \ --disable-mencoder \ --disable-gui \ --enable-largefiles \ --disable-linux-devfs \ --disable-termcap \ --disable-setlocale \ --enable-lirc \ --disable-lircc \ --enable-joystick \ $BTTV_CONFIG \ --disable-edl \ --enable-rtc \ --enable-network \ --disable-winsock2 \ --disable-smb \ --disable-live \ --disable-dvdread \ --enable-mpdvdkit \ --enable-cdparanoia \ $TT_CONFIG \ --disable-fontconfig \ --enable-unrarlib \ --enable-menu \ --disable-sortsub \ --disable-fribidi \ --disable-macosx \ --disable-inet6 \ --disable-gethostbyname2 \ --disable-ftp \ --disable-gif \ --disable-png \ --disable-jpeg \ --disable-liblzo \ --enable-win32 \ --enable-dshow \ --disable-xanim \ --enable-real \ --with-reallibdir=/codecs \ --with-win32libdir=/codecs \ --disable-xvid \ --disable-divx4linux \ --disable-opendivx \ --enable-libavcodec \ --disable-libfame \ --enable-vorbis \ --disable-tremor \ --disable-theora \ --enable-internal-matroska \ --disable-external-faad \ --enable-internal-faad \ --disable-libdv \ --disable-mad \ --enable-libdts \ --enable-vidix --disable-gl \ --disable-dga \ --enable-vesa \ --disable-svga \ --disable-sdl \ --disable-aa \ --disable-ggi \ --disable-directx \ --disable-dxr2 \ --disable-dvb \ --disable-dvbhead \ --disable-mga \ --disable-xmga \ --disable-xv \ --disable-xvmc \ --disable-vm \ --disable-xinerama \ --disable-x11 \ --disable-fbdev \ --disable-mlib \ --disable-3dfx \ --disable-tdfxfb \ $DFB_CONFIG \ --disable-zr \ --disable-bl \ --disable-tdfxvid \ --disable-tga \ --disable-arts \ --disable-esd \ --enable-alsa \ --disable-sunaudio \ --disable-nas \ --disable-win32waveout \ --disable-select \ --enable-runtime-cpudetection \ --cc=$UCBIN/gcc \ --language=en \ --disable-i18n \ --disable-dynamic-plugins \ --disable-additional-filters \ --with-dtsincdir="`ls -d $ROOT/$BUILD/libdts*/include`" \ --with-dtslibdir="`ls -d $ROOT/$BUILD/libdts*/libdts`" \ --with-cdparanoiaincdir="`ls -d $ROOT/$BUILD/cdparanoia-*/paranoia`" \ --with-cdparanoialibdir="`ls -d $ROOT/$BUILD/cdparanoia-*/paranoia`" \ --with-extraincdir="`ls -d $ROOT/$BUILD/lirc-*` -I`ls -d $ROOT/$BUILD/libogg-*/include` -I`ls -d $ROOT/$BUILD/libvorbis-*/include` -I`ls -d $ROOT/$BUILD/zlib-*` -I`ls -d $ROOT/$BUILD/alsa-lib-*/include` $DXR3_INC" \ --with-extralibdir="`ls -d $ROOT/$BUILD/lirc-*/lirc/.libs` -L`ls -d $ROOT/$BUILD/libogg-*/src/.libs` -L`ls -d $ROOT/$BUILD/libvorbis-*/lib/.libs` -L`ls -d $ROOT/$BUILD/zlib-*` -L`ls -d $ROOT/$BUILD/alsa-lib-*/src/.libs` $DXR3_LIBS $TT_LIBS $DFB_LIBS" && \ sed -i s/-lnsl// config.mak && \ sed -i s/.*USE_MP3LIB.*// config.h && \ sed -i s/.*USE_LIBMPEG2.*// config.h && \ sed -i 's/.*HAVE_VSSCANF.*/#define HAVE_VSSCANF 1/' config.h && \ sed -i 's/.*HAVE_LRINTF.*/#define HAVE_LRINTF 1/' config.h && \ make version.h && \ $GCC -O4 -Iloader -I. codec-cfg.c mp_msg.c -o codec-cfg -DCODECS2HTML && \ export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ export LD="$UCBIN/ld --dynamic-linker /lib/ld-uClibc.so.0" && \ make OPTFLAGS="-Os -mcpu=pentium -march=pentium -DHAVE_MPLAYER -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__USE_EXTERN_INLINES -DFIXED_POINT" && \ ([ $DEBUG = "yes" ] || strip mplayer libdha/libdha.so vidix/drivers/*.so) && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/MPlayer/cpd0000755000175000017500000000101110106467316017175 0ustar aurelaurel00000000000000#!/bin/sh FIFO=/var/cp_fifo DIR= RM= mkfifo $FIFO 2>/dev/null while true; do read CMD FILE < $FIFO case "$CMD" in cd) DIR=$FILE [ -d "$DIR" ] || DIR=${DIR%/[^/]*} ;; cp) [ -z "$DIR" ] && continue rw "$DIR" cp "$FILE" "$DIR" ro "$DIR" ;; rm) RM=$FILE ;; rmok) if [ "$FILE" = "$RM" ]; then rw "$FILE" rm "$FILE" ro "$FILE" fi RM= ;; exit) break; ;; esac done rm $FIFO geexbox-0.98/packages/MPlayer/help_bg.txt0000644000175000017500000000064110106467316020652 0ustar aurelaurel00000000000000 m : / o : OSD s : - v : / : / : / : 6x : 6x +/- : +/- 100ms O/9 : +/- 1 d : c : r : o : p : geexbox-0.98/packages/MPlayer/help_br.txt0000644000175000017500000000100610106467316020661 0ustar aurelaurel00000000000000COMANDOS UTEIS m : Mostra/Esconde o Menu o : Mostra o Tempo de Reproducao s : Ativa Saida para TV v : Mostra/Esconde Legenda Esquerda : Cancela / Retorna Direita : Ok / Avanca Para Cima : Rebobinar 6x Para Baixo : Avancar 6x +/- : Atraso de Audio +/- 100ms O/9 : Volume +/- 1 COMANDOS DE SELECAO DE ARQUIVOS d : configura diretorio de destino c : copiar para o destino r : pedir para remover arquivo o : confirmar remocao de arquivo p : reproduzir todo diretorio l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_cat.txt0000644000175000017500000000076710106467316021042 0ustar aurelaurel00000000000000TECLES UTILS m : Mostrar/Ocultar el Menu o : Mostrar temporitzador OSD s : Conmutar sortida a TV v : Mostrar/Ocultar Subtituls Esquerra : Cancel.lar / Endarrere Dreta : Aceptar / Endavant Avall : Endarrere 6x Amunt : Endavant 6x +/- : Retard del so +/- 100ms O/9 : Volum +/- 1 TECLES EN SELECCIO D'ARXIUS d : establir directori desti c : copiar a desti r : eliminar arxiu o : confirmar eliminacio d'arxius p : reproduir directori complet l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_cz.txt0000644000175000017500000000065710106467316020705 0ustar aurelaurel00000000000000UZITOCNE PRIKAZY m : Zobraz/Skryj menu o : Zobraz OSD casovac s : Prepni TV vystup Left : Zrusit / Vzad Right : OK / Vpred Down : Posun vpred 6x Up : Posun vzad 6x +/- : Zpozdeni zvuku +/- 100ms O/9 : Hlasitost +/- 1 COMMANDS IN FILE SELECTION d : set destination directory c : copy to destination r : ask to remove file o : confirm file removal p : play the entire directory l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_de.txt0000644000175000017500000000106710106467316020655 0ustar aurelaurel00000000000000NUETZLICHE KOMMANDOS m : Zeigt/Verbirgt das Menu o : Zeigt den OSD Timer s : Aktiviert den TV-Ausgang v : Zeigt/Verbirgt Untertitel Links : Abbrechen / Gehe zurueck Rechts : Ok / Gehe vorwaerts Runter : Gehe Zurueck 6x Hoch : Gehe vorwaerts 6x +/- : Audio Verzoegerung +/- 100ms O/9 : Lautstaerke +/- 1 KOMMANDOS WAEHREND DATEIAUSWAHL d : setzt das Ziel-Verzeichnis c : kopiert ins Ziel-Verzeichnis r : loescht die Datei o : bestaetigt den Loeschvorgang p : spielt/zeigt das gesamte Verzeichnis l : spielt/zeigt das gesamte Verzeichnis inkl. Unterordner geexbox-0.98/packages/MPlayer/help_en.txt0000644000175000017500000000071610106467316020667 0ustar aurelaurel00000000000000USEFUL COMMANDS m : Show/Hide the Menu o : Dislay OSD Timer s : Switch TV-Out v : Hide/Show Subtitles Left : Cancel / Go Backward Right : Ok / Go Forward Down : Go Backward 6x Up : Go Forward 6x +/- : Audio Delay +/- 100ms O/9 : Volume +/- 1 COMMANDS IN FILE SELECTION d : set destination directory c : copy to destination r : ask to remove file o : confirm file removal p : play/view the entire directory l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_es.txt0000644000175000017500000000077610106467316020702 0ustar aurelaurel00000000000000TECLAS UTILES m : Mostrar/Ocultar el Menu o : Mostrar temporizador OSD s : Conmutar salida a TV/CRT v : Mostrar/Ocultar Subtitulos Izquierda : Cancelar / Atras Derecha : Aceptar / Adelante Abajo : Atras 6x Arriba : Adelante 6x +/- : Retardo del sonido +/- 100ms O/9 : Volumen +/- 1 TECLAS EN SELECCION DE ARCHIVOS d : establecer directorio destino c : copiar a destino r : borrar archivo o : confirmar borrado de archivos p : reproducir directorio entero l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_fi.txt0000644000175000017500000000077510106467316020670 0ustar aurelaurel00000000000000HYÖDYLLISIÄ KOMENTOJA m : Näytä/piilota valikko o : Näytä OSD-ajastin s : Vaihda TV-out v : Näytä/piilota tekstitykset Vasen : Peru / mene takaisin Oikea : Ok / mene eteenpäin Alas : 6x takaisinpäin Ylös : 6x eteenpäin +/- : Aänen viive +/- 100ms O/9 : Äänenvoimakkuus +/- 1 KOMENNOT TIEDOSTOVALIKOIMASSA d : aseta kohdehakemisto c : kopioi kohteeseen r : kysy tiedoston poisto o : vahvista tiedoston poisto p : soita/katso koko hakemisto l : rekursiivisesti katso koko hakemisto geexbox-0.98/packages/MPlayer/help_fr.txt0000644000175000017500000000101410106467316020664 0ustar aurelaurel00000000000000COMMANDES UTILES m : Affiche/Cache le Menu o : Affiche le Compteur OSD s : Active la Sortie TV v : Cache/Affiche les Sous-Titres Gauche : Annuler / Retour Arriere Droite : Ok / Avancer Bas : Retour Arriere 6x Haut : Avancer 6x +/- : Decalage Audio +/- 100ms O/9 : Volume +/- 1 COMMANDES DE SELECTION DE FICHIER d : repertoire de destination c : copie vers la destination r : demande de suppression o : confirmation de suppression p : lire/afficher le repertoire complet l : afficher recursivement le repertoire geexbox-0.98/packages/MPlayer/help_hu.txt0000644000175000017500000000100710106467316020673 0ustar aurelaurel00000000000000HASZNOS PARANCSOK m : Men ki/be o : Eltelt id OSD-n ki/be s : TV kimenet ki/be v : Felirat ki/be balra nyl : Mgsem / Vissza jobbra nyl : Ok / Tovbb lefele nyl : Visszatekers 6x-osan felfele nyl : Elretekers 6x-osan +/- : Hang ksleltets/siettets 100ms-mal O/9 : Hanger +/- 1 PARANCSOK FJL KIVLASZTSNL d : cl knyvtr belltsa c : cl knyvtrba msols r : Fjl eltvoltsa o : Fjl eltvoltasa megersts p : A teljes knyvtr lejtszsa l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_it.txt0000644000175000017500000000073510106467316020702 0ustar aurelaurel00000000000000COMANDI m : Mostra/Nascondi Menu o : Vedi Tempo s : Abilita/Disablita TV-Out Freccia Sinistra : Annulla / Indietro Freccia Destra : Ok / Avanti Freccia Giu : Avanti 6x Freccia Su : Indietro 6x +/- : Audio Delay +/- 100ms O/9 : Volume +/- 1 COMANDI NELLA SEZIONE FILES d : imposta la directory di destinazione c : copia nella destinazione r : rimuovi il file o : conferma la rimozione del file p : esegui l'intera directory l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_nl.txt0000644000175000017500000000073210106467316020674 0ustar aurelaurel00000000000000HANDIGE COMMANDOS m : Toon/Verberg het Menu o : Toon OSD Timer s : Activeer TV-Out v : Toon/Verberg Ondertitels Links : Annuleer / Spoel terug Rechts : Ok / Spoel door Onder : Spoel terug 6x Boven : Spoel door 6x +/- : Audio Delay +/- 100ms O/9 : Volume +/- 1 COMMANDS IN FILE SELECTION d : set destination directory c : copy to destination r : ask to remove file o : confirm file removal p : play the entire directory l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_pl.txt0000644000175000017500000000077610106467316020706 0ustar aurelaurel00000000000000UZYTECZNE KOMENDY m : Pokaz/Ukryj Menu o : Wyswietl OSD Menu s : Przelacz TV-Out v : Ukryj/Pokarz Napisy Left : Anuluj / Wroc Right : Ok / Do Przodu Down : Do Tylu 6x Up : Do Przodu 6x +/- : Opoznienie Dzwieku +/- 100ms O/9 : Glosnosc +/- 1 POLECENIA W MENU WYBORU PLIKOW Polecenia w Menedzerze Plikow d : ustaw katalog przeznaczenia c : copiuj w miejsce r : zapytaj o usuniecie pliku o : potwierdz usuniecie pliku p : odtwarzaj zawartosc calego katalogu l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_ro.txt0000644000175000017500000000076410106467316020710 0ustar aurelaurel00000000000000COMENZI FOLOSITOARE m : Arata/Ascunde meniul o : Afiseaza Timpul OSD s : Schimba TV-Out v : Ascunde/Arata Subtitrare Left : Anulare / Inapoi Right : Ok / Inainte Down : Inapoi 6x Up : Inainte 6x +/- : Intarziere Audio +/- 100ms O/9 : Volum +/- 1 COMENZI PENTRU SELECTAREA FISIERELOR d : seteaza directorul destinatie c : copiaza la destinatie r : intreaba inainte sa stergi fisier o : confirma stergerea fisierului p : ruleaza intregul director l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_ru.txt0000644000175000017500000000072310106467316020711 0ustar aurelaurel00000000000000 m : / o : s : TV- Left : / Right : Ok / Down : 6x Up : 6x +/- : - +/- 100ms O/9 : +/- 1 COMMANDS IN FILE SELECTION d : set destination directory c : copy to destination r : ask to remove file o : confirm file removal p : play the entire directory l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_se.txt0000644000175000017500000000067410106467316020677 0ustar aurelaurel00000000000000NYTTIGA KOMMANDON m : Dolj/Visa Menyn o : Visa OSD Timern s : Byt TV-ut v : Dolj/Visa Undertextning Left : Avbryt / Ga Bakat Right : Ok / Ga Framat Down : Ga Bakat 6x Up :Ga Framat 6x +/- : Ljud Korrigering +/- 100ms O/9 : Volym +/- 1 COMMANDS IN FILE SELECTION d : set destination directory c : copy to destination r : ask to remove file o : confirm file removal p : play the entire directory l : recursively view the entire directory geexbox-0.98/packages/MPlayer/help_sk.txt0000644000175000017500000000066210106467316020702 0ustar aurelaurel00000000000000UZITOCNE PRIKAZY m : Zobraz/Skry menu o : Zobraz OSD casovac s : Prepni TV vystup Left : Zrusit / Spat Right : OK / Dopredu Down : Posun vpred 6x Up : Posun vzad 6x +/- : Audio oneskorenie +/- 100ms O/9 : Hlasitost +/- 1 COMMANDS IN FILE SELECTION d : set destination directory c : copy to destination r : ask to remove file o : confirm file removal p : play the entire directory l : recursively view the entire directory geexbox-0.98/packages/MPlayer/install0000755000175000017500000001014610106467316020106 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/install lirc $2 || exit 1 $SCRIPTS/install autoplay $2 || exit 1 if [ "$DIRECTFB" = "yes" ]; then $SCRIPTS/install DirectFB $2 || exit 1 fi $SCRIPTS/unpack theme-$THEME || exit 1 mkdir -p $INSTALL/etc/mplayer mkdir -p $INSTALL/usr/bin mkdir -p $INSTALL/usr/lib/mplayer/vidix mkdir -p $INSTALL/usr/share/mplayer/font cp $BUILD/MPlayer-*/mplayer $INSTALL/usr/bin cp $BUILD/MPlayer-*/libdha/*.so.1.0 $INSTALL/usr/lib cp $BUILD/MPlayer-*/vidix/drivers/*.so $INSTALL/usr/lib/mplayer/vidix rm $INSTALL/usr/lib/mplayer/vidix/mga_crtc2_vid.so rm $INSTALL/usr/lib/mplayer/vidix/sis_vid.so cp $PACKAGES/MPlayer/mplayer.conf $INSTALL/etc/mplayer cp $PACKAGES/MPlayer/mp_wrapper $INSTALL/usr/bin cp $PACKAGES/MPlayer/cpd $INSTALL/usr/bin cp $PACKAGES/MPlayer/playdir $INSTALL/usr/bin echo $LANG > $INSTALL/etc/lang echo "You can enable nvidia vidix driver simply by removing this file." > $INSTALL/etc/mplayer/no_nvidia_vidix echo "Vidix should give you better performance especially with low-end hardware." >> $INSTALL/etc/mplayer/no_nvidia_vidix echo "This feature is not very well tested. That's why it is not enabled by" >> $INSTALL/etc/mplayer/no_nvidia_vidix echo "default. And that's also why you should help us, testing this feature" >> $INSTALL/etc/mplayer/no_nvidia_vidix echo "and reporting your results if you own nvidia hardware." >> $INSTALL/etc/mplayer/no_nvidia_vidix case "$2" in generator) mkdir -p $INSTALL/codecs mkdir -p $GENERATOR_NAME/language mkdir -p $GENERATOR_NAME/font cp $PACKAGES/MPlayer/help_*.txt $GENERATOR_NAME/language cp $PACKAGES/MPlayer/menu_*.conf $GENERATOR_NAME/language cp -r $BUILD/MPlayer-*/fonts/font-*-iso-8859-1/font-*-24-* $GENERATOR_NAME/font/iso-8859-1 cp -r $BUILD/MPlayer-*/fonts/font-*-iso-8859-2/font-*-24-* $GENERATOR_NAME/font/iso-8859-2 cp -r $BUILD/MPlayer-*/fonts/windows-1251 $GENERATOR_NAME/font/cp1251 cp -r $BUILD/MPlayer-*/fonts/koi8r-font $GENERATOR_NAME/font/koi8r ;; installator) mkdir -p $INSTALL/codecs cp $PACKAGES/MPlayer/help_*.txt $INSTALL/usr/share/mplayer cp $PACKAGES/MPlayer/menu_*.conf $INSTALL/etc/mplayer cp -r $BUILD/MPlayer-*/fonts/font-*-iso-8859-1/font-*-24-* $INSTALL/usr/share/mplayer/font/iso-8859-1 cp -r $BUILD/MPlayer-*/fonts/font-*-iso-8859-2/font-*-24-* $INSTALL/usr/share/mplayer/font/iso-8859-2 cp -r $BUILD/MPlayer-*/fonts/windows-1251 $INSTALL/usr/share/mplayer/font/cp1251 cp -r $BUILD/MPlayer-*/fonts/koi8r-font $INSTALL/usr/share/mplayer/font/koi8r ;; *) cp $PACKAGES/MPlayer/help_$LANG.txt $INSTALL/usr/share/mplayer/ cp $PACKAGES/MPlayer/menu_$LANG.conf $INSTALL/etc/mplayer/ if [ $LANG = cz -o $LANG = hu -o $LANG = ro -o $LANG = sk -o $LANG = pl ]; then cp -r $BUILD/MPlayer-*/fonts/font-*-iso-8859-2/font-*-24-* $INSTALL/usr/share/mplayer/font/iso-8859-2 elif [ $LANG = bg ]; then cp -r $BUILD/MPlayer-*/fonts/windows-1251 $INSTALL/usr/share/mplayer/font/cp1251 elif [ $LANG = ru ]; then cp -r $BUILD/MPlayer-*/fonts/koi8r-font $INSTALL/usr/share/mplayer/font/koi8r else cp -r $BUILD/MPlayer-*/fonts/font-*-iso-8859-1/font-*-24-* $INSTALL/usr/share/mplayer/font/iso-8859-1 fi ;; esac cp $BUILD/MPlayer-*/etc/input.conf $INSTALL/etc/mplayer cp $BUILD/MPlayer-*/etc/codecs.conf $INSTALL/etc/mplayer if [ "$FONT" == "truetype" ]; then FONT=/usr/share/mplayer/font/font.ttf SUBFONT=/usr/share/mplayer/font/font.desc cp $BUILD/theme-$THEME/*.ttf $INSTALL/$FONT else FONT=/usr/share/mplayer/font/font.desc fi echo "font=$FONT" >> $INSTALL/etc/mplayer/mplayer.conf [ -n "$SUBFONT" ] && echo "subfont=$SUBFONT" >> $INSTALL/etc/mplayer/mplayer.conf . $BUILD/theme-$THEME/config echo "subfont-text-scale=$FONT_SIZE" >> $INSTALL/etc/mplayer/mplayer.conf cp $BUILD/theme-$THEME/background.avi $INSTALL/usr/share/mplayer if [ -f $BUILD/theme-$THEME/background-audio.avi ]; then cp $BUILD/theme-$THEME/background-audio.avi $INSTALL/usr/share/mplayer BGVIDEO=/usr/share/mplayer/background-audio.avi else BGVIDEO=/usr/share/mplayer/background.avi fi echo "bgvideo=$BGVIDEO" >> $INSTALL/etc/mplayer/mplayer.conf geexbox-0.98/packages/MPlayer/menu_bg.conf0000644000175000017500000001036710106467316021002 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_br.conf0000644000175000017500000001063210106467316021010 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_cat.conf0000644000175000017500000001056410106467316021160 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_cz.conf0000644000175000017500000001050710106467316021022 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_de.conf0000644000175000017500000001060410106467316020774 0ustar aurelaurel00000000000000 Willkommen geexbox-0.98/packages/MPlayer/menu_en.conf0000644000175000017500000001040110106467316021001 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_es.conf0000644000175000017500000001064010106467316021013 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_fi.conf0000644000175000017500000001061410106467316021003 0ustar aurelaurel00000000000000 Tervetuloa MPlayeriin geexbox-0.98/packages/MPlayer/menu_fr.conf0000644000175000017500000001063610106467316021020 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_hu.conf0000644000175000017500000001056010106467316021021 0ustar aurelaurel00000000000000 dvozollek a Mdialejtszban geexbox-0.98/packages/MPlayer/menu_it.conf0000644000175000017500000001055410106467316021024 0ustar aurelaurel00000000000000 Benvenuti in MPlayer geexbox-0.98/packages/MPlayer/menu_nl.conf0000644000175000017500000001043010106467316021012 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_pl.conf0000644000175000017500000001053310106467316021020 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_ro.conf0000644000175000017500000001061510106467316021026 0ustar aurelaurel00000000000000 Bine ati venit la MPlayer geexbox-0.98/packages/MPlayer/menu_ru.conf0000644000175000017500000001051110106467316021027 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_se.conf0000644000175000017500000001045410106467316021016 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/menu_sk.conf0000644000175000017500000001050010106467316021014 0ustar aurelaurel00000000000000 Welcome to MPlayer geexbox-0.98/packages/MPlayer/mp_wrapper0000755000175000017500000000014610106467316020613 0ustar aurelaurel00000000000000#!/bin/sh mplayer /usr/share/mplayer/background.avi -loop 0 >/dev/null 2>&1 echo $? > /tmp/mp_result geexbox-0.98/packages/MPlayer/mplayer.conf0000644000175000017500000000043210106467316021027 0ustar aurelaurel00000000000000vo=vesa:vidix,vesa ao=alsa framedrop=yes vsync=yes fs=yes zoom=yes menu=yes menu-disp=yes double=yes fixed-vo=yes nocolorkey=yes cache=1500 idx=yes lircconf=/etc/lircrc sub-fuzziness=1 screenw=800 screenh=600 #monitor-hfreq=31.5k-50k #monitor-vfreq=50-90 input=file=/var/mp_control geexbox-0.98/packages/MPlayer/need_build0000755000175000017500000000025110106467316020526 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options STAMP=.stamps/$1/build . $STAMP [ "$FONT" != "$STAMP_FONT" ] && rm -f $STAMP [ "$DEBUG" != "$STAMP_DEBUG" ] && rm -f $STAMP geexbox-0.98/packages/MPlayer/playdir0000755000175000017500000000056610106467316020111 0ustar aurelaurel00000000000000#!/bin/sh DIR=$1 [ -d "$DIR" ] || DIR=${DIR%/[^/]*} for i in `cat /etc/file_ext`; do if [ -z "$EXTS" ]; then EXTS="$i" else EXTS="$EXTS\|$i" fi done find "$1" | grep -v /GEEXBOX/ | grep -i "\.\($EXTS\)\$" > /tmp/playlist.pls if [ -s /tmp/playlist.pls ]; then echo 'loadlist /tmp/playlist.pls' > /var/mp_control echo 'set_menu null' > /var/mp_control fi geexbox-0.98/packages/MPlayer/unpack0000755000175000017500000000225010106467316017716 0ustar aurelaurel00000000000000#!/bin/sh . config/path INPUT_CONF="`ls -d $BUILD/MPlayer-*/etc/input.conf`" sed -i 's/.*vo_fullscreen.*//' $INPUT_CONF echo "" >> $INPUT_CONF echo "m menu hide" >> $INPUT_CONF echo "; menu hide" >> $INPUT_CONF echo "a quit" >> $INPUT_CONF echo "s run /usr/bin/tvswitch" >> $INPUT_CONF echo "k halt" >> $INPUT_CONF echo "y play_dvd" >> $INPUT_CONF echo "c mute" >> $INPUT_CONF echo "f pt_step -1" >> $INPUT_CONF echo "g pt_step 1" >> $INPUT_CONF sed -i 's/.*JOY_BTN.*//' $INPUT_CONF echo "" >> $INPUT_CONF echo "JOY_BTN1 menu hide" >> $INPUT_CONF echo "JOY_BTN2 pause" >> $INPUT_CONF echo "JOY_BTN3 osd" >> $INPUT_CONF echo "JOY_BTN4 mute" >> $INPUT_CONF echo "JOY_BTN5 volume -1" >> $INPUT_CONF echo "JOY_BTN6 volume 1" >> $INPUT_CONF mkdir `ls -d $BUILD/MPlayer-*`/fonts && \ tar xjf $SOURCES/MPlayer/font-*-iso-8859-1.tar.bz2 -C $BUILD/MPlayer-*/fonts tar xjf $SOURCES/MPlayer/font-*-iso-8859-2.tar.bz2 -C $BUILD/MPlayer-*/fonts tar xjf $SOURCES/MPlayer/windows-1251.tar.bz2 -C $BUILD/MPlayer-*/fonts tar xjf $SOURCES/MPlayer/koi8r-font.tar.bz2 -C $BUILD/MPlayer-*/fonts bzcat $SOURCES/MPlayer/font-*-iso-8859-2.diff.bz2 | patch -p1 -d $BUILD/MPlayer-*/fonts/font-*-iso-8859-2 exit 0 geexbox-0.98/packages/MPlayer/url0000644000175000017500000000331210106467316017234 0ustar aurelaurel00000000000000http://www2.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre5.tar.bz2 http://www1.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-1.tar.bz2 http://www1.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-2.tar.bz2 GEEXBOX_SRCS/koi8r-font.tar.bz2 GEEXBOX_SRCS/windows-1251.tar.bz2 GEEXBOX_SRCS/font-arial-iso-8859-2.diff.bz2 GEEXBOX_SRCS/patch-MPlayer-additional-filters.bz2 GEEXBOX_SRCS/patch-MPlayer-alsa.bz2 GEEXBOX_SRCS/patch-MPlayer-alsa-chunk-size.bz2 GEEXBOX_SRCS/patch-MPlayer-audio-chap-sub-sel.bz2 GEEXBOX_SRCS/patch-MPlayer-bgvideo.bz2 GEEXBOX_SRCS/patch-MPlayer-conf.bz2 GEEXBOX_SRCS/patch-MPlayer-dts.bz2 GEEXBOX_SRCS/patch-MPlayer-dvd-longest.bz2 GEEXBOX_SRCS/patch-MPlayer-fixinput.bz2 GEEXBOX_SRCS/patch-MPlayer-i420-vidix.bz2 GEEXBOX_SRCS/patch-MPlayer-joystick.bz2 GEEXBOX_SRCS/patch-MPlayer-lirc.bz2 GEEXBOX_SRCS/patch-MPlayer-lavc-buildfix.bz2 GEEXBOX_SRCS/patch-MPlayer-menu-actions.bz2 GEEXBOX_SRCS/patch-MPlayer-menu.bz2 GEEXBOX_SRCS/patch-MPlayer-menu-cmd.bz2 GEEXBOX_SRCS/patch-MPlayer-menu-filefilter.bz2 GEEXBOX_SRCS/patch-MPlayer-menu-info.bz2 GEEXBOX_SRCS/patch-MPlayer-menu-vcd-dvd-cdda.bz2 GEEXBOX_SRCS/patch-MPlayer-mpegpes.bz2 GEEXBOX_SRCS/patch-MPlayer-nopcidb.bz2 GEEXBOX_SRCS/patch-MPlayer-osdlevel.bz2 GEEXBOX_SRCS/patch-MPlayer-playtree.bz2 GEEXBOX_SRCS/patch-MPlayer-quit.bz2 GEEXBOX_SRCS/patch-MPlayer-run.bz2 GEEXBOX_SRCS/patch-MPlayer-subtitles.bz2 GEEXBOX_SRCS/patch-MPlayer-switch-ratio.bz2 GEEXBOX_SRCS/patch-MPlayer-tvinput.bz2 GEEXBOX_SRCS/patch-MPlayer-tvkeepon.bz2 GEEXBOX_SRCS/patch-MPlayer-vesa-mpegpes.bz2 GEEXBOX_SRCS/patch-MPlayer-vidix-cle266.bz2 GEEXBOX_SRCS/patch-MPlayer-vidix-cyberblade.bz2 GEEXBOX_SRCS/patch-MPlayer-v4l2-setnorm.bz2 GEEXBOX_SRCS/patch-MPlayer-vsync.bz2 geexbox-0.98/packages/acx100/0000755000175000017500000000000010106467316016133 5ustar aurelaurel00000000000000geexbox-0.98/packages/acx100/build0000755000175000017500000000024710106467316017163 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/unpack linux || exit 1 CWD=`pwd` cd "`ls -d $BUILD/acx100-*`" && \ make CFLAGS="-Os" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/acx100/install0000755000175000017500000000025010106467316017524 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p "`ls -d $INSTALL/lib/modules/*`/kernel/drivers/net" cp $BUILD/acx100*/src/acx_{pci,usb}.o $INSTALL/lib/modules/*/kernel/drivers/net geexbox-0.98/packages/acx100/unpack0000744000175000017500000000026010106467316017336 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/unpack linux || exit 1 KSRC=`ls -d $ROOT/$BUILD/linux-*` sed -i "s%^KERNEL_BUILD=.*%KERNEL_BUILD=$KSRC%" `ls -d $BUILD/acx100-*`/Configure geexbox-0.98/packages/acx100/url0000644000175000017500000000011210106467316016652 0ustar aurelaurel00000000000000http://unc.dl.sourceforge.net/sourceforge/acx100/acx100-0.2.0pre8.tar.bz2 geexbox-0.98/packages/alsa/0000755000175000017500000000000010106467316016057 5ustar aurelaurel00000000000000geexbox-0.98/packages/alsa/build0000755000175000017500000000025510106467316017106 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build alsa-driver || exit 1 $SCRIPTS/build alsa-lib || exit 1 $SCRIPTS/build alsa-utils || exit 1 exit 0 geexbox-0.98/packages/alsa/install0000755000175000017500000000022310106467316017450 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/install alsa-driver || exit 1 $SCRIPTS/install alsa-lib || exit 1 $SCRIPTS/install alsa-utils || exit 1 exit 0 geexbox-0.98/packages/alsa-driver/0000755000175000017500000000000010106467316017350 5ustar aurelaurel00000000000000geexbox-0.98/packages/alsa-driver/build0000755000175000017500000000131710106467316020377 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/unpack linux || exit 1 CWD=`pwd` cd "`ls -d $BUILD/alsa-driver-*`" && \ ./configure --with-kernel="`ls -d $ROOT/$BUILD/linux-*`" --with-debug=none --with-isapnp=yes --with-sequencer=no --with-oss=no --disable-verbose-printk --with-cards=als100,azt2320,cmi8330,dt019x,es18xx,opl3sa2,sgalaxy,sscape,ad1816a,ad1848,cs4231,cs4232,cs4236,es1688,interwave,interwave-stb,opti92x-ad1848,opti92x-cs4231,opti93x,sb16,sbawe,es968,wavefront,als4000,azt3328,cmipci,cs4281,ens1370,ens1371,es1938,es1968,fm801,intel8x0,maestro3,sonicvibes,via82xx,ali5451,cs46xx,emu10k1,ice1712,ice1724,nm256,trident,vx222,ymfpci,atiixp,au8810,au8820,au8830 && \ make && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/alsa-driver/install0000755000175000017500000000023310106467316020742 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p "`ls -d $INSTALL/lib/modules/*`/misc" cp "`ls -d $BUILD/alsa-driver-*`/modules/"* "`ls -d $INSTALL/lib/modules/*`/misc" geexbox-0.98/packages/alsa-driver/unpack0000755000175000017500000000027710106467316020565 0ustar aurelaurel00000000000000#!/bin/sh . config/path sed -i 's/c_opts=\"-O2 $c_opts\"//' $BUILD/alsa-driver-*/configure sed -i 's/-O2/-Os/' $BUILD/alsa-driver-*/Makefile.conf.in chmod +x $BUILD/alsa-driver-*/configure geexbox-0.98/packages/alsa-driver/url0000644000175000017500000000010110106467316020065 0ustar aurelaurel00000000000000ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.5a.tar.bz2 geexbox-0.98/packages/alsa-lib/0000755000175000017500000000000010106467316016623 5ustar aurelaurel00000000000000geexbox-0.98/packages/alsa-lib/build0000755000175000017500000000104110106467316017644 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build alsa-driver || exit 1 CWD=`pwd` UCBIN=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin` cd "`ls -d $BUILD/alsa-lib-*`" && \ CC=$UCBIN/gcc ./configure --disable-static --enable-shared --with-debug=no --with-versioned=no --disable-dependency-tracking --host=i386-linux-gnu && \ export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ make -C src CFLAGS="-Os" && \ ar cru src/.libs/libasound.a `find src -name '*.lo'` && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/alsa-lib/install0000755000175000017500000000136410106467316020223 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build alsa-utils || exit 1 $SCRIPTS/build MPlayer || exit 1 SO=`ls -d $BUILD/alsa-lib*`/libasound.so.2 if [ ! -f $SO -o $BUILD/alsa-lib*/src/.libs/libasound.a -nt $SO \ -o $BUILD/alsa-utils*/amixer/amixer -nt $SO \ -o $BUILD/MPlayer*/mplayer -nt $SO ]; then $SCRIPTS/libstrip $SO $BUILD/alsa-lib*/src/.libs/libasound.a "$BUILD/alsa-utils*/amixer/amixer $BUILD/MPlayer*/mplayer" "" "_snd_pcm_hw_open _snd_pcm_plug_open _snd_pcm_hooks_open" fi mkdir -p $INSTALL/usr/lib cp $SO $INSTALL/usr/lib || exit 1 mkdir -p $INSTALL/usr/share/alsa sed 's%.*~/\.asoundrc.*%%' $BUILD/alsa-lib-*/src/conf/alsa.conf > $INSTALL/usr/share/alsa/alsa.conf cp -rf $BUILD/alsa-lib-*/src/conf/{cards,pcm} $INSTALL/usr/share/alsa/ geexbox-0.98/packages/alsa-lib/url0000644000175000017500000000021110106467316017342 0ustar aurelaurel00000000000000ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.5.tar.bz2 GEEXBOX_SRCS/patch-alsa-lib-reduce.bz2 GEEXBOX_SRCS/patch-alsa-lib-wordexp.bz2 geexbox-0.98/packages/alsa-utils/0000755000175000017500000000000010106467316017215 5ustar aurelaurel00000000000000geexbox-0.98/packages/alsa-utils/build0000755000175000017500000000107310106467316020243 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build alsa-lib || exit 1 CWD=`pwd` UCBIN=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin` cd "`ls -d $BUILD/alsa-utils-*`" && \ CFLAGS="-Os -s" CC=$UCBIN/gcc ./configure --disable-dependency-tracking --disable-alsamixer --with-alsa-prefix="`ls -d $ROOT/$BUILD/alsa-lib-*/src/.libs`" --with-alsa-inc-prefix="`ls -d $ROOT/$BUILD/alsa-lib-*/include`" --host=i386-linux-gnu && \ export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ make -C amixer && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/alsa-utils/install0000755000175000017500000000016410106467316020612 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p $INSTALL/usr/bin cp "`ls -d $BUILD/alsa-utils-*`/amixer/amixer" $INSTALL/usr/bin geexbox-0.98/packages/alsa-utils/url0000644000175000017500000000007610106467316017745 0ustar aurelaurel00000000000000ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.5.tar.bz2 geexbox-0.98/packages/at76c503/0000755000175000017500000000000010106467316016313 5ustar aurelaurel00000000000000geexbox-0.98/packages/at76c503/build0000755000175000017500000000030510106467316017336 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/unpack linux || exit 1 CWD=`pwd` cd "`ls -d $BUILD/at76c503*`" && \ make KERNEL_SRC="`ls -d $ROOT/$BUILD/linux-*`" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/at76c503/install0000755000175000017500000000027410106467316017712 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p "`ls -d $INSTALL/lib/modules/*`/usb" cp $BUILD/at76c503*/at76c503*.o $INSTALL/lib/modules/*/usb cp $BUILD/at76c503*/usbdfu.o $INSTALL/lib/modules/*/usb geexbox-0.98/packages/at76c503/url0000644000175000017500000000007210106467316017037 0ustar aurelaurel00000000000000http://download.berlios.de/at76c503a/at76c503-0.11.tar.gz geexbox-0.98/packages/atitvout/0000755000175000017500000000000010106467316017016 5ustar aurelaurel00000000000000geexbox-0.98/packages/atitvout/build0000755000175000017500000000044510106467316020046 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $BUILD/atitvout*`" && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" && \ strip atitvout && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/atitvout/url0000644000175000017500000000012310106467316017537 0ustar aurelaurel00000000000000http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/atitvout-0.4.tar.gz geexbox-0.98/packages/autoplay/0000755000175000017500000000000010106467316016775 5ustar aurelaurel00000000000000geexbox-0.98/packages/autoplay/build0000755000175000017500000000053110106467316020021 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` KERNEL="`ls -d $ROOT/$BUILD/linux*/include`" cd "`ls -d $BUILD/autoplay*`" && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os -s -I$KERNEL" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/autoplay/url0000644000175000017500000000004410106467316017520 0ustar aurelaurel00000000000000GEEXBOX_SRCS/autoplay-0.0.5.tar.bz2 geexbox-0.98/packages/bftpd/0000755000175000017500000000000010106467316016236 5ustar aurelaurel00000000000000geexbox-0.98/packages/bftpd/bftpd.conf0000644000175000017500000000022110106467316020177 0ustar aurelaurel00000000000000global { PORT="21" HELLO_STRING="Welcome to GeeXboX's FTP Server." AUTO_CHDIR="/" DO_CHROOT="no" RATIO="none" ANONYMOUS_USER="yes" } geexbox-0.98/packages/bftpd/build0000755000175000017500000000056710106467316017273 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $BUILD/bftpd-*`" && \ CFLAGS="-Os" CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" ./configure --without-debug --without-pax --without-libz --without-pam && \ make && \ strip bftpd && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1geexbox-0.98/packages/bftpd/install0000755000175000017500000000024710106467316017635 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p $INSTALL/usr/bin mkdir -p $INSTALL/etc cp "`ls -d $BUILD/bftpd-*`"/bftpd $INSTALL/usr/bin cp $PACKAGES/bftpd/bftpd.conf $INSTALL/etcgeexbox-0.98/packages/bftpd/url0000644000175000017500000000020310106467316016756 0ustar aurelaurel00000000000000http://bftpd.sourceforge.net/downloads/src/bftpd-1.0.24.tar.gz GEEXBOX_SRCS/patch-bftpd-noauth.bz2 GEEXBOX_SRCS/patch-bftpd-rw.bz2 geexbox-0.98/packages/busybox/0000755000175000017500000000000010106467316016632 5ustar aurelaurel00000000000000geexbox-0.98/packages/busybox/build0000755000175000017500000000044710106467316017664 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $BUILD/busybox-*`" && \ make dep && \ echo '#define CONFIG_USE_BB_SHADOW 1' >> include/config.h make && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/busybox/busybox.conf0000644000175000017500000002237710106467316021207 0ustar aurelaurel00000000000000# # Automatically generated make config: don't edit # HAVE_DOT_CONFIG=y # # General Configuration # # CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set # CONFIG_FEATURE_VERBOSE_USAGE is not set CONFIG_FEATURE_INSTALLER=y # CONFIG_LOCALE_SUPPORT is not set # CONFIG_FEATURE_DEVFS is not set # CONFIG_FEATURE_DEVPTS is not set # CONFIG_FEATURE_CLEAN_UP is not set # CONFIG_FEATURE_SUID is not set # CONFIG_SELINUX is not set # # Build Options # # CONFIG_STATIC is not set CONFIG_LFS=y USING_CROSS_COMPILER=y CROSS_COMPILER_PREFIX="/data/geexbox/build/uClibc-0.9.26/build/usr/bin/" EXTRA_CFLAGS_OPTIONS="" # # Installation Options # # CONFIG_INSTALL_NO_USR is not set PREFIX="./_install" # # Archival Utilities # # CONFIG_AR is not set CONFIG_BUNZIP2=y # CONFIG_CPIO is not set # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set # CONFIG_GUNZIP is not set # CONFIG_GZIP is not set # CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set CONFIG_TAR=y # CONFIG_FEATURE_TAR_CREATE is not set CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_FROM is not set # CONFIG_FEATURE_TAR_GZIP is not set # CONFIG_FEATURE_TAR_COMPRESS is not set # CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY is not set CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y # CONFIG_FEATURE_TAR_LONG_OPTIONS is not set # CONFIG_UNCOMPRESS is not set # CONFIG_UNZIP is not set # # Common options for cpio and tar # # CONFIG_FEATURE_UNARCHIVE_TAPE is not set # # Coreutils # # CONFIG_BASENAME is not set # CONFIG_CAL is not set CONFIG_CAT=y # CONFIG_CHGRP is not set # CONFIG_CHMOD is not set # CONFIG_CHOWN is not set CONFIG_CHROOT=y # CONFIG_CMP is not set CONFIG_CP=y CONFIG_CUT=y # CONFIG_DATE is not set CONFIG_DD=y # CONFIG_DF is not set # CONFIG_DIRNAME is not set # CONFIG_DOS2UNIX is not set # CONFIG_DU is not set CONFIG_ECHO=y CONFIG_FEATURE_FANCY_ECHO=y # CONFIG_ENV is not set # CONFIG_EXPR is not set # CONFIG_FALSE is not set # CONFIG_FOLD is not set CONFIG_HEAD=y # CONFIG_FEATURE_FANCY_HEAD is not set # CONFIG_HOSTID is not set # CONFIG_ID is not set # CONFIG_INSTALL is not set # CONFIG_LENGTH is not set CONFIG_LN=y # CONFIG_LOGNAME is not set CONFIG_LS=y # CONFIG_FEATURE_LS_FILETYPES is not set # CONFIG_FEATURE_LS_FOLLOWLINKS is not set # CONFIG_FEATURE_LS_RECURSIVE is not set CONFIG_FEATURE_LS_SORTFILES=y # CONFIG_FEATURE_LS_TIMESTAMPS is not set # CONFIG_FEATURE_LS_USERNAME is not set # CONFIG_FEATURE_LS_COLOR is not set # CONFIG_MD5SUM is not set CONFIG_MKDIR=y CONFIG_MKFIFO=y # CONFIG_MKNOD is not set CONFIG_MV=y # CONFIG_OD is not set # CONFIG_PRINTF is not set # CONFIG_PWD is not set # CONFIG_REALPATH is not set CONFIG_RM=y CONFIG_RMDIR=y # CONFIG_SEQ is not set # CONFIG_SHA1SUM is not set CONFIG_SLEEP=y # CONFIG_FEATURE_FANCY_SLEEP is not set # CONFIG_SORT is not set # CONFIG_STTY is not set # CONFIG_SYNC is not set # CONFIG_TAIL is not set # CONFIG_TEE is not set CONFIG_TEST=y # # test (forced enabled for use with shell) # # CONFIG_TOUCH is not set # CONFIG_TR is not set # CONFIG_TRUE is not set # CONFIG_TTY is not set # CONFIG_UNAME is not set # CONFIG_UNIQ is not set # CONFIG_USLEEP is not set # CONFIG_UUDECODE is not set # CONFIG_UUENCODE is not set # CONFIG_WATCH is not set # CONFIG_WC is not set # CONFIG_WHO is not set # CONFIG_WHOAMI is not set # CONFIG_YES is not set # # Common options for cp and mv # # CONFIG_FEATURE_PRESERVE_HARDLINKS is not set # # Common options for ls and more # # CONFIG_FEATURE_AUTOWIDTH is not set # # Common options for df, du, ls # # CONFIG_FEATURE_HUMAN_READABLE is not set # # Console Utilities # # CONFIG_CHVT is not set # CONFIG_CLEAR is not set # CONFIG_DEALLOCVT is not set # CONFIG_DUMPKMAP is not set # CONFIG_LOADFONT is not set # CONFIG_LOADKMAP is not set # CONFIG_OPENVT is not set # CONFIG_RESET is not set # CONFIG_SETKEYCODES is not set # # Debian Utilities # # CONFIG_MKTEMP is not set # CONFIG_PIPE_PROGRESS is not set # CONFIG_READLINK is not set # CONFIG_RUN_PARTS is not set # CONFIG_START_STOP_DAEMON is not set # CONFIG_WHICH is not set # # Editors # # CONFIG_AWK is not set # CONFIG_PATCH is not set CONFIG_SED=y # CONFIG_VI is not set # # Finding Utilities # CONFIG_FIND=y # CONFIG_FEATURE_FIND_MTIME is not set # CONFIG_FEATURE_FIND_PERM is not set # CONFIG_FEATURE_FIND_TYPE is not set # CONFIG_FEATURE_FIND_XDEV is not set # CONFIG_FEATURE_FIND_NEWER is not set # CONFIG_FEATURE_FIND_INUM is not set CONFIG_GREP=y # CONFIG_FEATURE_GREP_EGREP_ALIAS is not set # CONFIG_FEATURE_GREP_FGREP_ALIAS is not set # CONFIG_FEATURE_GREP_CONTEXT is not set # CONFIG_XARGS is not set # # Init Utilities # # CONFIG_INIT is not set # CONFIG_HALT is not set CONFIG_POWEROFF=y CONFIG_REBOOT=y # CONFIG_MESG is not set # # Login/Password Management Utilities # # CONFIG_USE_BB_PWD_GRP is not set # CONFIG_ADDGROUP is not set # CONFIG_DELGROUP is not set # CONFIG_ADDUSER is not set # CONFIG_DELUSER is not set # CONFIG_GETTY is not set # CONFIG_LOGIN is not set # CONFIG_PASSWD is not set # CONFIG_SU is not set # CONFIG_SULOGIN is not set # CONFIG_VLOCK is not set # # Miscellaneous Utilities # # CONFIG_ADJTIMEX is not set # CONFIG_CROND is not set # CONFIG_CRONTAB is not set # CONFIG_DC is not set # CONFIG_DEVFSD is not set # CONFIG_LAST is not set CONFIG_HDPARM=y # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set # CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set # CONFIG_MAKEDEVS is not set # CONFIG_MT is not set # CONFIG_RX is not set # CONFIG_STRINGS is not set # CONFIG_TIME is not set # CONFIG_WATCHDOG is not set # # Linux Module Utilities # CONFIG_INSMOD=y CONFIG_FEATURE_2_4_MODULES=y # CONFIG_FEATURE_2_6_MODULES is not set # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set # CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set # CONFIG_LSMOD is not set CONFIG_FEATURE_QUERY_MODULE_INTERFACE=y # CONFIG_MODPROBE is not set CONFIG_RMMOD=y CONFIG_FEATURE_CHECK_TAINTED_MODULE=y # # Networking Utilities # # CONFIG_FEATURE_IPV6 is not set # CONFIG_ARPING is not set # CONFIG_FTPGET is not set # CONFIG_FTPPUT is not set # CONFIG_HOSTNAME is not set # CONFIG_HTTPD is not set CONFIG_IFCONFIG=y # CONFIG_FEATURE_IFCONFIG_STATUS is not set # CONFIG_FEATURE_IFCONFIG_SLIP is not set # CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set # CONFIG_FEATURE_IFCONFIG_HW is not set # CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set # CONFIG_IFUPDOWN is not set # CONFIG_INETD is not set # CONFIG_IP is not set # CONFIG_IPCALC is not set # CONFIG_IPADDR is not set # CONFIG_IPLINK is not set # CONFIG_IPROUTE is not set # CONFIG_IPTUNNEL is not set # CONFIG_NAMEIF is not set # CONFIG_NC is not set # CONFIG_NETSTAT is not set # CONFIG_NSLOOKUP is not set # CONFIG_PING is not set CONFIG_ROUTE=y # CONFIG_TELNET is not set CONFIG_TELNETD=y # CONFIG_FEATURE_TELNETD_INETD is not set # CONFIG_TFTP is not set # CONFIG_TRACEROUTE is not set # CONFIG_VCONFIG is not set # CONFIG_WGET is not set # # udhcp Server/Client # # CONFIG_UDHCPD is not set CONFIG_UDHCPC=y # CONFIG_FEATURE_UDHCP_SYSLOG is not set # CONFIG_FEATURE_UDHCP_DEBUG is not set # # Process Utilities # # CONFIG_FREE is not set # CONFIG_KILL is not set CONFIG_PIDOF=y # CONFIG_PS is not set # CONFIG_RENICE is not set # CONFIG_TOP is not set # CONFIG_UPTIME is not set # CONFIG_SYSCTL is not set # # Another Bourne-like Shell # CONFIG_FEATURE_SH_IS_ASH=y # CONFIG_FEATURE_SH_IS_HUSH is not set # CONFIG_FEATURE_SH_IS_LASH is not set # CONFIG_FEATURE_SH_IS_MSH is not set # CONFIG_FEATURE_SH_IS_NONE is not set CONFIG_ASH=y # # Ash Shell Options # # CONFIG_ASH_JOB_CONTROL is not set # CONFIG_ASH_ALIAS is not set CONFIG_ASH_MATH_SUPPORT=y # CONFIG_ASH_MATH_SUPPORT_64 is not set # CONFIG_ASH_GETOPTS is not set # CONFIG_ASH_CMDCMD is not set # CONFIG_ASH_MAIL is not set CONFIG_ASH_OPTIMIZE_FOR_SIZE=y # CONFIG_ASH_RANDOM_SUPPORT is not set # CONFIG_HUSH is not set # CONFIG_LASH is not set # CONFIG_MSH is not set # # Bourne Shell Options # # CONFIG_FEATURE_SH_EXTRA_QUIET is not set # CONFIG_FEATURE_SH_STANDALONE_SHELL is not set CONFIG_FEATURE_COMMAND_EDITING=y CONFIG_FEATURE_COMMAND_HISTORY=15 # CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y # CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set # CONFIG_FEATURE_SH_FANCY_PROMPT is not set # # System Logging Utilities # # CONFIG_SYSLOGD is not set # CONFIG_LOGGER is not set # # Linux System Utilities # CONFIG_DMESG=y # CONFIG_FBSET is not set # CONFIG_FDFLUSH is not set # CONFIG_FDFORMAT is not set # CONFIG_FDISK is not set FDISK_SUPPORT_LARGE_DISKS=y # CONFIG_FREERAMDISK is not set # CONFIG_FSCK_MINIX is not set # CONFIG_MKFS_MINIX is not set # CONFIG_GETOPT is not set # CONFIG_HEXDUMP is not set # CONFIG_HWCLOCK is not set # CONFIG_LOSETUP is not set # CONFIG_MKSWAP is not set # CONFIG_MORE is not set # CONFIG_PIVOT_ROOT is not set # CONFIG_RDATE is not set # CONFIG_SWAPONOFF is not set CONFIG_MOUNT=y CONFIG_NFSMOUNT=y CONFIG_UMOUNT=y # CONFIG_FEATURE_MOUNT_FORCE is not set # # Common options for mount/umount # # CONFIG_FEATURE_MOUNT_LOOP is not set # CONFIG_FEATURE_MTAB_SUPPORT is not set # # Debugging Options # # CONFIG_DEBUG is not set geexbox-0.98/packages/busybox/install0000755000175000017500000000034210106467316020225 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p $INSTALL/bin mkdir -p $INSTALL/usr/sbin mkdir -p $INSTALL/usr/share/udhcpc cp $BUILD/busybox*/busybox $INSTALL/bin cp $PACKAGES/busybox/udhcp.script $INSTALL/usr/share/udhcpc/default.script geexbox-0.98/packages/busybox/need_unpack0000755000175000017500000000014710106467316021036 0ustar aurelaurel00000000000000#!/bin/sh . config/path STAMP=.stamps/$1/unpack test $PACKAGES/$1/config -nt $STAMP && rm -f $STAMP geexbox-0.98/packages/busybox/udhcp.script0000755000175000017500000000102310106467316021162 0ustar aurelaurel00000000000000#!/bin/sh case "$1" in deconfig) ifconfig $interface 0.0.0.0 ;; renew|bound) if [ -n "$dns" ]; then rm -f /etc/resolv.conf [ -n "$domain" ] && echo "search $domain" >> /etc/resolv.conf for ns in $dns; do echo "nameserver $ns" >> /etc/resolv.conf done fi [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" [ -n "$subnet" ] && NETMASK="netmask $subnet" ifconfig $interface $ip $BROADCAST $NETMASK [ -n "$router" ] && route add default gw $router ;; esac geexbox-0.98/packages/busybox/unpack0000755000175000017500000000036210106467316020042 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/unpack uClibc || exit 1 CC="`ls -d $ROOT/$BUILD/uClibc*/`build/usr/bin/" sed "s%CROSS_COMPILER_PREFIX=.*%CROSS_COMPILER_PREFIX=\"$CC\"%" $PACKAGES/busybox/busybox.conf > "`ls -d $BUILD/busybox*/`.config" geexbox-0.98/packages/busybox/url0000644000175000017500000000006610106467316017361 0ustar aurelaurel00000000000000http://busybox.net/downloads/busybox-1.00-rc2.tar.bz2 geexbox-0.98/packages/cdparanoia/0000755000175000017500000000000010106467316017240 5ustar aurelaurel00000000000000geexbox-0.98/packages/cdparanoia/build0000755000175000017500000000056610106467316020274 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 CWD=`pwd` UCBIN=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin` export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ cd $BUILD/cdparanoia-* && \ ./configure && \ make lib CC=$UCBIN/gcc && \ cp interface/cdda_interface.h interface/libcdda_interface.a paranoia cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/cdparanoia/install0000755000175000017500000000003110106467316020626 0ustar aurelaurel00000000000000#!/bin/sh . config/path geexbox-0.98/packages/cdparanoia/url0000644000175000017500000000010610106467316017762 0ustar aurelaurel00000000000000http://www.xiph.org/paranoia/download/cdparanoia-III-alpha9.8.src.tgz geexbox-0.98/packages/dialog/0000755000175000017500000000000010106467316016376 5ustar aurelaurel00000000000000geexbox-0.98/packages/dialog/build0000755000175000017500000000102410106467316017420 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build ncurses || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/dialog*` && \ ./configure --disable-nls --without-dbmalloc --without-dmalloc --with-ncurses --with-curses-dir=`ls -d $ROOT/$BUILD/ncurses*` --disable-rc-file --disable-Xdialog --disable-gauge --disable-tailbox && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os" LDFLAGS="-lm -s" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/dialog/url0000644000175000017500000000005610106467316017124 0ustar aurelaurel00000000000000GEEXBOX_SRCS/dialog_0.9b-20031002.orig.tar.gz geexbox-0.98/packages/dosfstools/0000755000175000017500000000000010106467316017336 5ustar aurelaurel00000000000000geexbox-0.98/packages/dosfstools/build0000755000175000017500000000046510106467316020370 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/dosfstools*` && \ make -C mkdosfs CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os" LDFLAGS="-s" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/dosfstools/install0000755000175000017500000000015310106467316020731 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p $INSTALL/usr/bin cp $BUILD/dosfstools*/mkdosfs/mkdosfs $INSTALL/usr/bin geexbox-0.98/packages/dosfstools/url0000644000175000017500000000007210106467316020062 0ustar aurelaurel00000000000000http://www.go.dlr.de/linux/src/dosfstools-2.10.src.tar.gz geexbox-0.98/packages/eject/0000755000175000017500000000000010106467316016231 5ustar aurelaurel00000000000000geexbox-0.98/packages/eject/build0000755000175000017500000000046110106467316017257 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $BUILD/eject-*`" && \ ./configure && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" && \ strip eject && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/eject/i18n.h0000644000175000017500000000016110106467316017157 0ustar aurelaurel00000000000000#ifndef __i18n__ #define __i18n__ #define I18NCODE #define _(str) (str) #define N_(str) (str) #endif geexbox-0.98/packages/eject/unpack0000755000175000017500000000025410106467316017441 0ustar aurelaurel00000000000000#!/bin/sh . config/path KERNEL="`ls -d $ROOT/$BUILD/linux-*`" sed -i "s%/usr/src/linux%$KERNEL%g" $BUILD/eject-*/Makefile.in cp -f $PACKAGES/eject/i18n.h $BUILD/eject-* geexbox-0.98/packages/eject/url0000644000175000017500000000007210106467316016755 0ustar aurelaurel00000000000000http://members.rogers.com/jefftranter/eject-2.0.13.tar.gz geexbox-0.98/packages/em8300/0000755000175000017500000000000010106467316016053 5ustar aurelaurel00000000000000geexbox-0.98/packages/em8300/build0000755000175000017500000000114510106467316017101 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build linux || exit 1 CWD=`pwd` UCBIN=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin` export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ cd $BUILD/em8300-* && \ KERNEL_LOCATION="`ls -d $ROOT/$BUILD/linux-*`" make -C modules && \ CC=$UCBIN/gcc CFLAGS="-Os -isystem=`ls -d $ROOT/$BUILD/linux-*/include`" ./configure --prefix=/usr --enable-static --disable-shared --disable-gtktest --host=i386-linux-gnu && \ make -C libdxr3 && \ make -C em8300setup && \ strip em8300setup/em8300setup && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/em8300/install0000755000175000017500000000111110106467316017441 0ustar aurelaurel00000000000000#!/bin/sh . config/path CWD=`pwd` mkdir -p $INSTALL/usr/lib mkdir -p $INSTALL/usr/bin mkdir -p $INSTALL/usr/share mkdir -p `ls -d $INSTALL/lib/modules/*`/kernel/drivers/video cp $BUILD/em8300*/modules/adv717x.o $INSTALL/lib/modules/*/kernel/drivers/video/ || exit 1 cp $BUILD/em8300*/modules/bt865.o $INSTALL/lib/modules/*/kernel/drivers/video/ || exit 1 cp $BUILD/em8300*/modules/em8300.o $INSTALL/lib/modules/*/kernel/drivers/video/ || exit 1 cp $BUILD/em8300*/modules/em8300.uc $INSTALL/usr/share || exit 1 cp $BUILD/em8300*/em8300setup/em8300setup $INSTALL/usr/bin || exit 1 geexbox-0.98/packages/em8300/unpack0000755000175000017500000000022510106467316017261 0ustar aurelaurel00000000000000#!/bin/sh . config/path INPUT_MAKE="`ls -d $BUILD/em8300-*/modules/Makefile`" sed -i 's/-g//' $INPUT_MAKE sed -i 's/-O2/-Os/' $INPUT_MAKE exit 0 geexbox-0.98/packages/em8300/url0000644000175000017500000000010710106467316016576 0ustar aurelaurel00000000000000http://belnet.dl.sourceforge.net/sourceforge/dxr3/em8300-0.14.0.tar.gz geexbox-0.98/packages/essential/0000755000175000017500000000000010106467316017126 5ustar aurelaurel00000000000000geexbox-0.98/packages/essential/install0000755000175000017500000000045110106467316020522 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p $INSTALL/codecs cp $BUILD/$1*/atrc.so.6.0 $INSTALL/codecs cp $BUILD/$1*/cook.so.6.0 $INSTALL/codecs cp $BUILD/$1*/sipr.so.6.0 $INSTALL/codecs cp $BUILD/$1*/drv3.so.6.0 $INSTALL/codecs cp $BUILD/$1*/drv4.so.6.0 $INSTALL/codecs cp $BUILD/$1*/wm?9* $INSTALL/codecs geexbox-0.98/packages/essential/url0000644000175000017500000000011310106467316017646 0ustar aurelaurel00000000000000http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-20040704.tar.bz2 geexbox-0.98/packages/fbi/0000755000175000017500000000000010106467316015677 5ustar aurelaurel00000000000000geexbox-0.98/packages/fbi/build0000755000175000017500000000220610106467316016724 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build libpcd || exit 1 $SCRIPTS/build jpeg || exit 1 $SCRIPTS/build libpng || exit 1 $SCRIPTS/build zlib || exit 1 $SCRIPTS/build libungif || exit 1 $SCRIPTS/build libexif || exit 1 $SCRIPTS/build lirc || exit 1 EXTRA_HEADERS="-I`ls -d $ROOT/$BUILD/libpcd*/` -I`ls -d $ROOT/$BUILD/jpeg*/` -I`ls -d $ROOT/$BUILD/libpng*/` -I`ls -d $ROOT/$BUILD/libungif*/lib/` -I`ls -d $ROOT/$BUILD/libexif*/` -I`ls -d $ROOT/$BUILD/lirc*/` -I`ls -d $ROOT/$BUILD/zlib*/`" export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/fbi*` && \ CFLAGS="-Os -ffast-math $EXTRA_HEADERS" make prefix="/usr/bin" CC="$ROOT/$BUILD/uClibc-*/build/usr/bin/gcc" PCD_LDLIBS="`ls $ROOT/$BUILD/libpcd*/libpcd.a`" JPEG_LDLIBS="`ls $ROOT/$BUILD/jpeg*/libjpeg.a`" PNG_LDLIBS="`ls $ROOT/$BUILD/libpng*/libpng.a` `ls $ROOT/$BUILD/zlib*/libz.a`" UNGIF_LDLIBS="`ls $ROOT/$BUILD/libungif*/lib/.libs/libungif.a`" EXIF_LDLIBS="`ls $ROOT/$BUILD/libexif-*/libexif/.libs/libexif.a`" LIRC_LDLIBS="`ls $ROOT/$BUILD/lirc*/lirc/.libs/liblirc_client.a`" fbi && \ strip fbi && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/fbi/fbi_wrapper0000755000175000017500000000053710106467316020132 0ustar aurelaurel00000000000000#!/bin/sh if [ -f /var/view_img_timeout ]; then VIEW_IMG_TIMEOUT=`cat /var/view_img_timeout` else VIEW_IMG_TIMEOUT=`cat /etc/view_img_timeout` fi if [ $VIEW_IMG_TIMEOUT -eq 0 ] ; then VIEW_IMG_TIMEOUT="" else VIEW_IMG_TIMEOUT="--timeout $VIEW_IMG_TIMEOUT" fi fbi --autodown $VIEW_IMG_TIMEOUT --once --list /var/view_img_files >/dev/null 2>&1 geexbox-0.98/packages/fbi/install0000755000175000017500000000077510106467316017304 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options mkdir -p $INSTALL/usr/bin || exit 1 cp $BUILD/fbi*/fbi $INSTALL/usr/bin || exit 1 cp $PACKAGES/fbi/fbi_wrapper $INSTALL/usr/bin || exit 1 cp $PACKAGES/fbi/view_img $INSTALL/usr/bin || exit 1 mkdir -p $INSTALL/usr/lib/kbd/consolefonts || exit 1 cp $SOURCES/fbi/lat1-16.psf $INSTALL/usr/lib/kbd/consolefonts || exit 1 mkdir -p $INSTALL/etc || exit 1 cp $CONFIG/img_ext $INSTALL/etc || exit 1 echo $VIEW_IMG_TIMEOUT > $INSTALL/etc/view_img_timeout || exit 1 exit 0 geexbox-0.98/packages/fbi/unpack0000755000175000017500000000133010106467316017103 0ustar aurelaurel00000000000000#!/bin/sh . config/path sed -i 's/\$(call ac_header,X11\/X.h)/no/' $BUILD/fbi-*/GNUmakefile sed -i 's/\$(call ac_lib,pcd_open,pcd)/yes/' $BUILD/fbi-*/GNUmakefile sed -i 's/\$(call ac_lib,jpeg_start_compress,jpeg)/yes/' $BUILD/fbi-*/GNUmakefile sed -i 's/\$(call ac_lib,DGifOpenFileName,ungif)/yes/' $BUILD/fbi-*/GNUmakefile sed -i 's/\$(call ac_lib,png_read_info,png,-lz)/yes/' $BUILD/fbi-*/GNUmakefile sed -i 's/\$(call ac_lib,TIFFOpen,tiff)/no/' $BUILD/fbi-*/GNUmakefile sed -i 's/\$(call ac_lib,exif_data_new_from_file,exif,-lm)/yes/' $BUILD/fbi-*/GNUmakefile sed -i 's/\$(call ac_lib,curl_easy_init,curl)/no/' $BUILD/fbi-*/GNUmakefile sed -i 's/\$(call ac_lib,lirc_init,lirc_client)/yes/' $BUILD/fbi-*/GNUmakefile exit 0 geexbox-0.98/packages/fbi/url0000644000175000017500000000022010106467316016416 0ustar aurelaurel00000000000000http://dl.bytesex.org/releases/fbida/fbi_1.31.tar.gz GEEXBOX_SRCS/lat1-16.psf GEEXBOX_SRCS/patch-fbi-lirc.bz2 GEEXBOX_SRCS/patch-fbi-nofork.bz2 geexbox-0.98/packages/fbi/view_img0000755000175000017500000000121710106467316017434 0ustar aurelaurel00000000000000#!/bin/sh for i in `cat /etc/img_ext`; do if [ -z "$EXTS" ]; then EXTS="$i" else EXTS="$EXTS\|$i" fi done if test "$1" = "-a"; then # display all images in the selected folder DIR=$2 [ -d "$DIR" ] || DIR=${DIR%/[^/]*}/ ls -1 "$DIR" | grep -i "\.\($EXTS\)\$" | sed "s%\(.*\)%$DIR\1%" > /var/view_img_files elif test "$1" = "-r"; then # display all images in the selected folder and its subfolders (recursive) DIR=$2 [ -d "$DIR" ] || DIR=${DIR%/[^/]*}/ find "$DIR" | grep -i "\.\($EXTS\)\$" > /var/view_img_files else # display a single image echo "$1" > /var/view_img_files fi echo 'quit 165' > /var/mp_control exit 0 geexbox-0.98/packages/fixcodec/0000755000175000017500000000000010106467316016723 5ustar aurelaurel00000000000000geexbox-0.98/packages/fixcodec/build0000755000175000017500000000044110106467316017747 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $BUILD/fixcodec*`" && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os -s" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/fixcodec/url0000644000175000017500000000004410106467316017446 0ustar aurelaurel00000000000000GEEXBOX_SRCS/fixcodec-0.0.1.tar.bz2 geexbox-0.98/packages/freetype/0000755000175000017500000000000010106467317016763 5ustar aurelaurel00000000000000geexbox-0.98/packages/freetype/build0000755000175000017500000000077410106467317020020 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 unset INSTALL export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd $BUILD/freetype-* && \ CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" ./configure --host=i386-linux-gnu --prefix="`ls -d $ROOT/$BUILD/freetype-*`/build" --disable-shared && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-c -Os" && \ chmod +x builds/unix/freetype-config && \ make install && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/freetype/url0000644000175000017500000000010110106467317017500 0ustar aurelaurel00000000000000ftp://ftp.freetype.org/freetype/freetype2/freetype-2.1.4.tar.bz2 geexbox-0.98/packages/gdb/0000755000175000017500000000000010106467317015674 5ustar aurelaurel00000000000000geexbox-0.98/packages/gdb/build0000755000175000017500000000114010106467317016715 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build ncurses || exit 1 NCURSES="`ls -d $ROOT/$BUILD/ncurses*`" export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" export bash_cv_have_mbstate_t=set export CFLAGS="-I$NCURSES/include -L$NCURSES/lib" CWD=`pwd` PARTS="libiberty bfd readline opcodes gdb" cd $BUILD/gdb* for i in $PARTS; do cd $i && \ CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" ./configure --disable-nls --host=i386-linux-gnu && \ sed -i 's/.*HAVE_CURSES_H.*/#define HAVE_CURSES_H 1/' config.h && \ make && \ cd .. && \ continue cd "$CWD" exit 1 done cd "$CWD" exit 0 geexbox-0.98/packages/gdb/install0000755000175000017500000000012410106467317017265 0ustar aurelaurel00000000000000#!/bin/sh . config/path cp $BUILD/gdb*/gdb/gdb $INSTALL/usr/bin || exit 1 exit 0 geexbox-0.98/packages/gdb/url0000644000175000017500000000006310106467317016420 0ustar aurelaurel00000000000000ftp://sunsite.dk/mirrors/gnu/gdb/gdb-6.1.1.tar.bz2 geexbox-0.98/packages/generator-win32/0000755000175000017500000000000010106467317020066 5ustar aurelaurel00000000000000geexbox-0.98/packages/generator-win32/build0000755000175000017500000000002310106467317021106 0ustar aurelaurel00000000000000#!/bin/sh exit 0 geexbox-0.98/packages/generator-win32/install0000755000175000017500000000007710106467317021466 0ustar aurelaurel00000000000000#!/bin/sh . config/path cp $BUILD/$1*/generator.exe $INSTALL geexbox-0.98/packages/generator-win32/url0000644000175000017500000000005210106467317020610 0ustar aurelaurel00000000000000GEEXBOX_SRCS/generator-win32-0.0.8.tar.gz geexbox-0.98/packages/genext2fs/0000755000175000017500000000000010106467317017045 5ustar aurelaurel00000000000000geexbox-0.98/packages/genext2fs/build0000755000175000017500000000020310106467317020065 0ustar aurelaurel00000000000000#!/bin/sh . config/path CWD=`pwd` cd `ls -d $BUILD/genext2fs*` && \ make genext2fs && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/genext2fs/url0000644000175000017500000000012010106467317017563 0ustar aurelaurel00000000000000http://ftp.de.debian.org/debian/pool/main/g/genext2fs/genext2fs_1.3.orig.tar.gz geexbox-0.98/packages/initrd/0000755000175000017500000000000010106467317016431 5ustar aurelaurel00000000000000geexbox-0.98/packages/initrd/build0000755000175000017500000000205010106467317017453 0ustar aurelaurel00000000000000#!/bin/sh . config/path RAMDISK_SIZE=1024 $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build busybox || exit 1 $SCRIPTS/build genext2fs || exit 1 export INSTALL=$BUILD/initrd/mnt mkdir -p $INSTALL rm -f $BUILD/initrd/initrd $BUILD/initrd/initrd.bz2 mkdir $INSTALL/bin mkdir $INSTALL/dev mkdir -p $INSTALL/dev/snd mkdir -p $INSTALL/dev/input mkdir $INSTALL/mnt mkdir $INSTALL/mnt/ramfs mkdir $INSTALL/mnt/cdrom mkdir $INSTALL/proc mkdir $INSTALL/sbin mkdir $INSTALL/usr mkdir $INSTALL/usr/bin mkdir $INSTALL/usr/sbin $SCRIPTS/install uClibc || exit 1 $SCRIPTS/install busybox || exit 1 $SCRIPTS/install iscd || exit 1 $SCRIPTS/install fixcodec || exit 1 cp $PACKAGES/initrd/linuxrc $INSTALL cp $PACKAGES/initrd/console $INSTALL/sbin cp $PACKAGES/initrd/rescan-scsi-bus $INSTALL/sbin cp $PACKAGES/initrd/hotplug $INSTALL/sbin cp $PACKAGES/initrd/nosystem $INSTALL/sbin cp $PACKAGES/initrd/r[ow] $INSTALL/usr/bin $BUILD/genext2fs*/genext2fs -d $INSTALL -f $PACKAGES/initrd/dev -b 1024 -i 512 $BUILD/initrd/initrd rm -rf $INSTALL/* bzip2 -9 $BUILD/initrd/initrd geexbox-0.98/packages/initrd/console0000755000175000017500000000026410106467317020023 0ustar aurelaurel00000000000000#!/bin/sh /bin/busybox test ! -e /proc/cpuinfo && /bin/busybox mount -t proc none /proc /bin/busybox test ! -e /bin/cp && /bin/busybox --install -s while true; do /bin/sh done geexbox-0.98/packages/initrd/dev0000644000175000017500000001703010106467317017133 0ustar aurelaurel00000000000000crwx 5,1 /dev/console crwx 29,0 /dev/fb0 brwx 2,0 /dev/fd0 crwx 121,0 /dev/em8300-0 crwx 121,1 /dev/em8300_mv-0 crwx 121,2 /dev/em8300_ma-0 crwx 121,3 /dev/em8300_sp-0 crwx 81,0 /dev/video crwx 81,224 /dev/vbi0 crwx 1,3 /dev/null crwx 1,5 /dev/zero brwx 1,1 /dev/ram brwx 1,0 /dev/ram0 crwx 1,1 /dev/mem crwx 10,135 /dev/rtc crwx 5,0 /dev/tty crwx 4,0 /dev/tty0 crwx 4,1 /dev/tty1 crwx 4,2 /dev/tty2 crwx 4,64 /dev/ttyS0 crwx 4,65 /dev/ttyS1 crwx 2,0 /dev/ptyp0 crwx 2,16 /dev/ptyq0 crwx 3,0 /dev/ttyp0 crwx 3,16 /dev/ttyq0 crwx 61,0 /dev/lirc crwx 116,0 /dev/snd/controlC0 crwx 116,16 /dev/snd/pcmC0D0p crwx 116,17 /dev/snd/pcmC0D1p crwx 116,18 /dev/snd/pcmC0D2p crwx 116,19 /dev/snd/pcmC0D3p crwx 116,20 /dev/snd/pcmC0D4p crwx 116,21 /dev/snd/pcmC0D5p crwx 116,22 /dev/snd/pcmC0D6p crwx 116,23 /dev/snd/pcmC0D7p crwx 116,4 /dev/snd/hwC0D0 crwx 116,5 /dev/snd/hwC0D1 crwx 116,6 /dev/snd/hwC0D2 crwx 116,7 /dev/snd/hwC0D3 crwx 116,33 /dev/snd/timer brwx 11,0 /dev/scd0 brwx 11,1 /dev/scd1 brwx 11,2 /dev/scd2 brwx 11,3 /dev/scd3 brwx 11,4 /dev/scd4 brwx 11,5 /dev/scd5 brwx 11,6 /dev/scd6 brwx 11,7 /dev/scd7 brwx 11,8 /dev/scd8 brwx 11,9 /dev/scd9 crwx 21,0 /dev/sg0 crwx 21,1 /dev/sg1 crwx 21,2 /dev/sg2 crwx 21,3 /dev/sg3 crwx 21,4 /dev/sg4 crwx 21,5 /dev/sg5 crwx 21,6 /dev/sg6 crwx 21,7 /dev/sg7 crwx 21,8 /dev/sg8 crwx 21,9 /dev/sg9 brwx 11,0 /dev/sr0 brwx 11,1 /dev/sr1 brwx 11,2 /dev/sr2 brwx 11,3 /dev/sr3 brwx 11,4 /dev/sr4 brwx 11,5 /dev/sr5 brwx 11,6 /dev/sr6 brwx 11,7 /dev/sr7 brwx 11,8 /dev/sr8 brwx 11,9 /dev/sr9 brwx 3,0 /dev/hda brwx 3,1 /dev/hda1 brwx 3,2 /dev/hda2 brwx 3,3 /dev/hda3 brwx 3,4 /dev/hda4 brwx 3,5 /dev/hda5 brwx 3,6 /dev/hda6 brwx 3,7 /dev/hda7 brwx 3,8 /dev/hda8 brwx 3,9 /dev/hda9 brwx 3,10 /dev/hda10 brwx 3,11 /dev/hda11 brwx 3,12 /dev/hda12 brwx 3,13 /dev/hda13 brwx 3,14 /dev/hda14 brwx 3,15 /dev/hda15 brwx 3,16 /dev/hda16 brwx 3,17 /dev/hda17 brwx 3,18 /dev/hda18 brwx 3,19 /dev/hda19 brwx 3,20 /dev/hda20 brwx 3,64 /dev/hdb brwx 3,65 /dev/hdb1 brwx 3,66 /dev/hdb2 brwx 3,67 /dev/hdb3 brwx 3,68 /dev/hdb4 brwx 3,69 /dev/hdb5 brwx 3,70 /dev/hdb6 brwx 3,71 /dev/hdb7 brwx 3,72 /dev/hdb8 brwx 3,73 /dev/hdb9 brwx 3,74 /dev/hdb10 brwx 3,75 /dev/hdb11 brwx 3,76 /dev/hdb12 brwx 3,77 /dev/hdb13 brwx 3,78 /dev/hdb14 brwx 3,79 /dev/hdb15 brwx 3,80 /dev/hdb16 brwx 3,81 /dev/hdb17 brwx 3,82 /dev/hdb18 brwx 3,83 /dev/hdb19 brwx 3,84 /dev/hdb20 brwx 22,0 /dev/hdc brwx 22,1 /dev/hdc1 brwx 22,2 /dev/hdc2 brwx 22,3 /dev/hdc3 brwx 22,4 /dev/hdc4 brwx 22,5 /dev/hdc5 brwx 22,6 /dev/hdc6 brwx 22,7 /dev/hdc7 brwx 22,8 /dev/hdc8 brwx 22,9 /dev/hdc9 brwx 22,10 /dev/hdc10 brwx 22,11 /dev/hdc11 brwx 22,12 /dev/hdc12 brwx 22,13 /dev/hdc13 brwx 22,14 /dev/hdc14 brwx 22,15 /dev/hdc15 brwx 22,16 /dev/hdc16 brwx 22,17 /dev/hdc17 brwx 22,18 /dev/hdc18 brwx 22,19 /dev/hdc19 brwx 22,20 /dev/hdc20 brwx 22,64 /dev/hdd brwx 22,65 /dev/hdd1 brwx 22,66 /dev/hdd2 brwx 22,67 /dev/hdd3 brwx 22,68 /dev/hdd4 brwx 22,69 /dev/hdd5 brwx 22,70 /dev/hdd6 brwx 22,71 /dev/hdd7 brwx 22,72 /dev/hdd8 brwx 22,73 /dev/hdd9 brwx 22,74 /dev/hdd10 brwx 22,75 /dev/hdd11 brwx 22,76 /dev/hdd12 brwx 22,77 /dev/hdd13 brwx 22,78 /dev/hdd14 brwx 22,79 /dev/hdd15 brwx 22,80 /dev/hdd16 brwx 22,81 /dev/hdd17 brwx 22,82 /dev/hdd18 brwx 22,83 /dev/hdd19 brwx 22,84 /dev/hdd20 brwx 33,0 /dev/hde brwx 33,1 /dev/hde1 brwx 33,2 /dev/hde2 brwx 33,3 /dev/hde3 brwx 33,4 /dev/hde4 brwx 33,5 /dev/hde5 brwx 33,6 /dev/hde6 brwx 33,7 /dev/hde7 brwx 33,8 /dev/hde8 brwx 33,9 /dev/hde9 brwx 33,10 /dev/hde10 brwx 33,11 /dev/hde11 brwx 33,12 /dev/hde12 brwx 33,13 /dev/hde13 brwx 33,14 /dev/hde14 brwx 33,15 /dev/hde15 brwx 33,16 /dev/hde16 brwx 33,17 /dev/hde17 brwx 33,18 /dev/hde18 brwx 33,19 /dev/hde19 brwx 33,20 /dev/hde20 brwx 33,64 /dev/hdf brwx 33,65 /dev/hdf1 brwx 33,66 /dev/hdf2 brwx 33,67 /dev/hdf3 brwx 33,68 /dev/hdf4 brwx 33,69 /dev/hdf5 brwx 33,70 /dev/hdf6 brwx 33,71 /dev/hdf7 brwx 33,72 /dev/hdf8 brwx 33,73 /dev/hdf9 brwx 33,74 /dev/hdf10 brwx 33,75 /dev/hdf11 brwx 33,76 /dev/hdf12 brwx 33,77 /dev/hdf13 brwx 33,78 /dev/hdf14 brwx 33,79 /dev/hdf15 brwx 33,80 /dev/hdf16 brwx 33,81 /dev/hdf17 brwx 33,82 /dev/hdf18 brwx 33,83 /dev/hdf19 brwx 33,84 /dev/hdf20 brwx 34,0 /dev/hdg brwx 34,1 /dev/hdg1 brwx 34,2 /dev/hdg2 brwx 34,3 /dev/hdg3 brwx 34,4 /dev/hdg4 brwx 34,5 /dev/hdg5 brwx 34,6 /dev/hdg6 brwx 34,7 /dev/hdg7 brwx 34,8 /dev/hdg8 brwx 34,9 /dev/hdg9 brwx 34,10 /dev/hdg10 brwx 34,11 /dev/hdg11 brwx 34,12 /dev/hdg12 brwx 34,13 /dev/hdg13 brwx 34,14 /dev/hdg14 brwx 34,15 /dev/hdg15 brwx 34,16 /dev/hdg16 brwx 34,17 /dev/hdg17 brwx 34,18 /dev/hdg18 brwx 34,19 /dev/hdg19 brwx 34,20 /dev/hdg20 brwx 34,64 /dev/hdh brwx 34,65 /dev/hdh1 brwx 34,66 /dev/hdh2 brwx 34,67 /dev/hdh3 brwx 34,68 /dev/hdh4 brwx 34,69 /dev/hdh5 brwx 34,70 /dev/hdh6 brwx 34,71 /dev/hdh7 brwx 34,72 /dev/hdh8 brwx 34,73 /dev/hdh9 brwx 34,74 /dev/hdh10 brwx 34,75 /dev/hdh11 brwx 34,76 /dev/hdh12 brwx 34,77 /dev/hdh13 brwx 34,78 /dev/hdh14 brwx 34,79 /dev/hdh15 brwx 34,80 /dev/hdh16 brwx 34,81 /dev/hdh17 brwx 34,82 /dev/hdh18 brwx 34,83 /dev/hdh19 brwx 34,84 /dev/hdh20 brwx 8,0 /dev/sda brwx 8,1 /dev/sda1 brwx 8,2 /dev/sda2 brwx 8,3 /dev/sda3 brwx 8,4 /dev/sda4 brwx 8,5 /dev/sda5 brwx 8,6 /dev/sda6 brwx 8,7 /dev/sda7 brwx 8,8 /dev/sda8 brwx 8,9 /dev/sda9 brwx 8,10 /dev/sda10 brwx 8,11 /dev/sda11 brwx 8,12 /dev/sda12 brwx 8,13 /dev/sda13 brwx 8,14 /dev/sda14 brwx 8,15 /dev/sda15 brwx 8,16 /dev/sdb brwx 8,17 /dev/sdb1 brwx 8,18 /dev/sdb2 brwx 8,19 /dev/sdb3 brwx 8,20 /dev/sdb4 brwx 8,21 /dev/sdb5 brwx 8,22 /dev/sdb6 brwx 8,23 /dev/sdb7 brwx 8,24 /dev/sdb8 brwx 8,25 /dev/sdb9 brwx 8,26 /dev/sdb10 brwx 8,27 /dev/sdb11 brwx 8,28 /dev/sdb12 brwx 8,29 /dev/sdb13 brwx 8,30 /dev/sdb14 brwx 8,31 /dev/sdb15 brwx 8,32 /dev/sdc brwx 8,33 /dev/sdc1 brwx 8,34 /dev/sdc2 brwx 8,35 /dev/sdc3 brwx 8,36 /dev/sdc4 brwx 8,37 /dev/sdc5 brwx 8,38 /dev/sdc6 brwx 8,39 /dev/sdc7 brwx 8,40 /dev/sdc8 brwx 8,41 /dev/sdc9 brwx 8,42 /dev/sdc10 brwx 8,43 /dev/sdc11 brwx 8,44 /dev/sdc12 brwx 8,45 /dev/sdc13 brwx 8,46 /dev/sdc14 brwx 8,47 /dev/sdc15 brwx 8,48 /dev/sdd brwx 8,49 /dev/sdd1 brwx 8,50 /dev/sdd2 brwx 8,51 /dev/sdd3 brwx 8,52 /dev/sdd4 brwx 8,53 /dev/sdd5 brwx 8,54 /dev/sdd6 brwx 8,55 /dev/sdd7 brwx 8,56 /dev/sdd8 brwx 8,57 /dev/sdd9 brwx 8,58 /dev/sdd10 brwx 8,59 /dev/sdd11 brwx 8,60 /dev/sdd12 brwx 8,61 /dev/sdd13 brwx 8,62 /dev/sdd14 brwx 8,63 /dev/sdd15 brwx 8,64 /dev/sde brwx 8,65 /dev/sde1 brwx 8,66 /dev/sde2 brwx 8,67 /dev/sde3 brwx 8,68 /dev/sde4 brwx 8,69 /dev/sde5 brwx 8,70 /dev/sde6 brwx 8,71 /dev/sde7 brwx 8,72 /dev/sde8 brwx 8,73 /dev/sde9 brwx 8,74 /dev/sde10 brwx 8,75 /dev/sde11 brwx 8,76 /dev/sde12 brwx 8,77 /dev/sde13 brwx 8,78 /dev/sde14 brwx 8,79 /dev/sde15 brwx 8,80 /dev/sdf brwx 8,81 /dev/sdf1 brwx 8,82 /dev/sdf2 brwx 8,83 /dev/sdf3 brwx 8,84 /dev/sdf4 brwx 8,85 /dev/sdf5 brwx 8,86 /dev/sdf6 brwx 8,87 /dev/sdf7 brwx 8,88 /dev/sdf8 brwx 8,89 /dev/sdf9 brwx 8,90 /dev/sdf10 brwx 8,91 /dev/sdf11 brwx 8,92 /dev/sdf12 brwx 8,93 /dev/sdf13 brwx 8,94 /dev/sdf14 brwx 8,95 /dev/sdf15 brwx 8,96 /dev/sdg brwx 8,97 /dev/sdg1 brwx 8,98 /dev/sdg2 brwx 8,99 /dev/sdg3 brwx 8,100 /dev/sdg4 brwx 8,101 /dev/sdg5 brwx 8,102 /dev/sdg6 brwx 8,103 /dev/sdg7 brwx 8,104 /dev/sdg8 brwx 8,105 /dev/sdg9 brwx 8,106 /dev/sdg10 brwx 8,107 /dev/sdg11 brwx 8,108 /dev/sdg12 brwx 8,109 /dev/sdg13 brwx 8,110 /dev/sdg14 brwx 8,111 /dev/sdg15 brwx 8,112 /dev/sdh brwx 8,113 /dev/sdh1 brwx 8,114 /dev/sdh2 brwx 8,115 /dev/sdh3 brwx 8,116 /dev/sdh4 brwx 8,117 /dev/sdh5 brwx 8,118 /dev/sdh6 brwx 8,119 /dev/sdh7 brwx 8,120 /dev/sdh8 brwx 8,121 /dev/sdh9 brwx 8,122 /dev/sdh10 brwx 8,123 /dev/sdh11 brwx 8,124 /dev/sdh12 brwx 8,125 /dev/sdh13 brwx 8,126 /dev/sdh14 brwx 8,127 /dev/sdh15 crwx 13,0 /dev/input/js0 geexbox-0.98/packages/initrd/hotplug0000755000175000017500000000157210106467317020046 0ustar aurelaurel00000000000000#!/bin/sh [ "$1" = scsi -a -n "$SCSI_DEVICE" ] || exit 1 case $ACTION in add) if [ -z "`echo $SCSI_DEVICE | grep scd`" ]; then ( sleep 1 DISK=`cat /etc/last_disk` DISK=$(($DISK+1)) PART=0 for DEV in `sed -n "s/\ *[0-9][0-9]*\ *[0-9][0-9]*\ *[0-9][0-9][0-9]*\ \(${SCSI_DEVICE}[0-9][0-9]*\)/\1/p" /proc/partitions`; do PART=$(($PART+1)) DIR="/mnt/ramfs/mnt/disk $DISK part $PART" mkdir "$DIR" mount -o ro /dev/$DEV "$DIR" >/dev/null 2>&1 || rmdir "$DIR" done echo -n $DISK > /etc/last_disk ) & else NUM=`cat /etc/last_cdrom` NUM=$(($NUM+1)) CDROM="/mnt/ramfs/mnt/cdrom $NUM" mkdir "$CDROM" mount -t supermount -o ro,dev=/dev/$SCSI_DEVICE none "$CDROM" >/dev/null 2>&1 || rmdir "$CDROM" echo -n $NUM > /etc/last_cdrom fi ;; esac geexbox-0.98/packages/initrd/install0000755000175000017500000000020510106467317020022 0ustar aurelaurel00000000000000#!/bin/sh . config/path test "$2" != installator && INSTALL="$INSTALL/boot" mkdir -p $INSTALL cp $BUILD/initrd/initrd.bz2 $INSTALL geexbox-0.98/packages/initrd/linuxrc0000755000175000017500000001166310106467317020052 0ustar aurelaurel00000000000000#!/bin/busybox sh busybox mount -t proc none /proc busybox --install -s echo geexbox > /proc/sys/kernel/hostname echo "52 scanning scsi bus" > /proc/progress rescan-scsi-bus mount -t ramfs none /mnt/ramfs mkdir -p /mnt/ramfs/bin mkdir -p /mnt/ramfs/dev mkdir -p /mnt/ramfs/etc mkdir -p /mnt/ramfs/mnt mkdir -p /mnt/ramfs/proc mkdir -p /mnt/ramfs/lib mkdir -p /mnt/ramfs/sbin mkdir -p /mnt/ramfs/tmp mkdir -p /mnt/ramfs/usr/bin mkdir -p /mnt/ramfs/usr/sbin mkdir -p /mnt/ramfs/var/run mkdir -p /mnt/ramfs/var/log mkdir -p /mnt/ramfs/var/lock echo "" > /mnt/ramfs/etc/mtab echo "" > /mnt/ramfs/etc/fstab cp -a /dev/* /mnt/ramfs/dev cp -a /usr/* /mnt/ramfs/usr cp -a /lib/* /mnt/ramfs/lib/ ln -s libuClibc-*.so libc.so.6 cp /bin/busybox /mnt/ramfs/bin ln -s busybox /mnt/ramfs/bin/sh test -n "`grep 'installator' /proc/cmdline`" && INSTALLATOR=yes test -n "`grep debugging /proc/cmdline`" && DEBUG=yes BOOT=`sed 's/.*boot=\([^\ ]*\).*/\1/' /proc/cmdline` echo "54 tweaking ide drives" > /proc/progress for i in /proc/ide/hd*; do echo io_32bit:1 > $i/settings echo using_dma:1 > $i/settings echo file_readahead:2000000 > $i/settings done if test "$BOOT" = nfs; then echo "55 getting nfs tree" > /proc/progress NFS=`sed 's/.*nfsroot=\([^\ ]*\).*/\1/' /proc/cmdline` if test "$INSTALLATOR" = yes; then GEEXBOX=/mnt/ramfs/mnt/nfs else GEEXBOX=/mnt/nfs fi udhcpc -H geexbox -n mkdir -p $GEEXBOX mount -t nfs -o ro,nolock,nfsvers=2 $NFS $GEEXBOX fi echo "56 searching cdrom drives" > /proc/progress echo -n 0 > /etc/last_cdrom COUNT=`cut -f 5 /proc/scsi/sg/devices | grep -c 5` for DEV in /dev/scd*; do NUM=`echo $DEV | sed 's%/dev/scd\(.*\)%\1%'` test "$NUM" -ge "$COUNT" && break TYPE=`/usr/bin/iscd $DEV` CDROM="/mnt/ramfs/mnt/cdrom $(($NUM+1))" mkdir "$CDROM" if mount -t supermount -o dev=$DEV,fs=auto none "$CDROM" 2>/dev/null >/dev/null; then if test "$BOOT" = cdrom -a -z "$GEEXBOX" -a -d "$CDROM/GEEXBOX"; then GEEXBOX="$CDROM/GEEXBOX" DEVICE=$DEV test $TYPE = DVD && DVD_DEVICE=$DEV fi test -z "$DEVICE" && DEVICE=$DEV test -z "$DVD_DEVICE" -a "$TYPE" = DVD && DVD_DEVICE=$DEV echo -n " $DEV '`echo $CDROM | sed s%/mnt/ramfs%%`'" >> /mnt/ramfs/tmp/autolaunchparam echo -n $(($NUM+1)) > /etc/last_cdrom else rmdir "$CDROM" fi done if test -e /mnt/ramfs/tmp/autolaunchparam; then echo -n "/usr/bin/autoplay" | cat - /mnt/ramfs/tmp/autolaunchparam > /mnt/ramfs/usr/bin/autolaunch rm /mnt/ramfs/tmp/autolaunchparam fi if test "$BOOT" != cdrom -a "$BOOT" != nfs; then echo "63 boot device detection" > /proc/progress while test -z "`grep $BOOT /proc/partitions`"; do sleep 1 done fi if test "$INSTALLATOR" != yes; then echo "65 mounting harddisks" > /proc/progress DISK_NAME= DISK=0 for DEV in `sed -n "s/\ *[0-9][0-9]*\ *[0-9][0-9]*\ *[0-9][0-9][0-9]*\ \([a-z]*[0-9][0-9]*\)/\1/p" /proc/partitions`; do NAME=`echo $DEV | sed 's/\([a-z]\{3\}\).*/\1/'` if test "$NAME" != "$DISK_NAME"; then DISK_NAME="$NAME" DISK=$(($DISK+1)) PART=0 hdparm -S24 /dev/$NAME >/dev/null fi PART=$(($PART+1)) DIR="/mnt/ramfs/mnt/disk $DISK part $PART" mkdir "$DIR" mount -o ro /dev/$DEV "$DIR" >/dev/null 2>&1 || rmdir "$DIR" if test "$BOOT" != cdrom -a -z "$GEEXBOX" -a -d "$DIR/GEEXBOX/sbin" -a -f "$DIR/syslinux.cfg"; then GEEXBOX="$DIR/GEEXBOX" fi done echo -n $DISK > /etc/last_disk else echo "" > /proc/sys/kernel/hotplug echo -n 0 > /etc/last_disk fi if test -n "$GEEXBOX" ; then echo "70 copying system into ram" > /proc/progress cp -a "$GEEXBOX/sbin" /mnt/ramfs/ echo "71 copying system into ram" > /proc/progress cp -a "$GEEXBOX/etc" /mnt/ramfs/ echo "73 copying system into ram" > /proc/progress cp -a "$GEEXBOX/usr" /mnt/ramfs/ echo "76 copying system into ram" > /proc/progress tar xjf "$GEEXBOX/bin.tar.bz2" -C /mnt/ramfs/ echo "82 copying system into ram" > /proc/progress mkdir -p /mnt/ramfs/codecs/ for i in "$GEEXBOX/codecs/"*; do fixcodec "$i" "/mnt/ramfs/codecs/${i##*/}" done echo "85 cleaning ram disk" > /proc/progress test -n "$DEVICE" && ln -s "$DEVICE" /mnt/ramfs/dev/cdrom; test -n "$DVD_DEVICE" && ln -s "$DVD_DEVICE" /mnt/ramfs/dev/dvd; INIT=/sbin/init test -n "`grep 'installator' /proc/cmdline`" && INIT=/sbin/installator && export UID=0 else cp /sbin/nosystem /mnt/ramfs/sbin INIT=/sbin/nosystem echo "100 cleaning ram disk" > /proc/progress fi if test "$BOOT" = nfs; then if test "$INSTALLATOR" = yes; then export NFS="${GEEXBOX#/mnt/ramfs}" else umount "$GEEXBOX" fi fi if test "$BOOT" = cdrom; then GEEXBOX="${GEEXBOX#/mnt/ramfs}" export CDROM="${GEEXBOX%/GEEXBOX}" fi export DEBUG umount /proc if test "$DEBUG" = yes; then cp /sbin/console /mnt/ramfs/sbin /usr/sbin/chroot /mnt/ramfs /sbin/console /dev/tty2 2>&1 & fi /usr/sbin/chroot /mnt/ramfs $INIT geexbox /dev/tty1 2>&1 if test "$INSTALLATOR" = yes; then reboot else poweroff fi geexbox-0.98/packages/initrd/need_build0000755000175000017500000000076010106467317020454 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build busybox || exit 1 STAMP=.stamps/initrd/build test .stamps/uClibc/build -nt $STAMP && rm -f $STAMP test .stamps/busybox/build -nt $STAMP && rm -f $STAMP test .stamps/iscd/build -nt $STAMP && rm -f $STAMP test $PACKAGES/initrd/makedev -nt $STAMP && rm -f $STAMP test $PACKAGES/initrd/linuxrc -nt $STAMP && rm -f $STAMP test $PACKAGES/initrd/rw -nt $STAMP && rm -f $STAMP test $PACKAGES/initrd/ro -nt $STAMP && rm -f $STAMP geexbox-0.98/packages/initrd/nosystem0000755000175000017500000000050510106467317020240 0ustar aurelaurel00000000000000#!/bin/sh /bin/busybox test ! -e /proc/cpuinfo && /bin/busybox mount -t proc none /proc /bin/busybox test ! -e /bin/cp && /bin/busybox --install -s echo "****" echo "**** ERROR: can't access GeeXboX second stage system !" echo "**** If booting from CD your CD drive is probably not recognized" echo "****" /bin/sh exit 1 geexbox-0.98/packages/initrd/rescan-scsi-bus0000755000175000017500000000200110106467317021351 0ustar aurelaurel00000000000000#!/bin/busybox sh # Skript to rescan SCSI bus, using the # scsi add-single-device mechanism # (w) 98/03/19 Kurt Garloff (c) GNU GPL # 03/06/18 Modified to use busybox by Aurelien Jacbos # Return hosts. /proc/scsi/HOSTADAPTER/? must exist findhosts () { hosts= for name in /proc/scsi/*/?; do name=${name#/proc/scsi/} if /bin/busybox test $name != scsi; then hosts="$hosts ${name#*/}" fi done } # Perform search (scan $host) dosearch () { for channel in $channelsearch; do for id in $idsearch; do for lun in $lunsearch; do devnr="$host $channel $id $lun" grepstr="scsi$host Channel: 0$channel Id: 0*$id Lun: 0$lun" new=`/bin/busybox cat /proc/scsi/scsi | /bin/busybox grep "$grepstr"` if /bin/busybox test -z "$new"; then /bin/busybox echo "scsi add-single-device $devnr" >/proc/scsi/scsi fi done done done } # main lunsearch="0" idsearch="0 1 2 3 4 5 6 7" channelsearch="0 1" findhosts for host in $hosts; do dosearch; done geexbox-0.98/packages/initrd/ro0000755000175000017500000000056410106467317017004 0ustar aurelaurel00000000000000#!/bin/sh if [ -n "`echo $1 | grep '/mnt/..*'`" ]; then MNT=`echo $1 | sed "s%\(/mnt/[^/]*\)/.*%\1%"` DEV=`mount | sed -n "s%\(.*\) on ${MNT}.*%\1%p"` COUNT=`sed -n "s%\([0-9]*\)\ $DEV%\1%p" /var/rw` [ "$COUNT" -lt "1" ] && exit 1 [ "$COUNT" -eq "1" ] && mount -o remount,ro "$DEV" "$MNT" COUNT=$(($COUNT-1)) sed -i "s%[0-9]*\ $DEV%$COUNT $DEV%" /var/rw fi geexbox-0.98/packages/initrd/rw0000755000175000017500000000067410106467317017016 0ustar aurelaurel00000000000000#!/bin/sh if [ -n "`echo $1 | grep '/mnt/..*'`" ]; then MNT=`echo $1 | sed "s%\(/mnt/[^/]*\)/.*%\1%"` DEV=`mount | sed -n "s%\(.*\) on ${MNT}.*%\1%p"` [ -f /var/rw ] && COUNT=`sed -n "s%\([0-9]*\)\ $DEV%\1%p" /var/rw` [ -z "$COUNT" -o "$COUNT" -le "0" ] && mount -o remount,rw "$DEV" "$MNT" if [ -z "$COUNT" ]; then echo "1 $DEV" >> /var/rw else COUNT=$(($COUNT+1)) sed -i "s%[0-9]*\ $DEV%$COUNT $DEV%" /var/rw fi fi geexbox-0.98/packages/installator/0000755000175000017500000000000010106467317017474 5ustar aurelaurel00000000000000geexbox-0.98/packages/installator/install0000755000175000017500000000057210106467317021074 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p $INSTALL/sbin cp $INSTALLATOR/installator.sh $INSTALL/sbin/installator || exit 1 sed -i "s/VERSION=.*/VERSION=$GEEXBOX_VERSION/" $INSTALL/sbin/installator $SCRIPTS/install ncurses || exit 1 $SCRIPTS/install dialog || exit 1 $SCRIPTS/install util-linux || exit 1 $SCRIPTS/install dosfstools || exit 1 $SCRIPTS/install syslinux binary || exit 1 geexbox-0.98/packages/iscd/0000755000175000017500000000000010106467317016062 5ustar aurelaurel00000000000000geexbox-0.98/packages/iscd/build0000755000175000017500000000052510106467317017111 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` KERNEL="`ls -d $ROOT/$BUILD/linux*/include`" cd "`ls -d $BUILD/iscd*`" && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os -s -I$KERNEL" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/iscd/url0000644000175000017500000000004010106467317016601 0ustar aurelaurel00000000000000GEEXBOX_SRCS/iscd-0.0.2.tar.bz2 geexbox-0.98/packages/jpeg/0000755000175000017500000000000010106467317016065 5ustar aurelaurel00000000000000geexbox-0.98/packages/jpeg/build0000755000175000017500000000050210106467317017107 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/jpeg*` && \ ./configure && \ make CC="$ROOT/$BUILD/uClibc-*/build/usr/bin/gcc" CFLAGS="-Os -s" libjpeg.a && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/jpeg/url0000644000175000017500000000005410106467317016611 0ustar aurelaurel00000000000000http://www.ijg.org/files/jpegsrc.v6b.tar.gz geexbox-0.98/packages/libdts/0000755000175000017500000000000010106467317016421 5ustar aurelaurel00000000000000geexbox-0.98/packages/libdts/build0000755000175000017500000000044510106467317017451 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/libdts*` && \ CFLAGS="-Os" ./configure && \ make CC="$ROOT/$BUILD/uClibc-*/build/usr/bin/gcc" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/libdts/url0000644000175000017500000000011310106467317017141 0ustar aurelaurel00000000000000http://download.videolan.org/pub/videolan/libdts/0.0.2/libdts-0.0.2.tar.gz geexbox-0.98/packages/libexif/0000755000175000017500000000000010106467317016562 5ustar aurelaurel00000000000000geexbox-0.98/packages/libexif/build0000755000175000017500000000052410106467317017610 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/libexif*` && \ ./configure --disable-nls && \ make CC="$ROOT/$BUILD/uClibc-*/build/usr/bin/gcc" CFLAGS="-Os -s" -C libexif && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/libexif/url0000644000175000017500000000011310106467317017302 0ustar aurelaurel00000000000000http://heanet.dl.sourceforge.net/sourceforge/libexif/libexif-0.5.12.tar.gz geexbox-0.98/packages/libirman/0000755000175000017500000000000010106467317016735 5ustar aurelaurel00000000000000geexbox-0.98/packages/libirman/build0000755000175000017500000000047110106467317017764 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/libirman*` && \ CC="$ROOT/$BUILD/uClibc-*/build/usr/bin/gcc" CFLAGS="-Os" ./configure && \ make && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/libirman/url0000644000175000017500000000010510106467317017456 0ustar aurelaurel00000000000000http://lirc.sourceforge.net/software/snapshots/libirman-0.4.3.tar.gz geexbox-0.98/packages/libogg/0000755000175000017500000000000010106467317016403 5ustar aurelaurel00000000000000geexbox-0.98/packages/libogg/build0000755000175000017500000000064610106467317017436 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 CWD=`pwd` UCBIN=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin` cd $BUILD/libogg-* && \ ./configure --disable-shared && \ export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ cat libtool | sed s%CC\=.*%CC\=\"$UCBIN/gcc\"% > libtool.new && \ mv libtool.new libtool && \ make CFLAGS="-Os" CC=$UCBIN/gcc && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/libogg/url0000644000175000017500000000007210106467317017127 0ustar aurelaurel00000000000000http://www.vorbis.com/files/1.0.1/unix/libogg-1.1.tar.gz geexbox-0.98/packages/libpcd/0000755000175000017500000000000010106467317016375 5ustar aurelaurel00000000000000geexbox-0.98/packages/libpcd/build0000755000175000017500000000046310106467317017425 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/libpcd-*` && \ make CC="$ROOT/$BUILD/uClibc-*/build/usr/bin/gcc" CFLAGS="-Os -s" libpcd.a && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/libpcd/url0000644000175000017500000000007210106467317017121 0ustar aurelaurel00000000000000http://dl.bytesex.org/releases/libpcd/libpcd_1.0.1.tar.gz geexbox-0.98/packages/libpng/0000755000175000017500000000000010106467317016413 5ustar aurelaurel00000000000000geexbox-0.98/packages/libpng/build0000755000175000017500000000062010106467317017436 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build zlib || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/libpng*` && \ make -f scripts/makefile.linux CC="`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os -s -I`ls -d $ROOT/$BUILD/zlib*/`" libpng.a && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/libpng/url0000644000175000017500000000011410106467317017134 0ustar aurelaurel00000000000000http://heanet.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.6rc5.tar.bz2 geexbox-0.98/packages/libungif/0000755000175000017500000000000010106467317016737 5ustar aurelaurel00000000000000geexbox-0.98/packages/libungif/build0000755000175000017500000000055410106467317017770 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build uClibc || exit 1 unset UCLIBC_GCC_DLOPT CWD=`pwd` cd `ls -d $BUILD/libungif-*` && \ ./configure --without-x CC="$ROOT/$BUILD/uClibc-*/build/usr/bin/gcc" CFLAGS="-Os -s" && \ export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ make -C lib && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/libungif/url0000644000175000017500000000011410106467317017460 0ustar aurelaurel00000000000000http://heanet.dl.sourceforge.net/sourceforge/libungif/libungif-4.1.1.tar.gz geexbox-0.98/packages/libvorbis/0000755000175000017500000000000010106467317017133 5ustar aurelaurel00000000000000geexbox-0.98/packages/libvorbis/build0000755000175000017500000000111110106467317020152 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build libogg || exit 1 CWD=`pwd` UCBIN=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin` export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ cd $BUILD/libvorbis-* && \ CC=$UCBIN/gcc ./configure --host=i386-linux-gnu --disable-shared --with-ogg-libraries="`ls -d $ROOT/$BUILD/libogg-*/src` -L`ls -d $ROOT/$BUILD/libogg-*/src/.libs`" --with-ogg-includes=`ls -d $ROOT/$BUILD/libogg-*/include` --disable-oggtest && \ make CFLAGS="-Os -ffast-math" CC=$UCBIN/gcc && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/libvorbis/url0000644000175000017500000000007710106467317017664 0ustar aurelaurel00000000000000http://www.vorbis.com/files/1.0.1/unix/libvorbis-1.0.1.tar.gz geexbox-0.98/packages/linux/0000755000175000017500000000000010106467317016277 5ustar aurelaurel00000000000000geexbox-0.98/packages/linux/build0000755000175000017500000000100610106467317017321 0ustar aurelaurel00000000000000#!/bin/sh . config/path LINUX="`ls -d $ROOT/$BUILD/linux-*`" export CFLAGS="-D__KERNEL__ -I$LINUX/include -Os -fno-strict-aliasing -fomit-frame-pointer" make CFLAGS="$CFLAGS" dep -C "$LINUX" && \ make CFLAGS="$CFLAGS" clean -C "$LINUX" && \ make CFLAGS="$CFLAGS" bzImage -C "$LINUX" && \ make CFLAGS="$CFLAGS" modules -C "$LINUX" && \ make INSTALL_MOD_PATH="$LINUX/modules" modules_install -C "$LINUX" && \ rm -f $LINUX/modules/lib/modules/*/build && \ rmdir $LINUX/modules/lib/modules/*/pcmcia && \ exit 0 exit 1 geexbox-0.98/packages/linux/install0000755000175000017500000000067310106467317017701 0ustar aurelaurel00000000000000#!/bin/sh . config/path case "$2" in image) test "$3" != installator && INSTALL="$INSTALL/boot" mkdir -p $INSTALL cp $BUILD/linux-*/arch/i386/boot/bzImage $INSTALL/vmlinuz ;; modules) cp -r $BUILD/linux-*/modules/* $INSTALL rm -rf $INSTALL/lib/modules/*/kernel/drivers/media/video/v4l1-compat.o mkdir -p $INSTALL/etc cp $PACKAGES/linux/modules $INSTALL/etc cp $CONFIG/tvcard $INSTALL/etc ;; esac geexbox-0.98/packages/linux/linux.conf0000644000175000017500000006171310106467317020315 0ustar aurelaurel00000000000000# # Automatically generated by make menuconfig: don't edit # CONFIG_X86=y # CONFIG_SBUS is not set CONFIG_UID16=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y # # Loadable module support # CONFIG_MODULES=y # CONFIG_MODVERSIONS is not set # CONFIG_KMOD is not set # # Processor type and features # # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set CONFIG_M586TSC=y # CONFIG_M586MMX is not set # CONFIG_M686 is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set # CONFIG_MK7 is not set # CONFIG_MK8 is not set # CONFIG_MELAN is not set # CONFIG_MCRUSOE is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP2 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_X86_L1_CACHE_SHIFT=5 CONFIG_X86_USE_STRING_486=y CONFIG_X86_ALIGNMENT_16=y CONFIG_X86_HAS_TSC=y CONFIG_X86_PPRO_FENCE=y # CONFIG_X86_F00F_WORKS_OK is not set # CONFIG_X86_MCE is not set # CONFIG_TOSHIBA is not set # CONFIG_I8K is not set # CONFIG_MICROCODE is not set # CONFIG_X86_MSR is not set # CONFIG_X86_CPUID is not set # CONFIG_EDD is not set CONFIG_NOHIGHMEM=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set # CONFIG_HIGHMEM is not set # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y # CONFIG_SMP is not set CONFIG_X86_UP_APIC=y CONFIG_X86_UP_IOAPIC=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y # CONFIG_X86_TSC_DISABLE is not set CONFIG_X86_TSC=y # # General setup # CONFIG_NET=y CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GODIRECT is not set CONFIG_PCI_GOANY=y CONFIG_PCI_BIOS=y CONFIG_PCI_DIRECT=y CONFIG_ISA=y # CONFIG_PCI_NAMES is not set # CONFIG_EISA is not set # CONFIG_MCA is not set CONFIG_HOTPLUG=y # # PCMCIA/CardBus support # # CONFIG_PCMCIA is not set # # PCI Hotplug Support # # CONFIG_HOTPLUG_PCI is not set # CONFIG_HOTPLUG_PCI_COMPAQ is not set # CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set # CONFIG_HOTPLUG_PCI_IBM is not set # CONFIG_HOTPLUG_PCI_ACPI is not set # CONFIG_SYSVIPC is not set # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y # CONFIG_KERNEL_GZIP is not set CONFIG_KERNEL_BZIP=y CONFIG_KERNEL_CLEVEL="9" CONFIG_KCORE_ELF=y # CONFIG_KCORE_AOUT is not set # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_MISC is not set # CONFIG_OOM_KILLER is not set CONFIG_PM=y CONFIG_APM=y # CONFIG_APM_IGNORE_USER_SUSPEND is not set CONFIG_APM_DO_ENABLE=y CONFIG_APM_CPU_IDLE=y # CONFIG_APM_DISPLAY_BLANK is not set # CONFIG_APM_RTC_IS_GMT is not set # CONFIG_APM_ALLOW_INTS is not set # CONFIG_APM_REAL_MODE_POWER_OFF is not set # # ACPI Support # CONFIG_ACPI=y CONFIG_ACPI_BOOT=y CONFIG_ACPI_BUS=y CONFIG_ACPI_INTERPRETER=y CONFIG_ACPI_EC=y CONFIG_ACPI_POWER=y CONFIG_ACPI_PCI=y CONFIG_ACPI_SLEEP=y CONFIG_ACPI_SYSTEM=y # CONFIG_ACPI_AC is not set # CONFIG_ACPI_BATTERY is not set CONFIG_ACPI_BUTTON=y CONFIG_ACPI_FAN=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_THERMAL=y # CONFIG_ACPI_ASUS is not set # CONFIG_ACPI_TOSHIBA is not set # CONFIG_ACPI_DEBUG is not set CONFIG_ACPI_RELAXED_AML=y # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Parallel port support # # CONFIG_PARPORT is not set # # Plug and Play configuration # CONFIG_PNP=y CONFIG_ISAPNP=y # # Block devices # # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_DEV_XD is not set # CONFIG_PARIDE is not set # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_CISS_SCSI_TAPE is not set # CONFIG_CISS_MONITOR_THREAD is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_NBD is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=1024 CONFIG_BLK_DEV_INITRD=y # CONFIG_BLK_DEV_RAM_GZ is not set CONFIG_BLK_DEV_RAM_BZ=y # CONFIG_BLK_STATS is not set # # Multi-device support (RAID and LVM) # # CONFIG_MD is not set # CONFIG_BLK_DEV_MD is not set # CONFIG_MD_LINEAR is not set # CONFIG_MD_RAID0 is not set # CONFIG_MD_RAID1 is not set # CONFIG_MD_RAID5 is not set # CONFIG_MD_MULTIPATH is not set # CONFIG_BLK_DEV_LVM is not set # # Networking options # CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set # CONFIG_NETLINK_DEV is not set # CONFIG_NETFILTER is not set # CONFIG_FILTER is not set CONFIG_UNIX=y CONFIG_INET=y # CONFIG_IP_MULTICAST is not set # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_ARPD is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # CONFIG_IPV6 is not set # CONFIG_KHTTPD is not set # # SCTP Configuration (EXPERIMENTAL) # # CONFIG_IP_SCTP is not set # CONFIG_ATM is not set # CONFIG_VLAN_8021Q is not set # CONFIG_IPX is not set # CONFIG_ATALK is not set # # Appletalk devices # # CONFIG_DEV_APPLETALK is not set # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_LLC is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_FASTROUTE is not set # CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # # Network testing # # CONFIG_NET_PKTGEN is not set # # Telephony Support # # CONFIG_PHONE is not set # CONFIG_PHONE_IXJ is not set # CONFIG_PHONE_IXJ_PCMCIA is not set # # ATA/IDE/MFM/RLL support # CONFIG_IDE=y # # IDE, ATA and ATAPI Block devices # CONFIG_BLK_DEV_IDE=y # CONFIG_BLK_DEV_HD_IDE is not set # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_IDEDISK=y # CONFIG_IDEDISK_MULTI_MODE is not set # CONFIG_IDEDISK_STROKE is not set # CONFIG_BLK_DEV_IDECS is not set # CONFIG_BLK_DEV_IDECD is not set # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set CONFIG_BLK_DEV_IDESCSI=y # CONFIG_IDE_TASK_IOCTL is not set CONFIG_BLK_DEV_CMD640=y # CONFIG_BLK_DEV_CMD640_ENHANCED is not set # CONFIG_BLK_DEV_ISAPNP is not set CONFIG_BLK_DEV_IDEPCI=y CONFIG_BLK_DEV_GENERIC=y CONFIG_IDEPCI_SHARE_IRQ=y CONFIG_BLK_DEV_IDEDMA_PCI=y # CONFIG_BLK_DEV_OFFBOARD is not set # CONFIG_BLK_DEV_IDEDMA_FORCED is not set CONFIG_IDEDMA_PCI_AUTO=y # CONFIG_IDEDMA_ONLYDISK is not set CONFIG_BLK_DEV_IDEDMA=y # CONFIG_IDEDMA_PCI_WIP is not set CONFIG_BLK_DEV_ADMA100=y CONFIG_BLK_DEV_AEC62XX=y CONFIG_BLK_DEV_ALI15X3=y # CONFIG_WDC_ALI15X3 is not set CONFIG_BLK_DEV_AMD74XX=y # CONFIG_AMD74XX_OVERRIDE is not set CONFIG_BLK_DEV_ATIIXP=y CONFIG_BLK_DEV_CMD64X=y # CONFIG_BLK_DEV_TRIFLEX is not set CONFIG_BLK_DEV_CY82C693=y CONFIG_BLK_DEV_CS5530=y CONFIG_BLK_DEV_HPT34X=y # CONFIG_HPT34X_AUTODMA is not set CONFIG_BLK_DEV_HPT366=y CONFIG_BLK_DEV_PIIX=y CONFIG_BLK_DEV_NS87415=y CONFIG_BLK_DEV_OPTI621=y CONFIG_BLK_DEV_PDC202XX_OLD=y # CONFIG_PDC202XX_BURST is not set CONFIG_BLK_DEV_PDC202XX_NEW=y # CONFIG_PDC202XX_FORCE is not set CONFIG_BLK_DEV_RZ1000=y # CONFIG_BLK_DEV_SC1200 is not set # CONFIG_BLK_DEV_SVWKS is not set CONFIG_BLK_DEV_SIIMAGE=y CONFIG_BLK_DEV_SIS5513=y CONFIG_BLK_DEV_SLC90E66=y # CONFIG_BLK_DEV_TRM290 is not set CONFIG_BLK_DEV_VIA82CXXX=y # CONFIG_IDE_CHIPSETS is not set CONFIG_IDEDMA_AUTO=y # CONFIG_IDEDMA_IVB is not set # CONFIG_DMA_NONPCI is not set CONFIG_BLK_DEV_PDC202XX=y # CONFIG_BLK_DEV_ATARAID is not set # CONFIG_BLK_DEV_ATARAID_PDC is not set # CONFIG_BLK_DEV_ATARAID_HPT is not set # CONFIG_BLK_DEV_ATARAID_MEDLEY is not set # CONFIG_BLK_DEV_ATARAID_SII is not set # # SCSI support # CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y CONFIG_SD_EXTRA_DEVS=10 # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set CONFIG_BLK_DEV_SR=y # CONFIG_BLK_DEV_SR_VENDOR is not set CONFIG_SR_EXTRA_DEVS=2 CONFIG_CHR_DEV_SG=y # CONFIG_SCSI_DEBUG_QUEUES is not set # CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set # # SCSI low-level drivers # # CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_SCSI_7000FASST is not set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_AHA152X is not set # CONFIG_SCSI_AHA1542 is not set # CONFIG_SCSI_AHA1740 is not set # CONFIG_SCSI_AACRAID is not set CONFIG_SCSI_AIC7XXX=y CONFIG_AIC7XXX_CMDS_PER_DEVICE=253 CONFIG_AIC7XXX_RESET_DELAY_MS=15000 # CONFIG_AIC7XXX_PROBE_EISA_VL is not set # CONFIG_AIC7XXX_BUILD_FIRMWARE is not set # CONFIG_AIC7XXX_DEBUG_ENABLE is not set CONFIG_AIC7XXX_DEBUG_MASK=0 # CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set # CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_IN2000 is not set # CONFIG_SCSI_AM53C974 is not set # CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_MEGARAID2 is not set CONFIG_SCSI_SATA=y CONFIG_SCSI_SATA_SVW=y CONFIG_SCSI_ATA_PIIX=y CONFIG_SCSI_SATA_PROMISE=y CONFIG_SCSI_SATA_SIL=y CONFIG_SCSI_SATA_SIS=y CONFIG_SCSI_SATA_VIA=y CONFIG_SCSI_SATA_VITESSE=y # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_DTC3280 is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_EATA_DMA is not set # CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_GENERIC_NCR5380 is not set # CONFIG_SCSI_IPS is not set # CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_NCR53C406A is not set # CONFIG_SCSI_NCR53C7xx is not set CONFIG_SCSI_SYM53C8XX_2=y CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set # CONFIG_SCSI_PAS16 is not set # CONFIG_SCSI_PCI2000 is not set # CONFIG_SCSI_PCI2220I is not set # CONFIG_SCSI_PSI240I is not set # CONFIG_SCSI_QLOGIC_FAS is not set # CONFIG_SCSI_QLOGIC_ISP is not set # CONFIG_SCSI_QLOGIC_FC is not set # CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_SEAGATE is not set # CONFIG_SCSI_SIM710 is not set # CONFIG_SCSI_SYM53C416 is not set CONFIG_SCSI_DC390T=y # CONFIG_SCSI_DC390T_NOGENSUPP is not set # CONFIG_SCSI_T128 is not set # CONFIG_SCSI_U14_34F is not set # CONFIG_SCSI_ULTRASTOR is not set # CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_DEBUG is not set # # Fusion MPT device support # # CONFIG_FUSION is not set # CONFIG_FUSION_BOOT is not set # CONFIG_FUSION_ISENSE is not set # CONFIG_FUSION_CTL is not set # CONFIG_FUSION_LAN is not set # # IEEE 1394 (FireWire) support (EXPERIMENTAL) # CONFIG_IEEE1394=y CONFIG_IEEE1394_PCILYNX=y CONFIG_IEEE1394_OHCI1394=y # CONFIG_IEEE1394_VIDEO1394 is not set CONFIG_IEEE1394_SBP2=y # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set # CONFIG_IEEE1394_ETH1394 is not set # CONFIG_IEEE1394_DV1394 is not set # CONFIG_IEEE1394_RAWIO is not set # CONFIG_IEEE1394_CMP is not set # CONFIG_IEEE1394_VERBOSEDEBUG is not set # CONFIG_IEEE1394_OUI_DB is not set # # I2O device support # # CONFIG_I2O is not set # CONFIG_I2O_PCI is not set # CONFIG_I2O_BLOCK is not set # CONFIG_I2O_LAN is not set # CONFIG_I2O_SCSI is not set # CONFIG_I2O_PROC is not set # # Network device support # CONFIG_NETDEVICES=y # # ARCnet devices # # CONFIG_ARCNET is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set # CONFIG_ETHERTAP is not set # CONFIG_NET_SB1000 is not set # # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y # CONFIG_SUNLANCE is not set # CONFIG_HAPPYMEAL is not set # CONFIG_SUNBMAC is not set # CONFIG_SUNQE is not set # CONFIG_SUNGEM is not set CONFIG_NET_VENDOR_3COM=y CONFIG_EL1=y CONFIG_EL2=y CONFIG_ELPLUS=y CONFIG_EL16=y CONFIG_EL3=y CONFIG_3C515=y # CONFIG_ELMC is not set # CONFIG_ELMC_II is not set CONFIG_VORTEX=y CONFIG_TYPHOON=y CONFIG_LANCE=y # CONFIG_NET_VENDOR_SMC is not set # CONFIG_NET_VENDOR_RACAL is not set # CONFIG_AT1700 is not set # CONFIG_DEPCA is not set # CONFIG_HP100 is not set # CONFIG_NET_ISA is not set CONFIG_NET_PCI=y CONFIG_PCNET32=y CONFIG_AMD8111_ETH=y CONFIG_ADAPTEC_STARFIRE=y # CONFIG_AC3200 is not set # CONFIG_APRICOT is not set CONFIG_B44=y CONFIG_CS89x0=y CONFIG_TULIP=y # CONFIG_TULIP_MWI is not set # CONFIG_TULIP_MMIO is not set CONFIG_DE4X5=y # CONFIG_DGRS is not set # CONFIG_DM9102 is not set CONFIG_EEPRO100=y # CONFIG_EEPRO100_PIO is not set # CONFIG_E100 is not set # CONFIG_LNE390 is not set # CONFIG_FEALNX is not set CONFIG_NATSEMI=y CONFIG_NE2K_PCI=y CONFIG_FORCEDETH=y # CONFIG_NE3210 is not set # CONFIG_ES3210 is not set CONFIG_8139CP=y CONFIG_8139TOO=y # CONFIG_8139TOO_PIO is not set # CONFIG_8139TOO_TUNE_TWISTER is not set CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set CONFIG_SIS900=y CONFIG_EPIC100=y # CONFIG_SUNDANCE is not set # CONFIG_SUNDANCE_MMIO is not set # CONFIG_TLAN is not set CONFIG_VIA_RHINE=y # CONFIG_VIA_RHINE_MMIO is not set CONFIG_WINBOND_840=y # CONFIG_NET_POCKET is not set # # Ethernet (1000 Mbit) # CONFIG_ACENIC=y CONFIG_ACENIC_OMIT_TIGON_I=y # CONFIG_DL2K is not set CONFIG_E1000=y # CONFIG_E1000_NAPI is not set # CONFIG_MYRI_SBUS is not set # CONFIG_NS83820 is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set CONFIG_R8169=y # CONFIG_SK98LIN is not set CONFIG_TIGON3=y # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # # Wireless LAN (non-hamradio) # CONFIG_NET_RADIO=y # CONFIG_STRIP is not set # CONFIG_WAVELAN is not set # CONFIG_ARLAN is not set # CONFIG_AIRONET4500 is not set # CONFIG_AIRONET4500_NONCS is not set # CONFIG_AIRONET4500_PROC is not set CONFIG_AIRO=y CONFIG_HERMES=y CONFIG_PLX_HERMES=y CONFIG_TMD_HERMES=y CONFIG_PCI_HERMES=y CONFIG_NET_WIRELESS=y # # Token Ring devices # # CONFIG_TR is not set # CONFIG_NET_FC is not set # CONFIG_RCPCI is not set # CONFIG_SHAPER is not set # # Wan interfaces # # CONFIG_WAN is not set # # Amateur Radio support # # CONFIG_HAMRADIO is not set # # IrDA (infrared) support # # CONFIG_IRDA is not set # # ISDN subsystem # # CONFIG_ISDN is not set # # Old CD-ROM drivers (not SCSI, not IDE) # # CONFIG_CD_NO_IDESCSI is not set # # Input core support # CONFIG_INPUT=y CONFIG_INPUT_KEYBDEV=y # CONFIG_INPUT_MOUSEDEV is not set CONFIG_INPUT_JOYDEV=y # CONFIG_INPUT_EVDEV is not set # CONFIG_INPUT_UINPUT is not set # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_SERIAL=m # CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_UNIX98_PTYS is not set # # I2C support # CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y # CONFIG_I2C_PHILIPSPAR is not set # CONFIG_I2C_ELV is not set # CONFIG_I2C_VELLEMAN is not set # CONFIG_SCx200_I2C is not set # CONFIG_SCx200_ACB is not set # CONFIG_I2C_ALGOPCF is not set # CONFIG_I2C_CHARDEV is not set # CONFIG_I2C_PROC is not set # # Mice # # CONFIG_BUSMOUSE is not set # CONFIG_MOUSE is not set # # Joysticks # CONFIG_INPUT_GAMEPORT=y CONFIG_INPUT_NS558=m # CONFIG_INPUT_LIGHTNING is not set CONFIG_INPUT_PCIGAME=m CONFIG_INPUT_CS461X=m CONFIG_INPUT_EMU10K1=m # CONFIG_INPUT_SERIO is not set # CONFIG_INPUT_SERPORT is not set # CONFIG_INPUT_ANALOG is not set # CONFIG_INPUT_A3D is not set # CONFIG_INPUT_ADI is not set # CONFIG_INPUT_COBRA is not set # CONFIG_INPUT_GF2K is not set CONFIG_INPUT_GRIP=m # CONFIG_INPUT_INTERACT is not set # CONFIG_INPUT_TMDC is not set CONFIG_INPUT_SIDEWINDER=m # CONFIG_INPUT_IFORCE_USB is not set # CONFIG_INPUT_IFORCE_232 is not set # CONFIG_INPUT_WARRIOR is not set # CONFIG_INPUT_MAGELLAN is not set # CONFIG_INPUT_SPACEORB is not set # CONFIG_INPUT_SPACEBALL is not set # CONFIG_INPUT_STINGER is not set # CONFIG_INPUT_DB9 is not set # CONFIG_INPUT_GAMECON is not set # CONFIG_INPUT_TURBOGRAFX is not set # CONFIG_QIC02_TAPE is not set # CONFIG_IPMI_HANDLER is not set # CONFIG_IPMI_PANIC_EVENT is not set # CONFIG_IPMI_DEVICE_INTERFACE is not set # CONFIG_IPMI_KCS is not set # CONFIG_IPMI_WATCHDOG is not set # # Watchdog Cards # # CONFIG_WATCHDOG is not set # CONFIG_SCx200 is not set # CONFIG_SCx200_GPIO is not set # CONFIG_AMD_RNG is not set # CONFIG_INTEL_RNG is not set # CONFIG_HW_RANDOM is not set # CONFIG_AMD_PM768 is not set # CONFIG_NVRAM is not set CONFIG_RTC=y # CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # CONFIG_SONYPI is not set # # Ftape, the floppy tape device driver # # CONFIG_FTAPE is not set # CONFIG_AGP is not set # # Direct Rendering Manager (XFree86 DRI support) # # CONFIG_DRM is not set # CONFIG_MWAVE is not set # CONFIG_OBMOUSE is not set # # Multimedia devices # CONFIG_VIDEO_DEV=m # # Video For Linux # # CONFIG_VIDEO_PROC_FS is not set # CONFIG_I2C_PARPORT is not set CONFIG_VIDEO_BT848=m CONFIG_VIDEO_SAA7134=m # CONFIG_VIDEO_CX88 is not set # CONFIG_VIDEO_PMS is not set # CONFIG_VIDEO_CPIA is not set # CONFIG_VIDEO_SAA5249 is not set # CONFIG_TUNER_3036 is not set # CONFIG_VIDEO_STRADIS is not set # CONFIG_VIDEO_ZORAN is not set # CONFIG_VIDEO_ZORAN_BUZ is not set # CONFIG_VIDEO_ZORAN_DC10 is not set # CONFIG_VIDEO_ZORAN_LML33 is not set # CONFIG_VIDEO_ZR36120 is not set # CONFIG_VIDEO_MEYE is not set # # Radio Adapters # # CONFIG_RADIO_CADET is not set # CONFIG_RADIO_RTRACK is not set # CONFIG_RADIO_RTRACK2 is not set # CONFIG_RADIO_AZTECH is not set # CONFIG_RADIO_GEMTEK is not set # CONFIG_RADIO_GEMTEK_PCI is not set # CONFIG_RADIO_MAXIRADIO is not set # CONFIG_RADIO_MAESTRO is not set # CONFIG_RADIO_MIROPCM20 is not set # CONFIG_RADIO_MIROPCM20_RDS is not set # CONFIG_RADIO_SF16FMI is not set # CONFIG_RADIO_SF16FMR2 is not set # CONFIG_RADIO_TERRATEC is not set # CONFIG_RADIO_TRUST is not set # CONFIG_RADIO_TYPHOON is not set # CONFIG_RADIO_ZOLTRIX is not set # # File systems # # CONFIG_QUOTA is not set # CONFIG_QFMT_V2 is not set # CONFIG_AUTOFS_FS is not set # CONFIG_AUTOFS4_FS is not set CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set CONFIG_SUPERMOUNT=y # CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS_RW is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BEFS_DEBUG is not set # CONFIG_BFS_FS is not set # CONFIG_EXT3_FS is not set # CONFIG_JBD is not set # CONFIG_JBD_DEBUG is not set CONFIG_FAT_FS=y # CONFIG_MSDOS_FS is not set # CONFIG_UMSDOS_FS is not set CONFIG_VFAT_FS=y # CONFIG_EFS_FS is not set # CONFIG_JFFS_FS is not set # CONFIG_JFFS2_FS is not set # CONFIG_CRAMFS is not set # CONFIG_TMPFS is not set CONFIG_RAMFS=y CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y # CONFIG_JFS_FS is not set # CONFIG_JFS_DEBUG is not set # CONFIG_JFS_STATISTICS is not set # CONFIG_MINIX_FS is not set # CONFIG_VXFS_FS is not set CONFIG_NTFS_FS=y # CONFIG_NTFS_RW is not set # CONFIG_HPFS_FS is not set CONFIG_PROC_FS=y # CONFIG_DEVFS_FS is not set # CONFIG_DEVFS_MOUNT is not set # CONFIG_DEVFS_DEBUG is not set # CONFIG_DEVPTS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_QNX4FS_RW is not set # CONFIG_ROMFS_FS is not set CONFIG_EXT2_FS=y # CONFIG_SYSV_FS is not set CONFIG_UDF_FS=y # CONFIG_UDF_RW is not set # CONFIG_UFS_FS is not set # CONFIG_UFS_FS_WRITE is not set # CONFIG_XFS_FS is not set # CONFIG_XFS_QUOTA is not set # CONFIG_XFS_RT is not set # CONFIG_XFS_TRACE is not set # CONFIG_XFS_DEBUG is not set # # Network File Systems # # CONFIG_CODA_FS is not set # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_NFS_DIRECTIO is not set # CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_NFSD_TCP is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y CONFIG_SMB_FS=y # CONFIG_SMB_NLS_DEFAULT is not set # CONFIG_SMB_UNIX is not set # CONFIG_NCP_FS is not set # CONFIG_NCPFS_PACKET_SIGNING is not set # CONFIG_NCPFS_IOCTL_LOCKING is not set # CONFIG_NCPFS_STRONG is not set # CONFIG_NCPFS_NFS_NS is not set # CONFIG_NCPFS_OS2_NS is not set # CONFIG_NCPFS_SMALLDOS is not set # CONFIG_NCPFS_NLS is not set # CONFIG_NCPFS_EXTRAS is not set CONFIG_ZISOFS_FS=y # # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y CONFIG_SMB_NLS=y CONFIG_NLS=y # # Native Language Support # CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set # # Console drivers # CONFIG_VGA_CONSOLE=y CONFIG_VIDEO_SELECT=y # CONFIG_MDA_CONSOLE is not set # # Frame-buffer support # CONFIG_FB=y CONFIG_DUMMY_CONSOLE=y # CONFIG_FB_RIVA is not set # CONFIG_FB_CLGEN is not set # CONFIG_FB_PM2 is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_CYBER2000 is not set CONFIG_FB_VESA=y # CONFIG_FB_VGA16 is not set # CONFIG_FB_HGA is not set CONFIG_VIDEO_SELECT=y CONFIG_LPP=y CONFIG_LPP_640x480=y # CONFIG_LPP_800x600 is not set # CONFIG_LPP_1024x768 is not set # CONFIG_FB_MATROX is not set # CONFIG_FB_ATY is not set # CONFIG_FB_RADEON is not set # CONFIG_FB_ATY128 is not set # CONFIG_FB_INTEL is not set # CONFIG_FB_SIS is not set # CONFIG_FB_NEOMAGIC is not set # CONFIG_FB_3DFX is not set # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_TRIDENT is not set # CONFIG_FB_IT8181 is not set # CONFIG_FB_VIRTUAL is not set # CONFIG_FBCON_ADVANCED is not set CONFIG_FBCON_CFB8=y CONFIG_FBCON_CFB16=y CONFIG_FBCON_CFB24=y CONFIG_FBCON_CFB32=y CONFIG_FBCON_FONTWIDTH8_ONLY=y # CONFIG_FBCON_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y # # Sound # CONFIG_SOUND=y # CONFIG_SOUND_ALI5455 is not set # CONFIG_SOUND_BT878 is not set # CONFIG_SOUND_CMPCI is not set # CONFIG_SOUND_EMU10K1 is not set # CONFIG_MIDI_EMU10K1 is not set # CONFIG_SOUND_FUSION is not set # CONFIG_SOUND_CS4281 is not set # CONFIG_SOUND_ES1370 is not set # CONFIG_SOUND_ES1371 is not set # CONFIG_SOUND_ESSSOLO1 is not set # CONFIG_SOUND_MAESTRO is not set # CONFIG_SOUND_MAESTRO3 is not set # CONFIG_SOUND_FORTE is not set # CONFIG_SOUND_ICH is not set # CONFIG_SOUND_RME96XX is not set # CONFIG_SOUND_SONICVIBES is not set # CONFIG_SOUND_TRIDENT is not set # CONFIG_SOUND_MSNDCLAS is not set # CONFIG_SOUND_MSNDPIN is not set # CONFIG_SOUND_VIA82CXXX is not set # CONFIG_MIDI_VIA82CXXX is not set # CONFIG_SOUND_OSS is not set # CONFIG_SOUND_TVMIXER is not set # CONFIG_SOUND_AD1980 is not set # CONFIG_SOUND_WM97XX is not set # # USB support # CONFIG_USB=y # CONFIG_USB_DEBUG is not set # CONFIG_USB_DEVICEFS is not set # CONFIG_USB_BANDWIDTH is not set CONFIG_USB_EHCI_HCD=y CONFIG_USB_UHCI=y # CONFIG_USB_UHCI_ALT is not set CONFIG_USB_OHCI=y # CONFIG_USB_SL811HS_ALT is not set # CONFIG_USB_SL811HS is not set # CONFIG_USB_AUDIO is not set # CONFIG_USB_EMI26 is not set # CONFIG_USB_BLUETOOTH is not set # CONFIG_USB_MIDI is not set CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set CONFIG_USB_STORAGE_DATAFAB=y CONFIG_USB_STORAGE_FREECOM=y CONFIG_USB_STORAGE_ISD200=y CONFIG_USB_STORAGE_DPCM=y CONFIG_USB_STORAGE_HP8200e=y CONFIG_USB_STORAGE_SDDR09=y CONFIG_USB_STORAGE_SDDR55=y CONFIG_USB_STORAGE_JUMPSHOT=y # CONFIG_USB_ACM is not set # CONFIG_USB_PRINTER is not set CONFIG_USB_HID=y CONFIG_USB_HIDINPUT=y # CONFIG_USB_HIDDEV is not set # CONFIG_USB_AIPTEK is not set # CONFIG_USB_WACOM is not set # CONFIG_USB_KBTAB is not set # CONFIG_USB_POWERMATE is not set # CONFIG_USB_DC2XX is not set # CONFIG_USB_MDC800 is not set # CONFIG_USB_SCANNER is not set # CONFIG_USB_MICROTEK is not set # CONFIG_USB_HPUSBSCSI is not set # CONFIG_USB_IBMCAM is not set # CONFIG_USB_KONICAWC is not set # CONFIG_USB_OV511 is not set # CONFIG_USB_PWC is not set # CONFIG_USB_SE401 is not set # CONFIG_USB_STV680 is not set # CONFIG_USB_W9968CF is not set # CONFIG_USB_VICAM is not set # CONFIG_USB_DSBR is not set # CONFIG_USB_DABUSB is not set CONFIG_USB_PEGASUS=y CONFIG_USB_RTL8150=y # CONFIG_USB_KAWETH is not set # CONFIG_USB_CATC is not set # CONFIG_USB_CDCETHER is not set # CONFIG_USB_USBNET is not set # CONFIG_USB_USS720 is not set # # USB Serial Converter support # # CONFIG_USB_SERIAL is not set # CONFIG_USB_RIO500 is not set # CONFIG_USB_AUERSWALD is not set # CONFIG_USB_TIGL is not set # CONFIG_USB_BRLVGER is not set # CONFIG_USB_LCD is not set # # Support for USB gadgets # # CONFIG_USB_GADGET is not set # # Bluetooth support # # CONFIG_BLUEZ is not set # # Kernel hacking # # CONFIG_DEBUG_KERNEL is not set CONFIG_LOG_BUF_SHIFT=0 # # Cryptographic options # # CONFIG_CRYPTO is not set # # Library routines # # CONFIG_CRC32 is not set CONFIG_ZLIB_INFLATE=y # CONFIG_ZLIB_DEFLATE is not set # CONFIG_FW_LOADER is not set geexbox-0.98/packages/linux/modules0000644000175000017500000000215510106467317017675 0ustar aurelaurel00000000000000snd snd-ac97-codec snd-rawmidi snd-page-alloc snd-util-mem snd-hwdep snd-timer snd-pcm snd-pnp snd-emu10k1 snd-ad1816a-lib snd-ad1848-lib snd-cs4231-lib snd-cs4236-lib snd-es1688-lib snd-gus-lib snd-opl3-lib snd-opl4-lib snd-vx-lib snd-mpu401-uart snd-ad1816a snd-ad1848 snd-ak4531-codec snd-ak4xxx-adda snd-sb-common snd-sb16-csp snd-sb16-dsp snd-sb16 snd-als100 snd-als4000 snd-azt2320 snd-azt3328 snd-cmi8330 snd-cmipci snd-cs4231 snd-cs4232 snd-cs4236 snd-cs4281 snd-cs46xx snd-i2c snd-cs8427 snd-dt019x snd-ens1370 snd-ens1371 snd-es1688 snd-es18xx isapnp=0 snd-es1938 snd-es1968 snd-sb8-dsp snd-sb8 snd-es968 snd-fm801 snd-ice17xx-ak4xxx snd-ice1712 snd-ice1724 snd-intel8x0 snd-tea6330t snd-interwave-stb snd-interwave snd-maestro3 snd-nm256 snd-opl3sa2 snd-opti92x-ad1848 snd-opti92x-cs4231 snd-opti93x snd-sbawe snd-sgalaxy snd-sonicvibes snd-sscape snd-trident snd-ali5451 snd-via82xx snd-vx222 snd-wavefront snd-ymfpci snd-atiixp snd-au8810 snd-au8820 snd-au8830 bt865 adv717x pixelport_16bit=0 em8300 usbdfu at76c503 at76c503-rfmd at76c503-rfmd-acc rt2400 acx_pci acx_usb ns558 pcigame cs461x emu10k1-gp grip sidewinder geexbox-0.98/packages/linux/need_unpack0000755000175000017500000000025010106467317020476 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options STAMP=.stamps/$1/unpack . $STAMP [ "$CPU" != "$STAMP_CPU" ] && rm -f $STAMP [ "$THEME" != "$STAMP_THEME" ] && rm -f $STAMP geexbox-0.98/packages/linux/unpack0000755000175000017500000000074210106467317017511 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/unpack theme-$THEME || exit 1 bzcat $BUILD/theme-$THEME/patch-linux-lpp.bz2 | patch -d $BUILD/linux* -p1 if [ "$CPU" == "C3" ]; then cat $PACKAGES/linux/linux.conf \ | sed s%.*CONFIG_M586TSC.*%CONFIG_M586TSC=n% \ | sed s%.*CONFIG_MCYRIXIII.*%CONFIG_MCYRIXIII=y% \ > `ls -d $BUILD/linux-*`/.config else cp $PACKAGES/linux/linux.conf `ls -d $BUILD/linux-*`/.config fi yes "" | make config -C $BUILD/linux-* geexbox-0.98/packages/linux/url0000644000175000017500000000045110106467317017024 0ustar aurelaurel00000000000000ftp://ftp.de.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2 GEEXBOX_SRCS/patch-linux-bzip2.bz2 GEEXBOX_SRCS/patch-linux-libata.bz2 GEEXBOX_SRCS/patch-linux-noblankscreen.bz2 GEEXBOX_SRCS/patch-linux-scsi-hotplug.bz2 GEEXBOX_SRCS/patch-linux-supermount.bz2 GEEXBOX_SRCS/patch-linux-v4l2.bz2 geexbox-0.98/packages/lirc/0000755000175000017500000000000010106467317016071 5ustar aurelaurel00000000000000geexbox-0.98/packages/lirc/build0000755000175000017500000000114310106467317017115 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build libirman || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $BUILD/lirc-*`" && \ CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" LDFLAGS="-L`ls -d $ROOT/$BUILD/libirman*`" ./configure --host=i386-linux-gnu --disable-shared --without-x --with-driver=any --with-port=0x3f8 --with-irq=4 --with-kerneldir="`ls -d $ROOT/$BUILD/linux-*`" && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" && \ strip daemons/lircd && \ ln -sf tools lirc && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/lirc/install0000755000175000017500000000307110106467317017466 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options mkdir -p $INSTALL/etc mkdir -p $INSTALL/usr/bin mkdir -p "`ls -d $INSTALL/lib/modules/*`/misc" cp $BUILD/lirc-*/daemons/lircd $INSTALL/usr/bin cp $BUILD/lirc-*/tools/irpty $INSTALL/usr/bin cp $BUILD/lirc-*/drivers/lirc_dev/lirc_dev.o $BUILD/lirc-*/drivers/lirc_i2c/lirc_i2c.o $BUILD/lirc-*/drivers/lirc_gpio/lirc_gpio.o $BUILD/lirc-*/drivers/lirc_serial/lirc_serial.o $BUILD/lirc-*/drivers/lirc_sir/lirc_sir.o $BUILD/lirc-*/drivers/lirc_atiusb/lirc_atiusb.o $INSTALL/lib/modules/*/misc case "$2" in generator) mkdir -p $GENERATOR_NAME/lirc cp $PACKAGES/lirc/lircrc_* $GENERATOR_NAME/lirc cp $PACKAGES/lirc/lircd_* $GENERATOR_NAME/lirc ;; installator) mkdir -p $INSTALL/etc/lirc cp $PACKAGES/lirc/lircrc_* $INSTALL/etc/lirc cp $PACKAGES/lirc/lircd_* $INSTALL/etc/lirc echo "# Remote to use (pctv/logitech/hauppauge/realmagic/creative/leadtek/RM-S6/" > $INSTALL/etc/remote echo "# RX-V850/animax/packard_bell/atiusb/LG/D-10)" >> $INSTALL/etc/remote echo "REMOTE=$REMOTE" >> $INSTALL/etc/remote echo "" >> $INSTALL/etc/remote echo "# Remote receiver to use (animax/atiusb/creative/hauppauge/homemade/irman/" >> $INSTALL/etc/remote echo "# leadtek/logitech/pctv/realmagic)" >> $INSTALL/etc/remote echo "RECEIVER=$RECEIVER" >> $INSTALL/etc/remote ;; *) cp $PACKAGES/lirc/lircrc_$REMOTE $INSTALL/etc/lircrc cp $PACKAGES/lirc/lircd_$REMOTE.conf $INSTALL/etc/lircd.conf cp $PACKAGES/lirc/lircd_$RECEIVER $INSTALL/etc/lircd ;; esac geexbox-0.98/packages/lirc/lircd_D-10.conf0000644000175000017500000000433010106467317020516 0ustar aurelaurel00000000000000# # contributed by Bernardo Santos # # brand: Gradiente # model: D-10 # supported devices: Remote control for gradiente's D-10 DVD player. # # Automatic generation didn`t work well so I had to # figure out the protocol myself. It is similar to the one # on the generic RECS80.conf config file. # begin remote name D-10 bits 11 flags SPACE_ENC eps 25 aeps 100 one 270 7310 zero 270 4800 ptrail 270 toggle_bit 2 gap 49000 begin codes POWER 0x000000000000075E EJECT 0x0000000000000766 ANGLE 0x000000000000076E INDEX 0x000000000000075A A-B 0x000000000000075F MUTE 0x0000000000000758 1 0x0000000000000775 2 0x000000000000076D 3 0x0000000000000765 4 0x000000000000075D 5 0x0000000000000774 6 0x000000000000076C 7 0x0000000000000764 8 0x000000000000075C 9 0x0000000000000773 0 0x000000000000076B MENU 0x0000000000000767 TITLE 0x0000000000000776 SUBTITLE 0x0000000000000763 AUDIO 0x0000000000000760 PAUSE 0x0000000000000759 ACTIVE_MENU 0x000000000000076F EXIT 0x0000000000000770 UP_FW 0x0000000000000768 LEFT_RW 0x0000000000000771 OK_PLAY 0x0000000000000769 RIGHT_FW 0x0000000000000761 DOWN_RW 0x000000000000076A STOP 0x0000000000000762 SKIP_BACK 0x0000000000000777 SKIP_FORWARD 0x0000000000000772 end codes end remote geexbox-0.98/packages/lirc/lircd_LG.conf0000644000175000017500000000472510106467317020427 0ustar aurelaurel00000000000000 # Please make this file available to others # by sending it to # # this config file was automatically generated # using lirc-0.6.6(irman) on Fri May 14 17:48:53 2004 # # contributed by bufa # # brand: LG # model no. of remote control: # devices being controlled by this remote: # begin remote name LG bits 16 eps 30 aeps 100 one 0 0 zero 0 0 pre_data_bits 16 pre_data 0xFFFF post_data_bits 32 post_data 0x0 gap 25000 min_repeat 2 toggle_bit 0 begin codes power 0x000000000000FE60 mute 0x000000000000FE40 1 0x000000000000FFC0 2 0x000000000000FFA0 3 0x000000000000FF80 4 0x000000000000FF60 5 0x000000000000FF40 6 0x000000000000FF20 7 0x000000000000FF00 8 0x000000000000FEE0 9 0x000000000000FEC0 menu 0x000000000000F880 0 0x000000000000FFE0 tv 0x000000000000F8E0 red 0x000000000000F900 green 0x000000000000F920 yellow 0x000000000000F9A0 blue 0x000000000000F960 vol+ 0x000000000000FDE0 vol- 0x000000000000FDC0 pr+ 0x000000000000FBE0 pr- 0x000000000000FBC0 ok 0x000000000000FB40 text 0x000000000000F860 size 0x000000000000FA80 hold 0x000000000000FAC0 sleep 0x000000000000F820 update 0x000000000000FA40 time 0x000000000000FAA0 reveal 0x000000000000FA60 psm 0x000000000000FE20 ssm 0x000000000000FD20 picture 0x000000000000FD80 sound 0x000000000000FB60 end codes end remote geexbox-0.98/packages/lirc/lircd_RM-S6.conf0000666000175000017500000000357710106467317020741 0ustar aurelaurel00000000000000# # this config file was NOT automatically generated. # it was made using lirc-0.5.5pre8 on Sat Jun 12 1999 # # contributed by Luis Sousa # # brand: SONY # model: RM-S6 # supported devices: this remote has the basic functions for # almost all Sony HiFi Sytems # begin remote name RM-S6 bits 12 flags SPACE_ENC eps 30 aeps 100 header 2500 590 one 1210 590 zero 610 590 ptrail 0 plead 0 foot 0 0 repeat 0 0 pre_data_bits 0 pre_data 0 post_data_bits 0 post_data 0 pre 0 0 post 0 0 gap 25000 repeat_bit 0 min_repeat 2 begin codes SLEEP 0x0000000000000061 AMP_POWER 0x0000000000000A81 CD 0x0000000000000A41 CD_PLAY 0x00000000000004D1 CD_PAUSE 0x00000000000009D1 CD_STOP 0x00000000000001D1 CD_EJECT 0x0000000000000691 CD_PREV_TRACK 0x00000000000000D1 CD_NEXT_TRACK 0x00000000000008D1 TAPE 0x0000000000000C41 PHONO 0x0000000000000041 VIDEO/AUX 0x0000000000000441 TUNER 0x0000000000000841 TUNER_SHIFT 0x0000000000000CD6 TUNER_PRESET_- 0x0000000000000896 TUNER_PRESET_+ 0x0000000000000096 AMP_VOL_UP 0x0000000000000481 AMP_VOL_DOWN 0x0000000000000C81 end codes end remote geexbox-0.98/packages/lirc/lircd_RX-V850.conf0000666000175000017500000000625010106467317021115 0ustar aurelaurel00000000000000# # This config file has been automatically converted from a device file # found in the 06/26/00 release of the Windows Slink-e software # package. # # Many thanks to Colby Boles of Nirvis Systems Inc. for allowing us to # use these files. # # The original filename was: "yamaha rx-v850 rs rx-v850 receiver_amp.cde" # # The original description for this device was: # # yamaha rx-v850 rs rx-v850 receiver/amp # begin remote name RX-V850 bits 32 flags SPACE_ENC eps 20 aeps 200 header 8800 4400 one 550 1650 zero 550 550 ptrail 550 repeat 8800 2200 gap 38500 toggle_bit 0 frequency 38000 begin codes POWER 0x000000005EA1F807 PHONO 0x000000005EA128D7 CD 0x000000005EA1A857 TUNER 0x000000005EA16897 TAPE_1/DAT 0x000000005EA19867 TAPE_2/VCR_2 0x000000005EA118E7 LD_V 0x000000005EA1E817 VCR_1 0x000000005EA1F00F CD_PLAY 0x000000005EA110EF CD_PAUSE/STOP 0x000000005EA1906F CD_SEARCH_FWD 0x000000005EA130CF CD_SEARCH_REV 0x000000005EA1B04F CD_SKIP_FWD 0x000000005EA150AF CD_SKIP_REV 0x000000005EA1D02F CD_DISK_SKIP 0x000000005EA1F20D TAPE_PLAY 0x000000005EA100FF TAPE_STOP 0x000000005EA1C03F TAPE_FFWD 0x000000005EA140BF TAPE_REWIND 0x000000005EA1807F TAPE_REC/PAUSE 0x000000005EA120DF TAPE_REC_MUTE 0x000000005EA1A05F TAPE_DECK_A/B 0x000000005EA1609F TAPE_DIR_A 0x000000005EA1E01F TAPE_DIR_B 0x000000005EA102FD TUNER_+ 0x000000005EA108F7 TUNER_A/B/C/D/E 0x000000005EA148B7 DSP_TEST 0x000000005EA1A15E DSP_CENTRE_MODE 0x000000005EA121DE DSP_PRO_LOGIC 0x000000005EA111EE DSP_PRO_LOGIC_ENH. 0x000000005EA1916E DSP_CNCT_VIDEO 0x000000005EA151AE DSP_MONO_MOVIE 0x000000005EA1D12E DSP_ROCK 0x000000005EA131CE DSP_HALL 0x000000005EA1B14E DSP_EFFECT_ON/OFF 0x000000005EA16A95 FRONT_LEVEL_+ 0x000000005EA101FE FRONT_LEVEL_- 0x000000005EA1817E CENTRE_LEVEL_+ 0x000000005EA141BE CENTRE_LEVEL_- 0x000000005EA1C13E REAR_LEVEL_+ 0x000000005EA17A85 REAR_LEVEL_- 0x000000005EA1FA05 DELAY_TIME_+ 0x000000005EA14AB5 DELAY_TIME_- 0x000000005EA1CA35 MUTING 0x000000005EA138C7 VOLUME_UP 0x000000005EA158A7 VOLUME_DOWN 0x000000005EA1D827 end codes end remote geexbox-0.98/packages/lirc/lircd_animax0000644000175000017500000000012510106467317020444 0ustar aurelaurel00000000000000LIRC_DRIVER=default LIRC_DEVICE=/dev/lirc LIRC_MODULES="lirc_dev|lirc_serial type=3" geexbox-0.98/packages/lirc/lircd_animax.conf0000666000175000017500000001561610106467317021407 0ustar aurelaurel00000000000000 # # This is a space encoded remote control from AnimaX. # You need at least lirc-0.5.4 to use this config file # # contributed by Karsten Scheibler # # brand: AnimaX # model: Anir Remote Control # supported devices: This remote control comes with some TV Tuner cards from # Hauppauge. # begin remote name ANIMAX bits 16 flags SPACE_ENC|REVERSE eps 20 aeps 0 header 4500 4500 one 562 1682 zero 562 562 ptrail 562 plead 0 foot 0 0 repeat 2500 2500 pre_data_bits 8 pre_data 0xF0 post_data_bits 0 post_data 0x0 pre 0 0 post 0 0 gap 12937 repeat_gap 102937 repeat_bit 0 begin codes CD_DOWN 0x000000000000DB24 CD_UP 0x0000000000005BA4 TV_DOWN 0x000000000000DC23 TV_UP 0x0000000000005CA3 PHONE_DOWN 0x000000000000DD22 PHONE_UP 0x0000000000005DA2 RADIO_DOWN 0x000000000000DE21 RADIO_UP 0x0000000000005EA1 VIDEO_DOWN 0x000000000000DF20 VIDEO_UP 0x0000000000005FA0 AUX1_DOWN 0x000000000000E01F AUX1_UP 0x000000000000609F MAIL_DOWN 0x000000000000E11E MAIL_UP 0x000000000000619E AUX2_DOWN 0x000000000000E21D AUX2_UP 0x000000000000629D POWER_DOWN 0x000000000000E31C POWER_UP 0x000000000000639C LEFT_MOUSE_BUTTON_TOUCH_DOWN 0x000000000000E41B LEFT_MOUSE_BUTTON_TOUCH_UP 0x000000000000649B REWIND_DOWN 0x000000000000E51A REWIND_UP 0x000000000000659A PLAY_DOWN 0x000000000000E619 PLAY_UP 0x0000000000006699 FORWARD_DOWN 0x000000000000E718 FORWARD_UP 0x0000000000006798 SKIP_BACKWARD_DOWN 0x000000000000E817 SKIP_BACKWARD 0x0000000000006897 STOP_DOWN 0x000000000000E916 STOP_UP 0x0000000000006996 SKIP_FORWARD_DOWN 0x000000000000EA15 SKIP_FORWARD_UP 0x0000000000006A95 CHANNEL_UP_DOWN 0x000000000000EB14 CHANNEL_UP_UP 0x0000000000006B94 MENU_DOWN 0x000000000000EC13 MENU_UP 0x0000000000006C93 VOLUME_UP_DOWN 0x000000000000ED12 VOLUME_UP_UP 0x0000000000006D92 BLUE_BUTTON_DOWN 0x000000000000EE11 BLUE_BUTTON_UP 0x0000000000006E91 MUTE_DOWN 0x000000000000EF10 MUTE_UP 0x0000000000006F90 VOLUME_DOWN_DOWN 0x000000000000F00F VOLUME_DOWN_UP 0x000000000000708F RED_BUTTON_DOWN 0x000000000000F10E RED_BUTTON_UP 0x000000000000718E GREEN_BUTTON_DOWN 0x000000000000F20D GREEN_BUTTON_UP 0x000000000000728D CHANNEL_DOWN_DOWN 0x000000000000F30C CHANNEL_DOWN_UP 0x000000000000738C 1_DOWN 0x000000000000F40B 1_UP 0x000000000000748B 2_DOWN 0x000000000000F50A 2_UP 0x000000000000758A 3_DOWN 0x000000000000F609 3_UP 0x0000000000007689 4_DOWN 0x000000000000F708 4_UP 0x0000000000007788 5_DOWN 0x000000000000F807 5_UP 0x0000000000007887 6_DOWN 0x000000000000F906 6_UP 0x0000000000007986 7_DOWN 0x000000000000FA05 7_UP 0x0000000000007A85 8_DOWN 0x000000000000FB04 8_UP 0x0000000000007B84 9_DOWN 0x000000000000FC03 9_UP 0x0000000000007C83 SLASH_DOWN 0x000000000000FD02 SLASH_UP 0x0000000000007D82 0_DOWN 0x000000000000FE01 0_UP 0x0000000000007E81 MINUS_DOWN 0x000000000000FF00 MINUS_UP 0x0000000000007F80 end codes end remote begin remote name ANIMAX_MOUSE_BUTTONS bits 16 flags SPACE_ENC|REVERSE eps 20 aeps 0 header 4500 4500 one 562 1682 zero 562 562 ptrail 562 plead 0 foot 0 0 repeat 0 0 pre_data_bits 8 pre_data 0xF0 post_data_bits 0 post_data 0x0 pre 0 0 post 0 0 gap 12937 repeat_bit 0 begin codes RIGHT_MOUSE_BUTTON_DOWN 0x000000000000C639 RIGHT_MOUSE_BUTTON_UP 0x00000000000046B9 LEFT_MOUSE_BUTTON_DOWN 0x000000000000CE31 LEFT_MOUSE_BUTTON_UP 0x0000000000004EB1 end codes end remote begin remote name ANIMAX_MOUSE_PAD bits 16 flags SPACE_ENC|REVERSE eps 20 aeps 0 header 4500 4500 one 562 1682 zero 562 562 ptrail 562 plead 0 foot 0 0 repeat 2500 2500 pre_data_bits 8 pre_data 0xF0 post_data_bits 0 post_data 0x0 pre 0 0 post 0 0 gap 12937 repeat_gap 8437 repeat_bit 0 begin codes MOUSE_NNW 0x000000000000906F MOUSE_NW 0x000000000000D02F MOUSE_NWW 0x000000000000916E MOUSE_W 0x000000000000D12E MOUSE_SWW 0x000000000000926D MOUSE_SW 0x000000000000D22D MOUSE_SSW 0x000000000000936C MOUSE_S 0x000000000000D32C MOUSE_SSE 0x000000000000946B MOUSE_SE 0x000000000000D42B MOUSE_SEE 0x000000000000956A MOUSE_E 0x000000000000D52A MOUSE_NEE 0x0000000000009669 MOUSE_NE 0x000000000000D629 MOUSE_NNE 0x0000000000009768 MOUSE_N 0x000000000000D728 end codes end remote geexbox-0.98/packages/lirc/lircd_atiusb0000644000175000017500000000011610106467317020456 0ustar aurelaurel00000000000000LIRC_DRIVER=default LIRC_DEVICE=/dev/lirc LIRC_MODULES="lirc_dev|lirc_atiusb" geexbox-0.98/packages/lirc/lircd_atiusb.conf0000666000175000017500000000761710106467317021423 0ustar aurelaurel00000000000000# Please make this file available to others # by sending it to # # this config file was automatically generated # using lirc-0.7.0pre1(atiusb) on Fri Nov 28 16:56:46 2003 # # contributed by Jason Piterak # # brand: ati # This uses the atiusb driver #=20 # model no. of remote control: 5000022000 # # devices being controlled by this remote: # MythTV PVR using knopmyth by Cecil and Dale at # http://mysettopbox.tv # Key map names are as per ATI's website: #http://www.ati.com/support/connectors/remotecontrol/atiremotecontrolbutton=s.html # Feel free to change them as you see fit :-) # # NOTE: There are 16 channels for this remote; this file only # supports one channel. See the GATOS project for information # on how to change the channel. Not tested. Unknown channel. # begin remote name atiusb bits 16 eps 30 aeps 100 one 0 0 zero 0 0 pre_data_bits 8 pre_data 0x14 post_data_bits 16 post_data 0xF000 gap 139891 toggle_bit 0 begin codes a 0x000000000000C500 b 0x000000000000C601 power 0x000000000000C702 tv 0x000000000000C803 dvd 0x000000000000C904 web 0x000000000000CA05 media_library 0x000000000000CB06 drag 0x000000000000CC07 mouse-button_left 0x0000000000003D78 mouse-button_right 0x000000000000417C mouse-up 0x0000000000003772 mouse-down 0x0000000000003873 mouse-left 0x0000000000003570 mouse-right 0x0000000000003671 mouse-left_up 0x0000000000003974 mouse-right_up 0x0000000000003A75 mouse-left_down 0x0000000000003C77 mouse-right_down 0x0000000000003B76 vol-up 0x000000000000CD08 vol-down 0x000000000000CE09 mute 0x000000000000CF0A chan-up 0x000000000000D00B chan-down 0x000000000000D10C 1 0x000000000000D20D 2 0x000000000000D30E 3 0x000000000000D40F 4 0x000000000000D510 5 0x000000000000D611 6 0x000000000000D712 7 0x000000000000D813 8 0x000000000000D914 9 0x000000000000DA15 0 0x000000000000DC17 dvd-root_menu 0x000000000000DB16 launch_setup 0x000000000000DD18 c 0x000000000000DE19 d 0x000000000000E01B tv_on_demand 0x000000000000E11C max_window 0x000000000000E520 cursor-up 0x000000000000DF1A cursor-down 0x000000000000E722 cursor-left 0x000000000000E21D cursor-right 0x000000000000E41F ok 0x000000000000E31E e 0x000000000000E621 f 0x000000000000E823 rewind 0x000000000000E924 play 0x000000000000EA25 fast_forward 0x000000000000EB26 record 0x000000000000EC27 stop 0x000000000000ED28 pause 0x000000000000EE29 end codes end remote geexbox-0.98/packages/lirc/lircd_creative0000644000175000017500000000010210106467317020764 0ustar aurelaurel00000000000000LIRC_DRIVER=creative LIRC_DEVICE=/dev/ttyS0 LIRC_MODULES="serial" geexbox-0.98/packages/lirc/lircd_creative.conf0000666000175000017500000000360710106467317021731 0ustar aurelaurel00000000000000# # this config file was automatically generated # using lirc-0.6.3 on Sat Jan 6 11:38:33 2001 # # contributed by Stephen White # # brand: Creative # model: PC-DVD Remote # supported devices: Creative-Infra-Receiver # begin remote name CREATIVE_INFRA_DVD bits 16 flags SPACE_ENC|CONST_LENGTH eps 30 aeps 100 header 9293 4302 one 771 1494 zero 771 358 ptrail 756 pre_data_bits 16 pre_data 0x8435 gap 108646 toggle_bit 0 begin codes play 0x00000000000005FA stop 0x00000000000016E9 pause 0x00000000000000FF eject 0x00000000000002FD last 0x00000000000017E8 rrev 0x00000000000004FB ffwd 0x00000000000006F9 next 0x00000000000001FE 1 0x00000000000008F7 2 0x00000000000009F6 3 0x0000000000000AF5 shift 0x00000000000014EB 4 0x0000000000000CF3 5 0x0000000000000DF2 6 0x0000000000000EF1 mouse 0x00000000000007F8 7 0x00000000000010EF 8 0x00000000000011EE 9 0x00000000000012ED vol+ 0x0000000000000FF0 start 0x00000000000003FC 0 0x00000000000015EA mute 0x0000000000000BF4 vol- 0x00000000000013EC end codes end remote geexbox-0.98/packages/lirc/lircd_hauppauge0000644000175000017500000000014010106467317021143 0ustar aurelaurel00000000000000LIRC_DRIVER=default LIRC_DEVICE=/dev/lirc LIRC_MODULES="videodev|bttv card=2|lirc_dev|lirc_i2c" geexbox-0.98/packages/lirc/lircd_hauppauge.conf0000666000175000017500000001004610106467317022101 0ustar aurelaurel00000000000000# # this config file was automatically generated # using lirc-0.5.5pre8 on Sun Apr 18 11:43:45 1999 # # contributed by Jens Leuschner # # brand: Hauppauge # model: # supported devices: WinTV primo; WinTV pci; WinTV radio # # This config file will work with both homebrew receivers and # original Hauppauge TV cards !!! # begin remote name Hauppauge bits 13 flags SHIFT_ENC eps 30 aeps 100 one 950 830 zero 950 830 plead 960 gap 89584 repeat_bit 2 begin codes TV 0x000000000000100F RADIO 0x000000000000100C FULL_SCREEN 0x000000000000102E CH+ 0x0000000000001020 CH- 0x0000000000001021 VOL- 0x0000000000001011 VOL+ 0x0000000000001010 MUTE 0x000000000000100D SOURCE 0x0000000000001022 1 0x0000000000001001 2 0x0000000000001002 3 0x0000000000001003 4 0x0000000000001004 5 0x0000000000001005 6 0x0000000000001006 7 0x0000000000001007 8 0x0000000000001008 9 0x0000000000001009 0 0x0000000000001000 RESERVED 0x000000000000101E MINIMIZE 0x0000000000001026 end codes end remote # # this config file was automatically generated # using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003 # # contributed by # # brand: Hauppauge # model no. of remote control: # devices being controlled by this remote: PVR 2/350 # begin remote name hauppauge_pvr bits 13 flags RC5|CONST_LENGTH eps 30 aeps 100 one 969 811 zero 969 811 plead 1097 gap 114605 toggle_bit 2 begin codes Power 0x00000000000017FD Go 0x00000000000017FB 1 0x00000000000017C1 2 0x00000000000017C2 3 0x00000000000017C3 4 0x00000000000017C4 5 0x00000000000017C5 6 0x00000000000017C6 7 0x00000000000017C7 8 0x00000000000017C8 9 0x00000000000017C9 Back/Exit 0x00000000000017DF 0 0x00000000000017C0 Menu 0x00000000000017CD Red 0x00000000000017CB Green 0x00000000000017EE Yellow 0x00000000000017F8 Blue 0x00000000000017E9 Ch+ 0x00000000000017E0 Ch- 0x00000000000017E1 Vol- 0x00000000000017D1 Vol+ 0x00000000000017D0 Ok 0x00000000000017E5 Mute 0x00000000000017CF Blank 0x00000000000017CC Full 0x00000000000017FC Rewind 0x00000000000017F2 Play 0x00000000000017F5 Forward 0x00000000000017F4 Record 0x00000000000017F7 Stop 0x00000000000017F6 Pause 0x00000000000017F0 Replay 0x00000000000017E4 Skip 0x00000000000017DE end codes end remote geexbox-0.98/packages/lirc/lircd_homemade0000644000175000017500000000011610106467317020746 0ustar aurelaurel00000000000000LIRC_DRIVER=default LIRC_DEVICE=/dev/lirc LIRC_MODULES="lirc_dev|lirc_serial" geexbox-0.98/packages/lirc/lircd_irman0000644000175000017500000000007710106467317020303 0ustar aurelaurel00000000000000LIRC_DRIVER=irman LIRC_DEVICE=/dev/ttyS0 LIRC_MODULES="serial" geexbox-0.98/packages/lirc/lircd_leadtek0000644000175000017500000000014210106467317020577 0ustar aurelaurel00000000000000LIRC_DRIVER=default LIRC_DEVICE=/dev/lirc LIRC_MODULES="videodev|bttv card=34|lirc_dev|lirc_gpio" geexbox-0.98/packages/lirc/lircd_leadtek.conf0000666000175000017500000000630310106467317021534 0ustar aurelaurel00000000000000# # this config file was automatically generated # using WinLIRC 0.6.4 (LIRC 0.6.1pre3) on Sun Nov 03 14:25:14 2002 # # modified by CB # # contributed by Erik Christiansson, aka Sci # www.alphafish.com # erik@alphafish.com # # brand: Leadtek # model: RM-0010 (bundeled with TV2000 TV-card) # # modifications based on the config files from # Juan Toledo and # Markus Lischka begin remote name RM-0010 bits 16 flags SPACE_ENC|CONST_LENGTH eps 40 aeps 100 header 9000 4500 one 563 1687 zero 563 562 ptrail 563 repeat 9000 2250 pre_data_bits 16 pre_data 0xC03F gap 108000 toggle_bit 0 frequency 38000 duty_cycle 33 begin codes POWER 0x00000000000000FF TV/FM 0x00000000000040BF SCAN 0x000000000000A857 DISPLAY 0x0000000000006897 1 0x000000000000A05F 2 0x000000000000609F 3 0x000000000000E01F 4 0x000000000000906F 5 0x00000000000050AF 6 0x000000000000D02F 7 0x000000000000B04F 8 0x000000000000708F 9 0x000000000000F00F 0 0x00000000000048B7 RECALL 0x0000000000008877 ENTER 0x000000000000C837 CC 0x000000000000F807 MTS 0x000000000000D827 FINE_DOWN 0x0000000000009867 FINE_UP 0x00000000000018E7 VIDEO 0x0000000000007887 MUTE 0x00000000000028D7 CH_UP 0x00000000000030CF CH_DOWN 0x00000000000008F7 VOL_DOWN 0x00000000000010EF VOL_UP 0x00000000000020DF FULLSCREEN 0x000000000000C03F # The following are only supported by the remote control bundled with # the WinFast TV 2000 XP Deluxe card. SLEEP 0x00000000000004FB BOSS_KEY 0x000000000000946B RED 0x000000000000D42B GREEN 0x00000000000034CB YELLOW 0x000000000000B44B BLUE 0x000000000000748B PIP 0x00000000000054AB . 0x000000000000847B BACK 0x00000000000044BB PLAY 0x000000000000C43B NEXT 0x00000000000024DB TIMESHIFT 0x000000000000A45B STOP 0x000000000000649B REC 0x000000000000E41B SNAPSHOT 0x00000000000014EB end codes end remote geexbox-0.98/packages/lirc/lircd_logitech0000644000175000017500000000010210106467317020760 0ustar aurelaurel00000000000000LIRC_DRIVER=logitech LIRC_DEVICE=/dev/ttyS0 LIRC_MODULES="serial" geexbox-0.98/packages/lirc/lircd_logitech.conf0000666000175000017500000001065110106467317021722 0ustar aurelaurel00000000000000# # # contributed by Isaac Lauer # # brand: Logitech # model: Value Infrared Remote Control # supported devices: # begin remote name Logitech bits 8 flags SPACE_ENC|CONST_LENGTH eps 30 aeps 100 one 0 833 zero 833 0 pre_data_bits 8 pre_data 0xA0 gap 29858 repeat_bit 0 begin codes POWER 0x0000000000000002 1 0x0000000000000015 2 0x0000000000000016 3 0x0000000000000014 4 0x0000000000000018 5 0x0000000000000019 6 0x0000000000000017 7 0x000000000000001C 8 0x000000000000001B 9 0x000000000000001A 0 0x000000000000001D PAUSE 0x0000000000000013 EJECT 0x0000000000000011 SEEK- 0x000000000000000E PLAY 0x000000000000000F SEEK+ 0x0000000000000010 STOP 0x0000000000000012 HELP 0x0000000000000001 CH- 0x000000000000000D CH+ 0x000000000000000A VOL- 0x000000000000000C VOL+ 0x0000000000000009 * 0x000000000000001F # 0x000000000000001E MUTE 0x000000000000000B BUTTONL_DOWN 0x0000000000000039 BUTTONR_DOWN 0x000000000000003A BUTTON_UP 0x0000000000000038 ENTER 0x0000000000000008 CLOSE 0x0000000000000023 TV 0x0000000000000004 GDE 0x0000000000000005 CD 0x0000000000000006 MSG 0x0000000000000007 PHONE 0x0000000000000003 MOUSE_N 0x0000000000000040 MOUSE_NNE 0x0000000000000041 MOUSE_NE 0x0000000000000042 MOUSE_NEE 0x0000000000000043 MOUSE_E 0x0000000000000044 MOUSE_SEE 0x0000000000000045 MOUSE_SE 0x0000000000000046 MOUSE_SSE 0x0000000000000047 MOUSE_S 0x0000000000000048 MOUSE_SSW 0x0000000000000049 MOUSE_SW 0x000000000000004A MOUSE_SWW 0x000000000000004B MOUSE_W 0x000000000000004C MOUSE_NWW 0x000000000000004D MOUSE_NW 0x000000000000004E MOUSE_NNW 0x000000000000004F MOUSE_N 0x0000000000000050 MOUSE_NNE 0x0000000000000051 MOUSE_NE 0x0000000000000052 MOUSE_NEE 0x0000000000000053 MOUSE_E 0x0000000000000054 MOUSE_SEE 0x0000000000000055 MOUSE_SE 0x0000000000000056 MOUSE_SSE 0x0000000000000057 MOUSE_S 0x0000000000000058 MOUSE_SSW 0x0000000000000059 MOUSE_SW 0x000000000000005A MOUSE_SWW 0x000000000000005B MOUSE_W 0x000000000000005C MOUSE_NWW 0x000000000000005D MOUSE_NW 0x000000000000005E MOUSE_NNW 0x000000000000005F MOUSE_N 0x0000000000000060 MOUSE_NNE 0x0000000000000061 MOUSE_NE 0x0000000000000062 MOUSE_NEE 0x0000000000000063 MOUSE_E 0x0000000000000064 MOUSE_SEE 0x0000000000000065 MOUSE_SE 0x0000000000000066 MOUSE_SSE 0x0000000000000067 MOUSE_S 0x0000000000000068 MOUSE_SSW 0x0000000000000069 MOUSE_SW 0x000000000000006A MOUSE_SWW 0x000000000000006B MOUSE_W 0x000000000000006C MOUSE_NWW 0x000000000000006D MOUSE_NW 0x000000000000006E MOUSE_NWW 0x000000000000006F end codes end remote geexbox-0.98/packages/lirc/lircd_packard_bell.conf0000666000175000017500000000706510106467317022534 0ustar aurelaurel00000000000000# Config file for Packard Bell Remotes (with repeat codes!) # created by Samuel Wood (sjw@umr.edu) # # brand: Packard Bell Remote # model: El Cheapo Packard Bell Remote # # This is a config file for the cheap excess Packard Bell remotes # you sometimes can buy from online auctions like www.onsale.com. # # The receiver that comes with it hooks into the serial port and works # fine with lirc 0.5.4. # # The receiver that comes with the remote is near garbage. If # you don't point almost directly at it, it will not detect. But # it's simpler than building your own. :-) # # Repeat works fine for me. You just have to modify or add the # "repeat=" lines in your .lircrc. # # irrecord was used to generate the file, then I modified and # added repeat codes. # # The button names used are identical to what was printed on the # remote, except for the number pads (using actual numbers like # "1" and so forth did not seem to work. Similarly, '*' is Star # and '#' is Hash. LMB and RMB refer to the two mousepad buttons # on the left and right respectively. # # I still need to modify the gap setting. Right now, if you don't # hold the button down long enough, it may not register, but if # you hold it too long, it will detect a repeat or two. Feel free # to modify this to work better. If you get it to work better, send # me a copy. :-) begin remote name PackBell bits 15 flags SPACE_ENC|CONST_LENGTH eps 30 aeps 100 header 9065 4500 one 597 532 zero 597 1643 ptrail 597 pre_data_bits 16 pre_data 0xF708 post_data_bits 1 post_data 0x0 gap 107000 repeat_bit 0 repeat 9050 2250 begin codes Help 0x0000000000006F90 Phone 0x0000000000004FB0 Message 0x0000000000006E91 SRS 0x0000000000004EB1 CD 0x0000000000002FD0 Aux1 0x0000000000000FF0 Aux2 0x0000000000002ED1 Aux3 0x0000000000000EF1 LMB 0x00000000000023DC RMB 0x000000000000639C Up 0x00000000000037C8 Down 0x00000000000057A8 Left 0x0000000000007788 Right 0x00000000000017E8 Menu 0x0000000000007B84 Mute 0x0000000000003BC4 Enter 0x00000000000047B8 CHUp 0x00000000000027D8 CHDown 0x0000000000006798 VolUp 0x0000000000005BA4 VolDown 0x0000000000001BE4 Display 0x00000000000007F8 One 0x0000000000005EA1 Two 0x0000000000001EE1 Three 0x0000000000000BF4 Four 0x0000000000007E81 Five 0x0000000000003EC1 Six 0x0000000000004BB4 Seven 0x0000000000005FA0 Eight 0x0000000000001FE0 Nine 0x0000000000002BD4 Zero 0x0000000000003FC0 Star 0x0000000000007F80 Hash 0x0000000000006B94 end codes end remote geexbox-0.98/packages/lirc/lircd_pctv0000644000175000017500000000010010106467317020134 0ustar aurelaurel00000000000000LIRC_DRIVER=pinsys LIRC_DEVICE=/dev/ttyS0 LIRC_MODULES="serial" geexbox-0.98/packages/lirc/lircd_pctv.conf0000666000175000017500000000642010106467317021077 0ustar aurelaurel00000000000000# # contributed by Bart Alewijnse # # brand: Pinnacle Systems # model: PCTV Remote (Perhaps other ones as well) # supported devices: there's only one I know of. (serial) # # Mail me if your remote is only partly supported, or if it has different # buttons than listed below. # begin remote name PinnacleSysPCTVRemote bits 8 eps 30 aeps 100 one 0 0 zero 0 0 gap 180000 begin codes Mute 0x000000000000003C Power 0x000000000000002F Chan+Play 0x000000000000003F Chan-Stop 0x000000000000003E Vol+FF 0x000000000000003B Vol-Rew 0x000000000000003D 1 0x0000000000000031 2 0x0000000000000032 3 0x0000000000000033 4 0x0000000000000034 5 0x0000000000000035 6 0x0000000000000036 7 0x0000000000000037 8 0x0000000000000038 9 0x0000000000000039 Fullscreen 0x000000000000002D 0/AV 0x000000000000003A Info 0x000000000000002B Preview 0x000000000000002E Record 0x0000000000000027 Chan_Last 0x0000000000000025 F_TV 0x0000000000000026 F_TELETEXT 0x0000000000000029 F_RADIO 0x000000000000002A # # here are some extra buttons a new version of the remote seems to have # # contributed by Robbert Monna # # brand: Pinnacle Systems # model: PCTV Remote (newest version?) # supported devices: dongle on serial port (from TV-Card) # L 0x000000000000001F Zoom 0x000000000000001E vol+ 0x000000000000001B vol- 0x000000000000000F channel+ 0x0000000000000017 channel- 0x000000000000001C middle 0x000000000000001A Menu 0x000000000000001D next 0x0000000000000019 undo 0x0000000000000016 pause 0x0000000000000015 redo 0x0000000000000013 Rewind 0x000000000000000E Play 0x000000000000000D Stop 0x000000000000000B FForward 0x0000000000000007 EPG 0x0000000000000018 # here are some more buttons that seem to be mapped differently from # the ones above # contributed by InterCeptor ceptor_7@freemail.hu # # brand: Pinnacle Systems PCTV Pro Remote # model no. of remote control: (I can't find any numbers on it) # supported devices: serial # 9 0x0000000000000082 Zoom 0x00000000000000B2 middle 0x0000000000000014 end codes end remote geexbox-0.98/packages/lirc/lircd_realmagic0000644000175000017500000000010310106467317021107 0ustar aurelaurel00000000000000LIRC_DRIVER=pixelview LIRC_DEVICE=/dev/ttyS0 LIRC_MODULES="serial" geexbox-0.98/packages/lirc/lircd_realmagic.conf0000666000175000017500000000616210106467317022052 0ustar aurelaurel00000000000000# # this config file was automatically generated # using lirc-0.6.3 on Fri Nov 10 21:47:32 2000 # # contributed by Stefan Neuwirth & Andreas Lange # # brand: Sigma Designs # model: REALmagic remote control # www.realmagic.com/support.htm#remote # supported devices: # "For Hollywood Plus Version 1.4 or above Driver only" # remote control for the Sigma Designs REALmagic Hollywood Plus DVD card # receiver is connected to the serial port - it does not require the card # # The first byte always is 131. The second and third byte are equal. (CB) # begin remote name REALmagic bits 20 eps 30 aeps 100 one 0 0 zero 0 0 pre_data_bits 10 pre_data 0x183 gap 189974 toggle_bit 0 begin codes 1 0x0000000000062D8B 2 0x0000000000012C4B 3 0x000000000001AC6B 4 0x0000000000072DCB 5 0x000000000000AC2B 6 0x0000000000052D4B # Nicolas Vignal reported that this code is sent for his remote # version (1.5). It should be no problem to just have two entries for # "6" unless you want to send codes what won't work for this receiver # anyway. 6 0x0000000000041505 7 0x0000000000058561 8 0x0000000000044511 9 0x000000000004AD2B 0 0x000000000004C531 VOL+ 0x0000000000022C8B VOL- 0x0000000000032CCB MUTE 0x000000000006ADAB L-R 0x0000000000052549 VGA 0x0000000000054551 ENTER 0x0000000000042509 QUIT 0x0000000000058D63 PRG 0x0000000000038CE3 UP 0x0000000000078DE3 DOWN 0x0000000000064D93 LEFT 0x0000000000044D13 RIGHT 0x000000000003ECFB SELECT 0x0000000000024C93 MENU 0x0000000000014C53 TITLE 0x0000000000054D53 OSD 0x0000000000034CD3 LANG 0x0000000000074DD3 ANGLE 0x000000000000CC33 SUB 0x000000000004CD33 PAUSE 0x000000000002CCB3 STOP 0x000000000006CDB3 PLAY 0x000000000001CC73 EJECT 0x000000000005CD73 REV 0x000000000003CCF3 FF 0x000000000007CDF3 PREV 0x0000000000002C0B NEXT 0x0000000000042D0B end codes end remote geexbox-0.98/packages/lirc/lircrc_D-100000644000175000017500000000546010106467317017760 0ustar aurelaurel00000000000000begin prog = mplayer button = POWER config = quit 166 end begin prog = mplayer button = EJECT config = run /usr/bin/eject end begin prog = mplayer button = ANGLE config = run /usr/bin/tvswitch end begin prog = mplayer button = INDEX config = set_menu jump_to end begin prog = mplayer button = A-B config = osd end begin prog = mplayer button = MUTE config = mute end begin prog = mplayer button = 1 repeat = 1 config = seek -10 end begin prog = mplayer button = 2 repeat = 1 config = seek 10 end begin prog = mplayer button = 4 repeat = 3 config = seek -60 end begin prog = mplayer button = 5 repeat = 3 config = seek 60 end begin prog = mplayer button = 7 repeat = 1 config = sub_delay -0.2 end begin prog = mplayer button = 8 repeat = 1 config = sub_delay +0.2 end begin prog = mplayer button = 3 repeat = 1 config = brightness 1 end begin prog = mplayer button = 6 repeat = 1 config = brightness -1 end begin prog = mplayer button = 0 repeat = 1 config = sub_visibility end begin prog = mplayer button = MENU config = set_menu main end begin prog = mplayer button = TITLE config = set_menu open_file end begin prog = mplayer button = SUBTITLE config = set_menu sub_sel end begin prog = mplayer button = AUDIO config = set_menu audio_sel end begin prog = mplayer button = PAUSE config = pause end begin prog = mplayer button = ACTIVE_MENU repeat = 0 config = menu hide end begin prog = mplayer button = EXIT config = menu cancel end begin prog = mplayer button = LEFT_RW repeat = 2 config = volume -1 end begin prog = mplayer button = RIGHT_FW repeat = 2 config = volume 1 end begin prog = mplayer button = UP_FW repeat = 3 config = menu up end begin prog = mplayer button = DOWN_RW repeat = 3 config = menu down end begin prog = mplayer button = OK_PLAY config = menu ok end begin prog = mplayer button = STOP config = quit end begin prog = mplayer button = SKIP_BACK repeat = 2 config = pt_step -1 end begin prog = mplayer button = SKIP_FORWARD repeat = 2 config = pt_step 1 end begin prog = fbi button = EXIT config = q end begin prog = fbi button = RIGHT_FW config = n end begin prog = fbi button = LEFT_RW config = b end begin prog = fbi button = UP_FW config = + end begin prog = fbi button = DOWN_RW config = - end begin prog = fbi button = PAUSE config = p end begin prog = fbi button = ANGLE config = h end begin prog = fbi button = INDEX config = i end begin prog = fbi button = A-B config = v end begin prog = fbi button = MUTE config = a end geexbox-0.98/packages/lirc/lircrc_LG0000644000175000017500000000313510106467317017656 0ustar aurelaurel00000000000000begin prog = mplayer button = red repeat = 0 config = seek -60 end begin prog = mplayer button = green repeat = 0 config = seek 60 end begin prog = mplayer button = ok repeat = 0 config = PAUSE end begin prog = mplayer button = mute repeat = 0 config = quit end begin prog = mplayer button = blue repeat = 1 config = VOLUME +1 end begin prog = mplayer button = yellow repeat = 1 config = VOLUME -1 end begin prog = mplayer button = vol+ repeat = 0 config = menu ok end begin prog = mplayer button = vol- repeat = 0 config = menu cancel end begin prog = mplayer button = pr+ repeat = 0 config = menu up end begin prog = mplayer button = pr- repeat = 0 config = menu down end begin prog = mplayer button = sleep repeat = 1 config = menu hide end begin prog = mplayer button = time repeat = 1 config = osd end begin prog = mplayer button = tv config = run /usr/bin/tvswitch end begin prog = irpty button = psm config = p: end begin prog = irpty button = picture config = l: end begin prog = fbi button = ok config = p end begin prog = fbi button = vol+ config = n end begin prog = fbi button = vol- config = b end begin prog = fbi button = mute config = q end begin prog = fbi button = sleep config = v end begin prog = fbi button = pr+ config = + end begin prog = fbi button = pr- config = - end begin prog = fbi button = tv config = a end geexbox-0.98/packages/lirc/lircrc_RM-S60000644000175000017500000000256410106467317020165 0ustar aurelaurel00000000000000begin prog = mplayer button = TAPE config = run /usr/bin/tvswitch end begin prog = mplayer button = CD_PAUSE config = pause end begin prog = mplayer button = CD_STOP config = quit end begin prog = mplayer button = CD_PLAY config = mute end begin prog = mplayer button = CD_PREV_TRACK repeat = 1 config = seek -120 end begin prog = mplayer button = CD_NEXT_TRACK repeat = 1 config = seek 120 end begin prog = mplayer button = SLEEP repeat = 1 config = seek -10 end begin prog = mplayer button = CD repeat = 1 config = seek 10 end begin prog = mplayer button = AMP_VOL_DOWN repeat = 2 config = volume -1 end begin prog = mplayer button = AMP_VOL_UP repeat = 5 config = volume 1 end begin prog = mplayer button = CD_EJECT config = osd end begin prog = mplayer button = AMP_POWER config = quit 166 end begin prog = mplayer button = TUNER config = menu hide end begin prog = mplayer button = TUNER_SHIFT config = set_menu open_file end begin prog = mplayer button = VIDEO/AUX config = menu ok end begin prog = mplayer button = PHONO config = menu cancel end begin prog = mplayer button = TUNER_PRESET_+ repeat = 5 config = menu up end begin prog = mplayer button = TUNER_PRESET_- repeat = 5 config = menu down end geexbox-0.98/packages/lirc/lircrc_RX-V8500000644000175000017500000000265210106467317020350 0ustar aurelaurel00000000000000begin prog = mplayer button = F_TV config = run /usr/bin/tvswitch end begin prog = mplayer button = CD_PLAY config = pause end begin prog = mplayer button = CD_PAUSE/STOP repeat = 1 config = seek -120 end begin prog = mplayer button = CD_SEARCH_FWD repeat = 1 config = seek 120 end begin prog = mplayer button = TAPE_DIR_A repeat = 1 config = seek -10 end begin prog = mplayer button = TAPE_DIR_B repeat = 1 config = seek 10 end begin prog = mplayer button = CD_SEARCH_REV repeat = 1 config = volume -1 end begin prog = mplayer button = CD_SKIP_FWD repeat = 1 config = volume 1 end begin prog = mplayer button = TUNER_+ repeat = 1 config = volume 1 end begin prog = mplayer button = 8 repeat = 1 config = volume -1 end begin prog = mplayer button = CD_SKIP_REV config = osd end begin prog = mplayer button = CD_DISK_SKIP config = quit 166 end begin prog = TAPE_PLAY button = Info config = menu hide end begin prog = mplayer button = TAPE_STOP config = set_menu open_file end begin prog = mplayer button = TAPE_FFWD config = menu ok end begin prog = mplayer button = TAPE_REWIND config = menu cancel end begin prog = mplayer button = TAPE_REC/PAUSE repeat = 1 config = menu up end begin prog = mplayer button = TAPE_DECK_A/B repeat = 1 config = menu down end geexbox-0.98/packages/lirc/lircrc_animax0000644000175000017500000000266610106467317020641 0ustar aurelaurel00000000000000begin prog = mplayer button = TV_DOWN config = run /usr/bin/tvswitch end begin prog = mplayer button = MENU_DOWN config = pause end begin prog = mplayer button = STOP_DOWN config = quit end begin prog = mplayer button = MUTE_DOWN config = mute end begin prog = mplayer button = 1_DOWN repeat = 1 config = seek -120 end begin prog = mplayer button = 3_DOWN repeat = 1 config = seek 120 end begin prog = mplayer button = REWIND_DOWN repeat = 1 config = seek -10 end begin prog = mplayer button = FORWARD_DOWN repeat = 1 config = seek 10 end begin prog = mplayer button = VOLUME_DOWN_DOWN repeat = 1 config = volume -1 end begin prog = mplayer button = VOLUME_UP_DOWN repeat = 1 config = volume 1 end begin prog = mplayer button = BLUE_BUTTON_DOWN config = osd end begin prog = mplayer button = POWER_DOWN config = quit 166 end begin prog = mplayer button = RED_BUTTON_DOWN config = menu hide end begin prog = mplayer button = GREEN_BUTTON_DOWN config = set_menu open_file end begin prog = mplayer button = LEFT_MOUSE_BUTTON_TOUCH_DOWN config = menu ok end begin prog = mplayer button = MOUSE_S repeat = 0 config = menu cancel end begin prog = mplayer button = LEFT_MOUSE_BUTTON_DOWN config = menu up end begin prog = mplayer button = RIGHT_MOUSE_BUTTON_DOWN config = menu down end geexbox-0.98/packages/lirc/lircrc_atiusb0000644000175000017500000000665510106467317020655 0ustar aurelaurel00000000000000begin prog = mplayer button = launch_setup config = run /usr/bin/tvswitch end begin prog = mplayer button = pause config = pause end begin prog = mplayer button = rewind repeat = 3 config = seek -120 end begin prog = mplayer button = fast_forward repeat = 3 config = seek 120 end begin prog = mplayer button = c repeat = 3 config = seek -10 end begin prog = mplayer button = d repeat = 3 config = seek 10 end begin prog = mplayer button = vol-down repeat = 2 config = volume -1 end begin prog = mplayer button = vol-up repeat = 2 config = volume 1 end begin prog = mplayer button = tv_on_demand config = osd end begin prog = mplayer button = power config = quit 166 end begin prog = mplayer button = dvd-root_menu config = menu hide end begin prog = mplayer button = web config = set_menu open_file end begin prog = mplayer button = dvd config = play_dvd hide_menu end begin prog = mplayer button = tv config = set_menu tv_settings end begin prog = mplayer button = drag config = set_menu view_img end begin prog = mplayer button = play config = menu ok end begin prog = mplayer button = ok config = menu ok end begin prog = mplayer button = cursor-right config = menu ok end begin prog = mplayer button = mouse-right config = menu ok end begin prog = mplayer button = cursor-left config = menu cancel end begin prog = mplayer button = mouse-left config = menu cancel end begin prog = mplayer button = cursor-up repeat = 5 config = menu up end begin prog = mplayer button = mouse-up repeat = 6 config = menu up end begin prog = mplayer button = cursor-down repeat = 5 config = menu down end begin prog = mplayer button = mouse-down repeat = 6 config = menu down end begin prog = mplayer button = e repeat = 3 config = sub_pos -1 end begin prog = mplayer button = f repeat = 3 config = sub_pos +1 end begin prog = mplayer button = mute config = mute end begin prog = mplayer button = stop config = quit end begin prog = mplayer button = max_window config = set_menu aspect end begin prog = mplayer button = media_library config = set_menu jump_to end begin prog = irpty button = d config = p end begin prog = irpty button = c config = l end begin prog = fbi button = power config = q end begin prog = fbi button = cursor-right config = n end begin prog = fbi button = mouse-right config = n end begin prog = fbi button = fast_forward config = n end begin prog = fbi button = cursor-left config = b end begin prog = fbi button = mouse-left config = b end begin prog = fbi button = rewind config = b end begin prog = fbi button = cursor-up config = + end begin prog = fbi button = mouse-up config = + end begin prog = fbi button = cursor-down config = - end begin prog = fbi button = mouse-down config = - end begin prog = fbi button = max_window config = a end begin prog = fbi button = dvd-root_menu config = h end begin prog = fbi button = tv_on_demand config = i end begin prog = fbi button = play config = p end begin prog = fbi button = pause config = p end begin prog = fbi button = launch_setup config = v end geexbox-0.98/packages/lirc/lircrc_creative0000644000175000017500000000242310106467317021155 0ustar aurelaurel00000000000000begin prog = mplayer button = VGA config = run /usr/bin/tvswitch end begin prog = mplayer button = pause config = pause end begin prog = mplayer button = stop config = quit end begin prog = mplayer button = MUTE config = mute end begin prog = mplayer button = rrev repeat = 1 config = seek -120 end begin prog = mplayer button = ffwd repeat = 1 config = seek 120 end begin prog = mplayer button = last repeat = 1 config = seek -10 end begin prog = mplayer button = next repeat = 1 config = seek 10 end begin prog = mplayer button = VOL- repeat = 1 config = volume -1 end begin prog = mplayer button = VOL+ repeat = 1 config = volume 1 end begin prog = mplayer button = 1 config = osd end begin prog = mplayer button = shift config = quit 166 end begin prog = mplayer button = start config = menu hide end begin prog = mplayer button = eject config = set_menu open_file end begin prog = mplayer button = 6 config = menu ok end begin prog = mplayer button = 4 config = menu cancel end begin prog = mplayer button = 2 repeat = 1 config = menu up end begin prog = mplayer button = 8 repeat = 1 config = menu down end geexbox-0.98/packages/lirc/lircrc_hauppauge0000644000175000017500000000234210106467317021332 0ustar aurelaurel00000000000000begin prog = mplayer button = TV config = run /usr/bin/tvswitch end begin prog = mplayer button = 5 config = pause end begin prog = mplayer button = 8 repeat = 1 config = seek -120 end begin prog = mplayer button = 2 repeat = 1 config = seek 120 end begin prog = mplayer button = 4 repeat = 1 config = seek -10 end begin prog = mplayer button = 6 repeat = 1 config = seek 10 end begin prog = mplayer button = 1 repeat = 1 config = volume 1 end begin prog = mplayer button = 7 repeat = 1 config = volume -1 end begin prog = mplayer button = FULL_SCREEN config = osd end begin prog = mplayer button = MINIMIZE config = menu hide end begin prog = mplayer button = SOURCE config = set_menu open_file end begin prog = mplayer button = VOL+ config = menu ok end begin prog = mplayer button = VOL- config = menu cancel end begin prog = mplayer button = CH+ repeat = 2 config = menu up end begin prog = mplayer button = CH- repeat = 2 config = menu down end begin prog = mplayer button = 3 config = audio_delay 0.1 end begin prog = mplayer button = 9 config = audio_delay -0.1 end geexbox-0.98/packages/lirc/lircrc_leadtek0000644000175000017500000000245010106467317020764 0ustar aurelaurel00000000000000begin prog = mplayer button = TV/FM config = run /usr/bin/tvswitch end begin prog = mplayer button = 9 config = pause end begin prog = mplayer button = 8 config = quit end begin prog = mplayer button = MUTE config = mute end begin prog = mplayer button = 1 repeat = 1 config = seek -120 end begin prog = mplayer button = 3 repeat = 1 config = seek 120 end begin prog = mplayer button = 4 repeat = 1 config = seek -10 end begin prog = mplayer button = 6 repeat = 1 config = seek 10 end begin prog = mplayer button = FINE_DOWN repeat = 1 config = volume -1 end begin prog = mplayer button = FINE_UP repeat = 1 config = volume 1 end begin prog = mplayer button = SCAN config = osd end begin prog = mplayer button = POWER config = quit 166 end begin prog = mplayer button = ENTER config = menu hide end begin prog = mplayer button = FULLSCREEN config = set_menu open_file end begin prog = mplayer button = VOL_UP config = menu ok end begin prog = mplayer button = VOL_DOWN config = menu cancel end begin prog = mplayer button = CH_UP repeat = 1 config = menu up end begin prog = mplayer button = CH_DOWN repeat = 1 config = menu down end geexbox-0.98/packages/lirc/lircrc_logitech0000644000175000017500000000245110106467317021152 0ustar aurelaurel00000000000000begin prog = mplayer button = TV config = run /usr/bin/tvswitch end begin prog = mplayer button = PAUSE config = pause end begin prog = mplayer button = STOP config = quit end begin prog = mplayer button = MUTE config = mute end begin prog = mplayer button = 1 repeat = 1 config = seek -120 end begin prog = mplayer button = 3 repeat = 1 config = seek 120 end begin prog = mplayer button = SEEK- repeat = 1 config = seek -10 end begin prog = mplayer button = SEEK+ repeat = 1 config = seek 10 end begin prog = mplayer button = VOL- repeat = 1 config = volume -1 end begin prog = mplayer button = VOL+ repeat = 1 config = volume 1 end begin prog = mplayer button = HELP config = osd end begin prog = mplayer button = CLOSE config = quit 166 end begin prog = mplayer button = ENTER config = menu hide end begin prog = mplayer button = GDE config = set_menu open_file end begin prog = mplayer button = BUTTONL_DOWN config = menu ok end begin prog = mplayer button = BUTTONR_DOWN config = menu cancel end begin prog = mplayer button = CH+ repeat = 1 config = menu up end begin prog = mplayer button = CH- repeat = 1 config = menu down end geexbox-0.98/packages/lirc/lircrc_packard_bell0000644000175000017500000000243310106467317021757 0ustar aurelaurel00000000000000begin prog = mplayer button = Aux3 config = run /usr/bin/tvswitch end begin prog = mplayer button = Enter config = pause end begin prog = mplayer button = Display config = quit end begin prog = mplayer button = Mute config = mute end begin prog = mplayer button = 1 repeat = 1 config = seek -120 end begin prog = mplayer button = 3 repeat = 1 config = seek 120 end begin prog = mplayer button = Left repeat = 1 config = seek -10 end begin prog = mplayer button = Right repeat = 1 config = seek 10 end begin prog = mplayer button = VolDown repeat = 1 config = volume -1 end begin prog = mplayer button = VolUp repeat = 1 config = volume 1 end begin prog = mplayer button = Help config = osd end begin prog = mplayer button = SRS config = quit 166 end begin prog = mplayer button = Menu config = menu hide end begin prog = mplayer button = CD config = set_menu open_file end begin prog = mplayer button = RMB config = menu ok end begin prog = mplayer button = LMB config = menu cancel end begin prog = mplayer button = Up repeat = 1 config = menu up end begin prog = mplayer button = Down repeat = 1 config = menu down end geexbox-0.98/packages/lirc/lircrc_pctv0000644000175000017500000000630210106467317020327 0ustar aurelaurel00000000000000begin prog = mplayer button = F_TV config = run /usr/bin/tvswitch end begin prog = mplayer button = 0/AV config = run /usr/bin/tvswitch end begin prog = mplayer button = 5 config = pause end begin prog = mplayer button = pause config = pause end begin prog = mplayer button = 1 repeat = 1 config = seek -120 end begin prog = mplayer button = undo repeat = 1 config = seek -120 end begin prog = mplayer button = 3 repeat = 1 config = seek 120 end begin prog = mplayer button = redo repeat = 1 config = seek 120 end begin prog = mplayer button = 4 repeat = 1 config = seek -10 end begin prog = mplayer button = Rewind repeat = 1 config = seek -10 end begin prog = mplayer button = 6 repeat = 1 config = seek 10 end begin prog = mplayer button = FForward repeat = 1 config = seek 10 end begin prog = mplayer button = 7 repeat = 1 config = volume -1 end begin prog = mplayer button = vol- repeat = 1 config = volume -1 end begin prog = mplayer button = 9 repeat = 1 config = volume 1 end begin prog = mplayer button = vol+ repeat = 1 config = volume 1 end begin prog = mplayer button = 2 repeat = 1 config = volume 1 end begin prog = mplayer button = 8 repeat = 1 config = volume -1 end begin prog = mplayer button = Fullscreen config = osd end begin prog = mplayer button = Power config = quit 166 end begin prog = mplayer button = Info config = menu hide end begin prog = mplayer button = Menu config = menu hide end begin prog = mplayer button = Chan_Last config = set_menu open_file end begin prog = mplayer button = Preview config = set_menu open_file end begin prog = mplayer button = Vol+FF config = menu ok end begin prog = mplayer button = Vol-Rew config = menu cancel end begin prog = mplayer button = Chan+Play repeat = 1 config = menu up end begin prog = mplayer button = Chan-Stop repeat = 1 config = menu down end begin prog = mplayer button = channel- repeat = 1 config = sub_pos -1 end begin prog = mplayer button = channel+ repeat = 1 config = sub_pos +1 end begin prog = mplayer button = Mute config = mute end begin prog = mplayer button = Stop config = quit end begin prog = mplayer button = Zoom config = set_menu aspect end begin prog = mplayer button = middle config = set_menu jump_to end begin prog = irpty button = F_RADIO config = p end begin prog = irpty button = F_TELETEXT config = l end begin prog = fbi button = Power config = q end begin prog = fbi button = Vol+FF config = n end begin prog = fbi button = Vol-Rew config = b end begin prog = fbi button = Chan+Play config = + end begin prog = fbi button = Chan-Stop config = - end begin prog = fbi button = Fullscreen config = a end begin prog = fbi button = 0 config = h end begin prog = fbi button = Info config = i end begin prog = fbi button = Record config = p end begin prog = fbi button = Preview config = v end geexbox-0.98/packages/lirc/lircrc_realmagic0000644000175000017500000000242610106467317021302 0ustar aurelaurel00000000000000begin prog = mplayer button = VGA config = run /usr/bin/tvswitch end begin prog = mplayer button = PAUSE config = pause end begin prog = mplayer button = STOP config = quit end begin prog = mplayer button = MUTE config = mute end begin prog = mplayer button = 1 repeat = 1 config = seek -120 end begin prog = mplayer button = 3 repeat = 1 config = seek 120 end begin prog = mplayer button = REV repeat = 1 config = seek -10 end begin prog = mplayer button = FF repeat = 1 config = seek 10 end begin prog = mplayer button = VOL- repeat = 1 config = volume -1 end begin prog = mplayer button = VOL+ repeat = 1 config = volume 1 end begin prog = mplayer button = OSD config = osd end begin prog = mplayer button = QUIT config = quit 166 end begin prog = mplayer button = MENU config = menu hide end begin prog = mplayer button = EJECT config = set_menu open_file end begin prog = mplayer button = SELECT config = menu ok end begin prog = mplayer button = LEFT config = menu cancel end begin prog = mplayer button = UP repeat = 1 config = menu up end begin prog = mplayer button = DOWN repeat = 1 config = menu down end geexbox-0.98/packages/lirc/unpack0000755000175000017500000000031310106467317017275 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/unpack libirman || exit 1 IRMAN="`ls -d $ROOT/$BUILD/libirman*`" sed -i "s%^CFLAGS=.*%CFLAGS=\"-Os -I$IRMAN\"%" $BUILD/lirc*/configure chmod +x $BUILD/lirc*/configure geexbox-0.98/packages/lirc/url0000644000175000017500000000014610106467317016617 0ustar aurelaurel00000000000000http://lirc.sourceforge.net/software/snapshots/lirc-0.7.0pre4.tar.bz2 GEEXBOX_SRCS/patch-lirc-any.bz2 geexbox-0.98/packages/mkisofs-win32/0000755000175000017500000000000010106467317017553 5ustar aurelaurel00000000000000geexbox-0.98/packages/mkisofs-win32/install0000755000175000017500000000006210106467317021145 0ustar aurelaurel00000000000000#!/bin/sh . config/path cp $BUILD/$1/* $INSTALL geexbox-0.98/packages/mkisofs-win32/url0000644000175000017500000000004310106467317020275 0ustar aurelaurel00000000000000GEEXBOX_SRCS/mkisofs-win32.tar.bz2 geexbox-0.98/packages/ncurses/0000755000175000017500000000000010106467317016622 5ustar aurelaurel00000000000000geexbox-0.98/packages/ncurses/build0000755000175000017500000000254110106467317017651 0ustar aurelaurel00000000000000#!/bin/sh . config/path CWD=`pwd` cd `ls -d $BUILD/ncurses*/ncurses-host` && \ ./configure && \ make -C progs transform.h && \ make -C progs tic && \ cd "$CWD" || exit 1 $SCRIPTS/build uClibc || exit 1 export CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/ncurses*` && \ ./configure --prefix=/usr --host=i386-linux-gnu --with-build-cc=`which gcc` --without-cxx --without-cxx-binding --without-ada --without-progs --with-shared --without-normal --without-debug --without-profile --without-termlib --without-dbmalloc --without-dmalloc --without-gpm --disable-rpath --disable-overwrite --enable-database --disable-big-core --enable-termcap --enable-getcap --disable-getcap-cache --disable-bsdpad --without-rcs-ids --enable-ext-funcs --disable-const --enable-no-padding --disable-sigwinch --disable-tcap-names --without-develop --disable-hard-tabs --disable-xmc-glitch --disable-hashmap --enable-safe-sprintf --disable-scroll-hints --disable-widec --disable-echo --disable-warnings --disable-assertions && \ make -C include CFLAGS="-Os" && \ make -C ncurses CFLAGS="-Os" && \ ar cru lib/libncurses.a obj_s/*.o && \ mkdir -p include/ncurses && \ ln -s ../curses.h include/ncurses/ncurses.h && \ ln -s ../term.h include/ncurses/term.h && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/ncurses/install0000755000175000017500000000141210106467317020214 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build dialog || exit 1 $SCRIPTS/build util-linux || exit 1 SO=`ls -d $BUILD/ncurses*`/libncurses.so.5 if [ ! -f $SO -o $BUILD/ncurses*/lib/libncurses.a -nt $SO \ -o $BUILD/dialog*/dialog -nt $SO \ -o $BUILD/util-linux*/fdisk/cfdisk -nt $SO \ -o $BUILD/gdb*/gdb/gdb -nt $SO ]; then $SCRIPTS/libstrip $SO $BUILD/ncurses*/lib/libncurses.a "$BUILD/dialog*/dialog $BUILD/util-linux*/fdisk/cfdisk $BUILD/gdb*/gdb/gdb" fi mkdir -p $INSTALL/usr/lib cp $SO $INSTALL/usr/lib/libncurses.so.5 || exit 1 mkdir -p $INSTALL/usr/share/terminfo/l TERMINFO=$INSTALL/usr/share/terminfo LD_LIBRARY_PATH=`ls -d $BUILD/ncurses*/ncurses-host/lib`:$LD_LIBRARY_PATH $BUILD/ncurses*/ncurses-host/progs/tic -e linux $BUILD/ncurses*/misc/terminfo.src geexbox-0.98/packages/ncurses/unpack0000755000175000017500000000027610106467317020036 0ustar aurelaurel00000000000000#!/bin/sh . config/path NCURSES_DIR="`ls -d $BUILD/ncurses*`" cp -r "$NCURSES_DIR" "$BUILD/ncurses-host" || rm -rf "$BUILD/ncurses-host" mv "$BUILD/ncurses-host" "$NCURSES_DIR" || exit 1 geexbox-0.98/packages/ncurses/url0000644000175000017500000000006610106467317017351 0ustar aurelaurel00000000000000http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.3.tar.gz geexbox-0.98/packages/network/0000755000175000017500000000000010106467317016631 5ustar aurelaurel00000000000000geexbox-0.98/packages/network/build0000755000175000017500000000045010106467317017655 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build bftpd || exit 1 $SCRIPTS/build samba || exit 1 if [ "$WIFI" = yes ]; then $SCRIPTS/build wireless_tools || exit 1; $SCRIPTS/build at76c503 || exit 1; $SCRIPTS/build rt2400 || exit 1; $SCRIPTS/build acx100 || exit 1; fi exit 0 geexbox-0.98/packages/network/install0000755000175000017500000000073710106467317020234 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options mkdir -p $INSTALL/etc || exit 1 cp $PACKAGES/network/network $INSTALL/etc || exit 1 cp $PACKAGES/network/nfs $INSTALL/etc || exit 1 cp $CONFIG/issue $INSTALL/etc || exit 1 $SCRIPTS/install bftpd || exit 1 $SCRIPTS/install samba || exit 1 if [ "$WIFI" = yes ]; then $SCRIPTS/install wireless_tools || exit 1; $SCRIPTS/install at76c503 || exit 1; $SCRIPTS/install rt2400 || exit 1; $SCRIPTS/install acx100 || exit 1; fi exit 0 geexbox-0.98/packages/network/network0000644000175000017500000000071610106467317020251 0ustar aurelaurel00000000000000PHY_TYPE="auto" # Network physical type (auto|ethernet|wifi) WIFI_MODE="managed" # Wifi working mode (managed|ad-hoc) WIFI_WEP="" # Wifi WEP key WIFI_ESSID="any" # Wifi SSID HOST="" # GeeXboX IP ("" for DHCP) GATEWAY="" # Gateway IP ("" for DHCP or no internet connection) SMB_USER="SHARE" # User Login ("" for none) SMB_PWD="" # User Password ("" for none) geexbox-0.98/packages/network/nfs0000644000175000017500000000025610106467317017345 0ustar aurelaurel00000000000000# # Here you can add some NFS mountpoints which will be automatically # mounted at boot time. # # example : # SERVER:DIR MOUNTPOINT_NAME # 192.168.0.1:/home home geexbox-0.98/packages/nvtv/0000755000175000017500000000000010106467317016135 5ustar aurelaurel00000000000000geexbox-0.98/packages/nvtv/build0000755000175000017500000000106210106467317017161 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build pciutils || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` export CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc` -I`ls -d $ROOT/$BUILD/pciutils-*/`" export LDFLAGS="-L`ls -d $ROOT/$BUILD/pciutils-*/lib`" cd "`ls -d $BUILD/nvtv*`" && \ ./configure --host=i386-linux-gnu --without-x --without-gtk --with-wx-config=nowx --without-xbox --without-client-backend && \ make CXFLAGS="-Os" && \ strip src/nvtv && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/nvtv/install0000755000175000017500000000012610106467317017530 0ustar aurelaurel00000000000000#!/bin/sh . config/path cp $BUILD/nvtv*/src/nvtv $INSTALL/usr/bin || exit 1 exit 0 geexbox-0.98/packages/nvtv/url0000644000175000017500000000021510106467317016660 0ustar aurelaurel00000000000000http://belnet.dl.sourceforge.net/sourceforge/nv-tv-out/nvtv-0.4.7.tar.gz GEEXBOX_SRCS/patch-nvtv-fix.bz2 GEEXBOX_SRCS/patch-nvtv-options.bz2 geexbox-0.98/packages/pciutils/0000755000175000017500000000000010106467317016774 5ustar aurelaurel00000000000000geexbox-0.98/packages/pciutils/build0000755000175000017500000000052310106467317020021 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $BUILD/pciutils-*/lib`" && \ ./configure && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os" && \ cd .. && \ ln -sf lib pci && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/pciutils/install0000755000175000017500000000002210106467317020362 0ustar aurelaurel00000000000000#!/bin/sh exit 0 geexbox-0.98/packages/pciutils/url0000644000175000017500000000011110106467317017512 0ustar aurelaurel00000000000000ftp://ftp.kernel.org/pub/software/utils/pciutils/pciutils-2.1.11.tar.bz2 geexbox-0.98/packages/rt2400/0000755000175000017500000000000010106467317016073 5ustar aurelaurel00000000000000geexbox-0.98/packages/rt2400/build0000755000175000017500000000042210106467317017116 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/unpack linux || exit 1 CWD=`pwd` cd "`ls -d $BUILD/rt2400-*`/Module" && \ make KERNEL_SOURCES="`ls -d $ROOT/$BUILD/linux-*`" KERNEL_HEADERS="`ls -d $ROOT/$BUILD/linux-*`/include" PATCHLEVEL=4 && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/rt2400/install0000755000175000017500000000024510106467317017470 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p "`ls -d $INSTALL/lib/modules/*`/kernel/drivers/net" cp $BUILD/rt2400*/Module/rt2400.o $INSTALL/lib/modules/*/kernel/drivers/net geexbox-0.98/packages/rt2400/url0000644000175000017500000000011210106467317016612 0ustar aurelaurel00000000000000http://easynews.dl.sourceforge.net/sourceforge/rt2400/rt2400-1.2.0.tar.gz geexbox-0.98/packages/s3switch/0000755000175000017500000000000010106467317016707 5ustar aurelaurel00000000000000geexbox-0.98/packages/s3switch/build0000755000175000017500000000046210106467317017736 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $BUILD/s3switch*`" && \ make CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os" && \ strip s3switch && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/s3switch/url0000644000175000017500000000003710106467317017434 0ustar aurelaurel00000000000000GEEXBOX_SRCS/s3switch.tar.bz2 geexbox-0.98/packages/samba/0000755000175000017500000000000010106467317016223 5ustar aurelaurel00000000000000geexbox-0.98/packages/samba/build0000755000175000017500000000124310106467317017250 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" SMB=`ls -d $BUILD/samba-*/source` CWD=`pwd` cd $SMB && \ ./configure --with-smbmount --without-ldap --without-winbind --with-included-popt --with-libsmbclient --without-ads && \ export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ make include/proto.h bin/smbmount bin/smbmnt bin/smbtree bin/libsmbclient.a CFLAGS="-Os" && \ strip bin/smbmount bin/smbmnt bin/smbtree && \ cd "$CWD" && \ $SCRIPTS/libstrip $SMB/bin/libsmbclient.so.0 $SMB/bin/libsmbclient.a "$SMB/bin/smbmount $SMB/bin/smbmnt $SMB/bin/smbtree" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/samba/install0000755000175000017500000000055510106467317017624 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p $INSTALL/usr/lib || exit 1 cp $BUILD/samba-*/source/bin/libsmbclient.so.0 $INSTALL/usr/lib || exit 1 mkdir -p $INSTALL/usr/bin || exit 1 cp $BUILD/samba-*/source/bin/smbmount $INSTALL/usr/bin || exit 1 cp $BUILD/samba-*/source/bin/smbmnt $INSTALL/usr/bin || exit 1 cp $BUILD/samba-*/source/bin/smbtree $INSTALL/usr/bin || exit 1 geexbox-0.98/packages/samba/url0000644000175000017500000000012410106467317016745 0ustar aurelaurel00000000000000ftp://de.samba.org/samba.org/samba-3.0.5.tar.gz GEEXBOX_SRCS/patch-samba-reduce.bz2 geexbox-0.98/packages/setcd/0000755000175000017500000000000010106467317016242 5ustar aurelaurel00000000000000geexbox-0.98/packages/setcd/build0000755000175000017500000000056010106467317017270 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/unpack linux || exit 1 $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` KERNEL="`ls -d $ROOT/$BUILD/linux-*/include`" cd "`ls -d $BUILD/setcd*`" && \ $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc -Os -s setcd.c -o setcd -I$KERNEL && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/setcd/url0000644000175000017500000000011210106467317016761 0ustar aurelaurel00000000000000http://webb.ens-cachan.fr/ftp/debian/pool/main/s/setcd/setcd_1.4-2.tar.gz geexbox-0.98/packages/setmixer/0000755000175000017500000000000010106467317017000 5ustar aurelaurel00000000000000geexbox-0.98/packages/setmixer/build0000755000175000017500000000044110106467317020024 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $BUILD/setmixer-*`" && \ $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc -O3 -s setmixer.c -o setmixer && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/setmixer/url0000644000175000017500000000011710106467317017524 0ustar aurelaurel00000000000000http://ftp.debian.org/debian/pool/main/s/setmixer/setmixer_27DEC94.orig.tar.gz geexbox-0.98/packages/syslinux/0000755000175000017500000000000010106467317017036 5ustar aurelaurel00000000000000geexbox-0.98/packages/syslinux/build0000755000175000017500000000061510106467317020065 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/syslinux*` && \ make ldlinux.sys pxelinux.0 mbr.bin isolinux.bin syslinux CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64" LDFLAGS="-Os -s" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/syslinux/install0000755000175000017500000000227210106467317020435 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options case "$2" in binary) mkdir -p $INSTALL/usr/bin mkdir -p $INSTALL/boot mkdir -p $INSTALL/usr/share/syslinux cp $BUILD/syslinux-*/syslinux $INSTALL/usr/bin cp $BUILD/syslinux-*/ldlinux.sys $INSTALL/boot cp $BUILD/syslinux-*/mbr.bin $INSTALL/usr/share/syslinux ;; installator) cp $BUILD/syslinux-*/mbr.bin $INSTALLATOR_NAME cp $PACKAGES/syslinux/isolinux.cfg $INSTALL if [ -n "$BOOT_DEFAULT" ]; then sed -i "s/DEFAULT .*/DEFAULT $BOOT_DEFAULT/" $INSTALL/isolinux.cfg fi ;; *) mkdir -p $INSTALL/boot/pxelinux.cfg cp $BUILD/syslinux-*/isolinux.bin $INSTALL/boot cp $PACKAGES/syslinux/isolinux.cfg $INSTALL/boot cp $BUILD/syslinux-*/pxelinux.0 $INSTALL/boot sed "s/boot=[^ ]*/boot=nfs/" $PACKAGES/syslinux/isolinux.cfg > $INSTALL/boot/pxelinux.cfg/default sed -i "s%\(.*APPEND.*\)%\1 nfsroot=$DEFAULT_NFS_SERVER:/tftpboot/GEEXBOX%" $INSTALL/boot/pxelinux.cfg/default if [ -n "$BOOT_DEFAULT" ]; then sed -i "s/DEFAULT .*/DEFAULT $BOOT_DEFAULT/" $INSTALL/boot/isolinux.cfg sed -i "s/DEFAULT .*/DEFAULT $BOOT_DEFAULT/" $INSTALL/boot/pxelinux.cfg/default fi ;; esac geexbox-0.98/packages/syslinux/isolinux.cfg0000644000175000017500000000062410106467317021373 0ustar aurelaurel00000000000000DEFAULT geexbox TIMEOUT 10 PROMPT 1 LABEL geexbox KERNEL vmlinuz APPEND initrd=initrd.bz2 root=/dev/ram0 rw init=linuxrc boot=cdrom vga=785 video=vesa:ywrap,mtrr console=/dev/tty1 LABEL install KERNEL vmlinuz APPEND initrd=initrd.bz2 root=/dev/ram0 rw init=linuxrc boot=cdrom installator LABEL debug KERNEL vmlinuz APPEND initrd=initrd.bz2 root=/dev/ram0 rw init=linuxrc boot=cdrom debugging geexbox-0.98/packages/syslinux/unpack0000755000175000017500000000024310106467317020244 0ustar aurelaurel00000000000000#!/bin/sh . config/path sed -i s%'/isolinux'%/GEEXBOX/boot% "`ls -d $BUILD/syslinux-*/isolinux.asm`" touch -d "2010/01/01" `ls -d $BUILD/syslinux*/syslinux.exe` geexbox-0.98/packages/syslinux/url0000644000175000017500000000023410106467317017562 0ustar aurelaurel00000000000000http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-2.10.tar.bz2 GEEXBOX_SRCS/patch-syslinux-comments.bz2 GEEXBOX_SRCS/patch-syslinux-nomtools.bz2 geexbox-0.98/packages/theme-aqua/0000755000175000017500000000000010106467317017167 5ustar aurelaurel00000000000000geexbox-0.98/packages/theme-aqua/url0000644000175000017500000000004010106467317017706 0ustar aurelaurel00000000000000GEEXBOX_SRCS/theme-aqua.tar.bz2 geexbox-0.98/packages/theme-classic/0000755000175000017500000000000010106467317017661 5ustar aurelaurel00000000000000geexbox-0.98/packages/theme-classic/url0000644000175000017500000000004310106467317020403 0ustar aurelaurel00000000000000GEEXBOX_SRCS/theme-classic.tar.bz2 geexbox-0.98/packages/theme-halloween/0000755000175000017500000000000010106467317020216 5ustar aurelaurel00000000000000geexbox-0.98/packages/theme-halloween/url0000644000175000017500000000004510106467317020742 0ustar aurelaurel00000000000000GEEXBOX_SRCS/theme-halloween.tar.bz2 geexbox-0.98/packages/theme-movies/0000755000175000017500000000000010106467317017542 5ustar aurelaurel00000000000000geexbox-0.98/packages/theme-movies/url0000644000175000017500000000004210106467317020263 0ustar aurelaurel00000000000000GEEXBOX_SRCS/theme-movies.tar.bz2 geexbox-0.98/packages/theme-xmas/0000755000175000017500000000000010106467317017210 5ustar aurelaurel00000000000000geexbox-0.98/packages/theme-xmas/url0000644000175000017500000000004010106467317017727 0ustar aurelaurel00000000000000GEEXBOX_SRCS/theme-xmas.tar.bz2 geexbox-0.98/packages/tvout/0000755000175000017500000000000010106467317016321 5ustar aurelaurel00000000000000geexbox-0.98/packages/tvout/build0000755000175000017500000000020410106467317017342 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build atitvout || exit 1 $SCRIPTS/build nvtv || exit 1 $SCRIPTS/build s3switch || exit 1 exit 0 geexbox-0.98/packages/tvout/install0000755000175000017500000000067110106467317017721 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/install atitvout || exit 1 $SCRIPTS/install nvtv || exit 1 $SCRIPTS/install s3switch || exit 1 mkdir -p $INSTALL/etc mkdir -p $INSTALL/usr/bin cp $PACKAGES/tvout/tvon $INSTALL/usr/bin || exit 1 cp $PACKAGES/tvout/tvoff $INSTALL/usr/bin || exit 1 cp $PACKAGES/tvout/tvswitch $INSTALL/usr/bin || exit 1 cp $PACKAGES/tvout/tvkeepon $INSTALL/usr/bin || exit 1 cp $CONFIG/tvout $INSTALL/etc || exit 1 exit 0 geexbox-0.98/packages/tvout/tvkeepon0000755000175000017500000000013010106467317020074 0ustar aurelaurel00000000000000#!/bin/sh . /etc/tvout if test -f /var/tvout; then nvtv $NVTV_ON >/dev/null 2>&1 fi geexbox-0.98/packages/tvout/tvoff0000755000175000017500000000016510106467317017375 0ustar aurelaurel00000000000000#!/bin/sh . /etc/tvout atitvout cl >/dev/null 2>&1 nvtv $NVTV_OFF >/dev/null 2>&1 s3switch -q both >/dev/null 2>&1 geexbox-0.98/packages/tvout/tvon0000755000175000017500000000027610106467317017242 0ustar aurelaurel00000000000000#!/bin/sh . /etc/tvout atitvout $TVOUT_STANDARD lt >/dev/null 2>&1 atitvout $TVOUT_STANDARD ct >/dev/null 2>&1 nvtv $NVTV_ON >/dev/null 2>&1 s3switch -q tv $TVOUT_STANDARD >/dev/null 2>&1 geexbox-0.98/packages/tvout/tvswitch0000755000175000017500000000015010106467317020116 0ustar aurelaurel00000000000000#!/bin/sh if test -f /var/tvout; then tvoff rm -f /var/tvout else tvon echo "" > /var/tvout fi geexbox-0.98/packages/uClibc/0000755000175000017500000000000010106467317016341 5ustar aurelaurel00000000000000geexbox-0.98/packages/uClibc/build0000755000175000017500000000015110106467317017363 0ustar aurelaurel00000000000000#!/bin/sh . config/path make -C $BUILD/uClibc* && \ make install -C $BUILD/uClibc* && \ exit 0 exit 1 geexbox-0.98/packages/uClibc/codesets-full.txt0000644000175000017500000000143310106467317021654 0ustar aurelaurel00000000000000######################################################################## # Here is a list off all the codesets you can use in yout codesets.txt # ######################################################################## charmaps/ARMSCII-8.pairs charmaps/ASCII.pairs charmaps/CP1251.pairs charmaps/CP1255.pairs charmaps/GEORGIAN-PS.pairs charmaps/ISO-8859-1.pairs charmaps/ISO-8859-10.pairs charmaps/ISO-8859-13.pairs charmaps/ISO-8859-14.pairs charmaps/ISO-8859-15.pairs charmaps/ISO-8859-16.pairs charmaps/ISO-8859-2.pairs charmaps/ISO-8859-3.pairs charmaps/ISO-8859-4.pairs charmaps/ISO-8859-5.pairs charmaps/ISO-8859-6.pairs charmaps/ISO-8859-7.pairs charmaps/ISO-8859-8.pairs charmaps/ISO-8859-9.pairs charmaps/KOI8-R.pairs charmaps/KOI8-T.pairs charmaps/KOI8-U.pairs charmaps/TIS-620.pairs geexbox-0.98/packages/uClibc/codesets.txt0000644000175000017500000000005710106467317020715 0ustar aurelaurel00000000000000charmaps/ASCII.pairs charmaps/ISO-8859-1.pairs geexbox-0.98/packages/uClibc/install0000755000175000017500000000147210106467317017741 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options mkdir -p $INSTALL/lib mkdir -p $INSTALL/etc cp -a $BUILD/uClibc*/build/lib/ld-uClibc* $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libc.so.0 $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libuClibc* $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libdl-*.so $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libdl.so.0 $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libpthread-*.so $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libpthread.so.0 $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libm-*.so $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libm.so.0 $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libutil-*.so $INSTALL/lib cp -a $BUILD/uClibc*/build/lib/libutil.so.0 $INSTALL/lib [ "$NETWORK" = yes ] && cp $BUILD/uClibc*/build/lib/libcrypt.so.0 $INSTALL/lib echo "/usr/lib" > $INSTALL/etc/ld.so.conf geexbox-0.98/packages/uClibc/locales.txt0000644000175000017500000001604610106467317020533 0ustar aurelaurel00000000000000# First some @modifier mappings. Internally, the modifier is signaled by # replacing '_' in the locale name with a unique identifying character. # For example, internally we map "ca_ES@euro" to "caeES". This allows for # smaller code and easier processing of locale names. @euro e @cyrillic c #--------------------------------------------------------------------------- # Next, set to {y}es to enable and {n}o to disable the UTF-8 and the 8-bit # codeset locales. Of course, you must have built the c8tables.h and # the wctables.h files appropriately. UTF-8 yes 8-BIT yes #--------------------------------------------------------------------------- # Now the locales # af_ZA ISO-8859-1 # af_ZA.UTF-8 UTF-8 # am_ET UTF-8 # ar_AE ISO-8859-6 # ar_AE.UTF-8 UTF-8 # ar_BH ISO-8859-6 # ar_BH.UTF-8 UTF-8 # ar_DZ ISO-8859-6 # ar_DZ.UTF-8 UTF-8 # ar_EG ISO-8859-6 # ar_EG.UTF-8 UTF-8 # ar_IN UTF-8 # ar_IQ ISO-8859-6 # ar_IQ.UTF-8 UTF-8 # ar_JO ISO-8859-6 # ar_JO.UTF-8 UTF-8 # ar_KW ISO-8859-6 # ar_KW.UTF-8 UTF-8 # ar_LB ISO-8859-6 # ar_LB.UTF-8 UTF-8 # ar_LY ISO-8859-6 # ar_LY.UTF-8 UTF-8 # ar_MA ISO-8859-6 # ar_MA.UTF-8 UTF-8 # ar_OM ISO-8859-6 # ar_OM.UTF-8 UTF-8 # ar_QA ISO-8859-6 # ar_QA.UTF-8 UTF-8 # ar_SA ISO-8859-6 # ar_SA.UTF-8 UTF-8 # ar_SD ISO-8859-6 # ar_SD.UTF-8 UTF-8 # ar_SY ISO-8859-6 # ar_SY.UTF-8 UTF-8 # ar_TN ISO-8859-6 # ar_TN.UTF-8 UTF-8 # ar_YE ISO-8859-6 # ar_YE.UTF-8 UTF-8 # az_AZ ISO-8859-9E # az_AZ ISO-8859-9 # az_AZ.UTF-8 UTF-8 # be_BY CP1251 # be_BY.UTF-8 UTF-8 # bg_BG CP1251 # bg_BG.UTF-8 UTF-8 # bn_BD UTF-8 # bn_IN UTF-8 # br_FR ISO-8859-1 # br_FR.UTF-8 UTF-8 # bs_BA ISO-8859-2 # bs_BA.UTF-8 UTF-8 # ca_ES ISO-8859-1 # ca_ES.UTF-8 UTF-8 # ca_ES.UTF-8@euro UTF-8 # ca_ES@euro ISO-8859-15 # cs_CZ ISO-8859-2 # cs_CZ.UTF-8 UTF-8 # cy_GB ISO-8859-14 # cy_GB.UTF-8 UTF-8 # da_DK ISO-8859-1 # da_DK.UTF-8 UTF-8 # de_AT ISO-8859-1 # de_AT.UTF-8 UTF-8 # de_AT.UTF-8@euro UTF-8 # de_AT@euro ISO-8859-15 # de_BE ISO-8859-1 # de_BE.UTF-8 UTF-8 # de_BE.UTF-8@euro UTF-8 # de_BE@euro ISO-8859-15 # de_CH ISO-8859-1 # de_CH.UTF-8 UTF-8 # de_DE ISO-8859-1 # de_DE.UTF-8 UTF-8 # de_DE.UTF-8@euro UTF-8 # de_DE@euro ISO-8859-15 # de_LU ISO-8859-1 # de_LU.UTF-8 UTF-8 # de_LU.UTF-8@euro UTF-8 # de_LU@euro ISO-8859-15 # el_GR ISO-8859-7 # el_GR.UTF-8 UTF-8 # en_AU ISO-8859-1 # en_AU.UTF-8 UTF-8 # en_BW ISO-8859-1 # en_BW.UTF-8 UTF-8 # en_CA ISO-8859-1 # en_CA.UTF-8 UTF-8 # en_DK ISO-8859-1 # en_DK.UTF-8 UTF-8 # en_GB ISO-8859-1 # en_GB.UTF-8 UTF-8 # en_HK ISO-8859-1 # en_HK.UTF-8 UTF-8 # en_IE ISO-8859-1 # en_IE.UTF-8 UTF-8 # en_IE.UTF-8@euro UTF-8 # en_IE@euro ISO-8859-15 # en_IN UTF-8 # en_NZ ISO-8859-1 # en_NZ.UTF-8 UTF-8 # en_PH ISO-8859-1 # en_PH.UTF-8 UTF-8 # en_SG ISO-8859-1 # en_SG.UTF-8 UTF-8 en_US ISO-8859-1 # en_US.UTF-8 UTF-8 # en_ZA ISO-8859-1 # en_ZA.UTF-8 UTF-8 # en_ZW ISO-8859-1 # en_ZW.UTF-8 UTF-8 # eo_EO.UTF-8 UTF-8 # es_AR ISO-8859-1 # es_AR.UTF-8 UTF-8 # es_BO ISO-8859-1 # es_BO.UTF-8 UTF-8 # es_CL ISO-8859-1 # es_CL.UTF-8 UTF-8 # es_CO ISO-8859-1 # es_CO.UTF-8 UTF-8 # es_CR ISO-8859-1 # es_CR.UTF-8 UTF-8 # es_DO ISO-8859-1 # es_DO.UTF-8 UTF-8 # es_EC ISO-8859-1 # es_EC.UTF-8 UTF-8 # es_ES ISO-8859-1 # es_ES.UTF-8 UTF-8 # es_ES.UTF-8@euro UTF-8 # es_ES@euro ISO-8859-15 # es_GT ISO-8859-1 # es_GT.UTF-8 UTF-8 # es_HN ISO-8859-1 # es_HN.UTF-8 UTF-8 # es_MX ISO-8859-1 # es_MX.UTF-8 UTF-8 # es_NI ISO-8859-1 # es_NI.UTF-8 UTF-8 # es_PA ISO-8859-1 # es_PA.UTF-8 UTF-8 # es_PE ISO-8859-1 # es_PE.UTF-8 UTF-8 # es_PR ISO-8859-1 # es_PR.UTF-8 UTF-8 # es_PY ISO-8859-1 # es_PY.UTF-8 UTF-8 # es_SV ISO-8859-1 # es_SV.UTF-8 UTF-8 # es_US ISO-8859-1 # es_US.UTF-8 UTF-8 # es_UY ISO-8859-1 # es_UY.UTF-8 UTF-8 # es_VE ISO-8859-1 # es_VE.UTF-8 UTF-8 # et_EE ISO-8859-1 # et_EE.UTF-8 UTF-8 # eu_ES ISO-8859-1 # eu_ES.UTF-8 UTF-8 # eu_ES.UTF-8@euro UTF-8 # eu_ES@euro ISO-8859-15 # fa_IR UTF-8 # fa_IR.UTF-8 UTF-8 # fi_FI ISO-8859-1 # fi_FI.UTF-8 UTF-8 # fi_FI.UTF-8@euro UTF-8 # fi_FI@euro ISO-8859-15 # fo_FO ISO-8859-1 # fo_FO.UTF-8 UTF-8 # fr_BE ISO-8859-1 # fr_BE.UTF-8 UTF-8 # fr_BE.UTF-8@euro UTF-8 # fr_BE@euro ISO-8859-15 # fr_CA ISO-8859-1 # fr_CA.UTF-8 UTF-8 # fr_CH ISO-8859-1 # fr_CH.UTF-8 UTF-8 fr_FR ISO-8859-1 # fr_FR.UTF-8 UTF-8 # fr_FR.UTF-8@euro UTF-8 # fr_FR@euro ISO-8859-15 # fr_LU ISO-8859-1 # fr_LU.UTF-8 UTF-8 # fr_LU.UTF-8@euro UTF-8 # fr_LU@euro ISO-8859-15 # ga_IE ISO-8859-1 # ga_IE.UTF-8 UTF-8 # ga_IE.UTF-8@euro UTF-8 # ga_IE@euro ISO-8859-15 # gd_GB ISO-8859-15 # gd_GB.UTF-8 UTF-8 # gl_ES ISO-8859-1 # gl_ES.UTF-8 UTF-8 # gl_ES.UTF-8@euro UTF-8 # gl_ES@euro ISO-8859-15 # gv_GB ISO-8859-1 # gv_GB.UTF-8 UTF-8 # he_IL ISO-8859-8 # he_IL.UTF-8 UTF-8 # hi_IN UTF-8 # hi_IN.UTF-8 UTF-8 # hr_HR ISO-8859-2 # hr_HR.UTF-8 UTF-8 # hu_HU ISO-8859-2 # hu_HU.UTF-8 UTF-8 # hy_AM ARMSCII-8 # hy_AM.UTF-8 UTF-8 # id_ID ISO-8859-1 # id_ID.UTF-8 UTF-8 # is_IS ISO-8859-1 # is_IS.UTF-8 UTF-8 # it_CH ISO-8859-1 # it_CH.UTF-8 UTF-8 # it_IT ISO-8859-1 # it_IT.UTF-8 UTF-8 # it_IT.UTF-8@euro UTF-8 # it_IT@euro ISO-8859-15 # iw_IL ISO-8859-8 # iw_IL.UTF-8 UTF-8 # ja_JP.UTF-8 UTF-8 # ka_GE GEORGIAN-PS # ka_GE.UTF-8 UTF-8 # kl_GL ISO-8859-1 # kl_GL.UTF-8 UTF-8 # ko_KR.UTF-8 UTF-8 # kw_GB ISO-8859-1 # kw_GB.UTF-8 UTF-8 # lt_LT ISO-8859-13 # lt_LT.UTF-8 UTF-8 # lv_LV ISO-8859-13 # lv_LV.UTF-8 UTF-8 # mi_NZ ISO-8859-13 # mi_NZ.UTF-8 UTF-8 # mk_MK ISO-8859-5 # mk_MK.UTF-8 UTF-8 # mr_IN UTF-8 # mr_IN.UTF-8 UTF-8 # ms_MY ISO-8859-1 # ms_MY.UTF-8 UTF-8 # mt_MT ISO-8859-3 # mt_MT.UTF-8 UTF-8 # nl_BE ISO-8859-1 # nl_BE.UTF-8 UTF-8 # nl_BE.UTF-8@euro UTF-8 # nl_BE@euro ISO-8859-15 # nl_NL ISO-8859-1 # nl_NL.UTF-8 UTF-8 # nl_NL.UTF-8@euro UTF-8 # nl_NL@euro ISO-8859-15 # nn_NO ISO-8859-1 # nn_NO.UTF-8 UTF-8 # no_NO ISO-8859-1 # no_NO.UTF-8 UTF-8 # oc_FR ISO-8859-1 # oc_FR.UTF-8 UTF-8 # pl_PL ISO-8859-2 # pl_PL.UTF-8 UTF-8 # pt_BR ISO-8859-1 # pt_BR.UTF-8 UTF-8 # pt_PT ISO-8859-1 # pt_PT.UTF-8 UTF-8 # pt_PT.UTF-8@euro UTF-8 # pt_PT@euro ISO-8859-15 # ro_RO ISO-8859-2 # ro_RO.UTF-8 UTF-8 # ru_RU ISO-8859-5 # ru_RU.KOI8-R KOI8-R # ru_RU.UTF-8 UTF-8 # ru_UA KOI8-U # ru_UA.UTF-8 UTF-8 # se_NO UTF-8 # sk_SK ISO-8859-2 # sk_SK.UTF-8 UTF-8 # sl_SI ISO-8859-2 # sl_SI.UTF-8 UTF-8 # sq_AL ISO-8859-1 # sq_AL.UTF-8 UTF-8 # sr_YU ISO-8859-2 # sr_YU.UTF-8 UTF-8 # sr_YU.UTF-8@cyrillic UTF-8 # sr_YU@cyrillic ISO-8859-5 # sv_FI ISO-8859-1 # sv_FI.UTF-8 UTF-8 # sv_FI.UTF-8@euro UTF-8 # sv_FI@euro ISO-8859-15 # sv_SE ISO-8859-1 # sv_SE.UTF-8 UTF-8 # ta_IN UTF-8 # te_IN UTF-8 # tg_TJ KOI8-T # tg_TJ.UTF-8 UTF-8 # th_TH TIS-620 # th_TH.UTF-8 UTF-8 # ti_ER UTF-8 # ti_ET UTF-8 # tl_PH ISO-8859-1 # tl_PH.UTF-8 UTF-8 # tr_TR ISO-8859-9 # tr_TR.UTF-8 UTF-8 # # tt_RU TATAR-CYR # tt_RU.UTF-8 UTF-8 # uk_UA KOI8-U # uk_UA.UTF-8 UTF-8 # ur_PK UTF-8 # uz_UZ ISO-8859-1 # uz_UZ.UTF-8 UTF-8 # vi_VN UTF-8 # vi_VN.UTF-8 UTF-8 # wa_BE ISO-8859-1 # wa_BE.UTF-8 UTF-8 # wa_BE@euro ISO-8859-15 # yi_US CP1255 # yi_US.UTF-8 UTF-8 # zh_CN.UTF-8 UTF-8 # zh_HK.UTF-8 UTF-8 # zh_SG UTF-8 # zh_TW.UTF-8 UTF-8 # The following are standard locales, but we currently don't support # the necessary multibyte encodings. # ja_JP.EUC-JP EUC-JP # ko_KR.EUC-KR EUC-KR # zh_CN GB2312 # zh_CN.GB18030 GB18030 # zh_CN.GBK GBK # zh_TW.EUC-TW EUC-TW # zh_HK BIG5-HKSCS # zh_TW BIG5 geexbox-0.98/packages/uClibc/need_unpack0000755000175000017500000000017110106467317020542 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options STAMP=.stamps/$1/unpack . $STAMP [ "$CPU" != "$STAMP_CPU" ] && rm -f $STAMP geexbox-0.98/packages/uClibc/uClibc.conf0000644000175000017500000000717410106467317020422 0ustar aurelaurel00000000000000# # Automatically generated make config: don't edit # # TARGET_alpha is not set # TARGET_arm is not set # TARGET_cris is not set # TARGET_e1 is not set # TARGET_h8300 is not set TARGET_i386=y # TARGET_i960 is not set # TARGET_m68k is not set # TARGET_microblaze is not set # TARGET_mips is not set # TARGET_powerpc is not set # TARGET_sh is not set # TARGET_sparc is not set # TARGET_v850 is not set # # Target Architecture Features and Options # HAVE_ELF=y TARGET_ARCH="i386" # CONFIG_GENERIC_386 is not set # CONFIG_386 is not set # CONFIG_486 is not set CONFIG_586=y # CONFIG_586MMX is not set # CONFIG_686 is not set # CONFIG_PENTIUMIII is not set # CONFIG_PENTIUM4 is not set # CONFIG_K6 is not set # CONFIG_K7 is not set # CONFIG_CRUSOE is not set # CONFIG_WINCHIPC6 is not set # CONFIG_WINCHIP2 is not set # CONFIG_CYRIXIII is not set ARCH_LITTLE_ENDIAN=y # ARCH_BIG_ENDIAN is not set # ARCH_HAS_NO_MMU is not set UCLIBC_HAS_MMU=y UCLIBC_HAS_FLOATS=y HAS_FPU=y DO_C99_MATH=y WARNINGS="-Wall" KERNEL_SOURCE="" C_SYMBOL_PREFIX="" HAVE_DOT_CONFIG=y # # General Library Settings # # HAVE_NO_PIC is not set DOPIC=y # HAVE_NO_SHARED is not set HAVE_SHARED=y # ARCH_HAS_NO_LDSO is not set BUILD_UCLIBC_LDSO=y # UCLIBC_PIE_SUPPORT is not set # LDSO_LDD_SUPPORT is not set UCLIBC_CTOR_DTOR=y # UCLIBC_PROPOLICE is not set # UCLIBC_PROFILING is not set # HAS_NO_THREADS is not set UCLIBC_HAS_THREADS=y # PTHREADS_DEBUG_SUPPORT is not set UCLIBC_HAS_LFS=y # MALLOC is not set # MALLOC_SIMPLE is not set MALLOC_STANDARD=y # MALLOC_GLIBC_COMPAT is not set # UCLIBC_DYNAMIC_ATEXIT is not set # HAS_SHADOW is not set # UNIX98PTY_ONLY is not set # ASSUME_DEVPTS is not set # UCLIBC_HAS_TM_EXTENSIONS is not set # UCLIBC_HAS_TZ_CACHING is not set # UCLIBC_HAS_TZ_FILE is not set # # Networking Support # # UCLIBC_HAS_IPV6 is not set UCLIBC_HAS_RPC=y # UCLIBC_HAS_FULL_RPC is not set # # String and Stdio Support # UCLIBC_HAS_CTYPE_TABLES=y UCLIBC_HAS_CTYPE_SIGNED=y # UCLIBC_HAS_CTYPE_UNSAFE is not set UCLIBC_HAS_CTYPE_CHECKED=y # UCLIBC_HAS_CTYPE_ENFORCED is not set UCLIBC_HAS_WCHAR=y UCLIBC_HAS_LOCALE=y UCLIBC_PREGENERATED_LOCALE_DATA=y # UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set # UCLIBC_HAS_XLOCALE is not set # UCLIBC_HAS_HEXADECIMAL_FLOATS is not set # UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set # UCLIBC_HAS_GLIBC_CUSTOM_PRINTF is not set UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 # UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set # UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set UCLIBC_HAS_STDIO_BUFSIZ_256=y # UCLIBC_HAS_STDIO_BUFSIZ_512 is not set # UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set # UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set # UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set # UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y # UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set # UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set UCLIBC_HAS_STDIO_GETC_MACRO=y UCLIBC_HAS_STDIO_PUTC_MACRO=y # UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION is not set # UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set # UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE is not set # UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not set # UCLIBC_HAS_PRINTF_M_SPEC is not set # UCLIBC_HAS_ERRNO_MESSAGES is not set UCLIBC_HAS_SIGNUM_MESSAGES=y UCLIBC_HAS_SYS_SIGLIST=y # UCLIBC_HAS_GETTEXT_AWARENESS is not set UCLIBC_HAS_GNU_GETOPT=y # # Big and Tall # UCLIBC_HAS_REGEX=y # UCLIBC_HAS_WORDEXP is not set # UCLIBC_HAS_FTW is not set UCLIBC_HAS_GLOB=y # # Library Installation Options # SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib" RUNTIME_PREFIX="" DEVEL_PREFIX="" # # uClibc development/debugging options # # DODEBUG is not set # DOASSERTS is not set # SUPPORT_LD_DEBUG is not set # SUPPORT_LD_DEBUG_EARLY is not set # UCLIBC_MJN3_ONLY is not set geexbox-0.98/packages/uClibc/unpack0000755000175000017500000000170410106467317017552 0ustar aurelaurel00000000000000#!/bin/sh . config/path . $CONFIG/options $SCRIPTS/build linux || exit 1 DPREFIX=`ls -d $ROOT/$BUILD/uClibc*`/build KSRC=`ls -d $ROOT/$BUILD/linux-*` sed -e "s%^KERNEL_SOURCE=.*%KERNEL_SOURCE=\"$KSRC\"%" \ -e "s%^RUNTIME_PREFIX=.*%RUNTIME_PREFIX=\"$DPREFIX\"%" \ -e "s%^DEVEL_PREFIX=.*%DEVEL_PREFIX=\"$DPREFIX\"%" \ $PACKAGES/uClibc/uClibc.conf > `ls -d $BUILD/uClibc-*`/.config if [ "$CPU" == "C3" ]; then sed -i s%.*CONFIG_CYRIXIII.*%CONFIG_CYRIXIII=y% $BUILD/uClibc*/.config sed -i s%.*CONFIG_586.*%CONFIG_586=n% $BUILD/uClibc*/.config fi sed -i 's%^\(include.*\)%\1\nUCLIBC_HAS_LOCALE=%' $BUILD/uClibc*/utils/Makefile sed -i 's%-L../lib%%' $BUILD/uClibc*/utils/Makefile sed -i 's%TARGETS =.*%TARGETS = ldd%' $BUILD/uClibc*/utils/Makefile sed -i 's%.*INSTALL.*ldconfig.*%%' $BUILD/uClibc*/utils/Makefile tar xjf $SOURCES/uClibc/locale-uClibc-*.tar.bz2 -C $BUILD/uClibc*/extra/locale yes '' | make oldconfig -C "`ls -d $BUILD/uClibc*`" geexbox-0.98/packages/uClibc/url0000644000175000017500000000033510106467317017067 0ustar aurelaurel00000000000000ftp://ftp.de.kernel.org/pub/linux/libs/uclibc/uClibc-0.9.26.tar.bz2 GEEXBOX_SRCS/locale-uClibc-031125.tar.bz2 GEEXBOX_SRCS/patch-uClibc-mmap.bz2 GEEXBOX_SRCS/patch-uClibc-mount.bz2 GEEXBOX_SRCS/patch-uClibc-toolchain.bz2 geexbox-0.98/packages/util-linux/0000755000175000017500000000000010106467317017252 5ustar aurelaurel00000000000000geexbox-0.98/packages/util-linux/build0000755000175000017500000000105610106467317020301 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build ncurses || exit 1 export CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd `ls -d $BUILD/util-linux*` && \ export CFLAGS="-Os -I`ls -d ../ncurses*/include`" && \ ./configure && \ make -C fdisk sfdisk CFLAGS="-Os" && \ make -C fdisk cfdisk CFLAGS="-Os -include ../defines.h -I../lib -I../`ls -d ../ncurses*/include`" LDFLAGS="-s -L../`ls -d ../ncurses*/lib`" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/util-linux/install0000755000175000017500000000021010106467317020637 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p $INSTALL/usr/bin cp $BUILD/util-linux*/fdisk/cfdisk $BUILD/util-linux*/fdisk/sfdisk $INSTALL/usr/bin geexbox-0.98/packages/util-linux/unpack0000755000175000017500000000037610106467317020467 0ustar aurelaurel00000000000000#!/bin/sh . config/path NLS="`ls -d $BUILD/util-linux*/fdisk/`nls.h" echo "#define _(x) (x)" > $NLS echo "#define N_(x) (x)" >> $NLS echo "#define setlocale(x,y)" >> $NLS echo "#define bindtextdomain(x,y)" >> $NLS echo "#define textdomain(x)" >> $NLS geexbox-0.98/packages/util-linux/url0000644000175000017500000000011410106467317017773 0ustar aurelaurel00000000000000ftp://ftp.de.kernel.org/pub/linux/utils/util-linux/util-linux-2.11z.tar.bz2 geexbox-0.98/packages/wireless_tools/0000755000175000017500000000000010106467317020215 5ustar aurelaurel00000000000000geexbox-0.98/packages/wireless_tools/build0000755000175000017500000000062410106467317021244 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 $SCRIPTS/build linux || exit 1 export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" CWD=`pwd` cd "`ls -d $ROOT/$BUILD/wireless_tools*`" && \ make iwconfig PREFIX=/usr KERNEL_SRC="`ls -d $ROOT/$BUILD/linux-*`" CC="`ls $ROOT/$BUILD/uClibc-*/build/usr/bin/gcc`" CFLAGS="-Os" LDFLAGS="-s" && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/wireless_tools/install0000755000175000017500000000017410106467317021613 0ustar aurelaurel00000000000000#!/bin/sh . config/path mkdir -p $INSTALL/usr/bin || exit 1 cp $BUILD/wireless_tools*/iwconfig $INSTALL/usr/bin || exit 1 geexbox-0.98/packages/wireless_tools/url0000644000175000017500000000011610106467317020740 0ustar aurelaurel00000000000000http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.26.tar.gz geexbox-0.98/packages/zlib/0000755000175000017500000000000010106467317016100 5ustar aurelaurel00000000000000geexbox-0.98/packages/zlib/build0000755000175000017500000000046410106467317017131 0ustar aurelaurel00000000000000#!/bin/sh . config/path $SCRIPTS/build uClibc || exit 1 CWD=`pwd` UCBIN=`ls -d $ROOT/$BUILD/uClibc-*/build/usr/bin` cd $BUILD/zlib-* && \ ./configure && \ export UCLIBC_GCC_DLOPT="-Wl,--dynamic-linker,/lib/ld-uClibc.so.0" && \ make CFLAGS="-Os" CC=$UCBIN/gcc && \ cd "$CWD" && \ exit 0 cd "$CWD" exit 1 geexbox-0.98/packages/zlib/url0000644000175000017500000000005210106467317016622 0ustar aurelaurel00000000000000http://www.gzip.org/zlib/zlib-1.1.4.tar.gzgeexbox-0.98/debian/0000755000175000017500000000000010106467316014603 5ustar aurelaurel00000000000000geexbox-0.98/debian/README.Debian0000644000175000017500000000033710106467316016647 0ustar aurelaurel00000000000000geexbox-generator for Debian ---------------------------- You will find the package w32codecs to ftp://ftp.nerim.net/debian-marillat/ -- Alexis Saettler (asbin ;-]) , Fri, 23 Jul 2004 12:28:51 +0200 geexbox-0.98/debian/changelog0000644000175000017500000000156110106467316016460 0ustar aurelaurel00000000000000geexbox-generator (0.97+arch-patch-65-2) unstable; urgency=low * using new version of generator.sh file, which not need any patch -- Alexis Saettler (asbin ;-]) Tue, 3 Aug 2004 00:07:21 +0200 geexbox-generator (0.97+arch-patch-65-1) unstable; urgency=low * Modify geexbox-generator executable * debian/rule now build the generator only once -- Alexis Saettler (asbin ;-]) Mon, 2 Aug 2004 15:14:52 +0200 geexbox-generator (0.97+arch-patch-61-1) unstable; urgency=low * Include debian directory into the GeeXboX sources * add RECEIVER in conffile, as it's now needed -- Alexis Saettler (asbin ;-]) Wed, 28 Jul 2004 18:27:59 +0200 geexbox-generator (0.97-1) unstable; urgency=low * Initial Release. -- Alexis Saettler (asbin ;-]) Fri, 23 Jul 2004 12:28:51 +0200 geexbox-0.98/debian/compat0000644000175000017500000000000210106467316016001 0ustar aurelaurel000000000000004 geexbox-0.98/debian/control0000644000175000017500000000147510106467316016215 0ustar aurelaurel00000000000000Source: geexbox-generator Section: devel Priority: optional Maintainer: Alexis Saettler (asbin ;-]) Build-Depends: debhelper (>= 4.0.0), cdbs, docbook-to-man, build-essential, nasm, bzip2, gzip, wget Standards-Version: 3.6.1 Package: geexbox-generator Architecture: all Depends: debconf, mkisofs Recommends: w32codecs Description: iso generator for GeeXboX GeeXboX is an awesome standalone media player. GeeXboX is a full operating system, running under Linux and based on the excellent MPlayer. No need of hard drive, you just have to put the GeeXboX bootable CD into the CD-Drive of any pentium-class computer to boot it. . With this package, you can create a new iso file of GeeXboX, with your language and your remote, to work with your computer. . More informations on http://www.geexbox.org geexbox-0.98/debian/copyright0000644000175000017500000000211610106467316016536 0ustar aurelaurel00000000000000This package was debianized by Alexis Saettler (asbin ;-]) on Fri, 23 Jul 2004 12:28:51 +0200. It was downloaded from http://www.geexbox.org/releases/0.97/geexbox-generator-0.97.tar.gz Upstream Authors: Aurelien Jacobs and Benjamin Zores Copyright: This package 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; version 2 dated June, 1991. This package 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 package; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. geexbox-0.98/debian/dirs0000644000175000017500000000004410106467316015465 0ustar aurelaurel00000000000000usr/bin usr/share/geexbox-generator geexbox-0.98/debian/geexbox-generator.config0000644000175000017500000000171510106467316021423 0ustar aurelaurel00000000000000#!/bin/sh CONFIGFILE=/etc/geexbox-generator.conf GEEXBOX_GENERATOR=/usr/share/geexbox-generator set -e . /usr/share/debconf/confmodule if [ -e $CONFIGFILE ]; then . $CONFIGFILE || true db_set geexbox-generator/lang LANG db_set geexbox-generator/remote REMOTE fi LANG=`echo $GEEXBOX_GENERATOR/language/help* | sed -e "s%$GEEXBOX_GENERATOR/language/help_%%g" -e "s/.txt//g" -e "s/ /, /g"` db_subst geexbox-generator/lang lang $LANG || true REMOTE=`echo $GEEXBOX_GENERATOR/lirc/lircrc* | sed -e "s%$GEEXBOX_GENERATOR/lirc/lircrc_%%g" -e "s/ /, /g"` db_subst geexbox-generator/remote remote $REMOTE || true RECEIVER=`ls $GEEXBOX_GENERATOR/lirc/lircd_* | grep -v ".conf" | sed -e "s%$GEEXBOX_GENERATOR/lirc/lircd_%%g"` db_subst geexbox-generator/receiver receiver `echo $RECEIVER | sed -e "s/ /, /g"` || true db_input medium geexbox-generator/lang || true db_input medium geexbox-generator/remote || true db_input medium geexbox-generator/receiver || true db_go || true geexbox-0.98/debian/geexbox-generator.fr.sgml0000644000175000017500000000643610106467316021533 0ustar aurelaurel00000000000000Saettler"> Alexis"> juillet 23, 2004"> 1"> alexis@saettler.org"> GEEXBOX-GENERATOR"> Debian"> GNU"> GPL"> ]>
&dhemail;
&dhfirstname; &dhsurname; 2004 &dhusername; &dhdate;
&dhucpackage; &dhsection; &dhpackage; gnrateur d'iso pour GeeXboX &dhpackage; DESCRIPTION Ce programme permet de gnrer un fichier iso, qui pourra tre grav par la suite, dans lequel est install la GeeXboX. GeeXboX est un formidable lecteur multimedia autonome. GeeXboX est un systme d'exploitation complet, bas sur un noyau Linux et sur l'excellent lecteur multimdia MPlayer. Pas besoin de disque dur, vous n'avez qu' insrer le CD auto-amorable de la GeeXboX dans le lecteur de n'importe quel PC de type Pentium et suprieur pour l'utiliser. OPTIONS , Affiche un rsum de commande. Crer l'iso dans le fichier choisit. , Ajoute les codecs w32codecs. Ncessite le package w32codecs. VOIR AUSSI http://www.geexbox.org AUTEUR Ce manuel a t crit par &dhusername; &dhemail; pour la distribution &debian; car le programme original n'en a pas (mais peut tre rutilis).
geexbox-0.98/debian/geexbox-generator.postinst0000755000175000017500000000107510106467316022043 0ustar aurelaurel00000000000000#!/bin/sh CONFIGFILE=/etc/geexbox-generator.conf set -e . /usr/share/debconf/confmodule if [ ! -e $CONFIGFILE ]; then cp /usr/share/geexbox-generator/geexbox-generator.conf.template $CONFIGFILE; fi db_get geexbox-generator/lang LANG="$RET" db_get geexbox-generator/remote REMOTE="$RET" db_get geexbox-generator/receiver RECEIVER="$RET" cp -a -f $CONFIGFILE $CONFIGFILE.tmp sed -e "s/^ *LANG=.*/LANG=\"$LANG\"/" \ -e "s/^ *REMOTE=.*/REMOTE=\"$REMOTE\"/" \ -e "s/^ *RECEIVER=.*/RECEIVER=\"$RECEIVER\"/" \ $CONFIGFILE > $CONFIGFILE.tmp mv -f $CONFIGFILE.tmp $CONFIGFILE geexbox-0.98/debian/geexbox-generator.sgml0000644000175000017500000000631310106467316021117 0ustar aurelaurel00000000000000Saettler"> Alexis"> juillet 23, 2004"> 1"> alexis@saettler.org"> GEEXBOX-GENERATOR"> Debian"> GNU"> GPL"> ]>
&dhemail;
&dhfirstname; &dhsurname; 2004 &dhusername; &dhdate;
&dhucpackage; &dhsection; &dhpackage; iso generator for GeeXboX &dhpackage; DESCRIPTION This software can create an iso file, which has to be burn, to produce a GeeXboX system. GeeXboX is an awesome standalone media player. GeeXboX is a full operating system, running under Linux and based on the excellent MPlayer. No need of hard drive, you just have to put the GeeXboX bootable CD into the CD-Drive of any pentium-class computer to boot it. OPTIONS Show summary of options. Set the output file name to file.iso Add the w32 codecs to the iso. Need package w32codecs. SEE ALSO http://www.geexbox.org AUTHOR This manual page was written by &dhusername; &dhemail; for the &debian; distribution because the original program does not have a manual page (but may be used by others).
geexbox-0.98/debian/geexbox-generator.templates0000644000175000017500000000155310106467316022154 0ustar aurelaurel00000000000000Template: geexbox-generator/lang Type: select Choices: ${lang} Default: en Description: Language to use Set the language the geexbox-generator will use to build the iso Description-fr.ISO-8859-15: Langue utiliser Dfini le langage utiliser pour gnrer l'iso Template: geexbox-generator/remote Type: select Choices: ${remote} Default: atiusb Description: Remote to use Set the remote the geexbox-generator will use to build the iso Description-fr.ISO-8859-15: Tlcommande utiliser Dfini la tlcommande utiliser pour gnrer l'iso Template: geexbox-generator/receiver Type: select Choices: ${receiver} Default: atiusb Description: Remote receiver to use Set the remote receiver the geexbox-generator will use to build the iso Description-fr.ISO-8859-15: Rcpteur de tlcommande utiliser Dfini le rcpteur de tlcommande utiliser pour gnrer l'iso geexbox-0.98/debian/rules0000755000175000017500000000265210106467316015670 0ustar aurelaurel00000000000000#!/usr/bin/make -f # debian/rules file, using cdbs # cdbs support include /usr/share/cdbs/1/rules/debhelper.mk #include /usr/share/cdbs/1/rules/simple-patchsys.mk MANPAGES:=$(patsubst %.sgml,%.1,$(wildcard debian/*.sgml)) DEB_INSTALL_MANPAGES_geexbox-generator:=$(MANPAGES) DEB_INSTALL_DOCS_geexbox-generator:=$(wildcard DOCS/*.txt) GENERATOR_NAME:=$(shell source config/path; echo $$GENERATOR_NAME;) GENERATOR:=generator GENERATOR_CONF:=debian/geexbox-generator.conf build/geexbox-generator:: $(MANPAGES) $(GENERATOR_CONF) stamp-build stamp-build: INSTALL=$(GENERATOR_NAME)/iso/GEEXBOX scripts/gentree generator full touch $@ debian/%.1:: debian/%.sgml /usr/bin/docbook-to-man $< > $@ clean:: -rm stamp-build -rm $(MANPAGES) $(GENERATOR_CONF) -rm -rf $(GENERATOR_NAME) # -$(MAKE) clean $(GENERATOR_CONF):: $(GENERATOR)/generator.sh sed -n -e"/Menu/,/RECEIVER/p" $(GENERATOR)/generator.sh | sed -e"s/LANG=.*$$/LANG=/" -e"s/REMOTE=.*$$/REMOTE=/" -e"s/RECEIVER=.*$$/RECEIVER=/" > $@ install/geexbox-generator:: install -m 755 $(GENERATOR)/generator.sh $(CURDIR)/debian/geexbox-generator/usr/bin/geexbox-generator cp -r $(GENERATOR_NAME)/* $(CURDIR)/debian/geexbox-generator/usr/share/geexbox-generator/ install -m 644 config/sort VERSION $(CURDIR)/debian/geexbox-generator/usr/share/geexbox-generator/ install -m 644 $(GENERATOR_CONF) $(CURDIR)/debian/geexbox-generator/usr/share/geexbox-generator/geexbox-generator.conf.template geexbox-0.98/sources/0000755000175000017500000000000010106501335015032 5ustar aurelaurel00000000000000geexbox-0.98/sources/acx100/0000755000175000017500000000000010106500236016025 5ustar aurelaurel00000000000000geexbox-0.98/sources/acx100/acx100-0.2.0pre8.tar.bz20000644000175000017500000066756010051125101021474 0ustar aurelaurel00000000000000BZh91AY&SYZlhZ X0! hcj;ͷ!ԜFE%^xuǼS^;`JRk׼OL }-n2hMAH5׼딣M}*Fw'rZ{ fw>tpC =y/E$uc58kj: g&ηw;@ځIMR(o`/g::EhPzjwG +>y^ otP=":{`:TFO@( ;{`4t`ATqu(o Y :;`9LSy^q7pv@œ%ݭ/w=y{7֝:ݩ8:=;t}oqC` =٤) }FPonnT.(I P m׎R(t{}=BBP'.@OA秶)ۮz[qe*EPU *$* qsϖ8U @% 7y|A(PxvcnTB4!BQmj<(y@cv\)כ{{ޗ[\^ m$PR{ೀ{yS @lӈ}硗hǙ#t{Y n*OR@wfS}.ק৽=@qֽ7{b5:9}l]h- VX^νkSZ.̯-J 'Km׹]hm;W6{ݳ HG\\i${fyP\9RejR"&XZ]ꩳ@=)TqgC`\ڼ\'Ej..v wwVxtn<ùmu:ˣ{˺fú]t8Y'#smΗ/f@e㣠\vwx@tYXmcn:o٫6 |pxozzF/NrmTZRgOTنa[|z &S|-:kֵzM`6i,'[mAT'0]+5OUYee&r֞|hнnĸɭaVRY.p]nֲtd隬+[=Mܻ۫|vزѭy gG]BYZr`:aĮu t6UV4ͳa x]݇D.mA]u5y뽰}סH*WC[i n kw-Ď=iꍱ'uR2l^$ݵ$ZU݉S׻ޯr꛷J7L{e'' x5mAp@2 4jl!s5,Vրlz9#6jևVԾͶ]*,]y얃| e(%HX!a)& dM4jdLH4 dHLh zaS)B=F4dD D#AL&)jMOjm'`bS ɵ4izDɉѓJ{Tٕ6&Fj6Q 4B@@C ѠLb'dzbzM44H Aښ`zLBy@Pz4B3w܁@l+6[GQTOhJ (Tf@&X?(L`RG]ݗ׆{HѰhi B†+JdIud|]F\5)䁪bA2Q;MRN(=H݂K\!"j ZB,jr T4}##XavQEbD95F@h, a)H0.uFoV"ғ+D(Ҳ}zmҚ[*F 1E(ڛPY8,2׎`-\l']YYfPjcHC40Pj=死M5bIdiZLmdfʊID.H$de #}p,Flfk@ чb%vLS&h\g8ҢiuP68jShԃ@ m "ү,+ l%Z P_;* ӿ|͗jK4'&|_|pWuͽ  A {rsק8":u 6VN[%M9B6ڊp J@ u{D9I M0M(ҴZAMHei$"d(22l2+$MhH$%$ RL :}1yt;Omi >H0!N+!7U PS wNs9seW$:D!3vKLbK9G)ɧ(mlETxbEq09#UmmouO/ßl0ژ6f$?P s{ zwN S)3kW  ܥtcn2RuM۫rۣb rwTKqwKtb]k: ςt ðBn]T:jB~ .n'A{Ȼ;FKW&Glb.c+ 0MZhY7ܤqy;aM]qݢdz팓i2_|tO]W,t+-HmHkXi7!cQpJKe5W-55٭JX&L$6[L,XJĆfPVKsmb+)Z+MDŚY+4,cd4iYj*bI*SZD'۴(fN`1 &H4̚(4HщQI`dT Xd%%8P8Qz5H2n 2LQb` 6Kv\ML D :b=~_]P\LBq~{30cusw,oMU !_F"Cv161c2;L|]' I;g|nB3y=B#19u[ObE!,~o~e=:I.s[wg^SDV)R\[ <ǯCiM :DR+0yߺ8CnjwmY];bMZlSbO~l,dnMt볧ePE%R3$Ի8l)8J@CZ1ә00,lDouLTu[^?ZSV3]m+Ii}4b$R)JR-R H3*[nBšii1I1JK6QYVLTT&b2iBl6"ْYOǸfY!F)2$?:K ,#vcc+d^)MF-J}u%hQL;FD% $v juUN% 0&&$kaqH 3 yFZΗۼ֍kLK~u)>~ԚCJ2:ܒhؾU4׺+⹉"wn>ohJ 3fYBlQe1m"M E4@׮e\`7WkO 7Ȃ !Jf,SKM,4e5a1)5&5tx'I1ʋl.&Io㠳LMFTkv>vV3 DPLRB{ ]2&n̙oz[rο;: BS;c `Lᐡ1W 4A -Jb`D-XD!=1 tahMhԂLM#(%H8GZD*ZH)YTQh,҈%%Hb( (Jw?fڽ>9Wo7`|%|*+xDb gK0(5*L1=W>w칇8.v$8fJء6"Ƭe 7*F%=^M344׶f'KķL3!Jbc$Nv;#n_ f73N& ޵^L]lק؇nvǒ{di]>#1cTwfB?] IK*qvG}6@@(赇 ~l>?rZAzB 4dgioz\+c'kcc95X*<~wbl:i"1Ő丵t7'Y#p|b}!۩T?'=65h A;14t?4}4ErenXmc]~oӮ ]ϖѢ[$ κ˧D[ߧH7Aô a E?Ӑm&\V$~;$D|ظapM܃591AcMxzG`Vzpj>NXŞ"eW|o*\ݦ٘Z+乬hXjKdo ٖ(,hd4RIuqݽ˷Z^F}zvkWvm͌L1rɚe+.UIhƜ&wS-nfW.[\tf9YIeţ7Ds/jPcdE4&Ȋhލ1j Ofƴw::SR'v,#D N;>dH=.waXỎW$6<rHwXL 6 `$yF3c!$j6@\dugE2:h^SԮ_^IE着 mi0h?xQ9 cAoH5' A`C :m67Ri!)TX`aQNQ0\c>%gni;# N$df'Mm+bҜKHޢvLP;Znjw Ar3b+44Ӓk%=3zj.iY_[}7mh~,m̯ծ~Ǧd b#hSr]'ɀ'OC?N*7aCn4QMF߹_;pr/yrŒlGŅQ4Ͽ*A EUa+:bFE!DtjZ7faWX*Jɧ#C%48[}C[^|?'{~)ob%ƒAF`r.,эQ!# ےd 1S0mu#9ecEZe 0uΓMR4@nzx&:n j4٨RɋLa;r0CY(:IuI5Xl|[cܡƆ?}Rtdc:gv?iT`0l#UOY?6^8}7U.e3z?3goo_[,v jB5;bsѶ?]t#_6r:CU|otƤPgE#"{;lЍ8\qc*vJHKkpBKmjH#3ٍ"4hQ"#NĿ~-T?u?|>~=/*fV'KkɓE}ΟۅYsKE <Վ٭`p$SJ.@sQV9C8piiistLC$%9StToȟhb}v3iÑ>*4yIQWTv~WWM:ONmP_׮4LtaQЂO kpu*u,M$ʩ}W X^b5O{;>ꃒvYrA'_?232?{X/=4ye3CL|,5@#&*p< Sy|"*<tjf'o̿UuuΉ _*&k81[۹|yӷAwLumEl?Olˊ_G[p 3WvS U# W>+ޣḶwqBga:-C\X0_/eyN_tdjfi{un.O7G{¾9͊ClFRUzz@ߪ3mv z xȮw_y5ZG٦u*O>⤍nw$īJվ~-:1('(('.7ϗV`/vuUE72fkA3ք%d*zY1"Sa{э8Y}ϣGBsZf%M]uIBcS4ݡ{}(9tBJdYd`l~?G*-Y̯GM#ɘ{rcWCMlYXK#?JʻDS A؃ ;A>0Azꨚg{hA;|4shɟP?M3c   iDg T'pҋf?Fxk/L ZB:َG,xtU zTj*vC eoz)_A*Ǧ.M q+SCZ ~PiN_fFHHݕv5>Ao윑Ѝr+ 3OD/ztV. K<pWbCz~O-492JlG*$%]p:?{s??<ΎVR׾5vyw6 %b[<`u&o_J nZUAtpc@jJsz6b1BWWCF24dmKX<[G,*2 C%\%x> ﶜ{ǡ!(1ƔaꃐI#8 Dݜb2c q1hx1_f` i2cG'/wz)[]sto٪~ɒ;ltyh wF[C7AHy,y<ҹw #̅-(o? N\S /=C0c&/zQU!pE1PYI9 {H~f~O *U"dΌlj\B~k Xy=E\ ØL:ݔbBZ2[Tq_!xSd A`?hr-MECa 17T`$=!} !!Ș ER@SM85=`]Ot_tPCs Zzf# H.y0lR[4E '08|OFz)ܧ̧u.uSX1D!g=j R[s^@`JncZcr.|JF%CqWo_yR)M{9A%xeoUu -R륷F,jJR'H>/'nִ@9'HLfFѳFw]5,Ԗ5_ǖݿg 'D@, s #ȎW4`;ԀSE XXvB65|KJShR@Wp ۹{Qwf8U7)BqHϋ_wnHkpz3ޢ/f~,}dpln$R^젳¸/U3GK# tjH95ã0/'L'DmڑC ]& \0vX Ěpk\&D$z+G'&d0 aXkÂuM0|>|8ED:;c{GzJws=^st;В}O($?V=RF:Bm1AZ /=Ȏih$6ۮOygppRFےRFm>vMF *ňMhQ@$BKC8I^ ,Ś ^x6[U 5fYӹ9wv; \Ǯ󆻸s ÌtB|QdC { sbf`H*RxR~_ A$::R"E" '|r(} C˅^_l~╺3R۩MM(9E3*HZ|.yo{C5ѯ0A7!!, _WY赼4f<}AOE?$DEANA(Ġfb3;3IL >)48 B@fMҮTcBfXoDH瓶Zz!! 7_2^Gv zNtAbތAH,-3@Vmđ-ȉ @3ӇO\ߐr,A8jAp@< 4H1`}aɻ|WCYr\ߙv [c8R'_ZoؚhޜmonalQ Cz~eSCbӐeYc"Jڙ<&DtU}%L1hv@5ixA]e((7 $A3C3FfwW,r,hʂp'IÊBjbn.D(vn0gwjB!e"0O9uj ~aQxUUhA?mymF2m.*e䔞6˲/567yijM`dbo80i}Uakm ['H,r2wdZ&R{!MGv>>gc8i3bxGy*n4]&HcPdфfw]Xl)ba|ugK$jx;Q(r6}-'/4IOEd/ͅoyٜ0xw?%ޣl{䊸rzļ&l bܛPL-P,,:3l e}Bt6/!U}e#1Gq}*v(a~8 xi'(zt$G jQ?2oX=1$Ȍ̟$ӐT162Y=3w-JڡrɎL9 o Nhٷyӆ:v`Q>zuR| zmZى qݦ1,% fV &һD4[qgnk5UH󌿻dQ쑡zUۯZWGD?plggVj\aOVd[(L9 cZ҈D b&Kj@g=W8Apgt(et>MҘfiM][˦h|*fEt[!!2 "~{xܮTWӋ럹q`/S 2Df)"`jB ڷ+FkLpCrxK?TTtiDzr̘`K 6뻳TM?T42d/p?$lF Yt KFSM@D(TJQUShwoò L \B RmL] X:sI􁼉&I 8dJ" +"dixDJ-=$z`Ḛz+ 6p7`* "6v*YέFQ?c|sA~i  A9X ?Ol 9gfO)AM'&OJQ)ͭhF pa@_ kͳm ]Kέwi.M!7y-\3-6Ld)u.!'?nz#v{%1o >/N2EQٱgl #rh"S*cRnN :zerӧm,b^DIEY[Oafe <1BPpӪWɎi䞼S%}L`שu]蚭ӄ^wm,TYVW`if >uRh%K8rsL_ۉBU=GSusw-vjrݣq&IS-_O%8uvgvl3F8DK^$#SxMV 3esO_9tHT&\CQM!3^˦[ܺ儱l @5l]-jeqaw|rvدeia}G9^N4]񆞉ZZ%uEиHr9 ЇT<*P.Z|q֪ؠqMUXg]Гr_i]mۣQގieQQyGL*:I]C0f8G wrdծ.5Mi0Rva9/6P>PgPrHHC::W$PW;~yo9=JNtGە,x' w>Ƿq=f_ƇUz*MJ M?*%jIJX ]U0'|Va uB '?sο%lF>s;54g?.y}ݖrKT,PU1'E~ Jԑ)ƣCpÓRbнD` E",rJA/_iy60GGOϳ~. 3x/wj KsF>0\ZŞ]]BFFF{k96O-7݆%R6qchq|lк`ٷ?,,vٓ`'LY/4;U9mTJTE 1xpa7hA hQ6RuqT? nNANj VԸ8J; {d1$JT#:4}`Gq0 J#HR./5騕w&enEFD8\MAH&季3C&_N @x n>6Fc~̓t^bjpC[Mw$Ebvv0BIjC~8^L:CzaW~N6Y-CG("r F' r5w۳a|9ʤGoUKMo˥qf\cmU+#$_'v$__97BƐ _S極Ƭ#TIA;hp3ѣ0o?"Flz5Ŝ.-KNc_Vt́iMyo5H@}z>nz}ώˇ)Y!!hhx{=f-UV~㯲 >:e'؅p I&߆-=.gYʹ3[Nm(`sG#e[cPFII]P¤#aaz{9Uk1dzt{}lǸيe>zLX~>׻` sDN]d$718j{6?v>s K ĦAڃ32d8=tJ4BG``1 sdz磲_jTʔ[H0 %+xx8]fi&[5t_?[b,p+.uu A@A&屝dmUn&h#3uh YjRi^r lUw fq/99Dk{4I7H'۠J-M%  (ߦV@Iߪ5Db])wnPw;N>^A|YD #NgC`XA@ER"!U]V(Æ]T)6_=2Ƒ.F;+@*H 9 r`PL3JxH d.4V-@$He}`DR!A&iӅ{Ӯtb\0EVȋEV (Aݚ圊QQ" ,j P-f,cz3CW `Hz!W:/ 0pam45dQT蓆3䁇cѠs1׮UX䮪uUe~rNTb4ݺrS~/tZz܌:,k=̫-Fң2 dgxżV2Z*d_~E*g=u[T|('/Pʨ~S% +;rwnQ-.G}NmU+Dy£쪶TIt:-!b P7swu5wdL`6E]ʬ\1]r XRijÙ Ty֘HcJlQZ x%#Q2&ڤNrw5\z}mI͆ggH b+DHBlUAȰ a+OA,.j3[KSq}-sTdNs{q?Qo[sJ&!} "4OAH}C6~ҫm)TWN.o\zIcڮM:i|jb+@2h.ʙ]g_L}?>^MS_w"lBRϕe&JX0MiCƁbN=2b =UiءЏx 1ZҮp377`t; oNNB1b#^ClcvO3ǫݷCP|?PTvN.moJĜ~{ =[QxD_A]._hN%6!`P54c52BjLS25cKZi:ݟfaE&`UO4h}D *v҄c u3JK쵯PfUb4cPY)}Mh,K; $[`p#_8 `}?ƤuŊmo7Idp XȋQ$L{;oug)[]ޗ!*A'֎tEp¸\$8}N5-Ҿ45̭77QU$%FA.-g=]3n QZOETv/@N}_ sOlKWtPݟt_7RrR.i3LcMҀe+>Q"qӘ0GW/vNg #D4w5ދF]lҐRsnJ==ۿ, F2!":MGM.>x|@F^#5AM ڙ>. i]F"[09gnz-Xr}.$<]P4۶\GǎfMնI1AUP6IwDDb!/k Lpg1~ KM-`h7nzEUpضΝ);9s-tbkDjkͫ0SM4fg3Y͈Bd! f =u4mӦZdw]&& ;x1!@fᢺ:4:}AXenkǟTRӥ:n~{ ##;L֯+0\Zg!=Ͷ?O==,5Ԟˢb 3MZ F =9xճf>3pIT)aVffaaGo+{jwgEXE :vRE5 |tcBϠX6g$uMe9L_=)ZL߸\dKts4j#Ʃ=r~ hSa.겨ENw7h d*y^ҕ($t>o\ 7%j8 |s5kOVI$I {9a;8Z@WB[.7RX_ V}R^BZ& tiu|n ,ص %&x!oˬ$bCQ23Ūfnqt:NOF0n^{x11'h; wXm3g2Br9/KyaAK^~':qAʭtBnZ:_9}[`]960@$4PLaXt=:cT)ĨCL/3OcM0㷔 Nf8+%u%"\d9M8UTUOZbW՗dAWh{ȺrنUmoyTaxץ9dž-uJ*L]1Q?r{W,QU;*0fK(dIN0!T=4(78IiH1vB <۝gSSN(<#7CvPT)_%JV|q`vUij, ̄9_Hc]ipRM2j~.{N"cUlrr&g|[ɐ $:nN0&.!|q)"fQ&A{fd®͑)T4@݇_%JmD})K2I3}xmםPѥȐ3ht.Pdp\!:,9swZlAƤca  p02*٬VPWo]zf0Z_O3ρ6 xϗׇگAmE*J딈yd3uX럒_ u c< Tf/sif0!Hj80ܬP,cabbXiMQFWq ō3[5̨r' eֵdiVY{[+w[=pXA8ULWK;n^ U`/ןn֒ݪ͈SwIϫ R1"ˁfB*Mmu %$ij%:mtTD)+4KH[;7ÜH؍OiRx}DYzȳ[톍 6'mJvcҎݻ_6h@ew'iu:U gտ6hiͰ}5>QH$n?*{ 㻼GH :<8UeYdp5^1<ʚ/7|\Yvnݎ~6e :7&2carkF|fLG(Qz>&FgW앬 @dѲ>0=#F(5QO۞~5髚zNOtRA !efd7}Ӹu]H" ns /AO(~0>֊LlID~}UfhP'6hyQѰ92|9'Y \u9צ;BN%S~.K/C Q^ #8EDitfJ屷Li_vV?#XGŘ ~=?a!_J9Y[&wslתqwYj}33w5p;hM\AhԕP PZwGZ/UWąuđ !c}AӳpXHdo+j*_n(&=Q< ;gMwU9UV-Е &692 ?Л5Ň .I KoCzH*ѝwtb<;\JHaL0JK%եV^yj%;w?4Om_cGN:oq窳DdBQ!yaes'MfBDlȈ~<kq.&BI$/u 㤒I+t%w Gbh ^r~}ppqpYG 1q bQmA,i<SF^/ׂ !6>!!?uR 0㹘q67Ǧ ~Ғm2}!g2I?< AFe,ZHI$A?} w^_/"I=/7 !1cg%z$%-cѶ669hÍD >g!KJS,0JI Zik$-%$(  -z"4RyrB.Dgfäapnz:(_~~=_/ն-ѢFges!AoCۇ>spG?oDDDDDDDDeJǾ5j(HQEVyxFbQy _L2@V,v[Fh!t7:;y@:䟺>uBKE *R1;QNh;rK hCx*Y; +l^.7^sȒoAetu^ц*+񝰺ɻזnUWEPt庞ҢK7J/0%TM {=^8^Vh6׏ej`9/dӏN ?r*L+KI4D7r5ķ/T2QU{!1ʖg]h|ý٧ues5SwZ4Jv@z9L.ZCt=:"B)! իYF7Zk̓֬ޥ\N:0ɘGȞ 6{+";PH&3&8!ZH; &xC4'u;d~咠7C!i߮VlkCU2!lkFs|<Euke2Bc,_ώS] CE g\~m8U'0[ goQҿ8Jgb}^KG-pBPV"Ƕ0k杋|$ '=luK|ػŤkvm䰷ݷLv^2  +T@Xo`mOeeIW1T*B;ul{SY] jh#ӯq B3vEb݁9f7u7h%=vY.SK0j-7/O~OW%wX)w7$NBy$ylXmeA]Ucy}kEVSXp+mNQ#w¶9[rdNb(j'j~c[hꕺd?<_SH౪Q=+-~^iO9w>P$DS7&BzW!(qE9|׵!ry˨.s1<[On,'''SzjJf/sϏ9_s|4r5h삤)sӿDzpzyyW?5zrIޙ5[E'Ym7oQ^̇~7cJ,Bq)8F#1.2f63QQ$3C<Ѻrܿ~gPRQ]EbWRvWQMi$ʜXfGY/Դ`LTfh_iq&vv7ʎ!қWͼ:z2&sT@e/%%ELm}(t$@*^͊^ i?]4UY8!ti njgseu//ܿCj5((GǿG\We{!4$fC}< v gpjxM}@Ϗ#O%Mgִ!] Ѻ}s]|I"Ԍl0[I>glגfERO(YL;z{&'Qc^"vk}} @y%e2被Wp+_jD1=z_UK@V[ } ګ$,y*C7F:ngL "x]Jm'27K11\ߞnI^wamZL3EVhcw6yz_jk5_^fJ' W/[O9a0kjzhC݊¤Ak/qbvŕj4aKFMӍ]Fa Se5i\FRLZ/~zVD0^Tv0,BKuu6-wQ\[sջ7);$0^|1>*,'}:l9aӤ?>P0ղלkJ~iݾ~ _U68ˢ^YZ5#w#ݙP^o(L򾶢gLpܬdŕ.콎Gpl+au5Ke5]"pjMlQhLCusf@`oJ'07:3ONoFƖRI}?V+Qs2-R!_de>uP=M['Nc$@@+P4pJ\Ɓ?)vx0ͭ02m'H3-qSMxr/bs.=Z۩.s=y"bl }f*Gkպ0b3`U,7[8)m RͽAueȺJI|Uo}Nᄒze;! *帅%b\Ђ3BOIX/Y0ft2`[d6 jmAx#Ɏp<|^K^S)I:`@Y9>3 ˫T| rkJzsۉSgw|>hFTQ]Y~/̃qMy}_1 H4ȓ,S̔T #uC+"F&b.ڵ5/'{WpAjğvaBVZniեU2Cσ11\)/wڵY"'4ap*<<t}K[ۗ(`K906>gVT sF͂kf15s5(u 1k2Ez:zOß+3}ZdڪC;]ن`QyдyzdOryN< '«{(MZcN%pHΏYOe)Kc1^mXMY9@En^vz9 AmV\!-+U&!BOX"3γ-? N|a".#VMk S l%k1R6ңeE%3\`Vq:= ډ0*&NsFCW9H͗IMA3~F\_f7/Hѡ7ԨԣHqj sh/>E) *>:6_a,ܞa8T,Đqai!GYan:~4ݙ-sDnj3Cw@uU ފ" ޵EZ V]8ŘjF+v}Z a%mJuqVz X= E*m|zn-ȍ+p'SH'œ3Ulm\grVgwb_ 90)ܦo)PrazNäCHl8*5jF-|֤鸸W Sѱ*$Œ!z/[uǔŸsۊ12L)(;6)}d&cV,錓+E;1N l6L^>_ƫ 1Ow1J|fj1*trZnXt.3w~گkIX;Y("Әfϊk}b9ρdAk_`CO@L* 0 >m_yy ȸ06B2x^,€+f4`P/oI aSN0TZ<䓡EI?C݁/GsNb$h(奠2pkg㷋_az0JP諝U\\ZqE&IʹgI宽 ߨ4L-M߈E!OAF=~^F:Z߶lJp/52xe~4. =FDWLZky"T&CFi˛0;<B6݃P d5ϭ bLr`:W%m+ `O-*M*h_TߣXqWBf==05rU;;lN:ϼ<,9ڝ@BDREz }ݮY ;CǨUЄڻgTgg/<$,nM)Ǹ}5f#_i9*=6jh\Q|>4+G(m݌4ՑW%Sޝ۪[} .+zU6Tս;(A;*|I@d! `C1 ?ka}~*oUJWqUPNYoKԎ^%Rטf-Zlͣ@8&ʬ{!ѫ*9ч4rFO> z7Gfdlɣ m৵?(C&Nθ%Xt˅z:q)e""oT?.ǧ,U³ cZ"ft}[ا;h#WfbՍIF3ƊHe`)je촵@!5|ez Sr%3ba69 Ը:}V2XnZU7$c.Wj9Vʠ Hنk_kIilC: amu6p2ŭLI-^Tl%?mhq32| g-TjW[ -xl(=䴧}yA_R٭k9nF56[}!΢l5?wq+FWh@fyJﳙo&JP451U&ʒBzU [+.BWW|qjmZߝz8ZT ^!6}[ܾx>], f+zU\H`7_ԓMStTRt3c=B5sgs;5S!4!|j\G8-sNF Q-n4a9I ޏq04DSU5'*Dуd?gW {nۥR"vW/gRDl ;عx>aAI8^م/+Z84)yƵGkD4_fro3 L0QgJv|tv7^P ŜB&hҞNLh#DϝeY`9 U8"9}JХhL8I>sl+Mko10яZ;ON\qbU:VgvS;^[ gT9Ś~RU':bwĕp /]rH%x3!vrtsr~!/P$# );j;:l b#~q1ǻN} ug{NVƘX*WlPw^qNA\'d DCJWQZTzєuM6TRxVrj_Mq`nQʤ05s>CP:Us;RNI$l 1$UTW.GS`VP iDP ! qhe9\-rCõUW\mo.Fg.|xcYz| "+(\O.dpPV<b&&~ rF9i ̪S"^ >F.L"K"ݷJfE8xzsӧVmuѮ 4'U8o 0mQ9fq(0`8q)bˋtp!6COch-_>VeY/]Z]0+X'Xc':-{JŦ<)-RTXbG=E#౞I*@]sPQ?Tlbn.JU,Fs;nl!7}6 pHIIApk( zqʵt/jJY2FFqϲ*k;8uNn<%,ឣf5螼ٙ"[=+CU\BS_ х'Dxm:dNX6e||>4fQxv˸x|]z{mz4m{Z'9~+pB&f47лn"n<`QU HzZ&mށa]ǪxIZmnB#$7LJ|K >yԸڨB;<YM6"\S@A_Ai3 A5ȝx5#&dvHB5ݕjsD2 ɘiZלּU%RSFփUٽ'kUݢ^%~$/Q 1ٝG9%S9~],@rʖKHMILh>_\wYy/0U{W̦I}@T\J;enB&'OPSrT uߪڪސD| ZMt'OuHXւHW1k|Q t}M~+I}bV&먵Zt (F5^~w~ߧMTe1L탐Tw +?Z. Yr{0~bE:p[Z Ƣ`w-?"#"gܦT m&DL\5ļ0yLʦh vH)0ܾ'1# 8QNaɲrڷXW8uwsbY<^5;9NI$Jt=s^]$*rrH~86zt/3f--%Nd'X-#+vqua+_Qx,O(Bq$ҋSS˜ev!dɳ!"z4YVw V9i?@M`/qpnҗ]ZŃrM`E4jQu©1CxrHGu_5T mZЧ+}{'iNmC믓;+e÷0Ie-ȍ**h,jE*ܳ"@[ Y1~O ~f vفmX>oZgs|>O5"^GҨg0x$zۄ⡭$핦v|vi̹EUJPb]akZdf0?}dU=2< ~HkN>A?u"9l=K/o^x!Oy8$G@K5tRsfX2k.h ("[~č^nsrT3sn 0m 0z4~hNLf(ڱӧU&FZ#j4 ޔ#4_W=Y]uʚ]?cn٫& ^j}"E~gn ÄL,A&o0W⼣6l!T?-jV̯Ӌi!ӳ 5W¢NTf vZ1,*mY -nRh%yй*0>tTf@NDjA]! fxVJ*svի\{2+eW% j rdw'9eĚԉM6- j8$s|+H!ms-5&߲pmZE f `Ҽ+p*PC ~ Uv?+*ߌ {z`gGeχoO_< "" Cf37]{Vhw,+.\!Z[$i+pAGY˙ɖ]-_5FE%3}G]o^J(]g֟Lф%S[C?"ʁy""_,xC&rhzHY*V]{%8Ul*QH*.m# CL9R1FIuwG+#J$k^]8;WUH)U\\[2YW(?x_+#^a4A;MBX`0ӧ=6ur0Μe2CmZo7!>)ǧm"i9K߷cDpK '͉0$rx?qA8j)->~ts̏4qi m巈Z9"dh9p0T}F`I4:g6N懃5Y }~!і f8RZY5 [&d$L^[J#4NCݧ-ԱzIUuƛ[vԽ0tQI!&lKxaw7at~`o~=j~O\m<7 wY3{6(V5z/>]~~~]㰥:`7oVk˧y÷y@}Q?z~<}Z㧻o_ퟓ-F@-GJ+Bg}>юMlHxtM|9zPaq }ۈB7s<۳r0Z*&hX`]Ϳw ~h_dž<fl_ߗ'Y=j?'ܩT_V>'js]$˵?1 }=~oy{3獾T>o۶>H! b~ZrGˌ$ƍ16§jKPE_Kpko%!}]6y[ 28̘c6(@*D'2 b)byv?q,6)>/~ KoP%M@E &2BBa/thsW<ƫȼO^gv!9wyǨHˆqdɑ'  l,m42}J߄mi0t) P(ȦJAZ〩+T5Ow8"nIc1:hÉԝq ҲFgӚ5y\[ˈg+޻vVH,tG;DXj&#!w҃6lpZYͽ }-~0匥\D`VP?d *(-7ń) 0pHc-Pm΀ X}K 08 &4ƈ>l9>$DLvr2fw-6tf2qa:\?$[J$~,gTɺ 4xL6G?j:P^A-_)=VD>ۭyݠ`uC']ĮB(e000$@要r۞'?6"ĉJRp! 7hCRb4@dPy9ᢀF=_%|O%IfԜ_CITw%<,&[UR"2mf瞅= ^L(q (R3V~{M1 `fHp  + 'Z2jؕR(3b`fm>΄C3h}%ِAȺ_137.-Ceenǧ@^X(o}V>-WPF'T_|\[^icԚݧtQ;I *^o:XG/Ò.~A)A`,+:lTDl,lcj G]WUgJEDe] )iP(i> ">;k> m9Y~wBtj8݇y9#); ! 0hU%(tZp> ~0ɥ3#m@J- P䮳 h"ڟ̯Dͥwѫo}Xj2`9j34C♠[_$c,!NK9ė 18I%wծ:)KJv'2q @$-bѾHnO>>;m&&iM}4RmJvYt Qe˳%pxz*CIx,gHԇ$FUxwa'RMq>vƶ~ 7;hY_wa;y|ۡೇYfQ:`.ᡪ z;D@Px ;1D\7s O&$<ע.@ty nLorqpk\a;H"[|Y<>9{JvvhEnDX#j]1dX&{8їwK%)JR$20 R;},^ @C36nm'1֨u@SYn~!&.m˚w@x"1꧜W3}::׬fc'RSͷ0y2I_"/?J$L}{gh-#YPq$!'*3*9{ODvkAǙL?Au}Ϸ'qN2=朖IaWL+ՀvK )s B5LJFAK9KMP i8'۩#:%\l44~lU&Mu rBB CLKj_ɹu`ڃLKli@Ìƚ%qϵ2aT0~+zU< 7C$v@q>R#v 6$jW$&F g۴Cxo ӭȘ#v HL?Y#mWuݐ HGQϞC"mi;#џikvR<ܿB|fJ"?b21<]ِF iQF2{l V 3z|@ծ;{0)AP=ε006z B'cζx$%f|\6] 6<hC[:1-$0^tcKxCµ-*ո .VoKd!O·G1_ٺFfGݻ;;4)-٥͋0c궃 ]vG#z__K'Jl=3pI&D\O.d9c菉y{w&Ag͏)1(w@*âӺM E6 BC~N+Bm`>熢W$k~;5S˗9 `=[4K%19Y' *2SګQZksBgjw|ϡnM:y=N}}tẢrx=Ӑg̀f Q/Bmqޯ!q$hI=")ӶXVU3R#_Y\oY&U~jLKZ|B*-(O纈3?~>_?wz6H#iE̟z9G#S?;ܞc%6|=>8FoȄ~j4hDλ ~f!=_s0p6k;T_ѭjj1?TeNYada|n/x=ob_;{ >mmߎ<ٮ+]di,\*nd臗jb*ݤ_q%.nnJR<)Hc\2-}4/}Xp!cyҼ4:P3~-ڶaR9EKκ~Ν1/|G4rc^ʣd$K¿$J/s蕰k^^;D$L`y;ើSN>ɩۜj'5Pvid+ HNJ4,)k7J!wUQc݊ ,Sf A0?߶™D &*$ʢ%1צ4ZM|%K$Gp":JZr=d# ի¹Zu ?Y"ی+ز\H?]P qFt9CֽjQs|l!$bMO\][]p,w赿 ]|@7msX""sQH]`PX3قĴtb(Ć5mx1uݤ@ͥl=n:߫4r[7GNN9yyhZv۴\n)sFȘ`\MyuYu+V(^bc"XK!-1gBusUFwAgՔLq筵Ů*lz9Ӧ(5+2ScEnsΗ2iK,kصǝ ` Cȓlv冕6 Sr6g&{s{WTUӵc0 ϲ*0GdB2zfұ˴Q}7RVsYIh#bwκYA],}'I_-2lҺvaPWdKU2b]-0l+9x KYᙧo?qgli< lSvvac0D+#U~y]=}>k_+2Eg8@&&"%X\/F\~!qNkJKT_~o"A JRYѕJ**24&A Ldveˑͬ9/1})#o$‘^k^٤_$x߰vD1e݅3Ej4ЮcT nԱ=*ʪ9OW**]{n&Y.Kl E̍PӷkyAcU2*S27ߜ4Gxpth`: ЍF%]Ik!rNi\SoKy{Փ&G(Md>toVm7c}\kvpݮZ%Eh }uVC(0h.oe2X={w5ݮ|ۖn7H|+8Oe|BPoYg.hӌ>Y#Te/ al"F*2Ϣ%,1tci>=\5[jTG / qe6ju^.qEYq|5p}vCNώu> $I$iwL2FkE$P'֮I|ٯ^\vF:ݟ,Υ^Vlp|網~<-Jo'g#W[sj둆Fq,;'dt;e#gKs0\ir pk1O:y.-]}|/M$9m9#9$n;# ;cGXt xgYR7(4,q;Wӛ ի}pek*^ZHYBz!jyT_>5Y7H#kkML]l!hAg{[weD*wҚ5Z3)7<1Xxx{n + guRL^EW強mfJʜ뉕.noru;vλcA5C랲h=.:dV;!* ʶ1EԇL:щF|N`ad4EgH9A?髌Ej]kP{&@%]"duUd^9Һ>^s'6+!ۊ4,N_?,WSX~yur,|fuI6?AC_+᪯ΞI*ABVg0*[l#S7x-ƀk2Ga<}?cOYe(iKXՒ*Nb'm#x4~Mk$5V'd7 y3ϛ05L>\ `).ֱLIM ЃH(ze:ݲ#D. M1IѥPb)*mF-RmʺiJ뱯+,R2FaE3XTrX`:3 Na%('o66E7y]vӬM7jZ{c cG5sW&y:Ҟ{{VUoWQ-I(ZQfm5d:WJ%;W]:QR{l?tL@IyF]wq'w'gw KcEy1}>_-oy/uu+iPEa "1I(H54I\mu״iEIŵG r54)8&@S."J7% 4k.m:3fb[<3&˻svIJ`iS5 dc"vl6 {)rjZ3,VKIRQ6IiמTc!_/wov5%u|W#wdP`ᲘN4ٟEY|ʢxB/tBSt_\DƱ[,$KHGkV\ "NƲ4B=P*+(4 ɀ@k/3M+ f.ҽ)jK#K4HlMBR.d4Z-_kd-*5 u *P9- S-J_rOɒzpNms[v@8Q!O4?LO=q'6;2iJ??a0DӺ濐ď/b>щ?/o3mF!$t)J :?.D C'vp_?E?@קCt3$3ya""ޜ7L ſ~֘~zd5w~ZegMҮ˵[zoB(*U0v}~_jm$;ŋ%vlPHj2hO0rF<ĵ^!#$L$$f_lw@**b/s+WQT%h5H'JDRJ {%S#@JDyK-"qv!5=WB(!G `eofitKfb}H|/"??[ڿN^ްAO7( 0D?e¦ώrcIl:ARjY p0s&fMejbѡQ,#_0_['6D-z[P??• J,{I? 6w߰S̸+xݓS&F\kˬBWrMce \~O=sj~wXFQIM2wzs08!q,ޭUѳn¨:5RUV{9mXCT03UZ({:뷕ռ;n50ڒ;#=/Rh t Kœ*nКZ)eKh}Ra-DRmǢ)HA&EOҸzR~ɸ۹87 烚uc8$&gts矢GT5G IQ | ثLyCS _A[ ^n=(cōm߾I ,G4IY\f |Bya,Hz A _:y-x;2xvMd۩6u3xͯ"\`6yNr\/r_C"H|E͘LGE:!}Ds,T}*NpښTj)W]i_TYP׺\:yFȂ==gTp4E;CvQdL7H>0<1~3,7ku(Df<)苮C!A$$߼唘\aTĺL-&ƧW7aA!Vy"#|2tc\g==o_x[tG*Պ٦N= e\3%+!Xlx7}>lgv5J3ȷwC. ԇ*)ҥ_LkCܻxw/氞)=>O OoϮKE9 }uQur;F.USVr:l.Su#&M"lY̓il!o,4&%?ӢΚ9W `UTq=l7>'h=85ͮFXO6{J/˩_OS f.3n;,ޝu gw K!H$I-^"!w?5ÎKg / B4ۙX/^iPiWg/=UDd!#×=P198ZǏ2l]ے u5rȒǼqcV8Q빛 AN 6 /=qE (s93P7!pf8GO`̦ʙRyqNQ/9CXó"Л~ЄȈkz:-Dk eLOVoμ:Eo=UAkN'=1%xph[/GMv)  5Y>>538J=W+y7&Wj ff>wM.5xY3շ-~`v1.h 凸eK !Dag#&Ёssmu"-xԁBC^!D 6 6ݕD"t'&lۂCޥf!⋉=w ˼pbQdI#^<(7hY'qfI'ƀb߰8uyٌHDyӜ؇L$j"h گsHQyI=8DI}]hɠP= 31-岫f_UoI:VO1{ c4dɉ AfԒrS쿗>U3!-=1>,FFoϲ P =` +d>x [ [ispG>c\t' qdS#Rː@y>n_4v$DF Ƶ!hnDs1kgDG)3 T@`iB^ :\1ݿdCqU,@fhH@k#%RCm&'!;ٍb"(&aG\,"LW LBe=)9Št,xT# sy4oٓ2QZ Ի5m0]3f8@m_ߎ7XYEc9:KfrF4"DUq8Y-C\nļ>)0Q@2aƄ`36}$%ų@s՗yGo*~" iғ%rR$w1⡉hB@ C;72Cč%f:.z2j}Pjv)]$"*%"Xwj (У j(l{9X!-iE#IϩZ$}֕(.iMU12DbVRhgǂQWuAil_m6}cgpXlHYqT#AC' 3Ni4X|GPx`$JƱAd …DsGd-Zz7;n_e-wђ$I>>hc^Ӈ7t Ύi7m=j^VL@ '#v$eQ*)X9=\" h[0z6Q!< $ƭԦQW_H1 _DnS h ޔh%*KI ?tgN*TLъ*9 "d_LI,&.t׻ -;-! :ޞA6u(Ax;,8E{se p_PǬ##d.]H/ǃh!n0z9A.n/RFAAr.y9g}.!ο=iУP>u&P -%'u<J~nB|Amx?aI@(=hz5Y}3C|twQ9%Gzf)Ȟ[ PXD!9n_" -_ nÓ!x $EJl;<;iآtyx0r:[R]y<$:8%3 e(.DzЙv[З)ޣSǗ^g$϶ǘC( D<'ژ -ڜC5C;r+;> `ϳ/KD(6n!w!7Jtz9/mxxZEi;ji6 9Et|jzq;Zp@o$s˭n1BGvV+1n]2ye _dEqi1c/"`CC*}u0yKq乕Z; lDMtU0q pCalj5BB}}@4^ 0LO]i>5Y@*WFц h}ߵoӶk9|?k CzGƾg3WT|9՜,@V_5bd)}6/4;<:ɗVi.%NUQ@pLxJD+iqoJ B.Fԙ67  ŠA[Afp{C@')k*|fl[_.@ ueHAMuLmn_jyvyDfi)u!w U?(]:)g^sP'iB'I"4Qfn6/(Y}U.V=>O V ^f5M:ۗH)쎟mp4qe_yuq*|c@6s>Fcz/G!8Gu2ޔ8p?ua[#reȳ%D_66C̼LP,/!PsDH+^8_x,zQO`Ӧ'&B-2L0˫nFDk}SZ˞bŲ/qrX<NʼnաR0znѻEuy5h+yQ#F'$.-';Ni.Gޓ#OOE=ûӝU&eς%Rq<} 3KN Ң$ĉ^uI:/z^%n׿k!'R;>fa4:ns2T)em6 feyˎ`GqQ&yb ̇:N{p'|C"lCdNLB&k`TShĦO_~/F %9B`Qwp 71 +CH$}ٍ{{}LHwR '#}zuNB#OdL3W *QO k 9>!{*e&0}גqF_7TWl~s#ϻKyN.SӨ9yreϲ3O`h>yj僂ij &(1;pw E^Xj&}ԡ[~=˴{ ߖنf8˷K5=8&=^l='Ap?];D9)D9/x!?9W1v.!;M$Ϊt݈%+r0 (W8ry,ci3"Iw\O~N$%.@zTXHBو8&s-D*LF:.H>erAmХU;zKq>fM"w0$| ;KM0<,+B7k4SR+~վA J D sوz},O/ #s3ny-J7&N@ .}'vb|`Ap菝`32T"IVX4Oʽb?"sr k؊~TkMn}Ls4߻9yrV~Ut`VE$ eA NY@徟zlE(|L'a] (O5ecz 6Ih^V.;={ć/v3LTG:;y>Ylw[O.<<3^fƎ|UZwz~<!!a_cآ,^ {xdNyaqKgM Qux;OP@h>>jLxz#pP  4wNY66|ԑW!wx '?,3>Wݡ#~(v֍%7 H'%^4\R^}Y 6Z軵0&!|yCݐ'N|zuYaLg;tQkn@LJui2B'" EP>ysV 'pOc\KA,.|s}uy-{&z{0:v)on3| =Vy>5cjq- +fI}[mbDo$;,~ǚj/?S#S݉R*t]9G27{@WΫ/t#7L?p3qD}A"×8Z$<PMEdp X-'jU wN^ﶶ t/oQ̏u%S J]uI+Xk=>k7jn,]>|G2p"$|n$^x8м fOBxX8؉~O>y@=q孤Ӣ&C5-8#d*|(WCIi{smǧl W}X;x0ǔmG_q[HlCJ^pwR:VH&OI͇a O󡽶 V6!u :|׽Ƚp\^P"N)m²{ǁT Tx'ujB :͔8Id >f*.w ~oq49wQ@_.E`<ꃕg{:>W=)W5wda'CQ˩B=$o>+遇Gȏ6hxQZ}cMu8|8D?/{{ޣÌ7Q=uSu;;ץFj}q Һ nk9w1n)jj)>b gZg2> 2 =F:↶]Bc4V۞H)̲U]xTwU:^y"O9>~*d'OӇ94sQBpU(*C1A,t"h^&Wʏ=#@ c\{q)˓jwE|Nxm3[Ϝ~s#O>/Jy K%5Eq'-Ⱦ# qWgEFMBCS .cFK O8uNd4n: y/y@H.qÛ#e7jIuϕ{Xtf4 BR5_L[{) s8צsLJD^Y}P , qGww I6ϪJ~dST|E,n}WwX4b;~5{Lm;#XGƻEDMŖ#D w}`^݂"+Nf$C<~ɯDsa\bNO@N2)]= %:86Xy3r#u #Iw=gScZX[PˏR~kf,]MqQI8& ]_^WNFXC:+p ˢܩ'=,7{?㠪˰vQdUO4LpȻe@pr;$0;F s8m i&><+cnw鮄)[K#RC4:0~=5?_\B? %/B曧۞k{"I%x1"iBfc3WQ)" yNhȆSXzۂ?D#Fl'c25Ľ1p )t%zgU~C mx6[O#n4 1ɀ@;.t]a FOks φF$.D}~J^6gsE mwugk4W)=p#3ǠMg[5ۍzϜ4ut":ipH49J _b#ng%Tki=|CdR@C]LOCˊ|@Sow=A3z"};Uo賢Æ}@e qޞgl&3z$9 T)rQ(M k.Oy&d}JUQa'~y1r%%(!Øo<\G1:jM wJ(;44bŃju;3o!Jdy;Ԭ( "ne pݭ[jW^}OscᆭzS5n?:K@$;v'%Ӹv wq A:+4 DZq%n=H ؕ$=/ YsPd/`Li̍ENͳlLL=4写vhqwȖγhUGoq|fqH : ø88<WfT+ԃx^3۟Fn^ʲ k .HԌFd|&ȉT"`LN5O g৴,. gۼݯ0D\ zo:!*1P&\58lT:8}TM)/==mTYn{pts4tkqirr$=޼]N.νy/gth>.ko]-sӹ9y--o{ބ%ݧxD8nbL$! JoE_PxHp*ʵ.ÇFsLPD ~62 P9 Vi)s-GDjc& %<Ӷuy)Ao)=>N LI3Bk;ג=^ UiD#ޝBycr~C'lus0zq=L!*QB!DM;s4H;/!^pbc;>=GQn *wiZȣPŀѲvj^nrg~M,zQAW,[h˗~cս̓쇗zsu $X6GgG?!ζuƮFGayBbh#$3y 9[P)4 t1g<C=_RY{wx˫nB[' E6i0juzF"Kz,%7 smI ٿdžG^_W5f&|g)W *K.V>kV\ 9F\_)kMVktn5@_+ڴK^x#!]9K{q0q"Sĥ6kTӗ<kG<|v mWnMfٖZŋ6粲:e}49jM=W[A|Vͤv}݆RFwi]mw5tϓn+E!,$Hʜ-nՁNOAH1/ ְҤ^haДųf-h̒߿I*w2rp!- k~KidTɷQyd;h:urtjve[04nJk -ewcq Ezr (6re8#4H^vnHF]}z <^$[HϤWZQ.1RBgKM,mL.VὬ9zyhUmLϼMHLLL}s:pGʶϻ/3߈}3֙VKYٻid]IիAI~ rt6IKg~%f:(&ʹ5k[v' c;d07C3X3vvƜ _$8YQ| 񁟦KC7|e89yx5_Wت]2 f:kry)5&$d:/t3JZ\iDB`' DLifiv0I:̱C/s's1|Q"> 5)m$ iDkEQhB4d`4( P#F0D:)b]H1E*[*`c"A4#@*$<#"whP%Zw(7~GRBs[uު>x].jQi F.@H$q;0#"i*lBC$(km0P,A~ѝéw Z6> )d1$X /&kk+VeVYH6gjh`\F-O`N.,$*n+X6Q@"ZDE6)l[C2fl1D4bk@`9'9`D8 AHSf7U] * Kq҄0uK3#:/I T :Pp((H\7@Zjk}ʡ02bR s@ߘYY@#ˤVtȅ-J  ՍnB:%q`/X2: u6Xi{rv !GHG =bFE8)6@ON arme`b"b|)?h?$T| P:o?gj}QirɿAιa;Cy,7JfvEz=j`e/o3PqMM/-L0Wb:5Ze'y$bhQ(Z(-nYVVZIUŁk,-LU xiDp^>=,O:4/425@%(N:D;=ݏCbKQrj )y5Dv2̋dm|}8۳&YH9_!#4 ] glotnK# D HCI`Jo둊5H1;ŘkrGX3ōA /Pjlˮ9;Mwقڭ 9 p,[h~4׋miuSu_VfZD"F-]7MofIwUɴc" 9 (0[SMW-*1utwnB>5quu.SwGRM2M5I *We2[ԑ1 8HN:[YCZO5ݭvnbW4ZB 2L1 ,CpIS w$`QϓꉍmMF=]ݝw_va%}6Syy푣LF Qrr4zt&Nm C!! Aa"jQ6<6wNa0Nr'ϟzg^ze YɠF`o:g+vϸ>v]7[31?? Tqy{lkc5 BCP(zr MթÕ3G231UU-Y m ;ACqhb[SS0ߏuFA\y;_C]=ܴ\sW3)c[joHhqf OIhSYkBI:$y51YϬI A\7E6{9\Y6vLT~ c/@1a%ۋeV+%+4z['\u2sE(("m-5R.][HOf(*!Yn R2i? E/34PLIĉDU m`/mHRHᜮ(WE}'?o~"|pO/_NRZ_(k_:VNoKY !Ս+5Pf ~gaOxMl8q1Z .=c_O@yv1d M!gmʼnh&h4_%gnTvcQ8Rtv U )+wgI65t.9a?9b&_;|1i0Z7mLԑƸ{d_ӜuOAr6T6,䁍Z_?t;lA`HCRblyyvȴ@o,?H~!%Hr'-Ƹ:[E)/́+K;-Iy%Wx 3)]5 rHJ&- $w)=elagAh1Hp,C);p8}q\bJ(wQL2{ǓD9gո7aFC5ff`$ԼnይYC=%GAsdɃ͍]`NtHđmH d(XYy0ׇP r2<=>VJZFbH^X< N= Fdiue%FDՒ>Od`3[B0|dSzYfQ/qN8H:xY+}z,m툕µ]ilX0r!F5a'4l NF6@by2AEm"W7t% 2C+#N\ s*Ә](."Fbh;]G@U3 T*39߇8hn]Bwݗ*k8q"^aFD#8h ;pj'#*fxxiIuj3*ܜBG\A'~BQT@d2<*wd9:#9.3_HRp*M -OX c2i"oj|Bq\\7Q@PZ<=Plf=P3p $ [ټ2d-̄.y\4sƏVv ic|i3.J3谢l(Ƴ[mȶ$Z]\O 6.@# -.3 H=H"Ҋ6G'0CA{8ki!^mNqS uь:k&!1C(S`C~6f6cl;=oe" (9@ۀáFeO<6$˒7&: S.PQ˰'y4!d򧀂m 5S[& UF"bR+3EX&.h k02Cre27a˵n^5NHI|#\2x_8bHKxVZ76# ݼ}>B{^}K&6dD-;wlO6!0,ztR2ELۿׇwA#4J>XTyfh'!fBbԘiߧ-Ot\ :( Ҍj Pǧ Abm֫$\vgf5ZfµIHxNóT ՗ݏ_^Nu'7XT;TΪr#&$v5RI~b I&9aO1,@\j8DL+ًZ>b;Dv A."[df8`s6't$C<]1iwbݩxMFmpbn.`yỗ"5q~ qeT241(`! Vkmpːԑе]0"PW6׫+}:XaىL$ˊ{Zv5O@Xl\R|qz"._P,Uoy)+tR S H }stCoG@:]@ n="yסΓeRXql^t(4h]^؄Hm )Wlu9r-  Ln768Q}D;hDY28i L< xDN0 M&T, 35@N|6 hFEA# nD90QxM[!Y`r<9 Rr*׆ t" @S bCIyb;uhwBYY3{fMiDsmk50TZ|R`v m >LE@C Gh(L5N d&Kw0OVH6!\t\t LirjMU50AB F4/( 4i X{G ͙ww!,Co"e3L íg&fHO1\8n5Uc0D&*IMB$LΦ5YlڰE+2BkƽALF3Ff02P@9Ηo٣l˻j}Tvp=&Bfl,Uٶڇ'$C67ʦ ('3tQɠ APS4iРzޟܪl#J.v)#dמ52j32m4Y03z1 Lm x4Qm{w<ן|h㧎+zQ \썴Ki\M! i6;j9fKHJBu]"v2M[m^|ZL+ oX84dRKȊSQ˷* `g׮Zf:AyX؛AXd_}4Fl\mPP ͙pt39DT$8alFsO궡F Fn.0@/ɜv' \E\4A[b8rXn20t"?AqG:P@0 {{̗&a9'NFG R1/Ы! S)?=>~ǭ9P|A" F[kTF(4ZF,!EMFZ-6RhE hb1QDFK$I&ɣL01PhKI1)4b m&h,h! CS(ōh#cjH+h5ɵڢbƭ&#j+V-ڃmQkmj *cXc[QQ4V۽S[kF^nDLהF(W jKoD*RJ"P-+KJ 3I_LX;")iBL9Pg#FI8WxJi ͷyW֯mhUEkW}U)kya)ѢƊ6Y5j+zkmMc-:?͹U+GibbŭD#AX\2%i*%)NfvŤ0Sjh(eTZ lV5b k&*ѱX-5k\4lQQk4Tanp6TKYޔV@2M⃤x(2)?`Hg\|lQAZZ0Dn*E@Tad*mJV-4!""hcAOm ̴kXƣbZ*m2& b!%F1h5XDѠaQ+(ڊ1V,QX[bbڊfi;1%'O?Ͷ[k$Q1@Q Q1 j " &[*"#6)4mXhT̆Q4VJmqwPAJѢJETbJ4lP+bƀbdT&mcQjenBjb)FTUFZhɱQmWÊ"J ,ֱQmZjo}շ$#A!`1IرUMWe,V5htV4Z،FjTkYDk&m_(W3rrLL+M"PR78"%W$cQ*-卵TU CB4I@@)H4lh{gVvs-l!)1lF̐صI̎ Cx@hUV15&*LcI16M31MEdD(-AQPV(s[\~ [TY  h(mZ1h+FEb̢b %-j 5؋5FYZl !ط+nTIcbfAX"Ij*h(Ԇda4[{5 (llmDQ ۲cEkn[k4I\r1%%awO<@∥(iuȣP2!k_\k R$Id_dj>cׂ{=g\濟[i%V,mZ9<}Ӿe;4G?#Kk[yO #:{d7l-EZA;4IAyP0S g !D`Ph rٳZ_ {_>a):NqZ4! ݤa"XFB|0ߎ7ZެoQ%H2pLq@9 i0uV "o5k֔ ldrҜ ,EaYީo#4YuSB ənOfmp#l*B/Iռ@ 8:7Qp'Io4}~2|xeuݝh0mΊmuOE<,PVy,ĶJ .X6)Cǐlenu Vb ;2>z^!Y\l۷X6 X6L2>%qc`@Q6s̽)i!Xs;Io{Lwr{xBYw#Q9ح$ K&(MKJˁCi2֜ir|"LER ^)Y Iʍ&0"4WnJnPZy:MU]eQ-K>D:J Kt Dzۨ!β^ wPaXvjhU3N[ʧGiaNCP-oţ t: 1-3.]N{ʹ5A7@%D&ľ) ސ4wK>Z7:PCӬ8Osٷݣ1-c;˃}Lڛ, 8Ӡ[~fx鼴pJՐ2<>)A .Z=96XtY[jCLh.F?0Ai ܊nZA M.SٓN6-/ Giɔgj G>6绅U*0"TkV:t!o~y4LG?|||{~Ͳ<FaۣAk0f4T! -0Ev5{66F (1?߃baDqhy{ MG]Z۹oLD(@LBB,1 *$JAH (# t.tFAnGgBUTr2'u 4Ch͙R*J0UEs0*MzE*h4bn7A+l p"i p j:y;j2BF9W[$>CS#@``L-c|F9#9B&N!4 A(@&FHh#C**'%=vxxd|&^|^ca1e#D9ωJ)Am?KJRE%lvKH6j!"،$ 4וiushډYwэTЊ #6ihC%jiǗ=EV(2I \ن;P !1C#T2WYN\A*H`7rϛO) D(J}LJҀ.]W?( LPQ:!#b}D~7_Qϰyx0:dk>:*&uRkv*4cR~dQFn8‚Hݰ]bŜ{>!( Q$SxY _4$ˍȗ g~6 ~8ѐ i)!L) Q:"0!$@s $_?7=8LYtY2p}s7]p`(&*Ia Ea?# ˤ?nB|S t SP?ҫ H fA 8>HI:l`.Vz`4S|L/wҦ˲LFi|yO~y}4NX=CljC7/l?t zR*0a%$CH<-P¿)Il 5@ܧ:a#V]Ues0;„eCP&pfG?Ϣ=Ƽ3& #?H<4M3H???CyGl9JRwOivA#Uwzo3<τ>PB[NS3A>e=C5b%ק)[cB{#4C,a9=t,XI_8>6eO#:%$9f/ˌ#ty%,凮cW]ǝ/R X:E9k}0G٢Zh>(PÜj6Q3MFvJIh\c^ؓn*w$UbX1YਂԮ95w_n|cI$bmto rYR\Q]:":u\$!ϖ]l31<"'>:\^'iO~;6DbҚD!ϱڴx1)v/PϷCPmuȍ[(ay%*W 9Z^6@/G{0;Pޯ6:ѯerWTnx hL]qfSG>]U&aRF5_`歸Z9!gfŭ)@58{N_9:0D;c wxָ:߶0v%A<! *|bU+&&/m?ߍATU_GԇCZ̥YEn\Ho v$i+|^~bxyǏ  8~atA0?mA at"EkO! tS\MTKM!ӥ]"fJ(tg~eL O<:*iM =~\~(Owu;*Ж+/sF$cG̨hgo,_V߄wv_%gz? >rh'IA aT8hPe ?M<ZbVɿq_yf(M:Դ';7xl5r<)w '>b]m\̕ u8,+iQޙ63.7fզ$~V `,(-囜P3$LgoˌoZ7*υ@fبLA7]a j55'rr&g`z}VEMhҼ\a\_wJ FQXa˃%(f!@*}Ə 5=;%!1tKh?Uf;|OL x,[dO$Z%Cq҄^?5MEk yw:4_)TPpX@* XF` GAbFqe46\3zvEX fZw#ʡq .P-FWA㐡vQ6_H&_UBmH~(VX&q?N3 [[)p'i śl7$0~G D~i֟ہ(qշgd=يT)6P(.^/\[LL8!C>1keouò\bZeRUBffy| ejz? 6pbS1UO|Gx oq]uۺ7ݝuNw=ii_&B<$|Gbg(M$ywDxYl'~~vf! jt޽"]pc;viCZ&..c̤"5pt?5sAU`yna(Q3R 2C㩣=(k><ђ ^ߘ4I}wDƥvdt=Y`Gr[` 1x>zoRk3ͻ`뷅^ƫL{߬p7Pfkfz>,;v;û*Ϳy'$I$ HOVH&*`CNlS>['j':Voa8C~(}3[Vk hw};yy z081ٯ/X,踐EXj?1@qQDWⳌ:aU(VpC9LFMM];qqg׵i}|e'N^F_Eͣ{@<,X Yz20-&iZ#qf1Q>-{((?܅BH#3_1[ؘ1ҽ/9ե6Ң~rn^(- W]:r*anxZ@2F~>Bs*?֯9_ֿD?ybȀHC U έG*.QbfZsza5Kët#dPv(hG熈f>߀4dr^e;u'y}%R4a7f0Z i-rю\L6C M@}_ZoR=gjfg6$hA0 ݞ"Ar)io3A nff1#IT/A(L{&Sq~<[44iu蠂u]`yS} f8 (hӿIU @N9HT$<).ayQk1ҚnSώn^4!y}:y"v`O^uLfW; )/]% yEKQy#}7vEmo2aEIөgd"?|R&"dkx$[@y O˱>{o y|i M@巎ϣ:\ 2a!ߌpo ӠHE[|~8ѦyOF^Sm4@-P4 fTB"? |l'Uג_jWEtgH;m+{B$ 5vΪzٙ()L)tC/=8fV1*rګcb 邘p{*AB^#=&|n3$m^ŅZ0 Iw:c: |)R~(ff`H71~<:՛* FtJn)|@aGZ kKNi9O"HsT_hvL U^ݎbI Ű4b[Pp#]>$Y˾J8F欞yՑ@۽xnOW=!@өu!!HJA""|07[[~hc{p;[/fxwF*g)LgoN#-<ٔ#9Q7Ol6/nVn6BF1i]n7Lhvqss+q {q&;bی`dq3{37Q挆Q6C`tIwD!k s)t1{Mz)̍|LPMe$ ӂ4&K^wct} ^/Viqpћ"Hi䷆v] H[^Ȉm OhP7.͒xʥXmS\Qbf{wf`tY;z۴Vy{C5!ŵ0@XrSiߎ̉Bˌ$ Që(4^O,7@$$fA~J0BYM'8&UcQpEO ~ԄN'Zˡ9vK{̹njO3M;VelvC=Ps5oX,MʄVH&XIYOR\&p+!m̦oPw Zo$n9?яTӣYg-c\Vn>nƉ9cF!NaQ§Gpr\=ϧi8LT)qDvk^͖M0>/!x&1 "uȻ\0_dq i"N6xdp;qjڠw^R M(:zgs=#\pAQC$P.j ) 4p@_g2Z#䇃R ɩ8j6LVsTckl M/5/c j4wcL!8!'P9h#R^474َ6!#eN2kb} z<(v!Qꚇm?-;ɬLh]ѢI1n,mCcEǍF.3slyJ;=2˽D*w>jޢW:W(Sc _-t4>x5!FLhZRah֋fsb iƚR20#rMDnE=g 9J40aϏDSGW??nX Nu_,M;yVWY94Zx1IqQw5*W do3)aB]6Duzk{33^H{H !&MRS<X5نU.cBw|aeG"tY"S#dyuTQ҅ C@unM{׀v^QgԲH;sOvֳXɈ˾҅ѷǞJj4tC EΌR bj%LҝHEaމ,0;7CW4`#Q3/2 T -`0ԼS;2Ψ3PzTx N~оn5\3d j_@H q!"4OtBhZzҥp-:!OV}>D?8_ǎ^l= բ]K,`e[&9sDV4~_WM*_|hA9q%Ol gf?li_÷>]6u>}A0FmJH( 0l~Sud~cwg? 3>|HJg ,(dq}{Z?4ireƘ.JPOR`Ao8;!,UmD:Ѐ%I!I$!/#r:`dT 4o9ʱt'c"[މJ²u70=Y"R"Dj;bPjԆ}&6$=GN\xf8 4!>&&]Loɩ{UK F@ mǍ\G7\ϕ奩YU+U)ؙ?m|ЮRLUq"N0u4a,1Ul炱'):p~,@֋ \(:1 ĝ7MЙL3.Zܹ Dg'7- O!&$YGʆUJ WmP? v05=BR8P9J$ }_Qy>WSysle]ʡwkfxu)n.RM*;>q]-wVͲݣ,sQ[ Wi!LU:+Opݵ'/m8NJm UvcQdj'zU&JS #Kw;jqqFdIL7a-&vE+.7 č2x׮a]jdd+QƯHbm^cW1s̋E3yQg:OHD!\tNd>wG8J"8v jqHA*3X ̹pwz#pQT&18<$l#)5B7jE= `I5$E[zvL΃4 I5m: E.׿c1:eLy O(48 m[oQH=wUT=ʺf 41z׶MT|tq_<]8BMd\{NU#*>?C_'^>\:D Q O ϮaH>p7<~O5m]e2 lw9 fG˧<=ʐK>#2j5"o|Z1P0.?ޛJ0Cy kuGwPL,D+Eæoj ʌy=M= 'A,74Wg)D{u__,RKc[s_HŠw9U_ŗljx>Eᆽ^y_geX"5;ip7.d8s4lp^. VSL=~9N$%j-c"z~ G |.ύSN{6LY׋КYRB꿛|_Wwpq?S]?- sU׃!O'h*SM"ܝE~x.`GR( j*k-V,otG4' `1[}6"6eid;kjA}k]9l:nb.ϫryMq5sm9dW"Y*7¢j|)NkEГB%bs*g܈e=5&&Q jVd먫T9UXrmHI\q#ɩys/5NyJ6# f)o7:[u{g}A!T5bjP-0KˆkNGe~>i M}|N 8EnRsQVg.M">΀nhM W٣;0(*Vgl(ꊒTYq2'Y?wt1P)(yù{C(:-Զ?kaf b! #)@:H$aء Q'FYKBJ&TբieOw$qv$H@H-mW-]RKh!Lr'qa^&3ј!t@ %fPhZN#yӦ(Fd Z97jd& UR 8aƖ4mfƌ&f`6Pq.II1MZ̚C 0#H , A65V7H4+D9bXx.̶FESʼҷ E4͑=;b- ce$FGYtj@(wvjЋvkn旹ӹ9vJ$Vb``Prg(T?G'*_~V|}7W X!ӊ5SVW2g3ٝH< 9=W_653(*y}o>N6|]zqXEQXAE=QЀP?~ s>D@X#'90)(H$W[_񨄟!}ף/}=*mm~ϴ}lO%8I.N>' K&`jṷżW&&5U+E T[no8r;f#EADA <8;RW&) آg;P>@H hmBqd'_lvzm9Il6K$KTL .U-@_<00}B)y:вw9`!RpM{#; (BT .Oƪh?5 "T.32jЫ%3AֵTk2 x|P EG/K?p+)ثQl(/lh0eOqu˴zhi\i#_q3b3L~4v y@q6oHs5ΧG27&lX*᭯_U@TVh؊,QEآ3\Ϸk\W]h1mQ[Qkr-BA ,nh5#*qK:jq`~_VGߌfs g҄+Wh b $0RmqC0=!|<o M HۙqbMY|\dIO@.*^xe@BPyl-) rE$6`4bADU*Q/}8e`'x[ȚL@ ]5#N0BDT bs;ciyq 0`q2Z?6ES _pkH]=tEr'3 9yT "PRabYS9dI:`'uf*7i!IGؼ\2~~t@ Xc?82n"x*꘤A_]Ύ6@:BOfʚ@Bt ݚ +}n2@HL?o"lGG%_\M菋=u+m"B~ir .6푍LJ!I 8wG8jQ9ʴLD2yD@eXH䴏Ԝ#u>TU]к$C!pF mp:ViA&\P!g]S?jh}4 qWHHUUoܠ;>A &bXȞ1@w* $|m0󥢵#A?r^W@}|5~ M !0}j+X\T}}#E RLJp'Y658շƷ弈5e}Y4ۍV[ɞDd&C}h6laZC\ f!N.?x!nZoY5P~D"OiT쭮hI8S-{q{Byw7]W7~~gy؇ <;o}w/`,,4( Âz0 `@<=j "$g|y~@G#QʜBS8!`j wOoXʸN%*$cM0"Edm;)LyLxX_;OjQ;-G"CqG0'HMkʶ>ƒH765Z2WeB(Uxpգ' |Zl&,BuO~IRC>3xA;/=2!g/0FG1h@A9Z3 .2UX1ԩCLQLA!/󚐝ƐPC;tμ`\-%G ެ 0^C,hwpk=cd򇪨hK6%4ZM-.sxݡC9&D^d?-I~Z3BiμA "! !R }XSóm?1IƁ`pWwMh3N q{:qLHnJ@%*1aˍaZ3H QkR3Bm9NqC =n0Xji;>SY_T/[*Db(xY@ƕi6cieFd<(25}5Lh;4pXF_exj}?4;4D8[߻oobq\R4Pl{(aβ!+ge\J*UA $/ 3JL; f+s=:^^.ӁJ<{#ܸ7=٣-!ϪB9 ^T!}t=_ D֩VMhC\C l=3L&Z[o+}=6;p5() {Od#A=kϘ  L܉00k_HBDyV\͍LaЙ!!!&| Ng(vhȸsfdFn1{DzА¥QFBͣPOF ֓b2)z(BG_ A )RGUݻőMaa1Q 6]S[^"c?!\?*I 0 7:s q24ZJ3i$4o)"}&+,j (kT< ̃Pf'<*璼t>ә`59>y+WƱCA D `C?k(ZCe \x:&q3Ps7!bz'.͐ B=$?x*|\Z(@ G2Zv !)*tIߘs `aLU/vgCGno陛 wWdnn* y~vнS/C'x à(E"{%6 i%L$D\)ǟ:0Ϣ?tk'0ݪ<h$j%3=C)U'CTJh(dBTC}m{zB Y0=Pyk#_Ň8䜢gD>ocʟ=|3\E iHPOhWU\rn \U '(9A  >( RV)!vuҢ%-2+#OArPb$U UDz 7A'+nfKy7:VhG7ÝPu1Y*Q)LεD4io&puuJogt bE)A;8ѷ+_|T%eEtv ~𔸹%Sh G޲rWH]WaѤ}Lnm\bnQ|Ek9n$R&3 S)AQFrڦwmŠ>Mb@t [.(J_o-6mܳ9`,^V5j'k|[hlaٰ8~%@!{ptGc:]qk=Y!غitKxmW @%{*lÊaXHM ۹`'Ȕo aP>LmE((C٧A§/n漁|R$Ц.۸/!ƈ+];o>|OÇRxЀN X`WaAMôxˀo!0cJt+Zӽeo7\uD<('lp4BAH 2!^- eZ^F' 7Ge_{5Ȇ>凖VtI'bH>@=|I<$x;AX ! "(S.MaO"(LpiiN(ZPF✈iHH{׸=D_X6=6AZ(`ANO 0cXOXtĮs&؁UӐ syN" 1>~@4t)-uJa@; H `ҥBO{MDHs:JSBAXo'+\I T 859*붅h(8_P3l~߂.TYs\{ľ:E}FXIt6Ge!,,]H^ՃnZM+چvn~@ILez9׹<Cīa|ܪlE{V>0!p}ѵbLB L{Q<3oPxҍ. iB Lmh'lH֜ejۭbҷ rzH<'hA?aG !=#Y_OBI0!\Kpi+s!=>(ʒ}=h DT>?DuоGFNV;؟}r]וb4G {nw,vu|FzXab6xf"H8'OR&j޳FMDzhw# }6"c@;wDidl@Gka I H( ,m\qLBխH>BӬ& <ӎM5j m 5jrצɠ|4 {L?"55sP=J3CsK*0##e }}䂎0E tu ї,u_\'(*,2h?1Gq=NM(7" W~8&!G_ 6 L`pw|'x/ٗ8B0|KNGⱊ;S? G2C_*Y p\(}^c/^NI aOl L8Ǝ$4D^U;ZqǙ 2I&m`18`{wF: PhdΗ?q[ńTP~@$y2" aѩ]l$R륶n1KBֵNy $ l}!ޣpa^w^D( P|;! ':wK#p)qB[jFT.1-0:| ƕ$!i> }da$ Ir@f!XtkQ?"cD, >>Et`oQM̹tfmz z]5{$n ;y^C!G߯6upԳhS FS uw{u]fn& w`Ȉh^W]1iL#],G =ǹoZ<6/chg$0Ecr1f۽iǴ?qh7ȉ*$:0;iaPv$2ao}H']ғeN $$dS@&Kmg 3(t?3KF =Z' _orA"ؘt^^d2 󚼉876 b~>S t+TFyzC=yw(D`-PʕQZ*l n|yB>"sNFGV0E0w&PPJH 0M}e?QbƢ,Q4`hZhyc R5v7 {!x'a=v7׀cD,y$ XF|"dz7 g}A,͸i>(4UGYiz3$@q)|d<=By:XLu+ o{vt^xdUQ{] n{,G0.bMHdC|"5`D@E̝/L PG ?Xȡєk@{xR02$: "PqEg,8,?'yYVm5"Pu'vQi 9g6y/Wje$T>Kn]*QfO&"-`b-#jؤ-0H(rS#'#x[Hn_k`v-~ە@9T |^_4{;5_aB)wZ({~wċ"ۭؑ->c#rVzUV(ݰR kAۛ Dn451_oughWl!0@oa|@=:ɶ{H EN 0u ,*NFҡI>8A` `%y7ީRh$p՗c^(F .-tCab$ J`֍E*86 -r9)JSd䉻 -$X=D;PʑWUҏfMsX}E=WǙo_#=Rȳ>@ Ϳ~\uN)AT1)>tbR__uk膖xҫ' dBkʖw~)CNzƒwԴ `HINX_m}!ċUT`/e[FD_y.p}bvea@*$wgQ̈H@`;qQ1Olj)A0zqv' Pw^NS0p;v"X>"N5! @|)6%xh%ܘt =OӋ{zRO-x%^bU`mچs#" i0=ܛ$!=?|O01vN/aĘq4UAHtyE9.P`1*0 j ix]n5.h4,4.߻ʄ?o4? r'hpL{?wI<1ksVSnHF=)imWg c{e G?0\h"iKOumyuuvcbIBBVf)湆`f񥩫V<](] 4J:F ba;Di[ \!6FXE89A%&~-?(?CI&!GL|EXIwAV#m!2$*&&J߆X 6}[ $" m:k~;AHD F0I`;& 4pÆ밍yrCwpv!\ #w@Ås& X 0 {/Uʄl̔WDm}ݯ'd"3\B K{X #V\HTrBcMPa-  f.@:6'K{qyXG%K1 UC1{?:WbuQ\(&0:EԨ{@6Aƈ]GDI(b)Ps4P[v>!$O&F3Ed!1 U*1D2ɈnhBe@ B9΍8r0p`Su#C$'#sG, j 1_~ x' /b/tOP4>M@g0lrF~1c|260VZF6A) /|DO咉I dWCP P4ŀ%-42N {$Rё\%bh:e{(?`|PA^2B~ |1{Hrz'2~!'ь wqỶ 0֤՜tS$*.DA!P4N^atXsCps:]&:0FڶSπ{D;8~c;/E@sH>vMS!#ye;cT< y1~kpXdc؜3c@؍BHt۽   p~[fŔ x?;Dx=~%/B:a@XuXP@~&ch١E?pO) j3^{B}] >GR,ziE2teчA#ܣ43bˑZMB7\`Q#^yT}@oR;7"9'

vtW@H2_8>6|'k78UU&7NoJߨ0+4FW!r6"j5"XG2ԀGff*[k8͉($w lÈ;E2K|ݚ WQ`l8 A,w%E;{u8Hr`0 }J9-6=S^x`.+CPw,܃-N 8Cv u:/>92 oޚM4æq9'0%ԹYaU?6IR_CCɜ)*Nl mS(㡾iŠ*?}QZ/Mꇵ>>^p@$d:oq' ?CiИKZSu$3AΠGuxy\:At?9t֠^)Mgdc‑ %6Em ѐ/WExWz νǝ dÉ4cCmϙ@n Ȼ6q.8a D`_3WSP)2e94f.udr:nkMD~HyRo)zHiiyk#~Zt;=t" P~6հScŸX9|!Sy# % X@かpi%0P_џlMk-v?s]ܸ`wgyqH @Ĕ r5 Jq&a?WJ? Êavh( RB˓dמ|Q*' A|,}}/C7p,"g8|܇@\ =QR6@|E^T/0f׌252Ɇ?>rE#`MpzGTDRÎ8fBoX{%1 kPn?Oo_߲yuY4E{hPX;Yϥ.>QGv§%r=p^Vh"HB^3(bv;!ze<4:A3Z)L IXbHM1c9o`j((obtCӏ-asDa{P@]6% Y7#haxX|O:qƁF$BuB#pH= 'w83:^^'uh8t٣&MCWy n1 'u4{oo*wo~?5 SCf3p~1l)1N":dMeCR #Džhv|au#~Tu9y̷ ^p J)]{*rqxp>o~,:>M_ij:k_ OC_O}>ѳzGή_׈rk'ķ_(0˨YN "?nK]L@Y&n^?9ZX.?.7ՙ HdAsŦ(yfD9Q /YC& ́]"Np!j BZ899;tv><]i[il%(-hZWeAiUVaU ۝H24C}m/0 w?fO^3%mNz}QIjnP^@w>q.G r?7tE4 A56' kU \YaBHXsA}p7 -meLv8:I ;fSUN @ 내(a(Ӄ|t89bt xHr}L d ]1f6%*w̛?b> "} ֦-w,Pi?Cp0dg|ڌh/Y1w¶j@SgbBb~BEdQdzMdd8B[= 휎?.ENty=YzcU) m_Y>OGh0Yù$5„Wa>ۜ6? Ni)QO?1B~؄J4ɤs&Le# - 2@&I?J Īf+@6ՀJ5 / J4DPR& BHQ@DQAfCG!P6땭S6U&B -ZX0AbVv.ԏvy&vJ  @GsF Q8IZ@ '=./~.ed߷qbzD}_`8L`I)U}MYo;Ĝ [(g{ ADx<@H&rMa\TG_!I4,F~f06q ~\k2E}1Er 1`FAC"]Em%'{J! %$VJ!Pak$0CL&v @;4=M'˙IT(pwW>|<^PRAi4Y٠9N'j * :1.`ƈ8Oإ4fK { s!'8<<А j`pMMlrd9J9JxȿpßWCt#P.퉪FU-TQGrUd\P ѦP"_rHMTJ%F)?bTMiԳD0#2FD W6.]q|Ar1@;ЎʪI WW<~Q 0 1S?;· [㄃zL_ GsVMRχ*2A"ǧT) k}#<Ƀ=HN<_4c/VC1r '!*To{ e$"K?1M~ByFw8^ZH}{67A𙜘ESƎln|o! H^a; u pZ? RyطQA,VMu- rSb h]lbO{#<$hp'Վ˯`99%dm)K"Hա@[P2ե-ChRfІ(HQ-zӟ{n?FӤ>hKK[058ni dBQ ~z7?kt#Z:~0bTX"+.@!YCA!sR \(:Nw1>R xĀDvvGpB2dXC~K1$PMCjȵܛcOgd?zsXw пɸVMzhA]쌤B1DijkI]d^jNkhC $3v.@눦18U^j19`"Z'3](ģ9AF0dU\eIDɖLr2cMCQ\K:`NvDUI`0K(+nľ@rZ/'3`'~m. k%++[ 0fJHx('`1 BYwl#YxL D2R>nV(t/٭ógoSЍ'*ͦE8MG| 6n}Pd,0pՙvO42e髯,pn{p||")⏴CL7_鍿/5z?oZ6qŇ@h9Dۘ8kք&c1dO!z*"F)gꮠW\>OSc/cf1goMUeϻ⾖[敧nF_Fj3Dz~ifW*nxu'hQ{^uÚH JXT2}n?9H#(}7C珥ߛE(_{c#ureHgOOK>z0 hON9o餤44AN"a?WͶ"<V813M^\3vjK _k|>4pr4x>YEZp3 %r4{HQg ra$Ws^I{9jJdd{FH:TVs.\ʢ$h8Tkz?S?wn_Z'=w_)J)2,"L92](Ya\&W9PЧ.֩rbQi)Iɬ&Yp|`ߠHxwyJRv4ק; l,} fBFs}MB}H<$ar>pk]>~k1:B%;;(Рco^H^]S#/up'ش]p=uI؝ 0 N1^Tsۨ0kdM6B";2<^+CxLڗo5B" a)ʈtq{qѸB>}qlpbck=yZ$N8I; =Z։!) RVhJχh@D9tAz6" ( xQcAzE LIYTd]_ lJ CS5P1טHT"`ۤmxn H!q,PdZX_H=4|x{Cg6&Iyu[7hcץ9nmQEng"@ߎͺ=hj:E"4͘N| YE'EZwڅ0-fq]`;EڀGͼOX^J#b|\B6PDw&\@i^=LOlI*V SwH3 8hǭ<->߷Ϋ|!xpE]\$N'ki\5 ?y|{@`=+(eθ<9nynhzgRj8 5^BeajpSz]!؛_?BtkMuH ]Xse`kA;SFrfʀ2hO_3 o+`y@䐊0ǩ{+msz8UW,`z"J'UU,cIGmRp|O{D4fv. yk[=Y>$ }u[ok^W{%;.W:QLѧujիUWUUUUZJR+/|&5Q˓OUȖ1[Yцˮs[ʱӅϰ Xpꄖ;*JMP揷{y Ծ%AC$@RoiL=HUzD=h h`JQ=} sr˲ie$µCϣwG\Q2a;c@zQ{ Q NhSaA0UDcU œ]

*/O|I5 y! !`u0sF 0HHpN̋v{=|' 24&^1UI'nMLYvs`:&g)'@hQAvkHYɃ詹ۓ EXZz;UUDUU[:tG^lh>X؅]xRI<{:∩̏GR9P h%ant˲^6k wsMfBJf ɨElir@ֹ7m`{24h(Z6`WK `\ jC\C޶2e[& y7;\3ݓh78 W-ɚa!d@ӹ w2Xtɘ #ք fFőb q%N+ˍ>0q>>|ڐQ0,͘fԔX6Z@l$Cx&W-0c#S摡My'wf7n*1%Axf6.y:riq]Z#Ggj Ge2"r y͓&' B&O ,kOܬC*!ܝ0K/@N@8kKFW;Mڪ};^g|No u㡦&=$$ΏHI]Rۉz]"=}#m߃뿂J}f;ȼU,d؄.Ut;Xۚ!q2/ MUcA޽C^zz0 "0Ρ|vDІ9PbJ>\W~ 7. \.Rˈqx>yoCS/F8 :vO9w<<`bG5v&ɚpC)əf-Ƚp;`5 9<+$%J%s t{dpU8n"`)Q0tǦx0h5[[l 1S4&DSKi)mi"I}{/DR0!ʽlky 4a'Uf Oa:7ڌݜNI%׍ Uw  :#z>b<( !# NLc`{DJpzBp_,&Ԏ !QD C];c '`|~a ʶ|w-*~Y#=kؒ!{M7q-kw }OBnUcLm zxFb!ufuhp A ڊ^*vs,ѝ,%LH10ik3E >˷;˟>m6ad,qZ\t: @!XiىJҰ;.ɺ0DKNe3 bBAx$ -v%[] *geX1֦KB1Ȇ-t -3|KzJ'w3&=K4"<v6S{lw;^OyOYyȤ!KŋfH Rv/9MET^?_!HoѬOJr|eۚLhH-h}7;=Ni` ϫpPwH;Z|G0e%|=0Of[ !0$ }$5l`ξ];og%ww,H2:Exj}vb?~ ~1p!Cf p780ymz`{K:MT$"a3=.Y!24AW]R,#߫q)uY #):УmIZ0 Y^L#W|_-l}.fE _>w pOdT u'C?){ibU O_tp(;;LkA#->DfQfp䶌 ,nw,/ kN?d!K+ PGyQr%P44[8jHk5k*+ 0#ױ Ld;=N7??Oe_x~=- dɌva@/ߕ2 2u/t\ֹkɓrLO)4K$C#A;4a,ކa*H^c~m\JMW)E4~ #"I-idJes/LL=X20Mg7+7_Q3E/2'CPBk R~Kiz(*_{WDDF#DAQNN3u09+坮UݭyG*fIk2 =ADr6mF6Z'G뮨,,Ldq9h=a!ݘc1%`soݜ.lE6a$g`"\Q}mȉ1]0@6-H"`ѳ*;d))r=ch41ʈ :e#bbh4(g35tUĜq4L1u_eQjj6lfŵң_EY5~2j%~ !2Ek)@?rF+.u7?ynT\7\Cr PNxlX_ϣB 1L a!I Ѻ?KʇtZ֐zq "}LV$@d17`;q'jRP(u ~.ARLGGտpŴjzA #)!+WdUhT AkS%>&5;$? *?"aPƢ@h_$'jM~^jI.eBA;qk3"RrUO3i WSsҥ:Hg}Q▍FL@R 'MDzM[4;NǞ"/fqmNf%ȍ;6Tث3}|R"nO'vM0?'ɲ4O_$dWݮw+l{.dHX4HKP|,ډy9"|+ *[ 4Ze ]ڙdBd&yc3&&]Vn@N:0@8T\7oy˭7G :š4:$P BdϟPNq9Z]̗ i9)ļ{@  HU@z;Ǩ^Ą A O q@~(m7VBa g6 z2Y/B!$,8k"Ԍ8^F$ I`>sߎ `y0mHXpI 3a J\hɶ̟z%Ukw^Ať_8u8?>' JBPJ"MvPfQ4 HJ5D#>| tNNت|,I-R5jj]jѹrjjeQ@)Ba70` >["B,`݁F<VGшX=DiЬd`p{jcmӣ 0UC*i0ҦHY`0%&4>~}>RxxKCbSs{+"B4@6,k;.'t*q@2Q{bU% =HU6b_A?`XAD`ab0фD@ә tC1CI[ βvb-W=\E5LgoEU5g7:F@_5@sHࢢvIDdfW`qa3Oxr_0݋AHP3Mz|Dvʕ@xሹ a`$ ȹ3ZWY8VM4'ikWDOhmQKE8í!IHtB?Aٞn'Q|y) EUcjcaI}`ƞ+Q)kFZ ,}2;sdYDCDR,I2!~L!c8dmL+@Z3D g y2tt(MI)O DȊ7p%1!Dg-R{k[튻ԙ$#LDO}e %٥yGښ I _=8_};Tr~XD"}ɀۯzvXs.mZ?Q3fC4AaG|xp/iSfa@DJP"م0(P?'b`Mk%SIahCLh!" A%FF72XF{@ٺj}Vh=ѩ_?:$\模dAlF"Gm>p 5W |P=rcZ(b;}dQ:j ʙzݬ4aiߖE!Ǟae yČ R[q/֐G$>R(a|~G-joÊ KbY İ8ęF56Z=HH TmbZƬՋZ` s`g'B%$V<:/ٯh)x " vj9E4,Y P4Xw Is/|ml6/h':x@c㉵N3Z ̳uo9eJ&Ќ0fi&Ǣ(BAݰd7K8P @BP+a؁6xp8ILH6B3k˺*(8&tG<9`26EL1O,uO}f X`,Pيya*P+P[CyOgCrmxp좑Zz׶SoL-3c\E,i-1)SM41 T Nՠ6 .pib!N\WSR:a׳ $B8FFmpgW1h &*8f=%L-Hv`t"jP$i$-bUh#YHߜuH׽H">vT|a:0>oZucw- hT8]a"K,@:N-󚸢A,IZ$;dyv "Jqh*yNbYZKۤ7Bzo~$"D%Ctbml9xc@%95x] av_EmK ҹK*DiߣkUr*5!DaX}r1X ˓-DLæOo=  _W?rphifBbR #ʓ>#bV7 3)r hd.bm*r""""" b= <g_!(d)Z[` w9ȿ!pvCZ.It!&HPYB %(?YNݟO8v |paṇW=$4 Re2O4&IV뷗jV6/9"Xguݩ3SHOp9? m@5:ܔPx< d{4k cԫ$7ʒ.;<"#`gS3xoyȆh$;BOʀ_H11XR& Lj5Fb9+IF/B\wkkW PH`a qc- }cdA(oh.Gh^六"TO*B=~/)Ÿ ?uN|t:DҨPR IRq$1d>~,r OZ'N.ʔo#}4v[Bin8iI'q`3 n_z4=4 ݩV~ j`9z>8l{He ae5l0G:CL[7TmŐI !E _.djfw!"1MWֳ2+uT*wqҎ ;N|#!'GT]Y4BHgXmPB&П "l BR!I@9 a"H$=H%/ꇬ'lȟ/e]c-AoVFJl_Q_}h>|+|mvv4ێ*W@pGnYCJk'u{6dhD`lq4, i#!E>è o(naċk&5j  mm- ,uޛ\u`GjESDrXrgɴywt_tQ͍i "c:#Z?b?PÄ.,1'އ;'T2 %ty1}.j'*,"x 2KB A޿OMģFp#C5/f6!E[FF 1/<[+hBȶE%1M=1bj9z)HI.TX m"0- w FA-N$B':IFe2W#f0i C,hmrk ke؂fU1841&,.cyZzC$rJ^c`?aD'pוWNPRK;a8 &げk(&F\L u܇Sd?rd?i"?l >ςx K!ZJ@SC@}%}`LEjlTI"hXqׅ(bt& r} pnǷVuutw:*ƴiWj.HI&ӫeto.tNP*n$|T0pg4'a偣AssiA1,45kjمlE\zJPPBJHB =^ Av L'<G{i \Du$yH&]:Vcl-L+ڮ1ȭ80ǡ3ؗh":RRsdZAT`P(F&zp~/܍/3a SfgF 8H A!9bʢ -/]J$m2m$fFx,^ͯ /OpcK "Ip:Ӥ$!vBš2}5!`w_)^b>1"^q$kg!$tC:E>iEcCSM4hVdܻI` ]TNS M0Y;r< /HCqd<ѨY~" >(wq6AJdES~%% OySq0?'ngXPxK#60XI$F7i#:Ϗ~Ci/$rSxT?.D#A}sT8Ahc#ݹch.竼 {C  'C IoRDL,@$" 32E"Ej:"(*\Mm ČFɷt: &e4H8qՔod̑6! YMQ]D)H:f {G/̃ՉpGΞ;O ^qᅘaxaˆjD~1;P&xsP^#,Bp!Wε{uG() 60?8ellv `OQu4 laZ4OaU>)V{[R֊V.a=wN lD֧LNY&$ y12d$В56EOK{'0;@ k- &jf3¯.5$R b857F_ +Zgɭlgjq^B4vp2!֛ar2hkFݓ% '/E/L&@ 63s|6|R "%B.Mc h޶ov;.i\ f mmq6$h٬Ѡ &i r $F 3"+m#g:7'{O 7+"\pl"6L(8Q1}o[+*pd)oH˼{a^$p;(eXm'C4s#NGF%F&JC뫒~ :[`/%[hzδn1iFG:-ii-cI)$./}focCۆO›敬|P:m:qiD8ԛlmf®Ӫ MR= vd2aBRp=6ݺsl YEd5]A݆vqxW ,h] Z$![tc);jԂ:43a f٣f426=:=uyZQ h6uyiVeB[VDm(hamSj բCuI An,&Jc\At+^K6Ǩ4=OWy7,{k)N2 O3a]k!20<" dJ(f ?Rpz˱,q%tt噉54g-q9^B68Bߨ-zyňPd3X #f<YY=}StpV43To*!Pv-$:cr/WyMMj9KCY`tLۢHY:OFfu 7ꟶÿmfO:RxMjȽ,Wd@+_&أԆaIFB 9N676֎&@!C4qַ?;Mfݨ y{5(O|IH?Am!'"8u3Mil4EDTZ6ŦXMlhKb6֦Yi>3ȖT%Xt&ruIfmjUErWfYj5\.BlFDޒ%;|ԄH?5>4 . L8aK JJB'm÷ yT4>X6 qt=C[ud&ГKH14D:4box#YC!R9"/IA9u/.APy1I$(CƙG=R/J:(2ubBbŀH[@5Qzg)7m$fU(g)i\Ymp!2iꮢj"j6[6$Z8HxZ8 " U7^G#|T MmXK}]]zkfxk7]z^Q'@nZ00p1@fcc Hٛަη/ Ha3"NoYaK垍<aNɉbAZzV$.0͟@uth-)̜dn 2#!nXZZ2*) Wč GY6n3xZI ̢j?njRM-|7Jim7 S.A`坍$6ȡ[l?0=Lu,Q-%GYz٣nޑ(+-L@8KE͞(SG\{]|2ɋ ƃz}vzl|"õZ5#&`DXCz!(rfBH> ]K!AqÌ`pW@?(*3UdīO_vl|2 "W4i7P XZi"dRNr+Xԃ^6ΆRԑ8TM57!)CrF$m B6XU@W|7\!1AO >A}hy"dW s0$ih#y6> W1\mȨC3 1 ɯQ~0ed`#,R IIq  VJrL`b B$Y \0P,fq!aƓ`(=u0|@k`yj:[ߔ$TPDP4Y#kCeXVHƴÁAr%jN'Nt9J5zCH#^H:y`CS$ 0! %IM=׆VIچ}nFsQ2y Z JR:(>',5o) (J)E) x947ZEaf+d$m@zh!'rtpUPAgw@x/i2ee2f $L[h:iϷۙAH:٩ Ļ?kӕv$!w囧iN1D28&aSeaخ$]_%brM걓ʺZg !ɻ=fw7*11<8G&%*[j,T i":G*H,hhĂO8?#zb>X%wqxzH6JVVBnEǏ\\~'թCns+gP5l0Lxԃ5u= yAU$NIUd]~VC`/s| DM;g6 YA\T' M@ h 6C\[MEu/G0iv ?l H^ m=i!wƯ{ I$iAtᴈ׾q/m6 IhEC9i|[.Z,GmfE}tCeHbG:;6'.7kL)ks bW^o ;$rx -^Ce 9X2?/G՜y.u=ehݩaӞx#Fh4" 1I18}6?(Dw3}mGKZѩ^&M5gPѠd vY=3] GThGr(s{oJr H H/8;fSZ=ZT F1@3^8pfCIoe~\=e*?-7`\"?0=8k\^5 n1X?2R+:- 1bޏ_gf82&UH$<8P'l ={ LH>f~/i}fكY̘bH-e-…; 6dH#κΆ{_ &1FQ`h!Sk^߶; jW$7aA9N<l!0$8[?8 6t4S,ᡌD}3(NC'uGgp?0pȾ‡q_y!|$37Y ]hKgDrT2}"?zt>B Bf6-"|oیj@ +h:ݳƕa @@TaEWC0-82 7"I;gb{B"taD~Iftt)Ƈ?2F.lY.]9ʑ.Czfзppfs862Ǝ=ohUn~Fߘ{ Y:.K.}!v9GG:$#q^rva +M,=Dyv"4^FG iH D@H DM!f| Oޔ1:!f AH0تy p~YUAUPBD5`KT8^bncDd hxl?={ &`(&H4?|_{7ܠO<~Jg8r#Q>^ef tC[0kJԊ }s<#\qBڣØJ]:ڧjtSh dV1M[2~2!W9CB ȎpBP9i!|O]$M.(Qe@zE5g6Ϊm4>+h[AoS<3JFwR#&~#gMSD?A_M'_"_Qbh 6{=KJ!ݲpݱ*M3٬OZ!$Y(مDR nS$&Z91Yʾ;T7>ٿ/9-:BC#'[ћgXck`x9KT",)O:@Jb }ݷfFg^iJҚ.FaEѮißT硯_Zwo_랹r<% 6_=#]>|-S3pa2E+bk 38 \{(''`w!tQCZrNAo 3:~/a> &`,WBܿ$KtN@{pU$i ^C uH@-?$h@+ HR U e'>i[ȦJGZ [sriUQLk! YS"Wpᕡr*(T0LB*P(º5@iic_*,|(hϰ>iǂy  Hp)IG0.16HjA~AYDHQ2h˄| 0 TT%UA>c'K$i6ɋ Q7PNAUSW9L#8b)ZQw ((B@9qm4PneC޿;!$}0ԃk .&]xs M5FfFJMڎeIM"5 *ZR>0,TCDw(Dts$8MCa~H0tGDm2n06_05N5'C<1Fd`da[SEo-ҽץʢJ9 S@UȔ7x?ש R@t2!'bV 44 #[0#4m`BT%B% lօ]"A g/Qf8%A8֦6IPKb;m#+ %h@Q%8>A BKҮúL]N9E+IJΘr^qQNȎ:DcbC :٘TDm0GLI7^"a\9CH`HXfl"+{5U TTiVcD8[փm܇.*H%uFdCU%M&9&eҍgfClϳp-rV&[Fs?O+ XaoM D$}t6p+o[-'LM0.QrU/Ca$!%iDnrq|GY>)ŶQ%َ&VFMzdr G/cBH?y"I^0dS#CF&#o `O$`aÀ D]:b,[HuC!% ۄI9۞%j~)Սᘐsm!k!57,<$L q0JEPimUͭs8d,pUkzz9jW (qɸՏOjioroTXTwTdV*G]x  rƠ1*;i0#ңl%Zs5z K7 X-Fᆘo!iʡ(' ޒv4 ?%ο"} Ch}::Hf$p?}ZXq, ) >~gbV@ [_eaC&bBqvιiS#6}HdZ A() &C ʧL|1PtRgTrF,?MwrLԺu*&*\u1i|w!,t;\JF0DF7l!3m!A*^uH;2Ԫ61ͺIݪ6u qsz37Ua?N٭nxCj2)$)uS٣aabDJ苀Cd`Ѿ>,(#63ٸxlb˙1f&]؎R 0ASH D4)Pymz(T%PĐ<@7vO&0@%1Q ݇!@z0rQH(ֲjZ)Vޖ͏)D>%f!PD{튥I95dO CX|~ ɿa+Fȱ4rs]ZS_,w\3#j|LPz|Ӟ#hԍD#Uk2@>eП~!! ! Z5A }?yQOqlTGH4ЀRdk|8*)wc_j. PGn`g1Zd斐"*) @00b" 5a)hJb>SR(TH FXIN gx2So)N 4;ZD@ bklmRZH(/LŴJK"iG9ŽcnMvR-*/úXpxH?߹$3u;e/ O{Bg$ 唩)ҎB$ ЀxPEl.# ѰbSjH c4 P~qYNoceeq#-CD&%POb*pB2 U0 yMwpwO?NfdBq|!-(~:{OQMw1-uįU^m^Rf{}UCg'ŧkxd İ}><:TIQ %_˕ TK'u}X9c^hAWU\b$eؠM˷ŝdm|0 dzER*⣡Gmʺsmi]srI^9J7]~bPYEOoI=c< ~N؃O"J%POy }CCۯXaSɊG䌐?V,_z~?qbm8pW=L')){Kل PX䔑$_ZCpO hyxsۮNԐlo5*a$%dQAkD%4A8Ў3TcnkNħh+Q -J&@qD`!NC aW60@؃tJw^']9=P1:j m` *I>+@,L@KnI]3˥!CÂ0-$(|04$NzXbCr̿GY]MaQZh.=J |1.Ua15$D@|W![lkm;OaK7Ǽ}2;H&J aypg f{Lb\.ۭ!Tc.3o(V SjCijl=lF j}Hm;Bd 1*CM#8F,P,@ jmbH.@#AAٍkD!MPBI* pbma"?TpHԌX~ƍ#f,0 .?[C|=gރb!6 bPX`CrɈ$d C"n`&JH:*# 9 _=Ds>ȑuS 2)@HbC&G5zOv^X:%r;+ARÆ+AkhhHk>njD.U‚T x8h=(ߛ)21IQ QMJqyyk⺝f٣^i'uDm C?o_ntf߹h;.ME~+5;\vw{ͶUv'z[>6J'67bZ5>%DЙ%&L0SdK $|Ăܸ Y^[A, Hziz˩P&zzLy~Tr`̊yChF!Q @@P'|>#P =aCkkn-QafDNƹñTaE%#1 `Ά?^aJ bBmI 8cI.7 Ǜ1yɔ/)H JB QIѵF5FƋRT"DTh%@Ւs\֍Qj6Vŭ4XՊ iZ%F%ZbCȎ2PG3`6VQ@x8>gR 4-D) (IA`z &MXM5,~5~BJBf1χkۛ7k{5Q x%~~]]ӈѦih_Zsy L<$ 01RDT]CtC@ڃ+ )E)ebL1d +a] M ʀpR| T=8RGP9oT}GF q؆]`=)J0H y>?+h0080 =lD3 Nf`x}yv6$`$;TNx ~]U_y}x9O_yb {| =2XIH3ĖD"} =vdwgcAl&H=?'04]7N>hM|ou4A `$Ut8l|=w3Y%p S64!ҧ>#QEPvAޝ("}E3Q5ZG &B3$0$28I6 X7H+LҊ : C&}mbH%j +<~T@Mfp΄ˣqH DV֒%txmrd࠳ U@>_nO-oj׿{vޭڜ5̫Vڗ̛ ĕQK6*u\d( v"ꓗϓB/JXF+q{>s4GohAuR|}T0hD E!~1|WqrI[A@C`%PC *H{;LL|iX޵MZ"Ɋ$:-pb'U ljC ةD8Gzb!Gdcbe*wBCCYAbbIa)nK4l|4w=^[(Xttqtv"@rCZ~\x}/VNES3Y%j.l/}㨃d*쐨ޣ?@;rOܽCc?n19wjSmkg .AR%R%P#̛oO?_r A&hXrPBDv?T@rĶY!h_ǘ/_ί$Z(P)SH(rl$ٽ˱*;Ʉ$Jt:(G톉W>$_Q@u$23#AfeFFEga~JD J$?t;MaD+>on&}&,ߎzCDDJJTt DiA 3"3? I?~?$%;;޹`mJT5"(NfL,BoI/U>Pehs$GnqX BM4A3JUF#HЁ>3cpzvUaJG3b3olQ;.mg!_N1>K4Gd4R҂2/y抒+>sS4l/L$%fIUUR/2{7$@.u0&( Pq鶁dG$KR%=qr冋,dѓCCAFO~3cǂ?R}* T"4MN 9 TPL7s) `HT͔rQ ܚj?st r3f IO׉ɒv`z%`DRyLiwqC_C@wmq%ꮉM o]Ra h̝A@32KOnx8A*@ ~ O ].8'g P@ `ak#w$IBuL {_Tܠ=rQC9g,tB|vϪ' |H{S*@KA~13T6P&Ny<8Z\csKɲA4+g5 q4P"6@rd?@>|yYL b7n0vt},-~<j` `G_=2$p1=vIN`v j Є=k6̊B/HɌZ:`-BҚ89RrtuGǏp#q9|A'{6na9{~ǰ10 p0L~~'wM4[&w1tvnŘ ?8~@KH́!-`ZTҴĘ!Z;g%I0ڄiakF_TkyXv#IsPƨX\ Kajݏ7CbMeĖb~I5k:Olh m'ǤĭS ŽYAYqn?lkuM}0.g+MRJ48vP~_ty{XM`T{߀-}Эz ،XB'2 }rB6BCITFʫ[I6!QVeM*jѶ͹IyujFѱEkֹӝF%F2تm֕03k6wu k*d7Z)lZ"fJTTs2]o'OiUi& }R}E;/.C0\=z@='6j Gj.K:$EiG>;N@4)QUϳxGg<##O;@z"Ghi04ĸ8NdU:Λrz{4%ݿ`f_v0b^4z!܍/n`HA2:zZP Lr~JLLbnQ)j2eqIRFd҅BCD> 4JWM-y,F)M6iifũTPbШğ_s w2u=fJ!K#JB;7zy+ic }8"< PH7F Hc]īG㮲i&S)bM$6D1" UFVm~WMZ"r/C.#@\Mp\;z6J%A5o:7`%j N MDSPz4ڿ$QI/rATFLj5IDmO A˒𨰇dǪ$MFk@bCuĉ ݳ&'"2Q4ņ3]N|D,k_q /v_Hu%f`voz7/H8R mI\HCޫ(}5dd|a0gd:驀F;;Rk h\eF0To4ޮϞt.OyfPVHvPE!%Y4N`95 ,0eӈcmQPa:9T[Jo)w1lk+PǑ"C%2eM#V@j:[T.D\!iBk 3kq[T H8FAR(9ٍ2;ؖuFƐDHL'b f@!F"j2dIbɵjMH4r;I۶5Ԩ"KJr>x0@D b%嚦v3nzzK@{XFMH ډy5ܾFFR4{,F0,Ǥ4Q)f} 8E$i s 422d0-麓糷C)j# :J_N 2$9%$ J]TaM##8"NdR!|ƒu?ڻmq~3orm3\ixPm:HΆLPj /xQC zp\S‡@#fHvM64Ǡ!=j``;l+-1{M)cF0!v^mR ɥfAH5,&?]"hjQ,sG}/L$0zz;,٤\d69`h64 #CY;XC(tT>z€H IޱOFFO`m5ҫ#4qf$4y>|~s &q=tjJ~l |{c֥, 8ȼ 3-)C;b2@#w. ]#` 2,"-OѾ5;rC2 b[X'Pm" XPFH(DT)ђZ,b,h؏uHH? `doIǠT\! @ܐ6@Zrdr ׸f0@cp`.3 !ˏG0Zq"qp?[^[}[ܰ15fJdu u|FKFH3!alBfFXjsu[=-m[^u65;F$U; DKU+mX!@F9CXvpيzm;s6 dIavY/.t'/ph(MOgK *r̲?1q*ǻJ{-4oqf aZID颪ChWmf~)ֳ1Y.&py*w;>l58(QcAFM AA;n!cisƒ*WAG?%ǸM c9XR)`uPx_c>1^ba27v/DKJQ'nI~Ère= ֊00K> ].1C0T>jT,b !|o)_F@۰oɢ?&/.8x涬=@.hPkP=J./x}O7|o&M;~u>߮n"`H^'}ɮJ H @}! "(#Y2aE/o_\ QO:Fۦ %^>6AրP2kP 3,ELr! SilPZ]*DR~v: ؛5GJ7|kN4LD$S@ Pw"}3!=@}Ƥ@"҆He]Z ظ"Hʍ"=l ^U_XX-MLZ%2cG[J ~Cla i+:(a& .2Bx4wV3/ M[  s&(0@aUr5IWή.gvѬKyUXci4Eb:hͣ7Lm @MKUd*强,!8͋JbF;afRy6ሢqp0YhӐ1ѻmR$.HVܫ0ݥ0of-HZX7teFDF` glj701&Tiƨ,+"`fuJA8nh`10 9F1jYYC $iZ cf,"J2(I] @PBJ5Uo ȴiFt9be&,@Ec٭hzzłR(DHLhlpj1:tn[uŔ2i`v&5*M1dM#y LK0df6 ׁ`dtLEC&.Q/vO_I}|`\B }݃?Lrڶٕ2"2 $n&qr"&=rSu&!23qi0$!FmhX [Pg|ma@LiFjH$؇ʆو¢&IYʭ}}="(,EGcFmpMU!Q!ᘏfD(mU0S5[a?D-I=D.&3ddbF@%&.\֓M+]̞SnCSAL:(Qf,Rx6䙸1I Y^rMfLVR۳]qٞDpiLS ,fabs#KJL|mIN%g~76`ped&">F4|BuJQ0d>jf&J "%t"n1@LgG|4]W~n)_M/]'hMg 2e݈֐?`px{3 ]kf6谈XD(QOxNvX\lBme WH؆Ŋ3 ƋPm*\u'@IO\ DkNi;n-C>$(Q%NoZ5d,*M\ PԺ  ]1VGP54֔Im=ФX%M*" DAV(PX]vN˖RJOƌȸLKh$(,!떁% R"Qb}5 r  E*vNe@`l3,Sߚ7%0c6h#R4LxفP3˂cDfbTD֢+%c)R;?}b"*H8銂Vā.[vQ`7@4|6I*f,#)ji()(v@<4&\$O1x pQx,1I{}_wFu4d # 2TcǾ6#f2V UtlPZXr}ihlRx2D\]Z$ۧ0@2u\^s|S" aM$7P@nJU(D+TLJ*R}sJ# ŐPLJ6Hm-ԬJ}KHGP!1K#Q I'A Z4)h$ge@58f b+,E$]NqʛD mg INDy{W@#m) HqbSxHJ.4#QL4؋vW0P p| #A+ t4CznH }\e'XTPT%M&3 5c)f86lY$:`vZu47P$P+e"`]L4ɶE[ԤeA %6 H `"pn4*7Bɴq1#@rFN?m/B盬ۻrw.]Wmr4jmsY3N*)`h*\3<ݨԷ)Pf"ڜf%aF!]/_<_=ؔ*j-RIKWwd7vu͓[475/Q-r44(F AN"1(!(\ƆȆr '˻۴ݮIm "" 6Hh*ksSL(0"JĠj4= (tU Wg1L2>De)`Q{ka+,vM2 )TB6E8636+! $T]RbSs!fY*9rK0938.$Tzʇؚ=NIB{]+Q+_dЬzZ\!t&U=B%*˒4l~/cI>L&?T 2%3Z"m+OJ)N7u? Z3 j|7b66qĆ8GIr77G7hÙ[6 K:hi=8;0xʜ] $NQoňF,dF)M/ru;!*4>kQ=5ghTEMgQ&S$hi 4L2_eA䃑-tZj{ Dm.Ibjzc+|靟w5o: )z' Y{hn!o! 51ϿsrIQ b1qBEdZFXdS){,=G"gD˚R9>D !Ɛ6! /cePc F0PBc"Zb!p B=PzÅ )Cg_y)O xf,R~M1j c @58JCucLDē00QpS (B䲀@d7*K(({0aA;Z5@XGf#3֠Ӧò=AzOm6^d-m{z޻vYEwrfKsNsnu/WE'-ˮN6F10 4iHY I< `24be4f) B+M@ @A􄫒?A=*d(, =a -`IE/o02!GÈD'WŌ9 qP v?| \}_ 0|Ah~&?S=G=><DhNQ@eRoP(E><* {? 2bX$dqs$65HJpB 6D'9_TH8t">MjиƑAp&S¥@^(RANRBk1P :FXF"Am0Dtj~,ȡhLOuߤO]M`b !MQMB %"SHAgO')@Jv6e%)h,W3yrFQ5u!|mҴ IndԞN"03Rj`03LjھJ#$Lһ@D.D@ehf/D .nIjTr&5c@3YkUl~ӱL"GĴnRY=\@I9?u1jBnaNsj,YSј0m00 1L*6[}ЁBP%`H`}H㺧 ք4N#hkq)tޝ3 HN; rqJ{ӈQ{Jc}:]#6ULfVwǹ?1imEޗ5DZto5nA*c!iT&KEj ,uM?0b:3(W1Wj" "ʕPci=1f:M]Q9uuM(ܻ4ksu*jLƶ3:W޼X]}wOkٖ湴ߙjMDZ3s ]<}:6N/;xVîؕGjGyn=xCGJ ZHG>_{ "f9!qCS42M hq  Ϯ $8s.vvOi f BEX A% ~X^ߠMI^ E rØ TCnU4ɈZ"A|H!:]2}c"X ѝIcJc 6&@Cx DUR"J}a 7Sp4d⟈>:q4^l!Op5" J4EMR0KT6==Aexy9h ܹq'%/* s5}u!̑(/0"bfvH)z1f#1ˎgShD"Bp >]AjfR_~jË`TB@@DK[U`ozg3O>N_=iE\If&%ȘY98 M {;/-{`o`lԔN#jeƛJl,`nA6ѧ pp~2\h `L*C>*-aB}_bp E\h==a2w LC\"{޷Nd||kcP6cfew \c& ë4aA]Za "MT;ĆR7|ere}Ɛbx2`6&C;v :u$N`T5GmZCviR+( J' !>M2SkA# >-[q( Ҝy1G5mR)H|ubhADM^4C!ZYވ!! 挃nzfGLGF!x5rDhϱa[7 {vn-6n-{6nݛ"u(ɖV<$d5Fx!&Z1#t-`+U'W=B;ѭ'z>A4BȚ]W 38Pѵ\bz`qyS%]dWɁ ϐ8m+`l(ۄ%^RCBُ3MO $HA9if,]fF#7;z R$+.a<31$1R">ĐS[[,ea t3P^V906$ZL)tS ,^>X) 01a EbhX́dc?8SݧrXS"h!06)*iƃb0EPUJ1 nd8O =;Ӯ۶(RqRjjqt%]Է疙I *!CdGY 4r!'O|3?$JH0;AۮaE!_I&plA9-'Iy-nzhg%r{VUMHߨ"(" wüf]T ;c;0-: $$oM-=gaDANn nxcF R'P>}(?l= N}I}zߺJ.qð6{bOX N w|ODM?6תKfX%S G@Ļ8%_ w9HdTl3AJOO #d^ڤRwP}4aqY&8~il@O.IJyvCqc1*M 0)cE/ eݯn#phu&i!T!ssha)yd"A}x4S}M<}8WN)Y@ Wq)pRBQFV]٫]Ӯ7O~U$hm/% p=-RFxB$BANt VSinm1tIw|{ݱ;5rK{W3]mֺ?]C1 ^{ha6(OwS6eeمz(t{]{܈YAN1K1{2n9 lHАiՠ۔@kֆ8a{e Fu4ԑXGїR܎17\:g15Qpc⌓6֘Jh6~dL$E nΧK ĒF Cl䑒H!ZcN)!D=' x> X _]a꙲'8GM4qΤ]|m7C|ή^k2*l!kruԅXcC,Eb}eH s19=ߠ`UTÏ#&c6;+*qL(͐ETI` AS\pk7PΨ#sPh|Ğ.=Nn## }! a,l61>-fNqW DHH It06!`MDD펰PfGAN?i# ùéuV !z@f)[ML%KBb@׌"}(_^|Sʟ{{6Rڄ~ F(~e(UWwKs('kt@CN4Fˣ7p6@U@ ޛfYXV۽#odh!T/%p"Fd/TC>h99U]78M a+Be۹~]r%!5/57皎Rfy;srz݉@LWbTnvλ R Aנ8vzciݻ^Oknpzt~^u]lIͬYnJo!=ubDA64$nd:Z3zi ~)ﴼ]r4w׶\͖׻/._F7wct^^㗧f%o7n_i|)L])Y-)s]+5n-emIBN-5KvqK%Nկ{E^^usrG[8sE_MTČli#9XPD "OX2wmq>QUJ{,㬛bqcnN`GQg`T 1mCozU2b.PoMip`ɉ?c6V<3GKrеv^osI]Te- KT"Pi!#rv"Ck2&:Nub##qFbZKSDNBs2zghfDUaǝ7 'ig(ôCo o0^;)j&iW@cKB$ZqY 9 ) nh662 30ߪ)MAqn{8qvoDQCE/Syq6\F|-Q쟿=C24;6zl e0"Lw@U!C yCڈ8%V֞lc[`J\)]X"F7kF;#H\"a=̈@dWa~7&l 82F l2CFM 3́G|$뾍Xj#- Ѡ32vϛ0ZD{qb`r2}$jQN e\?L)AC KKu[qL(w8*Cjòif{ t V=d;QU;! B6}F-9P(i>芊}H8 4)ۑD?P }SACR>A#t&l9}L6f&ٱ$+YPȒx~&ML@-$(PPQ*iMA' ]綹y& iP>*s(8(/J nC1 6ć.Xyr"! ƳCXabwJGfӭڨ ! R|CR*PŒqD¡l.rٞYqD_18Ar=q(E ߌ"S#!Th3<ˌAq䜧 y%\jB4\PAֈ-EFDg3wH}=i~25M2DI@L]{J  1KU@jR,([B4(n Vk-IF2  ""#a.Qd[n޾lV#/[gUW>)^8ZTd5Rtt^_,6 OA0? @Ia,,/3Uh5>v_E 5^8\+,i3hקRU_ȪUJʘv3t_/QyI 0 6hǝ \C@=Hg8tWmbgh >LS!2}i ē_Ys|leP++S\8a!P`o{Ȕzg({7bqaP8B[ō7#$! 険+pyӀh4RxF614o'LݷhhˏQ)qz0iS1V(5Ff7Q>a[d/8NmM !G>衭q ƀFr?AQm^i E0S=+?`e{`Y1gZ.-*^\0bև$PTJgI6 ۍbxn:qO3_xw/)=y!$M!!w㕂\^z-٧VB.%>{FvkbC|};vCNR//xxa`W[?D2 !Je/XZbQ!C E@?W?\aYlw o$YtNB;w']po=DeJ=3|eKzhb; iWNnp(k';!WN1K(=1ץOmzH[G w} Pwz ZCJ+F-Nw}|vQ ?592 G~h\[+]1}CIZ#L'3<; fx LʠA(@QT@ Cƃ䮢.|ja%d5M$Ldmz2 J)=uf{=bؚi-e g;0+Yue&lDzr F-7#xeA" c PIQ xkn*nO9 YJʔ86L Z ; !ǣZǍ #5#5 #h3S$:W{` z5 s.߿Ȏ$ u5N6%K `bf)s տ RB w`)D##)6f&"+zviyoZC m4<'0.M;?`?Dlz=pm箸#ZdO'ĞbS\+H`t ^~-Om{lU4?Gx! ܙ 7G;u *:P6Q>57LN!\HWnAM%p3"F%0h&p`:Q0 P3{iid Q v޷ezZVqz-7ybfW$Mؒ42nVT Qm0IjMLZ{ZhAiQ rB; &D"( ,P8dkg:# h#'yan4 n``=$ğ9犫/u w 09#ѯAqN5 y" .`@P|D0x)~I/zd'pCo!nqln0!&[>h WCH%@Hl RSt'st6ѯ@B؀FURmH7B&l}eF!6$Gbh癕(W|&h:h,0K|{A:O*@@?/NEA8y^sO!@д}/ܕ{l-瞉/T"[? @ L暤/`8AS_(.2P$2PiFHFzO''0֤LN{Rs232MAY`%F*XRDcS1Ay~)ڋɀPC3FY)?I\ ^^ː<>nl,ȩ:vaMSӓMIBilcAh>I;w$7 }cXYyһ0=F,4|YrZWw*EOBљ)Đ̶KDO-6a(LD\0_=nk]4LFf)D#LDI5t}wUbM" GPrP;bCpMq֝V^Z[I!v} _8lS80P3BGV{L$Ո$h!0sLOy3m$:ѿݛ5! c75E&@.K2HtNr Wxh"">(LBBD($偤`(BS]4@~I.wG#BDV0ٷۻʕnfv$E $(n'vY­8" )!i _gjHt>S1(+ .|cp⥽#0 42 ޿ޞ޸aD&RMo\8B{q;b* 0a6e\hl{ -pf#[$K]iE0\40`hD˞ x4|,rc~R'ꃔJwO>*S"꤉{ɐ,aA{0~Z~۟\H"4~i89H)ҳHwgXf>?nf KvɴLq!,hՖ%1VL9y11,n\Χ8hHI#lelه#myܘ[9C(Dؔ#ɚ,c=/R@C/HuSP!2!i1ڬ1@68;A$-yF)k|6|o pV'a ?u76H :CH}g*A73(! "}L6Ӊ I$DB1c1Uh86g1 %Ȉ1rqIA$g5a8(mӨM_tXXC(E0 `'$!B>'X䃁J pv/*4xp&@y-@ ++g }}Wkm:`Bx<tZf)W&!q/9h* Pa bH|6ȣ7[@&xh 5qW]c{a&=iة2D1$"rh \fYz+N, `й`-40Sѣ CB˃kJMcN`8w-wi ෷] OS3gC~97zĢí p0M!:Ч#&HSx [ *AvPBݟm9@P x|N'SAG"x愿 GS0~6oGy55zsT^sU)豺HۆMaiPZ~u4 `[@ccu;a #Mq<.NYϡè}y:³1K#HXFx| ԚG='Hߥt AG 8 s7 {06pInEVKJhb,EDPH:9PH7TO +`QEY8/$堕( wldžI(X .zEpcfؘ Ѓ6 VGAfou 5c~j` 0@3\rǏE( l\.glIJpp~  OE=6Iƍ Skqm]*7B^Pƛtz[dLJjB,nN5lͽ 4qQC"`Pj%S-;U7Ũ% )  .t9c, t#LKh&nwoC6k0{ҟihZ۔S@6:mjܚ^#S 1G~Hi85fy9.7$ʔ{'n3]^^(]xiJSX@(; ("BRfBhN﯍"DJ5$*: Lck׻۩jSΩ޽]WUF5b(JZS*JHQãOP;@: ff`IKԃ oa)=z($Tct" 5P䎵$՝r3vX:ʆ5|0S 7Z f+huFԛks@$G#A jj[n@%1f h3pL3p}zc+lV a T2$"´)NLShԁ!31i>!ϦU5 4ήٍF27)ىIk #G9Gv#3;}!)Q :>p`((D=f?>iH95 ״TėUARL+]N({3>&0R0>ȍCzjH:ݽQr96XľklEsgn8J2a mE5HؤWtV6u.R,) Vb)H_e ]Ba$ wcH$&}T?Ja~uC9q|)UUQlg!MD:iwn Qխai0թֳW]@P{3Z Ae(lĀBc}cX45]3d27p64@B=Dt&EJ/([J5HRiWP-(u( (;H /) OAw'`R4!*1xweڭo˟6˫|*N,b!N! d1!4'4 ?  +`rP{Sr<%\A>Qyɀ`}/ j2J:U;ñV~J5$b$$a6M˄"*] A= E>V y~wK5@OP!(j# 9*RrYBg<$e%?&muf`14HhX06 Eĸ-ldG<:*czM1D|DF16ߏ$\Flxk{y^t|)`c٬<}Ơw|Tm›mvOCN!@=$@u&2CBJ !ZNsR؋|2B,km]ej08x&]H0 XE$ $f£ۦ+˱iʽv4XZS1KA62kCCQQҌaZ2S{f C;ʹ 4T=H0NNHLLA0KA"%}&ˆv?0BC4 (J/pgQL;5Fgl"A ``wSI3*/KRd5a;/H(G bVB,dWR) )0,#bC!Si2HizȺ%L%ԙ"3#HP ,FGq`E>nFFn}J0ZzyGz Сa9kZi֪#(A4&@ǐ1TPF!&f\#Z(@ FzkeBr s<_5:GF$9.Bx|xOC))RA ! 4$S`ڎO4R^<\(zE?\-s}11$RPܱm }k#`eCN% 3gybV`l`c)۞!mrOb"C0!⃑"HԐ<f!>_^"eW8R ;jyPD' DvNʆLh 2DPڏH~VFsW @#vpq4iʣ'! kyuہu*_W-L?zQ  7F@+ A_q?9v")dC@ oJgDDH:G{lm{~Bv'k+ $,F8Z^ 8b;T?"]"}PDDLb0ß9Pr@G P0 "Hɱ] 1UH@Dj$qP{MvSpSVhU^D&ss:Kbcv(B&T%@4b2'@h #5IzV}@2 #"#Zn D؅uEx!1l3;;Tww/D@_k?`!FRu>h邊T1?|t).yJ  0U> CxCs8G1)DϷGSP?NdPDD y}`IAa@D8`^vI}|dNr!AqŢ|] Y-XE2*Qu}p]Éˊ$"!H.P쀚 |H(xqbb 52%(e;2fI0@{L6-)bVfQ &n5Scv,"lE5R)(R2Eƒ$dՍJf,1&MMf e %Xb6Wk]lk62MjѶ5WInL lm$Z6"QJ(ʓZBekhBhͥm¥53`)+)JB 3HȵK(m4lfj(//I_DZbm0ZXQBI'#_#Axs6LYTb8A&۵h#ՙ.(Cc„2ݵ7pQRx:jenIA(kt*$ツNA\6dFʲ1RSG"6'Ҟ8b|٠(Rkk#iz-~Rv|vG'!W̼YEbO˥ފNtLej&pђcEӺ;'wvv2k{sky;k9]}{mH"؅a%!1AOHOi䞜흎\LEŠ@ %02=;I5@)H`9tSk"Z :?@\I]~evÒ0&|{ b^Ldt3%F>EpQbG`z#0t`K{AtWWqyFA(,?ClYJUUҚP j}8ڣ/q˹G UI;peOI~{P#$M2C>bfK88@U4Qy# H\"msP!$EҩR9qeo!T1B'F m>QT[iʿ:eΣj7*,mkSM r`zK1"ᐄ8w0` \JNZnSvcmIHX3u]15r@1# e (<յ[y_n.kRӎHKӈyW %/doH{ 0/.tjq>@۸v8ҧo}4G|9ug..˪rn]LA8'IB!bba.F1TS?Hub!HP1g61=I['t 8) kUrˣ)@CJĚ 6 s`J#XVq#ҫx|?W <[Pg\aC A- (łMxն$gE{ac k}wW_Nad>AX3_kD2B[a@O0% N?ĻHa` t‰"Noװ #%i#$AoR͌ *+5b0|j ː2pݶdm&\2tb9T䮰 I^׮.S1õ&hxw,"62[+8"UYFP%Td@{C[V|.Ԫ">@ITCHUTDtAq UjT(D@D2A:[4h(hb"5`I!IO[-% BoW<>+>!p9פ6@tǁdc,$"HTTPD${ʽ[vdR]&#{wtz۸  2vA_+(4EU4U=%5EQ!coR; ̉AZ+@DQUIr p G:}nj/-vD#@Eb 9t(M"Gz@Ks\>zεTC$X2Lj9BA 1& Iy5R\o2ۜfsp#Lf3]$:io]fo9سk#8}>ɣ!He.6aEHL È ;;]I8TH"4204=C  Pfv֚L]ox884(`^HU׮ [Z1%&)5PS‘Zn;ĸ++1<%]O mfXdp>{qִ9NX(j411>eֽ#e={8$}g4:CQ^>,{^oNJz顓wyV9ջ]+R`(}̗C}+)X"Id(٩Tu=m*{aH jJȮ*v @*FwR6vz96}C>c.U"׾@gwm=siw>w;MrzW˳ETw{CvJ:U>9{%s ͯq|{=nŲFi3ݧ퇥ݷ{g끻Nvw,h Dv}2 {TocVր,uõ A%}s6]6Q=}wgV蒲yBvhJJyqwYMw=٫ 4`X sIIcSKKמz3ignVZhG3y۸àgOZ}΅֡59CJk#`di@ Efump+Ռ`4]4]DъۻzP\&D[:abOwxvs)ZϠn-.S7`٠vѩSmo^k ljfSNi 24L &0&Mɦ0@ѠJzbm20Sj“ži12iz1 M$ddz @@&i&DM=4$z&( 44h4 hDƦL2=45=OSmM2SMhڍ@ R$ & a0IhTғz@ =AP@H@M#FdFI&2 OMLLmM2驨=)TGG GhCNJ)(ɊQXK]`(!O6d 1{l=%޳GM7އ/U콧/}s ?~/;z/~?^^^^^^]^^^^^^^^^^^_;u}ާ_nh#D7@0|p?xflID'"̞qEy1,a1^bE.O>ފ@:)02%^ֿS}ODZtDdhsCrjˮxyxye'PE^yZx?tn=oM{>x"7V12!OG~D~x?qGOw>VmӹOZDcG8H?'\|QQAb{Q_=szwd"8F֋c|:ϹcCЯ.%UUJvfUfeUZk"$I$I.U,@AzKh!wTܩ,A~:{dɃ%^wԮn(}%b i#a.y~ZL際]&h8zi;DYf+xj !X촴`p1ָMutڢ#szJAe `hIMlDB=? _ ydH:?ur13uua¡1r{H$ob₆!kS!K-Ĭ4 C})ͨ.Ovi8)hWaaWT|^ѯ1tPQ#1 |FbCX&yc{i:D@@ʠmwo VXVˎ;OC2wM2|LlV]ġ1 #ĕ%/FRV|\(IEe !g!8eADńؗW,EͬP7Z#yJ}$u%<;MY'>mj=x>fi|n}xyD؀E$PNr>Cw~\Cj_yvj܅I=<5focCD K\7$A kk 7W#hV +44?ɧHtYQ߀@B2^\,ǛTTGg+}t?LSfA-"WƲGۃd@H"fTBO5_:CI|vH=g!euPT~ˌT$=<%PyH2g&+7QΈ'@% ljk͟TQIg 4 ?zPJnGă@8w/R@!H~ J~ ri(ODRi-J!#(8&u;Ŝ'2) ZK5n;w'8_|m_|~^;|o?_//}?Goyw/~C~_ ~??:B(w|ڧЧPT|"ys-s8Ko_[;}' Q_;{G?WU0?/W\'ko֤%DDD}(!eOlZ$?D;X`=LmXsu%DK1T}֌3 E>57gkgg{?˻/Q?]{^mM:JW/?i|ߙ}s~}YVǩGU߳|:x{#LÄ9}CfCݾCЪ?ؠr4]Ѹ>~O~IOZ7'}_[~{8_mF |UB8~??Gx}sNӡ(x_s}VFC\OnL,Q~ѿ_7e\>`D*72kۂt,%);?7Y_v8vޯ>~/ҀQH8}OOv@?UN&2s}g#9_iT 'Oc(ɜcu+׍d}kڷa^y<_dU`$_>0 '$+bT?(udDJL METED~< o1S(d *I(b,_?9俣Q1TSJ%%U P"04PDR0TC@DDRA@PUP %%%1C4,KG Y!JIh0椒idh)b)$&Z&J$ (*("R(JI""( I a) Rb$*S5LV #E%LIISPLBM1LM2Lwf,HMP` Ey,L2`0UD RIDQ5Rqij"RQ_fp1G1 ``:[6ˑ%Kc Y YILTёLR+&0 (JR5 3ELL@E1CPKLTIM%*RIRRJB@HTGbaHTM&KaZ*h" &" &F"bf)GYQLTLM0HRTKE-) FH[eTSC0DK A"BD DJU4NXړ 79Mi!(h *8N,I$xPDQ4D#DD$M QFesN%R?TIZJ$%!bifQȊ" dG tPII A62dԔM-E( D%bP!%I(ݮgi֭a1)X8D:V6+!o'3C>׿?|nMyy>ŝpoNsa &s9||) u͊mmG>#s ,u°<}T}5)֫,EM2i~ˠ60RQhBH?!@݁eX|'y_t_r|$~7J\$cG,Hvы5ʩWBDzkرmVrrS$l*]cyK=q#+4mEe!&lyoV.vsy7n~]oo^(r_BGGUf[э"pWiE(*X1ARsoޘK!QCU[M7|$GR!cY뺳|&o4nÊ-47U<]KFՈEDrӭNGx" %s`P8.̉}15,n#=F])8co3sD{P~ԀJw#6 GlupTVg~.%zGs)Wø䜸*d(ѝw4w$ {ZL ףiEF3}c4vȬ=c\Cx0 F&20m)'ܼzFpǸb.]1MY!C;N/BzzCLt3vCH]0 $ \Τu djJɠ) NϽąsTd)R1 T[V*2V' YDFJtBf Hyo5%իYXfLE%1R6V©$rVWDȊӍ)(5VE!y2C-N^⸀JX9YkF8!ETbes )wsYH'V LǢ.OX(PoѦc+uF/8d妕)nuAn'JG_tDP[Tthص#e͋eXoBKקc@^(h:Ƃ#9QڶGZ'#!de`2 $̢ᅽHLI̠POp% H!:e"`92 r ض&)5lƸ AlkǏVӝ-wlWE6PI d K\ΞDW 6J@i'TNf7 M9P<4JHO*{RmJOBDސM樝)1HK &P~[,Oݢ7\$>IЯ2bAA=eDa: UIyNyѸW[E~_p}YJlRHȏ\\OzJx|ǿpUl׺l͒IHH;?-u.$%Ab81kK 2lƈɟ% /*7~q쿷)r2$ҁ!"@r `(m(Wcϝ%J*VYusŬU3ci8һ#AӶe$6>AMT;Od!|5z4"xN e߆/鴺ǷK~H Mufi;+{`K|bKjWuԱ^j=пX>ݯf4hwy>_w3:6hgA _EwQtN{vP$(WMp3rwyȗŰэ*ڂK-D(p( 2>i|Ń㮯.َ׎NFWfsV}NtjZxm|Jzxn H$B,MRA|e?po7yX9":$mFۑlj$$I8%MXGmPyjMi~TYdݶu[`_0ƱAsxj& )\Q!!$0މHN]cU\_?8oy܋'Cf^o~?.oWz$%F[в8?v?Ջӟϝ~ _b>;Gۉ^anx~ϱ{z/C<>yK?W^Hgڂ׼) @ȃӐDp =/<#flyMs1ߖ@,N_Z3/?48~|c~ozޟGu}agO#ϙf ΞY#|׉w6_sts菒 5ʍP)AuX pK|7wKY>.uWJ:s·w)O˱وARNjN Dw? I//wO_׃{ew>w?o{=~YGBO/Dk'yt!|U%ކ`.g&y"yͦ$E0">Ys0'u癗 tNe;DZ-nAF(1?A(3+8P_b^+Ah+У3*TPTS@g|BG@B:Tն0d]ϕh~2A:Uu>maPR@a*勹 c,[K t}~]k2jD91WPP_5}CIb20!Y=yvaYz)<{#o?MSu;F u#x%RcDF]*qwmi(1Mǐ ;¼S5e]p%" 0Nw{0=:FjNR%Iܕ`=%頔MNmmUUPUUUUUfZGZFZ1;6m$pѷ4FnBn`Mk{%Y"1zDh`&k\31c̵CiEcӴi#}Uҁ|}nMxz<~}б[:Ϻx؁6TІ4C=_/ 6wU=B"EQ5:Ubx0#`@ˆT2W'J*?7TNFȑk:woḪYaPS &(+  /)xFqN2ֲR(/ddЈ!~] y tM.eW D4l>0u40џN”9åiQAPB~B ˆ!:3M6A !]J߁ߡ3bQ(&Gʗq×왱]*8i YG2{l}q+Qr  @;ˈ!Ǘ@:ߢ%ZuQwވHڏhpe ZC Q(1C(lBuL;Ic85([[ʶQ&FA1 5dJnu|#'ϫpG" $fc,d% A7dyc"\euAI2믗8%O4ͳuwA_#PeD:ۍ4%v^G2rt1 5K'DȀ`wVd8%J;N/V"fGSt@&}11 g&25'zΨۨy L_#Hm6d ƫJ9?Y׳MmdFS3xa*&YS3D5ʒGw J>}OQ}[(r5e<'ŻgV<>zr%DViw{5twGϯ=8w)S=ux"gg%4J)šg~Ÿt:kIAprl]o:]̒yf50 9#_Ϩn+ۭ{ V =Gm4ޫ"ýv7ӫ>YcFr;ve}O#9I<*hRF2D؈,ilZz0u%Zgu`8kt_g^Pq&*SJ3!AAu")?1\Og??CƀN5GC?!Ǭ!Q$].'q5ABnDTaF姇^;[uK`H`zXZ!rB MJR HRB+^%cN5v Z9?OF[H71ԡo6l Hb$փϳL9i_+f'gEiU8C[ԯI. ChjbW|HP< pMN, D HE!OyPuݸ 쬍N "*Ō:w VZ2N*F10edezuD:Q@D6*@Ĺ8!Bġ^gV6w]=,}߲)r{޻]u/~њ^]#:{F]s{< |og֮ymƭ`Nsmb(C!C[sp ƽv3m{ӆ8!v :;t-k&R#{?Cg;a@n ϊ g"3c.R. PF/ H)u='+HAO-sCTY`Rk ]aLmԯŠfǶ ] @X#@v"P}n ̸Ţ[mVI|DxA]L= n^+ͳ#5I lkg`AyXdʚkԋU,LVmj$5+8=~@ F4<퀮{&f Z(('0A H SRu+ $NtȪ \u=M5.4ݼ.x9JT @ p #=[3{u˾=qٓ uu? vu.5]o/ߌXug4%'d5 w-TD o:e=E`+,.GM\W&zG1iw&$dQW$ B@*v =`/60 | Bv{|xWe=IuӥFvdg[egV0u`h7"6"ѻ&1d:NςiUo8eP[H6@%Bp.D Kj&Ivwhъ|ue\;eOOϛڽ>O'#2 O~ZM W ȵX M,j20kyɣ1WsP:ٛDXFr3^{ s;np8(f aYtïIyǧt@O( T(4" בwϳ%zom1Jf`Z`fQ (I&T@uEր뜞>8 ܼEpt%B*IPwEUB ]<GO%n;n~1Sv %h>Z2451nfr,Z6Z(3<$sq8VmV!(2nԱ*-k33*Q4UYeUAU4UثOK>\t0: ]V@cAJ 5dIYdR14;+aLgzB֜մmmE>kdz9 P]uD&I,gI ''.޶HĂx〃hHӹ9$#2ȢxflÅݶxcTPiȐW{m\^2aan(K<RkI0t1xyMV~٘Sbxu99Q^ k׾8D\[}ZF93 ,~1ljo*6S/D7>ݯ垗=|Ӯ^@HM>\."0.YnJ_ab)Ue{U6-٧л Dmk23E߰Ƚ$: ۯ-4d ŪېAt@_OYЛ ĴvVE uq;\`]#l4<I@: .E+9$y߽q%l%u-nm-I$ iJ޴rƵK$I-l;-nl$Y#BImK-~l+t8haVt=2,cZa{f9k DPtlp=<4ahh#SK rH) @q=éˊ\,(YsMNB(f7\m]DKM [z~CŻN n7Aw7eo'7+c"$㕕ggP~CI}OR0prk?,$F3EsgA#xgcxV_]oTܫd Pw!Η|Ow+"džXRsD "+QmP$}==t4ZT@#9c'* YG2(A>ı:! B)U)%a|huޤj}D(04ˏLRs8|E 5\hZ(M3 ?U/M73#y||0ӇfeEӅqgM $ʝ2=/˔,D#WYo~9~}s!oQ{grWF%m,XEL]S#[kS}v,w*;'WMf2M<)dNe[ 0IiBEtjMdh/npJ5P$œhy3n%@"%,3 u^C-t><-ƁDr%%p8b?UC^$7ػ #F-̬6;}'7ಝ%Q52m=bɍe%>q,y=un'/ct܋o_k!V"|Em!*T |zg/؏P.-d]`(WԾg^OZdI/74ϑzӝ!3.!T6eĺJF|+,0RER"/;)M Vf,P+WxQ+[F9N# C1)Ҷ XX_F\a l "1ZJ(Ko:+޸(Q(Zf(\e@RyQayBM~ipQ3m$8B1q A~u﹁_{g,#Kw]zyi-N'Yd\A2Ad)sݩ8,(a!_}ĢX@ >VVŲL[$}kʁQL04WumZ.[$i4HbPtRfh 􀰌nߢ7Ĩ:Jm/h_^ ˠ ۳1ž܄N灵}3(DA!$G~\gnJ>EQfzYQTG;@^6HAi{&0mDqV }Xu꿟`zX|d6:E"ƽ,is VwK`ce, aC| QLy}>VN~2,{WTcʶn<OgLh="Jz,DAp!lߕXOg5gzwcOե4z=[ jhD$jUH!"p{7a!o:az--_ [|[lxW*А8[JՂW7WnNͅpO<rO5B`if{Y (ߚUCadwFf$↼׿V<,09& #Yۢ|=w//g6V"WڨM3^r-Ei;LjfQavUO3iǗ7>\i'"̈]w@R쉭{Uoy{SĨL 7V!o ͩw"M{= d*0E< d hMΗ1ujŃA 1.2g[:p8oK5&K71J6 CwC s :m,eAP :CNьUv O#hU%".NW2*%/YFPM8DvX|_FP x/t^h/xA@^ߺe6vP`c$I͸`1%8 g p :ԲoqϹ\F.kfd> z>WȚ&1:|~z}8~^['s tm ,G}Z4'xd銭fn[̀8u &d8LJ 8BZCZgnɢ-3n pLSp嶌,rT`,ؤq{8]x/iGȍͪʢݷw-/$.X vW^4.}V E8țxDgƓ !9LA6h&IXz_Dp\GiIժqȗ0@f f-ťC4aJ@=)L&6 %FMʠ_Ex[ňU_+T"qD?^m(9< +yw0c MtzDo`POjQ F ;*TC.v]n.@+=ί`EԛbtQ VZ3Rt}yc`a4<(d<`0F>-n!bUߖEUdž&KgixD ށมj=ܖsslm:z̢m@X03P68U Nmqm`.sIl/;bmW77e=UMB,װ_6:ۥũo4o}hxH{>¶F9_xa 5x/x' EяOܣQHE=G tc_H;e|R#U ټ>RMJ@ĪwV#˞|iMfWֱ `5ψ%(K@%HL"vS ¹ ݥxk Ўv$RI$p`BةZ\.:-~pTD *NNEPS H(jbxz3M[a/dz[v|✁|`DŽkFnZo;mVM`n #5F]m&I;@-{S0!AP(KG p^e0|(a\Rޝ3|Kxx }>ǧž}a5AIOaV^< Ƽ6}CA$ a.,0xvKjo7>_?#ei:+NcfwpRK *8`Xy&g=UncbHWuό=sQ_[vN !R-138hP7AI&UY^Ӂ$6\Ez n Ve.-eUor< ǡӘ=B8evFaߥٮ4qmZ:}q  ;!9opKpG|gي= Ey`ҽȾsc0T[:0&#[MIL+xx̴9<9c]QB8iGA)(wmWf1_!Ŷ/BIk<6?T@*BH!b??Gtg cnvA=ؚ#@ NR}OE"d UXBP$D1  yrEUYϾ!4t3Be(m;+ڷKQ?\PAШ% Cp/EbEIsEdlZEzx 1-c4\핔Z-I+#;nwUXJrD2ћ.|Ei]>Ur~6P 6(`~lEd! XxtR }.zz8e'0מ"MBxAr: vBH,j0j坂%82^X6@Ҭׯ$Q:@v eCai-[OGG^GqlSrJt:M ﵵ:L/W;yp ~|#;U^C[7b(fv@h-qEQBѥgi !{WX(q v哵0L}T7qw0_Fsv 8B/ܗD9bY-޵=,8^p']wXbBa|;›fNh|( $P  ZLqڔ A&5"d[8'@B @=f`]sW(q4:u;_( v睁 XUU d#,EIvD)VwSlȀ>?yB$RI@M'.܌]! 6!oԮP.'-< yg tI/Dm3ܸ&Ht ɘ4M0đq_겑2!cX_[îuxl &D7ι=< e.M2]Ucl^Ywe|yP;.\"$ JgL6MFijJt_SnU|R/K DCP AM$)"pvMyV$i8WAPQؕ = ;q#86x܎fzPī!,wAfx^Rr]}p?I3A2;^;pba͘8I3+k0BcZ8b l}Z"1FH,lq0` L_[sg /{R nۗDp>5H"()EW,*֩ËzMI\Z*u<%Z nZᓤ^2U&e@€,ed}q\w]쟲m &n(e#.ϧY\h0-RO8gWAiZ 6'4S~p4rM!Q-SG}ZJ #4X ,'Gw @vֹ!N zn xUx7aAGlbYz,=hq^^8mfT\z6w8"R)TFY򧉦%PwftW RƀiO;c@|9ÎU(q 9"qG!oC2] "{YoP9b }IF BQ* >izC`DqRkҞhb(T޳8 ]m5 2;v 8$ |nj0#`i  Rjc݅q*cՌc,A [{[zO"8c2*eݒ~G\Ǭm|[폵iܠ3R4ϡN8XbdfIja(ڊ/2n l.s?%^' ;|B$0Y#R\q=&4}_ }q0ߴ}cfGI 1>euHQ(ߝnNL P Dc`}FAIa30~u+Cސ]c8fq3:Q3; Gɥ%ϱVC%U~wʫZ5SJbIJ;0_Omzd? ^l8p#E:GC-a =y#Cк>v|{ Dޅp=Yۦ'xj)+xf_<rd>9L-#PsFLF;lz#BEqD*!69QPRauY\3Cb +Y[hKz.S]v_Sv} o,w:8$$[PJ#BM-8͑& tcG*.wl -D$59DOy&Rq0}IЗJ.6}sMRn-yOU;}!o ޞLjoalD88 ZNgK@=۝(Z|셍hb+oqh?qxhQQy1m(:,Qy)(jJ8F>8@?㣡;^vx\xG,Y"oht(<,h]@!;:xaVlXh%Z6 8Y r(3/HP:0!,(|KgPĒJI3qÏx(rO}vw;;i,|pabfFSMùg2Y|'t'_b|!wК۾*bդ=X)cakS4%qvCd蜷S$Pv ( )M6KhkYh}9]"N gN+>DzF/W/-~Bwm7N4"Ĭ6Bn>Zo/O r;<) JNZEA|`}Pu\r>чT) (R#dD6<[vkԑЂb*8Om3F0?/}$9׶1xe 48A׉zt},R;&5st*Wuj2GZ4M)G] cָ}{#?ޚaxQ(+_Rdz4N8a:;3؅f3!oqզqÇl6,cڜ7dBIOKy2 2;*s !6]lM(qt*IK1# 4a!xXS,M{G-Do_t~$+Ko疼=Z~`"-/@+8)@njy1< ᘁG= 6x@g"f;δCONX(694$[ p}(ݲ{JDFА 1**Bsa&Ziޖ)#GFKT苌W ż9d< F2U:l($цi^:XŎ#x|p^wEGόn`=r8VDMVX cNNLURUTxud_ң.)`P[lUkMR %M5 Lv='"*pb;}owxA! $i4*9thʀY)XdBd!N}w'i1ĂfLĤL!dY,q`b(e|6A:AkZ5F a' J'PfDƣYfjuiH. hG X-ftPATm4J4y[n I (hZajhhˊ~jM鍈z#C`tr4~L XM1ZpYvM aP[b $;^uǨ2 6YuqQ׳4۲gq:!'$2ƙI+YKm #La\+gٍ(R]AuQ~U((HaH%78),:$2> 2~ @8"ITD ?.`xQf "*E(e/, C,.QS׉NףL[1.4O*0w<>rIrwDLP(g:]3ⱍ"^"|Q=vĬUmh~`d-{gc2X6z;fOTzɘȨ'gka΢ޣ_c-qY?G~0$ktRM(p `i\}Rv]ق|M'ba`z(Ƹ6)C0bO|.mesa!"B0x;pQ3mQדi8ha y WI7&e^Or[?Et5~"|=ҫC@Rq µ"R8/pO(u+>ϭY"m){yEDA16xOF9t* Hz0/9t@5s2 LIvia hR{-5sީɺn=8/T6! qO0aHįA+EI9`VIH) 2yRE`A(`URU/zs\vI.12՗`އ C>>m(i֟4%,@EAJ}| 6Z'Tbp&:.lvq$`UZe4K GpxT8@:(!<  4zvoj;hCSXKZ СƩH>7ߨG~`cjO58"ӋiE+^90nrX|"xC\gPF.P|+Q%D11WaXkb4`.-|PԨpfX\/Dՠ̪QN6uwg1_\[Kq&haGbB <'QY;#åw w@ʧjҰe\]L$wp@|:j"AN3M~_(7Z"Ao'!h!:2*"~=kW :zur8D:- T< CtC#1ZQ;F !hK nV/ ۉ]̢kCMF%N>ݟ7DnΈ 910lJApDQ)Va)W_LYu~ǃmYi߻ol*H:y Ǵ\Ä2dvKȣkAx2 8`U Sx@LnGdT,Dݰ$O5ms L,9N&9r?;yWjʸE@}$b$5lq/q} XFѺ'8 ߿׳ }7S} oXhnŌ2-6IdJ6ộk&H xY3@xPD1=DxFPp!~Q $KȀFܴ!f`a ?q"csTLة x-ip5(Rv Q /haq?hx5%Aj!)a7OH 4a9'h0]e`IiP[ctt eyciTZGTjstT joRm *& T!@$kN"j=)%]j9 +`I^ p'_na/Fx4+͉[`]M?l~ğ?w:X,D\XMMGn42B;XĘtC(DZT:XO8`O'R'DY sqdaD/{k ,,\C ڌ~@41ww̧SX=9ϑ`tɘѸNX2Vgye֤xU{~ x& ;i95s{fj7lQ( oyIHTajl7jY7[4тKb6Q~SooD>wq`7] 7)!%!Ƕn;fE:y,^#႓Eo[gQ"{R Dhq;N۴l. HXd/J PTwC=g0}7$F^ FO{o(L9SX %+p, ݫ{rDQU {#pu"qȯZ`Fw23jܐ4oP{n}u5 wt5 6&ۓM<7ӯl4 :؆Y1Y^/(QfcE%4-Tm^H5jٵ @DÉJ# « a@l%\/U ]LZkba {BM ^y߆$'oROJM6-yz83H"`'PuJQe 'H8ZKa>Ѿx#߆emvcVy%V",d^rc;6oZ%lMI5][}^F{|;"A8K2;Y|-O| ҿr]UTIa_,x#k[SW|QH(<Z툺Dzu&iI-` H* כڇ\dƢʯ,Ti {98áʇ.ft#TMXUT+&,j%+\BpXևG]jċks q7ԩUPCRØ/װ"$ϴn$yCwG7\flI 0soQA5g[[ HMuՆ[-`7҇L/Q8\a'X'_!#47oz, G;7tzHȀy@U/[ШM!z" ʺe@:p$sL#Joç,r{Q'ACV+,>vx'yb8¹$_~:x[4$ FMMbm{قُ o*)n Xm*Yg`Fv*r,t0~^x!UW xvMǤl*ؼ})K,k֩![ey _o*gaB*,)2{{/sDZv,G+(` F؍Ss6r"Eb:l+_,jlGM/ˑTײh z+[ Ȗ/&ED E8ǂG!GK",4P2TJL>,'dN\)!ߟiz2QSfe,ҹ4a698\p[-V+#(TNZ'#6 o](tp<^b)X+>%w?׍'v}D2"\E6t~;zoq%e9 S""*Qu[]G5ǪQ#Su r "W ǯ:tKVbR0,l8To +rd $m6a+7n)Qh 843H; q&>ӬF ܨ%oVy]=˿PdP;E*p ZXJUXY& (a):9yg/!2DѰĢ9y NvѻrShM)?;PycuTrbTAZ̎-slm.R@lm):G= e P^1^XAyowNWz態sӈ"7)W[ |vJjXNE6(<^.j#&?\$okQ>BE\QBz&TuЉN0!=?arkKgH{TQohDzE7U8w\fZi"eM ?bU陸ډycc\0q;x~>gy@ē}b z]q=. QH.sLhhjTA%E#Tprv>GX ⏘TP$dMHfToCb򌘈s4t:Ҵ}xpl:K{6D1pA@uB#@"{HOʆ^l>=oj;tn3${Nأj0V8fA-pK0@'g܇V}l=j*1n^]d{ w=3A*X?$ /DΛ?e#پ3A4m?TثRM@~膿, l23! - F)4qV 4@U膷|1p1 !XE[rL'}`xO eP5o<AN*[x4nRnͣ5A:9vrTFO="%ӷ\u,$;Ct❡K^ N>.q:e\=\*o9O#y4g '`uwԆos4~MS6ىc|E}?ϝ㷶5 !c:Q[o4 s: } a{k}Q>i cpkht_a~S!ݱγDz䡐\VQ`HQ=Rd-jOh&&F],Z#䞚Q5XcE IYrGuxiҫDxyӁ$ p5.#H"bn~&ER< B"k<}\;l d<)To Dɳ\–"F8ToMwZ;g3 ؑz"v۷d5" *HE1ɇ I 7sP<`OLj{_z(L~Emo ̶0CR1!A>Mkƣr)*r{^%9Cl˱v.fEA"S__}1(Lm1Oz#d! wAmP!n [$ͭ;(>M'n>/q/0)kz-@IaHn2шX1e`[wNx 4 F }S*̓^+>-oiUL҈q!D/YI`.3P>6#c v{Z: <D;YxlkLn DG.LibʷTwj|P9|֏-2.}8!"jPlz0[wz ٓ* *xV(/NHdmN{ܦB~18wA;4#rtE.>wH ^ 9 7s㭽 63xcChf= q ^5gSsTt7w1HmN wcW:DS UTZ"v%9"(桓񧿾I:6[a>28%(&'h=6@%R" . A ^|v6wSG6:%c$TV$/aH;x墈⢜űbE?O(6M̅ 4`n0w@i_0YK15y@ڝ[y>q{2t34N< 8xqnHJ#~CrM8^./QMc bd$ "s ́<(b {6g=ts,@9U'hhD@/;AgCc=]؟lK%Rc>crQ<Ȅs-qo ̉ؖJ.^>\Q˛\:&#G'qu4 z$ K~ԁP:ټ츞)E  .X{B Fɠܧi576B{_ˋĆ֥bC#l }M3L֓bjhq300J)I7Cẍ́bFw L E"!Jk0F-cJC/l{y}/7ᅲQݣET6\Ga1an_T#Gؖ@ykepe6Dh"v|>ZF C '5㸶Y[)`gj[]X|yH9+x/z5AÞgq8/S 1)bl4pyH mc<KSiJPf T0 bu0+\BvwFnNo[jۣU%+.TV‚"TUS5PMUU6Zث@~L]1 >W;ACW1~U$CH~Mk?p?H!ogoP;z铊i19񪪻k뒣1HKq"o^pr'n7!6~ra0p qH*R= M|#@(HpI_tP)P0@?b$A.ICBs{iJR,QDDԹ@+mESu h5۲. L~'&H1{v.`rp= ͘r dd'[4m'33/^iZ=#@m;{/b䄄7Y~,,ЙʛtZeDrإ]߽$Z-)KI5}|>5;<_[CpN\p 7R޹Q]y8+F"b`;l+z. ./ʤlRS@>h< 徚IׄS2.C%iD* xrS;Wܒ#vfBN„:\9&pNhjO..;,.ꥈPOo>ڳRo7wѰer#ͬ˜1ΰk+eYާRe@te-9LPX &x#! ckrssA !ѢT`DBKǙH(J  62 *G@΃`Cg/EqYlfD$@ObFQւA,RY!ږOD"u* w7) kZB)GԂ(<V")zT$ BgZUP9y"H!*8rr4.aAL0U16"q1&[\85~M`ڑ5057%&2"a?02P3C˞P4J!ǎ' /-7fP/:N8҇S3ML[ #+{ea3s_>R<8ɟ CwMt zP$gֽXP><8'W ۢFMX7XۍXfO4ל2:ؑxIžaɖS8Q x 񍥰ͮQL$Dž&e[v&Ӱ;HHG8Wu//Et5h6ֹȆX|e@{ýLX:#3Ԧ8.yM?ZB=\=A1f$m/A5=nF`0a"\U654:xm~qWp x4GOq @, KIJ~ ėk' 9#BHwAaF.:y=QMU 4J_Ryᅢ6 zJ3# ڋMCmk/[K8% t]O8&v}Ӱ "#P81m"(RwlH!d\B ɅМ""Ql%(ahI8x(` &s퇽?(Z`؂b!%ָS~kjUUM'P& /e|^)iPQ2+ă)]+ # 1!.S>.VӘu^x]DI]gh IZha]U7o 6.^oϠkz~JnC7q !7%vNa*[J'3a)W9,(!(?Y徵vg $FF(\t-6-Ӳlbuɇv†e(ܔxs{V[J7tr/Hre:4> FôA1@9{"4 %Az@'5.7n᠎X8138)F(@ >dJPM>'h; Jw,@)yf'~ƫyE7>ч‚>vL%c]SQol70=,ݴ9WFcɫ>ԍiX?38bM/`%F^Ys7 PD8`[Ѝ^c}5 b>K I-nn($*иE$lwvv GTjyNtI@ ~2W/9,IvKY%O&=PX,kwkF)uF"uϴV#|^gU{Ԑ+uMUUUUUUU`ԃRn7ܓq AG`b~,}g4iC#^>IppOaL %qrwqa|Z41) 1S{NjZX89ynD:k"ncJM#(i[7kDT,/`Z>pݻE!ۦTFB`kH#Vb[{J>{wOEGٲwKVlh9q(aQ"I'k9&{]$ϓGj|Oy0A B& խ*,-_YUUaUUfaI$I$MlNJwC7W@ʪ/'Kxz3ñ!D(o\7=wY9 (! jHcno^7 v^Au6˔i؜HW(ާjY3=d$H6D$A.w9Xƴ̮7}/20eRׁ l᤮"1d$C21 ,wBQ4>??/ vlAz@6< zOe`XA~I%Y~=T Uj]>8LK@Jk5Ta{+j:RΧ"ͻD,DF@/*nʋ@Gf {-Ɇ2rKӦLi=o7 6ǭ5K ?Hv%:౎aB-naTlXͬiZ P{șI TTJdT+@ֵ^Mm-;~n-Ͼ@;_q9M?p ڠ,1}6Nwn.k< ҝ8is0X=>!tپ6MXkA|ʪh(4I @e2ai=m `ڎh4 a; 71+e6K{lbG4|L짲8 I h[}wk`). &:ay\˽^dKUT(K H?5FmzSKhѰ6*WxY6wIŠ( y|GzEW0XǵF1A&@T*#ryyIBfhG$s˒3 dCaINݞ2a 7VøP"CNIpuO7m qitkI&HwwgDI"G#oM;]bOV9Շs]_%QUyxSTpw%ar34TXvUELO-t^UIE;cb-]jP"Ĩ($C26Єhø6wžݒs ,m#z½!Omp3zٜ <kNzp010l0 ׾hҜ+΄ #cGa6uL{чQ݄V3XA0SAS5 D px$5?eO4bFD>>v֛acmFB uc)Rw sw4NvRU:β]wb'%Ԗ#ʉ__S?g5BHM )瓗ڂm b(&/,.3(>s' kQqt9P.E"fvᦚF( SHbNdc 6I0iV? ! siGכC"A&`f֤p!`:kZv.L܊BVWQ{ ]Cݾ`U\9wA'(UZ"H0a-:¢ !Ɏ$@}α{s>QDw;10!+~PtzW`=4*FUƁȁ.%c}a}d :AHIa/Z$u5XW,/<>݁ 웯 ٨@|q!k0hG$0)$=={0-Ψ>u:D-%DcX7K$ט^FR=;k[*sCSir5ü5 mas .2ˀ5o?|^Ʃ;%<9ѓh31ޛ a;@z)G aϕ0vOv\ʵ+ ]xq9>!yXצC4۷ʊ `iכ̣Ԁ|I ̚( bIdzȡ{ FGcۅ7bWe-=e[R@YiIJ)I)#nIӯȑL2b3 ?NCp.7Io~%<DT .fTTMH̅BAMgTaŔ6+vzX0s<;8ɨXD 3yD<;5BiĹV>bl^?<;\nKc^ \+J! @.E/^@ ; Cpt*D 06!a|0ׯ w UCx9F0"Y HvE,Ij3ol%]CxTF y;!`5HZQidmάvy"> @^x*~g0ms&(̴ZY`xu9JB %0 PJ[:gO0:y$sMP( DDDDDDDDDц8a0G  QR @撋·wMT:"UEr"#ͤ@y q494bMRXC@%՚)5h6kc14)nbsV18[wICBYqkHKA1iJc3Z#VS %Kc@@)d*hn v|'~fnjޤ^ )H 7pydq!W֪D|208!#91OZr˅,O'QH|onà) UM)~xU!I]$,r3h0,ЄEG$QHlyC>@jnC !!>(IH0DBuoavI'L:5!uUf5hi$w!5f$,p&m`IPemRlUPa$UQUUHDU h Z_аf6y}|[~ :˜\R֘8P}X!チ#*AntwG[aJ9ԳCb>0 AQIE%`&a()p'A0~ģ 2ChlBX GCsy ~54 ?0s~H<`GFi $642i&1X) 6 vY% fEEf# ʗ#xD- ]afzݎd:Ookw&gѲRSIT@x%S*Z{ՍS2!cCF\XZ:9Y>6oP;cw dxX҄}TGIDy2}Pb}֕zTOfNw9$\շ+QA/]9XĐji < YP- 4aZDֳY!JjL "& 05&b;L"$݉4JsiOQG~ΊI%)hD63Io["PHV۟pbV|<(*Hm勡+?suK3 cd9aOzizFmZ3 !]>xp_v\5dGqq-)Y3:cl: n10#AThLО2Taj1ߧ&HQ) BQmil^k)DgJ6 g{LA:闥X#kb0*Q0i u$vva.X^JTp.8 ŏ4.BVK_:^D#;6 F8H-v~0>k?>> فjjO@C+L`;'?#RQQQn^\*XȾ24ſ C_]\jYhɢb#3=ߙjεnhh5jad߱ r  v2z^ $q_{y>?V|ף\>"pHIH90S4g-beaAoĩb&ۋ 1&2" }}krp@C{8ģhC.O<01`^БV#bp!ݖ#6UC$7#ycNDz4f@`޽JFF4Ѵ9"%5S^k1H2BEZ9gon(W{ͨ$N>Ez+& *)wvq˒EDG#Q(`:dJëO,!f58톘`؈T` B i$GǺ|_ߵh`Cw(N=5>8b$ӀЩD s0n5(}cy`X3[">^OeӨRC|DP&D݌/- &V* =k=R1m s0.%@xٝx8CUDB25; @*QPKQ.k/fdʋ .D H\8Ԧ((Y`Ɣԋ@b(`.2K\qB[^mu4j!4^iFC%eIxw `%9l p>=҅v1XQ}HnP&ߝK?0mF u"|{Qqi~7sagC0$GZBA0e@)6 vI9Hخ2bmSC$%^[77+x"*e\.Wbn܁‹,N=߄B<(EX/B 񛺾6T H+gT>.ˀTMT/fALU( ЄGH&I3;: J7$km&cocnk#+iq@Qȳ;.Cıْ\)*!)(0E:Hw(v+@X [w1qe ޓ wumN@\PVԷ!_ [a5Pv}m8*quC-x*Y+P[@d%$kѩT!Q,FMrD͍teBAG0syA(n2A#GLCIP/`oL&m!PUa"YF0! 8uh?$x Lx lAפݥ.Qk;hmC(cY<oJd?(1˪143YVT.- El=sS6 E\UhOL]x0@Q%Q,vԘUHR[w+ $fi .&R &UpYw B+#I:8ǹ3XuY`0C p:T`!MqRY2Q`t9] 5Nc{ LK#ll‡ SSS h ƥXpiZ*W}0*~ҡQ]2isMmg۪TtR:DC"X>v*>Mxv}m{m*Nm31MHꃯ5p;L,责Nk^Cfifoi(BdOB5i RN9~ᜆͤŽ:LFPiMFRqCԊ8͔i9w 9gF2S<p f6#bIci^i%q5Hj*ەHcT(t&t&yڭvQ3fBQDU\] Pwft")Hٜ`l"YPhon`mvaL6I6!^x;%i# `Y@ay A#6@TiO' Z j]KN{(;>Eb[H4=p' CY'l}~zԱp.I!JBM.@#\ h }sƑXme|onCv&NuU"IОu|8rV̡+zRǵ::'Nɳg\ݳbu_]{HS!yUW(W{̤YF,Ӂ?`Jt ^8qwga㈂q7tZvg3Ox(jƊ rV+t0Ⳉdq܀&W܍jo;V E!]ު : H˂iw n*K̈́ƚN f&yfa:L d|oTlgOQ T)葭2{JJ cD4U^><O%+ (1ΎNIw46}O*F`J,T 9'=R rDLn"8 qiiLTS$/X *;qEQ\a5ߴܓUV ,-GTxણ!dPi`Qr/?)ZPPq<|pF|u/AjH=՝":&A~+XەeeP4W*"LvN2u?, A|>Ihc"#N&Z4dX DǼMZ(i~ ȹ;m~冒^!J)8N@X X:b911l !XQ:*#hLN72 - P}9M!M&+bNp(B` C"k}97‘ªxUi}lP%@4mgzy ;9.Vl"8ECƠ&#ۜD,5ӫDzLGlaSfY [脕]V!20d HX1GvCo:fffxA6Ȉx})lSTc-BSmH?(J @$o>hr9lqӌsGaEpDjp<$h`(M 5` *H:cAG+FdHI2>VoG 6FUM~rX& 8DweP4*:`0s6?S,Ll>vr JM0?pN,bQ:цpNvyTQEQ؃Ǯ+@G@AܿK)ή!B^ۼN7u_L 1胪a2CO Ɣ7]@ [ u66c-@4ᠼp0A XµuI"H !6H@ xW]m.1l?p~a4hPmǁ֘v<NKW󲕷nL3qaO28ѐfac1YMf!dl-?Wxv٤$sv:=vQ?ٺDqHv g:X- 0({^eX NR`$?j)ϹN`E  2hѬwMqcJc+;gR9BfA9 4{o0S0,""=c:$,21`aq$H (rgrFj c`/N RPZ3?cJ^뉀(Y)snPtA0E20TQTLI5cK0Qqt5nɅ/u_)~(p{6-5gt5#fhq"|EMef(F݄=X|D!YM 6C&* .̈́9VV ==D(5r 2dہH6F~7| OsHJ;r+.ޅj Dߥ>J@%ևvo۹t4;ȚC|r""b"<j$D⚴VPͫeJHc*DჰHJ!2w Y&.I&dCpH*Pꀀ&̔<) ?,DA0 Rpa/W#RӞP75)c֝Xm0o9!g)ZPװ\O,9up@s wN]Ouڝ Np%2E!LbCO]CIaђd!f)@ҟYgpSֺҖ;4Wå`\pSChFH:HHID&D@jD|y Q *jcP(~=)S+*2{H/X:[\O11]R̔ufZ(!rRe*rѠiF4 6$hג7OjXxḭ~ܾ2RIS@w:)Ls\:x;]kg3/E D$J MwYB%/)L{m^#i1#; U ?ß3G]KnXndd!d0_H4(0C|<)a (UYoҧ 4@*ón7q?Rlr5FfP҄wj|j:<ծF/9#3՟ *'HyWlgFtK&+hЉPNv0r ŃT&`{ lĻ\"fE6q eBoqJ Y`@5 ] Gknޙ*=w| q ,ԕO[i"HAz__F9%wPϏ> =&F>B"zh=鸱PK!5)ϠOYRK>8N:Y`XY$f*iIBh"If"= $4k7ZɷP! Ɗ<"2&CC2CY!O'qڪL 4Ymi? Ə &]7+h0X 8 1}L  @! Gtm4 elBp2& PP(С^'@t \ъI)_5*4!FG֣j*ș?"{V*6U:QQHg־NW#d34d00}(zCZ–P0RK'J;[% !̐4l򙰴YhL${opx 40*ɍF4rJkl *$)`4.8F%9q#P`Pn夅Ԫ?~3'70\Aʓ튤??yBA 1*22ڄw*dTl 1V+Ə;@LR82 *u}TM*DjΔN,2Bmc DHnSJ3,tƆZZӑ$C=ۏi6E"/jkB3%ǘ9hxuY0 _1ՇXP䙜Awwa4 Ze{w u0H)FJwtb40';_v牣I^zdi$rǗuۤ-Wh,o %A*`h, n0adi3snvYo(*= JqX 2ƨd E-LնӔ|&;Mϰ \MIia!̨RI-P5@PE$_LuΊ61'4:=&ӑt,;@ {]v3nSښt ?DKF[RA>s`~nBϰȧ-kΎ-O9 ٙLJYV<Q1)*8ԨEp I1Gq:D FS5YgvnI&y% E=s+.H2+n; ok8˒jff_kFhoBXt C(K,"Y+lr)l>D=Yz`p<>\=DEE2ȧ Y nn w=s0ΝKʠo2HeggDBQTjg=IPkIbtB`ac=_) }Ky;M`IRz4]ёru_t)CHN'j儹] HYl?Q~ l/I#X-g(J;F)񀸆BMW=a *R>^"}r9E|r"#cn0\0ȇD"iYֳE$GTV`Á/I4))7Rڃk>b||Fl5SJV=< Q:4b9 +vf=Ve`w=@9β0YwJ}xC̞UJ!TDVUZ.&gN t5hwq*ԓMDYUR3VSdyޛRKcK-XnċQ&Eq4[I,eX0!Ͷ0fڤE%,f>5Ly#8ˍM,bR1F5B6q[m1V$ I"eyjUjB2mdEvb7Y4VeWic H Wƈ#cՌh8m>XqTfc]>\SG2!yM̥L!R^2W@3Hj|KE2Zld}\C&)Ž]R+ia*eW nG,ZLE,ClyfԴ.ѵA%*EXX.mJPb0 -HT\Y0QB$X~dt)H9vJbah_iƜөMi0Lm@vHE'i@j$p`3 2"J(o7XHxbhܰ<>Ym%QB E0PQ';Syvdz8'SI`k5n-]ags#3ۓFc9!7/0UP%ތG[os&`9@J >Al `%D&Q( FhBD0BQLH6 NqF}zB 鑲,q ؓ pAgX!$#! DY'8 ]-9KJs&H%lCnwlvCHT"G pL9s^m}i"JJfQCz!0xE5>N1wJ+(]NKbD@SA1pD p!)ԆChav0hsd ɶn0Ji5P@ $A$C@pfI2hj#qZqI !kpхXb?gYS0|8t!q !+Fj . Gji5WŔ,XITZ1L5dSz~)mEvWWxq@СI7RnXϴϪDD.;=~޲՝E憻y; DQ' @ uNx |HcIzJv%6>Zwrm ux5"j&" DN:PnpXԂY.E۷=KF\$+y1D+.1M~|=1{f\Ͳ1 ֟ۨ9;-'s.6l"&Q-%M!~uzdXZh9RI)t}W01kY9GX)!h"(jah%8@R#$!նE:E*﵄r=- %Z>$;ϛ,l.g,'P:PApy;xݶ8TD7נuMK@¿ `O#$+Nkf6džiC4LKJPù0LC޼Mh$hXr: ~H ?^Td)B!h;㻖 %Ⱦ9iȉ3솠)%>x4]R !JD% N{< f{hj!t>4!Dt$3c>} $x[ɥzPa,B~N_RP'4Mp-}a!1NGi̅ o9N|7T5[鿐5Q#̺%3x23X{9Fa5٨pVu8/ !m TCP0Ga|Ij!}CR!"/pm͜sԜȆAoid=z4 k{x(ϵC9u0ă"'&VS&"(<tH9@/Y{*>|#Fd% 06Chk֭?UDU٘9T37ZIGDW{{8gǏ!L8m;&ÎR+[{)RCMcԀB#`At\“\ෞZZi2h*4P,x~wH=gpv~AJ5-(,RM'hR8X"]R!!7Es9=< !`gV}|h,~R};@Z b9$v~|Qub֎0ȆBrt^'"]\Ly<;ˑt=11rω1"pEVq_y)TC40DPI'1G[[e2dPBB-@NK,j1aqN1u"f)><<q<Mck`~=Gd $Lw˵qx&x%U[]S"H=\Ӿ\ӄmlp 0 #"3/ɭDsW V DI/'(8OLhIz(^iN61t/nz堣Eͥܛh9Lm`{%hL'P@q(ՒQS>jϥiv8l&'֪Ƽ"7dm}G+R 3'au'%ӆ?\-3DfǏDb$+$e#rHH!Fߍu;Bf*4B2(7w_om,r9.d05 &_Y XSTc,r#{M&!X/ Hr ڻ'u;b$lE% UU)|R &ȍGm{BzwH&eXvSj#,z>߃~r1Ō]Uv=#:v~;hLJ!F 2+;*RP[;-"V{vd`eFԚ DbXRp3D d[8DJ%ۀG xy>?"'c䥽zm3t|AzlG(XD0KE'r9)M̽V!*!HG,>,MqhaXi#ibz Alf jTғXc`nTVfDDr`2*u&Q12 ~r;7NXXK U"5FUNa%QRam27wP0[єo ju2#7Y@MNa$F XF\bLd!JeZ 3̲"h XK,0Y&M-R"jR*|= )"!F'#7<p04%4e)F)hT8Cz )*mbCtZ;|])!i44QP!٘%R@J('"˵,y0>zB |M2 'iTmaD0}*2\W_@J-rMbɕs\:"4r:UA.U ZJZuԪulMZ,>PnydMI>O,RJgp Ё uaB8C傉<9goC/ ;dzGMCdCE!6\'9T໮$Hק(20vv )Ӛ`/p4 dvd`jD Ij&eY HU9&EaAKJ,QXPqZ iHa)2(21uptIRKxAr`iqtOzC6|Ghkk audpDz?Y1"ȸa1o_fFE4C @4xa<`6 6@줪BcU-L3 :&ڈqscN՗<`cd ^<\?E,ITpm7gllh"v&5$FJᅫ8ܫD rnGu<8c"D%DV7˧BwŒl2_4 O PgA\Jl|9Jֺb6˄*\2DDgN򲭻+g>!vieV/ [d _+#CJ:~:(N̻š``8V%̹!hE{ݭU%d;["1Ԩ*^Jɀl,m>{l,H$[W& l1NwDb 2JӅ1qwqM^M&@SKʤlZ, +/'iG_sp@. lXBnF2F9͑,y9)M,T^Hrƣ9iP-UtbBF^ao\ ݕ,. 6s"D<]v` im; ͐ ڶDE6{fE.؉wސNqdh*]u`X3HjVӁr06.́(̱ N6f : ȅ;+ޭ,X/[a;t#+"RO94Y-Q0afHN!2Q(# N]/b)(I)h3| jQ6kys6DfrAVQBP-]~sLj#YMmqs!"b(SEpmˈӽ޻62mO9G$_me ۨ@P-JԭB'/,ma @T$"D'1y9ۡ SAxWCG 0ﰇ@l7@ [ bqNWdr7sHq#f!)c&_HЉ} dOLU]!€ !{ ɵ)5[H$EX?G c꙽j&Tż(mcmpG+bS`\\- *+`oRO\ 4IQaNy#|4 I-"rmmF`C_N. 41äzTѺ:Eٸ0D` '=mB}2 E)BgTMPa sCZr9s6;}[1NnS&Ϝ9S8jlGD=d '-4]DC0%g3IvPý{6 L2Dgpxh}2!!SId.JAcͼކ@vHj1u>&ǣ8Oџ9=0> A`sL/.3tfL Ի *l)s5R.W'Qqko.p\8ʽ3@yx}4Bh}u@κ:Z$Fu)F24uUZb%M^=8Rj, }rL"pZC8UX.j5\8o[8=]: 4*GZU7WS}^6b(Xc8(N2[[dF لX*EV# #||-daBBFjaݮqTq|@c9 9MaƃŎA"%ĈR*C(\^mBFP -k(L" wmP6 "yVɥt AIWD5UFΰDA@Xq BN]%.f뜶, DkJƈw`*\QYM^7Qg!s|[-L@xL[ 'QMc j(Jk6*(G%`*Q iq/ ]F@DƲZmP aq@nf4u,P֭İ`nAA! x kx! +pKs:8)@3bmr]gf$DP3P ąl0|8C C0Ͳ>ȝ.ZqԦm$T'2A ֕:{GGvbl%/0Ta7֑s IE807 ,gdK{D,S䞒^Y`VZTIw;a\IHa@zA n6͏a{mg6̇Qw& p (B.K0hPx3[hC"at4.2Q;yL3_0{!8<ٙéAIP>;;1=rl9{8E ׏vfjJ kͮY9%  ^;=p^w C=sP87PPsYz&TL1B QrKb`Y vTS\Q0a@B&qDlzn%% [kGʙHu'52QQ瘃2ve)C5  h* )sr $yjS3#m´bRgͪ 2fN$ȉWP.SPPqЗz7]Vvv][Lq/;[:q&BhE+`:@Ỷ`mW+zYШ'͓]_hƌ L}~w*֬g}<q= jȈ6 LM"ud X=nL"o2p@APX! ,x_;M`$mbZ̃Âu4nِ ӊ`=Fb_<:HВj i)S$D++@RPxp%.RIG2$c;&Y;4G [Vi /ͥe!C@]xa@PA!I1t#ʡJ8(P Mɛw<](9mc-xi/t ,Y>*"uw0®L0O>sū桛C:cmٹ!) r겸̗inEEH FTa4F%qkƋ?*~ț#\ ;0ή>T/T 4($%0/W4ă9'8N = sN ^e h ?0<e$s?+z(Pv ʲv6mw}[NPz!jc!"B%! VQ%R `HXb\\x+V6J`i$9$I #>-2><:fe3X yp}Z!K,P BDLp~Wͽ&,'SF .qk|L̇i ]'^ "M) lAG"}e*X׊C ߷F@`tüznU5eX9[vzxS` yS1XzAIJh55nra/~s!-E4D&fr_j%@ }O- B#@ YA@T*! Ll=佞 #-#X~og9IPDCI:cU$0OC ȃ3PW r;{1JzdD)NLMhH>:k@s5M̸̠Ռũ ZvoMRz>(iV\‘jÁUNw K$`!b$#43ͭ4LH) -154AMԓKRT!DDC@ Bʲ340RA LHJL!,2D!  E 2(L Ζ5ゆi((H"R aƜ(v˒<Ȯ  +@ULdeG—;M|UR&f`xlHٮhhr۞Gvk4h Bl_BKJxǻ~2 DŽv~cIaEM$)T,DQˢSe}}:m"ՈAbcvn92MJL}2Z< JAR=f߆`M %oHHXGIJ)YOR>;/>R*$q"' *)&(" kp75M H)H&{!p[0II$t}h^x9pdJa2:?jNB;G(=r@y&Z B<Kq};H߆C%tJC,\? Z (H4A9;&f=54Vf9#@I M3JLEW4=c^eG/D:$OxCH󍞆h~{mI؞@?C`?6ʷ鑷*ހǏԆ0塞j&6FmL q9:ȢjJ!I ລƂL4F,Ɋj@1߆ދ)"$]Sna6wӧ+tWzEFUCV 0 ePTMEQTM5 !ITHJP`i$PdU1 56T4y0"@RH$H`|D74S^gӿ#$V|R(Wh Ѫ\H{#֠I HQ6l'V5}%H *etj471tWtK#PmLtx'fq㙕3 "Ene=\@'/^b٠qo\Z ڈFaxַLi۩(ָxƻqs 9zoJ!w lA6h#)YD9PZN<}3O9>z-NG A)Q*Rv/h;h֡E$9Q3#{gy {P{\f\!u}L P@DI"RM2@㜒)(R hbV$I㉉2d*( (IFP"83G|Wym׿, xO2` moSoft9e,ET)UP HǺ!F2+DME݆^@Sx.G"rFGJ/Ϗyau?Oq/CU_a9l,Xy/q1Ώi~kc ӚDa>p{[_̶m)IAywLM`z 9DHMa t*9|//`#_ފZ>1;}P3g~#w%0$A|_ _UgE)tdNf\/ Gh}0![}Nɏx؄X{g#`%$ {OPsQYw)?i&$Š6>`Vy}s=h5Sc֧mQLFWX*7ݻ};=|6Tb P ?âS Aq*/Oq$yܠyt+ V+󤊨[܅g#zN'VP&x5(.RFY -s16+jKe RE*|g(s,t4 2 a_9j6* [HͺU֠t1sw/6􎪥?OYO5aGܦjgQ' 0,/Y`: Um8_#1pn#V%[;l hIFIiiȚ}IIҜ3N66 mn8,+i%w~Ӯ5Qk#-Ng8B" u̵b|bZNs؏ #MlK/owxG"pWK^Ż\ ~, ] 0}AFHcGI1ZC[=ӱYgw q6Α(^T|J@c.޵X-B-lhFes @cb"t_ ɾ;Q-*]wys1.9vFeFr< 1vsBnJJuw.NS4H ?Ho1XN\$P5pyO)K<_[TG_8 uh^r]eB~hHӰ'A]BW;TgdS)g_L/&v򹨁:{@p=2uˇW{I f@N @-Pǖ>}}}dzzcoo8> @>T@5zRU_lyi҈- !"Cڀ*2‚UQETR`iTClVmR kVI( [Y(JɠZE8}5AM:xWΟ}nvm׽}{FS^O-;Y)C;{\Xo[n6yGN}w۵}tO/ח] .vvO^(` !@Ǹl47=5ӻwR4^>}ʠV׼}V ]q !8zu1 E4jS}+C/xͽ_}gm;EIw>>t=޺U;WwW|z*|w=wݍ7_Gzvu V|{pCmw8@ ugmw7T-nr3{j{w3ӳ(M0|};}y>kmޓhۭz]GZ)Sm^δ"E^umWuN-*f'_`\jgvݫB˭;n,⦅ 6ϻquEEݗeO'0+t:yvewEzY:Rkܻ;5[4%@4νi">_u_3OoF\Ws{|o13^m-{<&{n @"Q\a]B;,3X5)}}7M if@:=ddN\ wg}aG\BAR;to7`f;fíK۫YcIIԻiZ]QHN{;s{7Uzzu @3L׸Qh1iCEtnw}oXuL%m}o*:UmA&hhja4 DFjz1 4zL M"L L d<%?*{L*?Q 4H$"DL!20S2j{Tߪ~CT6Phh044hh2M2jb~AO)S4h4h "Bhi6S#Bh&h*yOQ'E?J?QL@4"H@46 7jy(jy)Gi?Q2k1O8/396yY5pݮiKyS!͚[ -p9riW!,Q1p>#P^7Y60=‘Ψ) @5Z ؍(m*=4P h k@ƹD4-L2Q1 hb@5*Dhj0!2 "$]`AdIB454MH`s"ÌD$1`iC!L3bbdb`LAh!b8u")w&CL2xo3Q RZ&TU`b64JQ!LA 1 DH]q SLiO (h)J)(VTQ2i] rhq Y`i$2PTԣCsuA8JɥLY!)AzqU_00z/V?>/tttˣynNr,ۡc2׎?ݞ^N5Sٻe 1"cOz :5~F:11zxgtp?~| W] *ЉwRm r!~)>:s@Ņ+ZxEj<ux{[29A!;>gH:79b?a#gLԓ2G]6(ǑEz2GSQDڜP:Oh P_Ih4@R1A4DTt zAJ-3x"%`lб|zXȿÏ׷+5Wo巿# K3c#{닎K{;_?ڝ ؀!Bf`7{/E,. %nvW̦swC|!1V#u`yau$y4fi/nBCtY+˜ Y8:s-&e(ҥ P&m=ο#j;QE 7*-fȵ6>o=dbVvѡmD燎;uonߝrԩA=ǾBrtnQN5% j:-Z'5BRu^ٖ;$KF~4Pv՛aNp^Uk(7`9c9QTl UIU>l4po=5VxJ *Bxu/Nm-e :9UgWFX8D!&UEDG.Ã1MRؐpYԒK<T:4~Փ2~!5Dfb$T J~\"1D~@wqĄIKRz}vxdiTޝ _b_47*|PB *Zbm,Zʯn*6 u _bs=^׎!끁Z4}TG/ $*C l׎LݢhxEd A]D=n><Ah %2G&XNPaPKHa}N6A@H@޿Lu&% ټjv(5鋅f~[=ua !<сa:q$!:}QH0NBx6HN0*e6c,-BVI##:L`&D0.NvLN~*(/XbaYGSQO৙{Cc;P KN3z7_fy2/v%*0$2v:R~>=]DGh|d@>XRF Vkg?8zd肝|//o-1q}EhsvU"9z63Aiuŭ6ދク }mNzO$Qoa4꠿ePRG a>]&xnTP$6ؓh\ivb1僼 FReN)G3Z^ (GYdJ _gM't@R)SQJ͓u,V_Z]ʴ!9"QYE3rOz}L̗<cTTMU2-]Y u&Ȃmz":EJާ⎓Ȇa]t[K>}NYJc>/e_*c>H(!#Ĝ-=ad"߅.6|8MOLY.I#քuN]㟲wN*UtEޘ+#SuÍ{ H˨,zܑ QE p(bN@)@Oͭ:(*Q!  L\`bP1TTIBV4qA$f Gɀ`DA6 2 Ɛ"**)`7b0јuaL`kqJh)RT(bA`aLeC+L5GQ4%T@sP@ b%X$h!! `౦>|*D~tnbf,$i d:b( JRh(&odM$$DT 4RQ@S4I 0PaKňkXIXf5LҤTQE%VYTPeP%A$Tt"&pCXe,J d!0ADK T֮i85Nۂ=L1yfRfU1U HE:] IPI'y3lOѐE,k+ ˗b*` (b ;fD6Ys AaE-o5 ;be!IH0ec9f^H @4* h [uaF6QA肕Hj HD15z@@CALBMITBDSj1Vd!X`u@ L`'2J"!F,RG&BR4 @MuQq:o7L1JJ$ b8PS. q2W34F6ISAQ DDD# Z3,*(F$(bA+2R H9 RR4)R@F5)0mI4FwDADvo5(DĂ-dR1@ W$P)y0‚*fZ":sH8FCJtf@PaJN lc K MH@2dL$5бкGmIR[p?PR.;:sR=¡31$ .oᄈ%27Q'51DC8O $'AHBER>~ysmE\Th^+TP@Z_g?|^'[ʼn&[`cڳfn4⾫A|`-07 5Cסm3;V4xm{N BH5DHǃنg{2?z:sjJ7dn~G $j: 2RÄ5Zqq?@AJ866QB-Ol(7M#>LP}8P$z rJ~d#!-5 Z5urb`KDGM$fbPMdgʀ0y)+9_LX F(ox#n栲U#H-Zez]t̳xXzFъky)?SΊi%<\wBvOljw#5̢ck0L$?팘 ME$=3 izxuȻ~) 4B({H?_1BRP -rVXaP}N7 gPiTQjjΐCxZ $!^@'*mNzfx/'bK^d{GVi '!g"pm{.a::NMsz'MǷy<9 uj0j,vfӝ"ʆ~x1ć=ƛOžΘRVfZ &BjDJܔ7`8{;U$PCpg;6k pfMpFcM'3$ӻC*Ľ IuJ_so߂wBQ/kcl,|쒋xyX:tAGz( bVYaW20 }ٝ0~*Pm6;qmy2Nqli8R<לŭ&)j\vQʏOv)&?ua޵I(h f"* ,3k"eRn k Hd luƧ@BQV;̈N/~8Hpwa&akL:o]zZQM}CFtxi</JyBE +@8XMTS$6EʈG Rmb&r{,8CHMq0%E ! ͥ9cwn&ڎ;!daԗZdqƜF# l(jcS|0iN–XnA`A9 3J}ELS&q&aO,^YEċyO+뉛 ~ɍ)I:m:Sm KjK n NxdvGz,t%$.5I#\fʈp`^p\CIUY>6*W!5뼊*otǘŸ2 !Ţh WS< Ƈ H?q wT % ~>8`EJ)J/mveL*T&=# =_OK&3+X~ qH6WYZ>8E>SM^8SQ14:U'}m#pP04]l1pw7]>ڃaYs=QDh{-05#9 A!JjCckr5ZB1\2Sp9S[åSYR}jNzu$#s]e Q j2ZVRn1vuj22reF%ݩP4$ jU !dmѲ0'kmA][jMv{.=OQF%T=M&>8䠒I/wMz1 ƺۇZ_?Rz;w:Lrp }5v]l/æJl=t5h|myvxw~^j&w?^18Y,j$ɐ\h'<97d?Z]о?B|I?IRy/9qC|duRyeAM) $v :r Aj*VG^-@hEoM|IjǑMofYq߳`|gՈbD;G #)%J1 ȹvnCf>Sݿޓ䋹`j,t;HofHQGkg ]'GC@g򏄏s7*]?Y\W3 䟇gvTxJ('(:LzqB }xL)TH]ːQ1*:)oo|D7E6TOqhd SB?w Al/TK79~4eOvo&4GĒI hohe3^eLtJ'9vƔӵę#O@CL,ty;܇,>=yІ?ɾD^a;F3v':jl9JnI2JnΒ"RkTfhG}g)xaYUI.FqEFXc9qmƔB 6fciM7r#nv`ٽG>Y!44ǽ4OmԶ"bvsIiv֢?L3 ɉ(JzGXf=~zzMGJozw, i@; B_mx?T0\Q~[ \2?YV[%s5-WmZhmbMɟJd>J1yWdك+J 釩-i5{* 0EI3 ܿ9^yilV(Y w  X* VtK{'s} &3oZGϝ#!nZN_v\.*& AHdڵu]9E8'R٪ʧe7~鲀&?Ј.mPs'u'ۛA;rlv;^׻ۊB <NiڒF@p=C_+o“^lg{9qcn|r1X%e҉4=I&BI$W?ʶHffxEQe4ĸ2cr#P;`&%ٙ D?K{ ݸm}-7c{zs8m%h!,cSJtdl1bJ03/_EPl|,Y\̥lq) cǷ\^3#^ulWtLuo0Z Flح,E^ܦPGgS Eyoywvj6Y+M..Aաvՙ=0P.uxN)ׂ>@3{v78B(o$~g:9$y W(w}\BuS/f]10'_QUß7"nlt! }&͗7?$skOar2_ <m#b~.w4Ϥ7%OE9 DO3LM B$%k+!k~N].kA$ navW~Xc8Wvޒ͞>+f*>3SjQ:[Aes!ӓ <қPL!B.wkSx"$x9T164ԲBw7Ji8Q8en&У$la$VG{+dk1 J)#qȭT6)*Y8 f eՕXM֡&P XC+Ps&CE0H۲JzxL.E&"P(=n^&3l zX 06{[% mJ襉HkOUY<˖kM\64&BZi:&,o i.ɝXkl<"G337h4?U>LH}|ou<}JWQιo냘hT>ۋWU']m.CBBL$v?v#.N|>.1L#Ώ ybE }P@7-/JS'޵_3IvK M<: Ӟ\H;ht G꟦q%Ps#(>W ,3E^=_㞠gh_;:n,sMP>K<(F1VH⼻J7N ǣ}{6u4VFi¹Po)ϹHl:?1si;eW+$_{w/BCܒ@G&+##krWYc2Lyg2q{;UmE#ӕ$S"ߥl;2<6ڒ1cZjTߗ&121o.CBlrZ\cduW'BIo)gU9s=ˏy7z)R *w*XMO|ѐݘF!ƘPi]Kت/:xǂi$ ӎPtѣZKeԢ#(/|wJ-i//-j\Y>s7zX=fC܌OLiBRSLW2Lau1#d% *.ϧGdP\^׽ dݳbfedxGؿ>^_yt$nu\\VX'_?K}y:$A 9_oʚQ@dIqs.qj=%:Y'qIB#Sk_ f@h G|W 6Yݯ֢BǛ[N^C[tm2t({}bE ;I_7J/ޅ ^tova" }}d+|sQnD})\ޤ3VvF oLoz7afFD?47M?69M厨h FӰkte?RŚqWA6r+ZLw7N$JӡSab_ömSZc(EkC}$%?ѵ?|f*u( 10 iGS?gS}h.*ZbiG1P3yF4v;y!`4!PIK{Vx(8o+^n& UHn(1)ڑc 8aEQ(kE u:rʽy'7tD*<Ѧ($  >>*;P͚rTzic0ʏ^{c." ØybQ<~*Jf:! JEPL!cM<ßc $(rZŊh ürοyءǻ>^dTƹ}%_/HM{ϳ{.Ao5Fnׄ^Ruy_<_hV_@ZVW_v` !APyDSS>CHG`BRI u%Q2@d{0̡2A~ͬn(!N$Sz:_Kdmp<#a?XRnBRfvZLWz8ˇ/BaI’Tyxwst[-<.=XU#x}1_Cb"A${2.ǜfI&:g@ gs4"WcmTOTy 5?O+^uWn=__-&C{<eTׂUYmᙙ@VVPMs1WoƪZ=vbɶgdaԭ몘b|8Se0SKpn+Ms;X.3%AcUE?ojǧkؤ2ft)!F&tx$sKybTH c3Hkܗ#KRU]н4К&/ RXK SJ\<1ƍ4 Wxl뜴qU«򳯅<;nUk/Ֆ6[]WNMd(!56YBBa$Bbj[DⳫVvK zX+,%Lm|TS7w- 5{jPہWN${ҩY贴W:EN+Ew !/^nBVrAݖ5$gB#m?rF0*aZRg0\$b3P^>?łss/?vݞ> DJ_不g|"#P?uc?].ɝFAtSS'+@VX.uz΃$I B (@cdI!xsIdG;E5Gчkru-khhII !$p1T"me;u P_p{"\؅AWLr;飽RmipqX7i7Md#WrF&q9$!bq$J ?e_J@U TX Dzd>W Yw/i?dzG.HnRP2|Q V۹zx" $- C'9}YLhӧJV([LmyhP5v|<ʛqEC Q3i,SzP>;duaP("!_ؽ0pn9@vkЩUIp z6a9y !?`~?! ^;Es@Q}ĝ)T&B1(Gt5,B Z+R&Д2bGQ+k0֬nR @X6F%)8oou?G+,ҵɁOf|@K_V6yJ3#VV1%?|)kn!x췟*12)ژGʶ1$4҆M%ḕ/ɏ) Z 1! (e [/ɛ="@c BE$UB?˅?# 4w# _Ձ>L#RUtW/.Ykj;&kvXH=#$<>_G5QZ-x{(`8smp7]Yp3/?>V~oM@Ww?նk~_ X,n3޷"U982?x7W6= A/2؞OHz'[0ΠӐƅ V'H't*S[WǵS8>oE.LvŪރW oE_z,| %RzSV{teIXOU2)uJʜ2[!]ɑMSyS{㼏zfiw9x ZCMB1#2G :p1ӫ ipKbg0S@d?trMc*ɫ%0ؚ׉ks7L00j~#$X xuNoִ& nceU0ćۃY xL m1nOipCct,o .T9R_qCA0|]#}oZ"$ Yv||3Iji(=E$ DS_1zLjhEh<Щ5P|ԣBTň%O~Tpd98^>=lƶrXbV5{#bD`qiaa_'钼_ NU,AYMBt;+ t4D>/Vjص*ܲ#aI;?} Qmئ5CўMӛ6NM+_xg<.$!LmM~JJab\W;"2d\GBy>_ZfY~{Xk~{K, 9aY$>$MńIFcM6seWL@?xGz*NoAMsTT: X{^Ab(5E2sܫvf, @$nYBmaotcY%cn?|[֍&FQwמ\X[%lݞʠ|)WA>oF֢q6Wd$5R\Yicb3wD)9)A0Da,8]N<vUa{ f( /{!1I *LglFr3cX7y~0K,չ{I|޺O;s3cWSfB̘/,y㛇CyF0 >٫惠 sU0pYb̙?F|V֋o1Zs Yѳb3g &!YR{`wfqOluEElrMm^l~X6E"F[V 6(c˿axڪJ;@.xD}C^FWK~4Y { W$\f 8!F₈E) (=/Ѱˑ+uVЖd @ U0,Dl)0{d|K)%88hC&㪯Bs;[;Lde w߅0}48Zׯ0<@y Q[/14f=ҍF{rUΘdlڿ(4Z%UP֚sC]Į5@rftJCzR!2-A }]t)F|a= Đe鑒 L#|v}e m! g51b`AN*њaiP2bbl\qJ~g*8 P g&LGfg6+w3= G7,:6Q<ϗ(Td(&K?^MT5Ιvϟ[y;%]~msI8kE֗Gwf4e պW4s[\HY[V5<QC٧Aeȗ}^DU]׌\ODKj:͚ȵTQ E djjRx7~W}4&d@HD E0Q2a1M4a.3KfQbԗ?-AS}eF^@wJE1Rmv$u|3";Fב!H ]!>)?/ q "9bRN҂Bߩ]gXbB Fc`KkвPi9lk)JA*lgt>ÞnE$i,hy%i%Pm~1 R|P;M6笌!Kvw6tgY&? ^>!,lg-/>K{ UOK:8#ׯdznFѥx<ύ6Ǔ)͞YLi815 ُ>]~[!#}#[D7g|FiU 'wtx]ղWS tpM0wU5;swVcb꺻޽kǛoFQסyt׻ ''i^'?-ڪVg9ӟpf|hnj q22N?L~4GQxNK Uiy2j >}x*C|u9Ig]TT>ǜz}#G05kz.YuvҲpcqGAӕd/3!y[)40l& ۨ(TRAfO֑RsU ٍ[o `3g'@~Qj?IxQN)䝑(A_&2ƾG ժ~Ѓ,tF^qVR|"FQ(RysGX_9Q%n*3u酩oilQOeJPy?c]Y[>nI\I 1RJl aX)E]ѕaFP1SZMaB:r}v^pm蘩-[/0`HGfp9-w}uvS@?xw_lJD4+%1dMRT3AQ0a&H `@D$DzdQk~e{_9. |[~}F)NFҖDS8+;j5SDcGGͷ{:Î]cϩH>x3ѣ_Z|8Rk秴.SXX[Qgсa2hH9 =,ɟ1F||pz uZ)D#LP|l*_s؏Syr[ nQǑ]]`]qcTrLPdOk֯!Nedm#]5e1 5X{ꅃkvtM!og>:6Q;]l8JD8x4՞zy@ N\IB ]K.sU\W{\Vy^e+ /`iԶ oꈑɹ; k&V+aO2.?fiLV0~y_<$pMn nD~o7<&ՕETEǹ{$~FhGEPpxRx颟bQav>а#2Lv\HExpۙԄ&9FDZ䍨A?d3Fу1ri9hӷ?a|.Vy\O,} q)7Y˨F6 3N:QuE44 Ua`i)EA튾J^zu{S <WF"@ mMC |0ANGj~O]́9}lfG,!$&S$Je Pv]#=)XclkY/8o7Fچ5Jv0Q=Q}qf6`:9Qթ_鉛?Ow#1krtVNfՖsD##US34͢Ss>EU}4*F D&0PBc~ggF+pm|:kx]is,}!۴gF9~^5s;NێcS9X0hkH(MFMG5z@uQ>}>SD6T{yB kJk!V6`p҆N(>cɓg2, hAiюn9QZĭ@c]n61UJ4`fzjڠЦXhU s7h:ޒxL8#e#@Z٪H ռI>:mɦlPեFu#7>cUվ|A{n= ѹqևt$zaχW#y:Xl${FՖS8u=dr`\RUX6cן y6(vvI4\x;w80 >;ZW|bD&є}<т>֊P^s&zk?CoqY_i ԀU/oX52h0D.v͡f*NÚM˖0gKc܂Ւk)^$`-6ɨl̎V>=-#}vk8dkQ] 1Y(`mTFˬ2h=;kD=\ϓj^K4U-z`BC"im2۸8rgZ@E84pJ40F-Un`$dS>{5loES EE27PM |6Um,\?rMo$)Ou8'd t?A>KTj6wQ_͏`˳ZӘ2wljAB@ElۻfdU޸u "S3 2@3& uV~2"I13mݥv|gJ D8r6GRF.YPKĝŤ/gd6x_u=/}{?',8>=ߏ\rڒRh*Н2B*M`r= QMviM0Hsr ZBZ<o1V*pd.' K PC[4v@fH1%4La,1DEU@e|6I#Co] ƃ0 TqG$$fI@rklkaejً4_IC 4뿧 <%󘜘qtN kBRh*h(,G hE00w :X8قaQ!Y/#{0)k~eOE6P\CKΩq~%2zLv>lڑw]N? OH:cW1Gml#zΑUUU UG۟} k!43>ϹyZjar zy}IrWy8p\eL(ܤ@Zs(<b5;2Aʳ$y+DQM!JϷ*TBl%ٶ=}OR@4^>#UHԓ MIRS(y}|?K: |>?`2UEM)<"B%GsAb~E0"+, 04~[+Y !!$XJqb eM_//Эݾ3㜜o6֊bCE{o<%j<:ocI&v:!9{s3JRΈ7%)Yoƪm׉q8Ƭ Res^#q#911Vs >5[?SZrͶT¾A:^_YiB{)5$<[6T&et ɛr)t7K5:#.9 fӟgƩ0HCj:1N2 d$$UFrR[Qb٫f?Qe}T~Ho?vqrn)srJ5z-}9_;ׄW`P䫣7sk6Yo|oLB(A|5Tdhx$`N*tnS[v>>ѢAue,:>0hW&"]^̽(}1Io`7yrSdžZ/W[BLǃDsG>?<[#cbKQǵC ]mA&`fͫcOO#'WY`IƁ%Kfe}vjYь‹9| џAcTzlPkTia!RBq^}Q1 .}H2HIIIBA ,$TW 1?9g$'焪!+`)$MHL>d/Ĩן.ejA#<( # Ҁenen. P S|h{aud*:䙫 qyPww걶N)oe*83!c3,53xl3+31m>tGs" 3jq`BE4S[馒`C  +cdnƳs7u|[RM @Q\F_݀k! Yzo*+ϋ#\Z*,7}uu*zjf٤=='є *ocEL";ڴ-TzákP=X*{# F++HFwxM0jtwg'"N:?rF:coR[1,|ՖmĶR¥ r쉶b`  e]_gUꔡmwRY4nk'M>gOѮtien~{x+z%ou<]U|Na+t=兼)֞G5ݒEgR_z2*^?\*H棺좹jzc }3W1= t WE9B%<{Ds,詀|>'6(ӅQ"SS`Wyz|]AS<>`Kj6+ y_>:/8i$>,&P8x{ٮL)Ne#]t}lC^HPx2ckW)[)kGMYEEO/3Fw}Sqd)m}|~8 ϚUYǚu?MdQZd;F:HI$ [J-jFEugnux Fʛ|Bo4jV5-Q6eFV3yANlB_v1ӇY45-QvxWJ>4"I9M)]C ɫ Do##6)TR&o V/1?Z1ɆcILѱҺ*e^l^XGFlw»דAI/CbD# \%[M{caڮKϮ3hzau+̀,,dsH*4ZYjFLIDta5P7> ugB. ji7n<9CӔW\"7D`%}?SVB%L 2uʺ+9 RñỶiLiCԑιro.FE_}80 0q8{7 ȥ>P&q*R#AԠ V<kgn[if1AϠYQ栙UFSEA}t۱YkFԨ ;ÄmSK7%Q= WD#?.y5~G2<tJ䏽̘=k[Eibe!Fi,|]~{U0+᧓$/Vji 6],g%D3e& f0ߛls6Ou@Agz w]^f.# 2l<[_8I 9]wuM<>}k͇ZBMep7bb5Z4L |9lۚkQToZ/.lGjnz>A}Z fֵzcMqgxy*w/]fĩE)sSz*}ՎuyJo LV&"?_ζQu^Fi,8-~*ɮ93M9m[#J|f ©IʕOd"ҕ]9U85)PCNMdݐFYɋUN4eŀE_Xכ3YQniUSLOV:5RWo%'bȳ9h3էv^pD'\)iA徧`)"κ(=BŠ-;h7f!,SkzM4s̮އq 9c(lZxuv8ę!p.UrHʣ9G_gB/ͩ[Y rjO8h-js3`샡*NGFkh`0GH6j=hН`ysrw͒PB 즓BiR>ꯐl.Dbւ-aV2+F =La@0ŘD`K:).0ҍlkͺ+[wx}ÎUe/1+{q,/@B,ezhj'?yT8+I@_|kgp-Y7q'zlLE)xÛ4ԣMUOߗVli9֑w2gxHP:q#%7A:q7BZ%Z_@mK"ALbT-LnUƞ<]\H39/`j׷sf}'WTGiil/jgD44ξvW"/yC&pոx8̱@CEen.`g!M[S&5tC|.7@2%zhoF9M_MQD5J(=XWd`Vi$9²'`[%oLwbեụfITXokj[BPz*I ,7qT},}61Ji%9}s`l+oGoDKUuT'?]Ma<1P[r~gވ]ƉAf:,ʍ!V^QEHWOd#nTF9SޯUgtg ?$@(vJA aFa7Eq>/#.ݖ?NIǽ qÑz_zΟ8&űO{p۹I'ԈBw>1%(5Kf %H;Ecpq#=Z>ڨFU> z#[:[#T{oFoU+<20ȡ"3)c#Jnwnzi~K qA F#uG~W?V ~ٟhTkR)Q(8@6ٚQDʈ(Kإ9z2]'B"9jӲ-z1Ol#F'M0,c*p)Q!uPwG)̃D $ /-&pPEb"Af9@| ]W hnjMǺP)UV$t&d-F,A`nPeJ!X ]? vz+݁"'4IޜTWj7νwA6X=ߠϓ7zǮzb뫧V9-zM ˵њ'gnlob{Q^}*oӏ %Jv;ʩJ>Ah XZ@b]w D&]pEdx΀ęݎiU(>٘sWL=[+f *3TJ h/?]7N 3+<3YevSo? ,/u!n~4ny;IϢPŌnd 3BB 7uLm;i,O~ O{M~(G5Di:#Dq;4Qs_t/DQ :bEmPk#2'wۣZrEhS N}Wx>,@"/19(F*'MM/:ҳ˼j{[cP74B/+*-EWG ДBFTʤ=Zܘȏ{C[.trHjhB׳GEW1S p ha  h1ESF#XiyA}-bZ`EډTwk){l) R_ j)[buNps1o- SJ@04'~h&n5 S1P`֣ G#N2i3 V3Lápp&G0s%< 9;1NsB Db{+ fUr&0DZv[hKBr u%Z uʊdjE U_4Q[lgNQGk涸絹r +"|sIzQN!>^nrf>\_<Ѫʷ#xQ:Y{y}r'ˢ5]P[Xާ4׿қm/\-1K'褮|!wvin gr"xK}j6WC?CB)z>AFR:#;<*մZ<봃̃Bm]Br6^6.rJ}]uycM%nǍNvel{ `~`ڿ7da#?Z4 QFwm׌=W|='9] :rmQ̏QTB<5Ofe7+3~+NF>L/{猀zn8~L\9vUcK}rlAQd{IhƳV&oK'FaZVK\i2jiVK"[GRIen Vg#tUMwFwFh:9pnlƋMO %$TSgv3 W Ԇ00} ܨj|NoMFGҍ3eJ%h2w{sWTW4| (zBil 4QaƉUGyQ\3dy*.TX5(q|aR|EEs}:-q6-8"HJ_1s[)#[3O=^ThҬ86&_)!zeEVyy&ϿG7 zӎ=M ԄM5sS66;I8@f+#ڈ?Z{d]P}z <=??q&gu7/pNODzq%/ylWn?jo}5g.'t:*H1c_4>PM&~:sf+܈OT ϭ}A8YB7>ibs=zo,5,0!HMɽXNXa%g/D Eu]c݄JLvb:('QTelHt(!2P#cQ^xo/kv`zfWŹvг vҨ,bM_ M֕jYs57 dU/m*u/C7y mp/6<`beLCpo{ؚ/s$N:'pa:˃ILh)yE_MO8Gna~,le quWGXpb]B${\LUߩ9zg蒓I8oGyˤjFvMlltca&;\[!&U4*?"c\S袺y+:S$[s .re}pZ¹{|S 2PH"\+='u||L3m_n/yИv`!úh3uKIimS͘ȫ{Rs>FO]0GJ!s*!Ur|g\q؝uF3sk3 Tڔѣ૨TV<0LH@ԳͰ(RVzw^c Όi2T;N5[DQa_7ᆨj'׿K{G xԥlq+Z/ ߈0usYyV?GlW9r4%j ^ZjeDf(a{o٪~A^%qJ4KAQE7u5ΘFۧMq]ϙF.g=KϥgSy9{2|\sL9'/:La3T[k5eN(C>ҰԚ{LӑELZ&=^. i#/Wjמyq,Y %NH1Fy#-IL| =tuk}]Ts<,hve]RG{x!amOh-~#'4mjKZ4xzsn#2r(RbOޭ6ng3 q85G2za:Ld}BTu""Q $_.>`ϓ&{ ]ż+*Fv㧆TUf{hz9{}d]!D (J+]nt]Jq$Ɋ!+d<]oD{p#`ANEEFLj#1Nr<2Zh%~أ K{ג6eIDy(X^ iD=j#μ\pPcCBi?2uߝ݄&gPI Pr,軲HFIgZEY>zZb=Itd[$ߗo~>DtBh?~BO$|U= Dᱭ3(GY:peE\jX(N ha .5 uΘa0DӾJALe 6|sm0=ϡN>l:i'ҕd6<# ʿ1s$(I$f\[ i~swV\SnhShg~ڪo/gQ=J(-U˜uҢkj|U¦*VcЊk |j;&TrT<!4q]O\ވyrB L魺5d5AE3dYJ/%7Q;eLl2(n=mrcla^)MTkhDm P%EF"}U|&AqS١oE=@&KG $=YiyWwwǧ0׷p$Hd ˑ??bqN vJo摮csZGq2Kw՞DHd=͆ԄJ](g!6ND(C)YXPzs#tWds*dϞBƸ.7g% UrPI( s;a#?TH4}OZ/GR)6km5dw2&xB=)Br0:-⪥|sB( zL muLX,3J*m[\4cT[Fa&(Nҩ_83!~"95ԡQIA[v|gaWf97~+nzYy}0A #M%Ltg]8DHR]]ekxo?16O.d@AO?)4S `;Ԛb>=cfT0Bcr/S5e`_FX_T(w DstSgԏ̫8xSNS }Pҧ7?ɼ[s8[)eN|剾01:L_ޏL#mY?YttsKNadgE~RǮ^4^[m%z~QUT&V_^u6Y/ٟ͚~4ƝY'r[f 2+9!k}5n(s Kb /{ ÝڛSHHfΡY%%069?%O:YȂ|7+g0{z{]vhR< v\@mԿ ub7׏g9~/j+{Q@42}Vb3RQ=lX*3硬~fe )90uE-B`O8cNm1 ?Δ& lQ1 olH GvhwH&A˴&0$m{$2l-D83;q+ kNP".~?O&dܦE׳O0 wau[9˗5m) Bh|:)C)>Ԗ;{5t릸+jYk鄑I r0caPGDK*߁K{Y`.BL<9DDC@1H͠#M$僉6$ejK3{OG nS:'2USAijhpCC8xk-)&8&zxhxQ:Np ~ dHZqxoTe[C h<|ς#|}p9|:x'rkпlEOj:?:S{kE] s?:4!<2E>aeh" {WKu aLʯ;$n®/$PQo/x@CG+'#0Q‹a)SgoHZcͤtio&3VO~Ճ gQh0?w^ᖆ5ypCq$$dIDO %tRY.F5$a(Jd1(R L TD+B)j{ЏtM[6tƽ*+D1ci6Hab?3v=Oٮc{G>?d~~5@+>ߞ|k)ė^oJZ„މyrrfllPtL !m Emi÷ MWhKٔm4f46Tgpri~}|67(6;QeCZ Et\~eZ3w n>9jh~zΔzBY2MJ"*D~C1UיdW%^t~DHvQbK OĊy2x&v?ʊյ?߯=D@&P@ PiDZ(z ߖr41II/uzkrifGy_a= 3!-3J2N7t y΋Jhd-0m2YNU';kI3tzݤl>n9ӣtRt 9h,Ӎ?uҘ sbqCC;ňp%&`񞈆7>݌ @/~VFj.C;6zi=m#mh鍴:ux=h\:a^ F߇Pz߲i3>xzgn>K_:^{W?]-z.WXX}×lٰ&Y hG-s=۽^~PH PD%%)*EKBHBiH2"@%B JB90r0%(d!*[l3\0 (Zma4JPL 0d!1+?Qn%mCmGZMdH]QMUUUUUMUUT2333#AJRSK5(U5O2eAUUUUHt u(oǴ'd^Ffo)?`kD1G)8)C(p6!|-kh]ti=R^ Giqd7rHaPd+4#x|nlH]A| S,ȏih=JZJ"]Ie?˽bD.sGoE/1N+ VD< z3b6sj[H_ߡ28]H}xSXG7Q逵rҊaOn]Q&CA3ʢF/vޤ@)m'v+C^W&yq(v:rִ]ucdxh`yDרq5%% CCqJ0H*BY@%&"aHdU@ӿןPv2ĒQ% k2((J>,0j$@\`8+L@K4JI!XYBPKoPFb#c]ճ$|4|-&o$ ,$xteO8 ?0Cʏ_4nRnνXk99>Pp!_kvlI$?]T,DL9#U 5?Cd) )fӟ `Ď\dq$SKO1&X]zҧ5D~G vJ `2u}AȀRP&#7cǙyQ|ٳR=bA.3 &3q ,$5;Uf[vq>"gds~v?K@uY# *(9(Q ?f @ 2~᜙"U&h4YID Gz;&_&31̿%̀ CSa)!yLTNd4qo- WgdgFy=yqfEU0 ٭G4(1Z% &J\7žZ-lMBׯJ6coɩ2L+c[ct2c^ MFmG g7%"1H`C8n Z QbV>{[0MP:1{%!QS no|b|JyDyX{/([WO;$i&T;y%-as hÛ={jaڿz>>!̐vA-~PDw4# wsUgM4_ _9u,ZhFq|+nDpGn#9ܠW_V;čGq:ڌx r\==5\;}oI жgCpKE 7hѪmL ,R!isj|x lgkDa. |KL)6xM24{LA-Lǧx S15金c:o?s.ٵHJk6pIbJW&-Ct )YAԤE{BF|^v,R\hhssAh{GȢ N2 A8@vD*bNx(ҼI>hwͺ5mIJ-'7N-H6~~܌a~XZ/%$Et0x,2Pl !ݠ^7냕hvPaX;5d6r pw0@A﬏"}Sٻ"H $ "3k9% I3_8<¶x"JW^cN0}B !1$hUnyE'1]'qnQ#9 ~`tu~>{D~bQAw9)Oay\w# +q&{3e JN#8YFy;fhyO˻Ϯ/-lx@-!VWXFWX`g==)_;01wN CTCWC훨Ļg-׿kX!nc$C'}Uxi`>ۇibK2@s!D$HOiiN$r Xs2!2,hl7!uؼq~mi3![>K\Փ"#s_^G}uЙjbiPm$CϏ? 'yg9or\jӋ_>>_DbH_6PޚLGӜ۠66(O_9?XTI *jZFyLaf 0Fsq9g>xqisaM0µ*KmD1}%1Ǭ<㞸fq>||gg4,n dS+X3HTcp#'lxylUV ";Aмr3;tFodW"U>9#φ;A0`E暹3/?no:ǝ xuʹRU,EE{}rK0;~Vc> 6)YLx"-] FprцkFw Ѥo1eN0a6 3n1Gѯ M:/i)hNo}-4GC"jo*>%n@vLޮog+aooWUy]GvL+gʼ-„W29_šᖏZ8~$PyZKVX[3GS W7fN7Mw=qƋka^ fsP1ٛZ .؍d%g7SpmS,na ${DmLn; XA)Gov{ϞktYaT(Zt"W|$@t: |mPįbrXb{=w=xE]4TI=x@sZhҦ'eXtmtDhUT8EYDgw`O,ҊND3PA7"Ǡ>߫Z'{Y~Êa.Gom@TOmIs/KM^vq$C3:]0alr\=NPTsy]ϡ٭L  8z7ٞ| Y4<>RD>B͍7;^l1]2mgfvMeCmM ǦqƟ>p?0ȱ}LhoÛ,p;z6GxTRfW5}ϳ2q<sS^ 7 ?85JhǦLkL=!nMq0ha.b4xX٢ɑ=,{%vBaZtz??uOPro;[SU>op3,}U-u#E9ѣI{_wیr6|#v?\E41_g%ntʳ+hwলH+kGy7pN|)Os}o:swu"M:tF`5FfٗY! Ië}^"tEqDkOѾ&&1N7ι&㤙ȑin' 'fO"1LS<ܡtX^"9Nz<6)C_EN7¿sI0.ǍG͏=?V\q|E?}|>`{}sc-j2jעfG:T;\UԷq vNvR{8XWM̎O8YJ26So^m4fQ 1А$+?MXKu .f%/«JSϥZP2cW7L*#xdK!*i‘MkcL *:v7DcmϨ:{e뿄߷{T8B"iO~iqURٕ2$Ŧ09a}~21,j6cYNh+#,TF1vxWԝRCtp]Vr FY 1zH>w*(i#Ӆ,: =p(w#{V(/WM%-`U *?YamE:yfCݿFE1ݲ|fױWc8 p,&H:1/Lhح*5y<3.յ7y+e v컭ۻ+ 2ތΚ=E 1Gm߽>Q?Vlyϧq`E3 д{]ޏo'^m HUS]h@aEbe274Lu!UcK\l_š\S |T&3J1%.T`_=;U5G/OFhݸ4_dR&턃s4ѥb]t=NfcѾ'<+߹./BUyGׇr=\I;*pɓ% »Ҡݠ&#/B36n} >}s\g%R)@Vʳ5D`s@{y-24eOf75uAaSOhJ]٘ʳ6̲iƆ{zƫtklno# }TIkUکo [=aʘD)7h7N=CwGn6Lᇽ*t}s{k/?,V6xJc_ɠQUJit䲉(rѪUgζWn˧?^j_IuqzC͐6Xhx}jN:@)v|wc.F0ݘ3t5S~С[t 8n}CDmۋETG # vީS)g׉S+*|`(KdLȴf$ݨj8FGʿH%q z>ʷKmPkznwSILvO=wtJC~SSE]@tϢs$ }0*- yϛ6qĝSc;e[Q$" .7F=%=%v N_`EK;W_Isey3'ڎVzŚvo IǍiL5oTIZW 'neJ-G-}j)sDZY n]gן-gwl,'0JܝTT精\nT,| tw=19'j^|LoH;O|.Vg=\앖Uh[}͂9=%^a =&^pJ ӕsnujcOtNk>ةFvJxL'-Z !wf$IsӦh0 UlK=RIrV9W[rlJ0&B~5j{'OœNڵGVW`̲1>]VW|J E4a^~R'sӦUߐ)Gє#mN1v P7=ۮLpļ׿|',3N6S:r£C2ZFݚi Nd"ڸ;]Ui&N9#LM<>k!G^l+ut@SweGUES4Bw4v(v/B)\Ψn;#V ֺyv%U{ͷVSuιNh-:嵪+,2HSF1^@d|ϧG_MKM}Vq2Lw0(ժ )B T <$FK6i^"՛Nr-.Cn}IQ[no|g:JXz 9[|6t,$J2?{=:^ 'r:6 xt;ia=LŚBK %k8P8NKӳS~PK?;wdڄ\3t[c4 1wyF듌\źu ?Ub6o~,חr|٘}.;*YA 2f0h4\ Ac]j>P$ICD$K4E$% T   R(@JA "(? ${;?® $ERLR3#$1U=dJTU2@u!udDKEBT҄%,2@L2DTPLHQ#D4RQ j|2B&&&%"JPEU%#UMJI( PP.Hq(VZ$V&R QdRFj@11 -1UMAGŏaA6 7{mF7 JSs&m$IZ!H _ =6NBIZj" qNsD"UO^e摭PЫrr>uLf (h hPc0@٨z:Z*+?4e_gh?jEd@tz@ RW\P';ynN?M`,ʤO}e)]FHBQJ9a5jd;8x4B!Ht>(lHw?y:o˼>XDʒA@ d RykKZ}Ԛ zdS^yVzjpLatLz/濇o- wBw<-x0+96k4iU>U=ϼ4qӜm/b5CiVwwM^|k>vOo. u-?m31-n-zcj33PX}G#a|LmYIFyɮ19{I7z珷:=hu2\JB7xY Oh~ R_:LяVAh!:!];pI{-|OkRO/jzR`l" }{][C=U"$"ת;VGS/-Dɧ/vxa_k&@:uc)$,59RĤí)rØZDcX~GojuW/ι&$I ôSǼzz`?9wɛȟO:޽~Zټg%KQepwǪ3ߧ]{{<z>7ߨU}RfUܐ]/юGXFrqlk땗^-M@dې;ZgnNWoÍ,xƼƯ //oPAi$n9~qEQݠGi%8<$ᲄJZ ToxZi/XŸhB5:w)VvXXi;"yT ̺u}$x`{#Q;YĨCb0b7S0&{OSS0Gx9G8xv]FbM?jNY[c H6e(j fM^Bjh NSMi5O]<ԏc/YL8v]4WƫX֬XןYf8mgNFj#:pdJIMHH-5 .ICbkrtw^A|nn@,]c[s[en{_^an=4ՐgR]8FOĽIaF+.!ݥenwtpU.$^_dfLN)3#F6VG_ 5:mȄ6ɻܱtW߳sNl٦4m.7ei-2몋țl1\Z]^QwlNmRbe:% 6p0ԮocIh`! ]ON(H1>S1N&~|\G}g1R U=Nh>b~gܑ}厖 =jK+~3h϶'xX|jqIzKz.bR,#ް~N8^\`ɝC}P/ ̑u w~.R79c5Knop2{Sp)&=f *]bjqtAW6]1GYUcf 'C(, $ΆV7۷̵#o|hL.{dz{{UsOu09GRzKpx$qsbyQOs<ʄ$8W7R)0n#$+5 ˍTzal6oqNՀ'mՇ'LqAr$u,XҞ7^}ب219=~{0{dF YVmg!!!lR#^"kx2h{ۨvnqZ=!6iʲFwnXxyzUu2&r%,Qx |˛F1jN8~PB3e;im1|dj Q>4cUqYmg58Y@({Թ&c##Q@J>KL#"ݓ 72jN`x+Xj2E2ԕ [d`q im`):U/Gs7JԼ(ep+^N2ZZ`1 ;Ǒx÷U6S;|.vOj Q8E(%bIɽfҬuxM{'n ΐ TQ<1[;#͕0; (VSaZ¦Qk[w%dUcj{y0-v mcH:NV0(gr'HTWW^XaH"mgd=ﭺi)-8w6FΗ^fB~f^I30R4>_z?p8Y7\yVMv}9V=3v\~%6@r=[:pz I^XWxE'V)17QN5Q,ІR&v˶FcL9+B3.+cn1 Ιr~Lcu]#Pi\()$.%7HNVav:u hfH)Syyu_v64ɶ9Q՜ԯr{ڴ81Fr)1Vq#%`y 9 :պr59uÜoFٻ++tR]=wfr.?v㑼x!x2/k]Mߝs8;#:.5ԑكAŦFc#gM{O%cdVD zkZwee1y?*֥^_0RS+F0}أ}G`nz֛c4WƦN3Sm>^zm1FG-,q?S+ XNm f{|~dʟ}Kke)&iҹx<=.C uݡv5N ٷ cne]޼f޵;.Y݅}4pyX/9,&jE)D۳C&ӹ7aM<;m7j}ˆ3FY)ܳ@#("=Ie,+gGqCSee3D.bZ6U(#6dj3rtY4'y:o#-ØF;*:fy`Hu"ruTc#'l'ny3ƛ+U3ˍimۚLR-Jm7rw<*\=zzIi3upo)#~f@:~L62/L;'oՁ?{3#֭5ኌ:i=Ͳj*e=F MM6jXEiތgT4r+r{rTE!e .Żk׷8c9x6c S˲升M8CqYmJLuw9)590ŭbaE&+\Z||m@r6ےǸc8l2 ڐ̋IH@vLmmkSue4 2ţ{4;ih&ܡE.'}"bs,M83P+jHd\Nh ;`Y:nu-g#cȣ6ěS8;eԌ4}HI5[XH]MvHxOV6OVdTӇ-7}ckkN9&2l;JڪV$"QX7:Q#l3Z#~#,k^̬]MṯL2bcea\#(tʝ(Φ_JNfs-BQFn6񝲏Ʒ ;pg!¼m\>wl\eW䒵ck&GO7Oԥ:<-9wW>e$D zh]>edƇ?kmqc}lb<¶1kX/ZKuKa醚\1 1|PJk8B\8RcԊ-ؑm|u臗Om]#W *fT?5Eƃ;ᑾ]3L%%T =f Sz=@QֆO_Kr#on±gv fo/f" 4!ӌU0V\\m75Ul:kCk#Vv(:ӲONZ‘B5br~1DŢP CҟԒuzFwjo2ə%6@s^!}=&#AFV.jal7{j-h 71 &Gm^daԍn,=y"!fAvdJ b$ R-FnaBY̋hfޘcYֳJiѬ\"4flz8nPt)M:xXji{ަ\6Q^%#Ḟ@O0;.oӣ1ICm6yȴc]0O`;]In| 7Y ^uM*͹i?.1 Mx<]Mxtm"٢zyHp9J%rSa6VkχMJI!KAmC Nԛ\16[ikƫ REeȪGqXW.Y.f5E&;*wBRUiȂ<9͵C$u.h.G^ WFqFQ4H27>8Z ̝Mj^/u1]wHe1GG冘ȴ¾ޘٷZ#Uy goM6a*G)wP Jҏ,n\z{kgC4CrVi}oۭ&JFb,y_J*G}> tÚ={oJwhzo XYk5ye -28R%? M3R+'Pj8dY2_5xdhH2> Zgc#da3Ձር*ǧ kwŏV6 0k1M'L 094zChy綎8=Eyeޥ.\OL =8FY̔/2xqִ5}N:K=n o]A|j1ª@)LGI6n`_cKmܚf2pzAxZ5Ce׵=ؖ4c:O"Đsj븋1X1OPһsD_ǔU},abqř M&ēf woxv1C*Xw,̀.9 3 `8NAu4$>ȏ6ly %Aٟ>63uI֞B,]h;L uL|uws^Am}vcgC1۷%ssziPZ!9r@[CI|aJβ^߇)fve)f=&wdHqR:"(-ӥ:9]Mm7}h޳WM!Ǩ(k{ H tڈY 66QI\ 2| GIEl>F{0T{V{qU~8YmPso',D{;Qs4ٗ#ӺYՑ`l\e7=4qCx+5ĈP(]RRlϢ \6ߩ_9W3v_k멮>Uw Jo% Gv\( Ⱒeˇ> WWLssyf߲:γivu;hq;#Lڇaֹ~gaViX6cmCP&ݲmר~fkl}Ly5;i asUNOݎq@6Iz><9Zx3P3Hn4)rI27Cr7LxXZɂn`RiYa,.mUGݰG4K= 0g튗KEYXԳ\#.~~8j Os^!Z%0W@3!T 8`SwmWew@03Si^QSQyxPp2϶G !}*]9ZJD 9KuWMal鯫^^b!|nyLio-lճ@FhL8Vkq?l[!APxACdtRW}߅"QhS_wL5wз$5<_ S@S}bKh 0H3aZ΢Yj+Y,iPIfFw.YSBIz5]D6Q7dH B}\dQ߰oKlZ}_bf3~^Anm j@|VTbg͂)n;m^} aϢb )&|r^oyj'n=op}#0~Z,0#}}mqkُ!dNR>.66(說T?*/8vV8xb6R!wTgޘ3 ½߫|(j@ ] )'I3q֎oޝ!&;)(\W iq"R'@tntߥƵB5:d2d_Y c$"݌p9y~<]T:HP,Z]`J[e5(|@y#ζۤYw #2LmRaA6r6ɸ6C#fq⹚& Ǽu,GK[70h]0t9֚z5M#д|hGr4F9,@S0;fxd*`^aK$' HBHqDH7ԝA#!cע"sJ:^3D4 \䯐Œ 86*$fB0^ɇBiq/I ;@7OxÜ_<'QafR&<۬+Bq|u|-Hr:/*aFqCS!A {j)4u5O UTg*$ Üay9G^٫^cd\^!U6BkiN9 Y #}f8עGW Z܂D~7~}X"շ^ OrxxdQ]Y0Q ;8@Djp56 Nq!3:0Wtxp<[ܛ缾 +UAX,/yoO~dL™u$L-=*5Nf7zu+_7V'g'E*57RdžTW>M>;^:ӟ窻, qI,ӵ sO#+/ krq˧1-y]t-=oYmŊv {yknrϑhI24Qˋ6rԼq T«R 8q9UT1 ٳ'2 صJ sMh .`!hJ)b`$ABPCNa[W*֢w{.Ky2g& ;%h Fknje/E?ˎg5]yǠbϔ-{c 'wdڼ >z%e>.eRږ9inhgzS[}D^zrr Tf 4WȊu'l4#߭;cVLjS M:ͅ{ TӰ0n:U(cfm^([u(mu@8U\k16 ))ԦnTgQGGGmz"8Z01XoU :gcQQf4ihhƙ>9xぎ[:U7w5^>Ւ{Z|QW:[B8ԳȺᡟ|o-n\-/VѦ-uOѻ;f~~Nh |IM8מVRct+n™ff EeWd20! )*4H_hNaS4(ZV>'sD"| TNjz˫נXoU &*BE.at+ә߳T(PL\ӳ^ ^lL($zG3pVGq/Ϯ&=ߌݦ4óm}sPI}torS:ۿƹ/NxzNp@Utza2I>Vii9#Up7~u_}x{6ϯqUvi)_2ag/jb%_KR]Ӣ4hӕEي-0n.]\2XM.I$6^/Wԕl ヘ$rdPP 82+f@,yUO'Ò%/fg*8_]qVLUEKYeeUM .0ѕ1[Y`s3+5rjAF1CϷ=96Wuuh# mY$pC(/*l9!{-wg8- upLr0vpc[mu0@Ф':M_f)(>_^h;eUdxOR=8뽱|u{5E;XUYJsi'TxEԬ쿺ι6p%͹q8q0R RH- Q(LAH 8L %QB`t{?&{+`d$&BC!. H Cb~l =b`vr{C7鞭ϐ8*O2DD)?jrrTuäĭ:aGDq+ ۖ044(,[ qYa MH%8@!  $")"! љT91נl۸0"đIԑD4FE lv6OT,L ƍIĜXuhSNF'\T ,ZZfw'Fތp, ȳxF8тj)3 (wi B¶Kps2DPMk rLխ(PtTj&)Q%`FK6X-Z2W!Әo@EX`^YLEf8dd3&FvփQ$I.4&fN\~n^N1YD lywf677_`~N>F64θ1rb0$@/yÁ1>$.㇫졛B>GO'{\ PݯG|b]x[85¥Oe=zfk>iycSjSwbh3یg^|qo:I [J?G.Ѷ8=0g͞?CSi:Ԛ`ζ@q a &G|gyG԰(Z"j&R!*i *Z P* _7Br88 d6RQaf39ˏ}Him,38R0N e7Ľ y$Т `(z R?/AHXkxi݃C;t|SUTUUSUUUTSUUU]S|掯|($3f!aԿp!|_-shx0  ,,T&BDZ5ddH\"Yw *i0 B|ב{ZZx`ޒ1`Hr%YdUMUUSUUUTU5UUUUUUUUUUUJUTUUUUUUUUMRI)&20#3چ͎h1V5l tBlr1(=<͠:]PA48)9s1hp4Xl:B~=LBx CCOs?B#$j* j%msQ97cR?:cɝ&k':e=vf,GGClhbt(SqHaqיƈ [Î]n qgذnf2 5>g3b}ɚ&.jژ#`XVh@st1q<? 9{yԗ fYy,cd[|zڱ8\㟺/э\t=KBtfTz^j.NRBrmn}9 /LJUD'i1<(/>o0L@4y;*b &$WFsj\~aCd'c_'`/T%|!#UTKuLG 7얄ǮT1'pdo>?ƨU Hw>M$xyHz8vhӪܑ6\tc طFR !ݢIpz*GcmXD pQFͯ= 5+ʠm)q>С`c: e6"97+/lתܜz#.aUf܊JFpH F@9z$5MQhma'`ÞƳ>?lv@v$Ȱk\Z³;Li)R0/WEŹš>Ӈ.050@M3Aʏ<\C737oaiه41ES_gQ Cdg49p`BBG:\SͺN+v(45sl6dԧǚ AVzJġ+ rF6Tqv-PLȼrZ^k,D 3Cy$7Tuo5>=I sX%fxV䩠(5i1% L ꍚl;a}{!2:gB/RDVͧ[2/{uv3M0mb2Hʡ M_ˏs?=A?_Dӽ$ Cigd4oߐsd~9ms)B9sy x +:{J9L$ktq>LasK8a{94dlq0_g2ZTDcaN߄l^BlZ[Xcm$]޺IV7c@3+ݵaұܨtD j7Jf¬`I1wz(A@LCӄ"+3Iz ' =Rd]ݗ!0Aw'~?Vt9:Zr 1"j2~׎yp OfIAQUSAUTE% DSPRa!A& $LD&$XH5KdՅ 00 h(i" X'f7!=p"& * G׬) `e5 1DfU4PJ  #$sŎiH [a`#Б5CM ABÝ1thbHUPP-!IAI-TREB$AI@IUE1)@44QH#KLIIICADTHKKE)1fXAE"PbcCD5Qȥ".%:#!"Zhh (h ƈSRHPJ+IJP4C-!T@$I@QVC )4A:J"hDd!IKCS@S@IMD CC@DP5L]3&NPd)ɬTԭ5rbM(QUHURB0QF CTC4`2B (i) ) )b (" JB)iB(RR Z  b*Z )Z(()BF!( AJZ@!(")Z) eP ZZR? dF5B0P $rD(*2@0 $*JTiZJ2(0Z"(&)% L" ZHa) U( @(bV EV!Xb.XԙG|$j* "Zhh &((hJ(H"@b(Zh BxoZ))*J)()(*(FhXi)hih ZJ"(Z i)Zf i@i(R*(h)b(!)ih)j*(jhhbR"( Pbi(J(d Q!iZR @hJjJ)J(F ihZbPi(hhJ"{0ԍ PPPACEH-TD%PR!M+JU!KHPSKBQJRĭ P4M% JDH4UP @4QTM%!@%)IHLP#TCT--RBPR 44QHR4T1D4ATQHRMM PPURҵE5BSAT! 5QJQHPP_ PR)  b"ZjB(ZFX ) ! )"F!)R( Ji(JBAb$(hVjJRJHJR(Jb i%((iVJi()i (i"" Z*&hi) RiFBZR*@"* B" JJbh ihR()BJh(J7(&IE!BPL!P4% PPTQI@PD3U @RR @%S@STCTE%%#S"RDQT4TRT!M % RE+HD II@hJ(hZ BPJ(Z%i(JJF(" (i J  Hii(ii V XZh*)&JT(j*"B% ZR)B(R(Pi(J& iJh )) iji B BJ"XZ @) PbRJAP)J"iC*VR"P Z(X)"  JR)BIJ)h" &(hjJdb))i) R%(SE HPHD!CAPT1--CIJU)MMUHBD14RD 0ĭQECT IHU-)BP QEPD3 PĕM @U44 RS IH1 Д%SB44SUAH4)T1T4SR-)CBP42 4EP)Eĵ@PB) %#IEIKIATPP@THHLPCAHR$MR-#UDCQPP4AIEBR MD1(-AT4 I@SJRR̔KIAIPIACCQU"P!MP-UPU U%"U4HPCT4QCT*EM K@A -%QRD"D1$T$CBDRQE $CA@SRPRR@45T5T@TKB@D!C@R4Q@@DB(4%PE1UITD DDU,HSPAHSHPPQCLC$LSIJEUHEBRRPP0DLM4Q@#M T U$CUE4PR!CCPQMTı-UPIAA)T5AK-"$HQA2đ!EJD4RPM-)PUP4SD-%!MPULETU45CTDM%SUCLT HLLDPT1 CEPTM@ECT%4- STSADJDTTTQATV+( tQ9Ek].}^xC~Qx<t NsiFrFC>V߼icCgAPg7I~}H=檒JEXM|ЉUqgfPb_I)q"LDWƔ_w>ߧ z"[ EWw%_&H(B@i7#$sbSAK;B2:<\C?x^ގWoDExzg}\8oMƮ&c73gQg=0*)Y3te:3|A&͝8J5уJ=Ɏ;C9S4ilS4 "0*A扼 6 D2Z33j4l2UiyuY釓!Z&{5ҹ{ a>+M>j _fj-VQ >[yg\O2u|nApV"^g!h.~y?ro܆PpMEߖjO!4Yfl9n59stzهGw U BBq3iУ-Bb+ ^vз%?5}z 3\cnF aejomWTLJ"';ldKr3r3 pY7h>:|ylYFV5ە၌Q eV9zUSJFΑy9ߞ;oն.nq'VZ@a5^s _nd]<23_,!zҪ~9nP5MpHMAXʯT \ݛ3r1!.$i{ :52نaUPׁf_*4XsTET>@里] Ԗ0׳EgakgQf[zgTWvڛQ羊9[Db ~:ͥuieVqE&M5j-48؇,)>$1@A>2}f8x* /n~m9̤u|!3SFN|,J`{r^6{bvt)AD 9\/zQӲ/Y^Fʚnɛ1/w] lϯٲ- Z"ZE |˧rr >ʍcE.t'4XuoxG54R(pwg|le| 5iJ hίZtIiM%3Jszfmc{;!Fꊮf`?P2G9{;S!t`x` ⅴ3""Hz 8= '?4p?9?F4$ 8Nt2_I&&۟9#v˜EO&D=AFE#L@33d+i~azŹdC3T6DzX{HxBHIHo&Q뤓H&5!0% )9gMmi[([Q0g?IIvqa']hE;((z*ð~f:pɜn/T-CDD2|.k%VpfsF>̝'pC0xB ,qYq\>8P_]qZADBPoQK<$'x'>ARa?|Puf̫pm7,Ϝ *LѬsLWn(ƘicK5^y{2Ll-"rO4/=pR7x)jpg ڣ 6#AͰ p\ryp xhO>2佺&})Xdg3BGpE`2gk8[ ~LƤ6%yf|$sSS7U~:Yj胣%LFVeó k P'N~C>R{24 ]\eߵwk[LQL`BL <#\`6m$bDU1!="3Q2_׆GJ1 1,7y$'^5`4` BkU%AJkԵ,:;Sܐ8$%I5rgcu-) o`zEl7Yd25zn`Ew9()DK fNeE7v1Uv sd\%31eqo#s}ŀb{M[V}>5tA L?SlySpM*q=~O=qvg(DCS~q`ŜD{h$7G(hG7$x<$ t=yGrY Seir)%L [|Hd+!b N|GM%CAOEn.t' DΑ k>59 ʏ Tz;ItDg-&8&B b}Q@Cm4Vy6Nbf0Y7;^Om/kL ҐT_( X@ ) Q\(']3Ȕ"#Ƿއ,`M ?>?]~z9w|{Wx~Z?24D)Cw:q1Ac7,)Mpۯcz\bFF62GF AʴTpl3,F &3uy2f% 0Ttb9ֵ=5,5[34aDDnh9}+b'{ ͥv#]AN8)[EM.5Yy`Q?|uXhO闏+:Bו5pC]z-Qb3‡&.hyB~qD0l;=I{c7r^xl&W ;244n^J&$,WIn}FYo^'UiMv2޼jܣy'RL\Iwi !Q\dKugxZ`27~aBR3UK2QutW˓I! xċ`׍њp߈5XШ1E4$O@HT3W'փߙ__pgT9g_Fp7 +=UPk7V96eew5+gmZDY `Slnx;d^l{5oqfEneG̭xgkJ s<'~TeC)uS[lq97P)*/xttTQEP .vA4!Q:ix7(8;eф@0q'$RWi7FҗDdX?:ڙ6/Cemf&/#UHӪ7QQ> 4n++cM@W``aysQHGDrd.e? "G0*""F~3cND Q,/Ĩɖ4k~U|u>0CM1_]Y&APE\-%9( 8N͢XN]nMǂ$=*eW'dAf"/y N UA"IYaYC(w{ pGsRV뫟=M`1aWаń!y7=iUwKF2cr)f L8tSLE\18a@KP@ SdZV*2p~ 423wm`;RnvRs:XB xcfX Ő'-hok'+;c9 @07:pj0SږŽl홇Z0!=bbHI$[PWn G0 "&wrhJ_FUɀr"ON/ȟփ)$Z.{6Y 84 VJ{i* @R1@H}fnjq2Q_ 4HR!oXHK~3U#-*5,1zl*c]Z.>Pɾ«&R;wff ,ws& Mc*L㊺,{q} wgq?doLGWBv!bHuOyNö́?;sDB:n^hȘ$PUi]xԪ=/&ퟆB`п{!,#|W593G4u|=*LG =۶: PE %.n?5=!!xz #k1#ˏ- 4CC8(4- `ٵ$7NԤ=LDj! -C~t)M/TH1jQ7$9Mw4iT/B*tg\ǿx8K`K { qS'oAs>zˬK"%:7@|M)>!ckլ]) w_l2# i?f1Uڑa] ߙ3;M8ͻԕF^MC䚧x_|o?V7QёKv&+ Ep2͇GvgH}GKo{؏^W{5_%:`eiߥ[~QVL@?#|o%8"p;$uLEE|FunP^E?p('SmV>~ udΚPqJ{XeI陙P1x:7كٶǶ%Hl㝞vLH:n3GuQ cp,^8A|gUᯑW*퐢3<&xZIM$ٹ P}w퐭yMG3fR)2tM6&=އzqi(<+02!npO X_Crnpx=1Y2ds_y$E $䍑 J!]lsEVʂ-a"B"Zwjmm086:B`6<"+,a0,(4P@o|5ե"/C% @Zv~Qr_.DR**S> +Eɔ{"SdW72w.ϬJw *uF-ldr$3dK1d򟙙,su DB4r0Ddc~E#^e` sߖVV'?jDeGe>l4VTȧHe|/^̠#Z'aK9S":#Hf G'e~K9,7?*SԾ :C/G=Ť(ThE}y@( ѧC0z#>^s 1-F2 AA@8$0N&b"dM:gɊʲڐ@LyxN9z]R,CTͬU%29_MOgG]MMNL:x̞g K !/:dDG q R|. T0Ah.ܞ!Of!y^aj:3DѡxX6w4oLС3Bh:ݤ\#+fpePb0#L9SmaS=C՘9x~Xbd4c[h.o5ѧŦ.6ak4adsCFbH0qa+6hez,,2b iͲHxΌ6X:ib \g;83o7==l[s[8#pdbH;֪N7b{W Z LmRs9q[o28F@(G#ho)0U!y;눚B+ce_Ȇنs}G$=PA' dO0d2J6* Cr Ă9~̠}2xP(ZDB""LIᖏwl G>骒]nn7cxXI$?3&|_ j ~pF6 _SH[i^I"U?H˴1S-:[)Ps)0By9+gTd24.ԥKFNZP%L!6tg !lE#G,:[z"YFG"Ȟ"ވ8,170 re9pQ/'Gf e8oTۗ8dlvFf*eu&Vy9>-"Iw['t@+ #=FB8&1.|IYug⪮EJ?W>T)Su0ɫSfs qxrݠ\p>XTi2 UVnUVB"D*L"h:t|}͠A)o1Pvmݹ &0!$ʊC;vYJq#Bq~dFFm?h"&cA!j{D D &9 Qȼ"lqj~ \' &Gb4۞Fa6%52g=Q@)HYORGNH۲%B.$8r?1\*lJ7's2yh>٤bHrAȀ\>+6QP^]nрs3AbII%N C`nGdb#I0xQ̴qkUcȃćqrzI`G&49V*_$ӂ-"jQiB6T)jA_~J@mf#**?n+*QAYs2PPIPm쓄E(@iI޹/a }~0YT$9ׯ1;Wdux9wM;{Yۄz"Ogӝrq Akf/,BxpzXO.`L |?QMiO{q"_02cI_\h[FSi HdUoϭR l8}:|1xdziMDc]eIΆoN]W/ޑQh-s]Or0)"!{lhgXމ%_OGq :xJx T"[JE yC1\ MѪj!%e8`C8::bpƈ1$#30K1@8L[U MP蠴rU0;~M< Oٙ$ëwq|GK@RxX߈ !m, sM$cz‘ɉ S Lbebac (M԰BG?@|ܡ$vk pXRz* 0D_*Jx{t- :F헵879ֿ9j+I ǫ-T^@EyhTF&ѧYQ3{V9$iӆ>lmIo_Έ?4e/ܡ?3/۫o6{H}(4:dI{KiEqKsɼs ,Q89()agA8Y%\Ԅ]MYoi%Q`öߢcP|:_\,mn) wZx/'_M>xG:sܛAGAM@h?!#,sԧGƘa;rbOP~gfgP?/VSszSݫYRc$jG񋝌b#7_8l=ha,2~ M_ X7-8ܟ,lĥ^\ECx͝J1~h7>35a*dK f5i _p!칤.U7{!Gydy2ɵu1nhi5˕PqN+7SfJz/8J]u1I=nI?G:>a!"P=J-1BؚƋ{tkWWB191. iMjkö]Ypg~eXII$Sn_ts؝ũY͞L7f}m99=N7_b:(k),fcZacY.^{o^ݸ[Y{Pl;CݡR4*:w:G쎵EN>7 7hj\ r@wꮨdjv.*@e|Q>9ZaI{sOkN4z#41ARzerQhuW@k2(׾ 7"5"F3̖R;&qBkZqB{oCKoCW0(N}]1MC5%sGXiĘzs3Ο8cCSa>o:zF%Гq&ZUo3+ٹUTLe2J?ƛ KwXtc؂'5DCqTw^&j2m\ Cݔُble}.M$Ǒ0;4grpc =SGPJ-ԐT\4fr"Zcu-j΂IBbDP/(=!D;6NL]@<[;$UEl Q<]ɩiVtwfcV3p 7 L+̡gRay;x6#=NS]\R~lՐE 9^m'ETTf8`͙ľ^og79<|9gp{V vk^ъ_HBvl<,4>y^T7ϝaR[O.3/Bz5a٢zP:efzyG6ܸn{zX;xϢjaM0{Gejac%#= el>_' 9V%{6(tOl\W1'n?M8 ߣ*t-SW:{"ʛB3dJ³]*8(aL- *^2lV49n桻Dl}̚,z7b 2'SL1Ax"W 2vl-dul4BGK5՚UfIW j=2E2)E oC)|х'ݺu>ê3m6KS̨L b:3xni٦sn3fMBg Y]Y1]1+Y_-YZ3ߙ$jLe3@"Iѡ{WVu5Dnv}JWEU"*LfMR!xU X^.CgmJZ#w3OL%zh]'#~联Q5v!RUG0d$⃲ 61Slj2q.bQtVO$rUŰ|TBIp;K.FzBl;-AvNxO%ӺxA 4ϦtjrRuَvyi)13"ϯ:FŖ,2M/WuD[;Mn?w; $!mA'>SDٵyڄr&:0*K2^ dpߪyNYDnrn+S4…M`IX7py[/TY-ú3GB&xO+k>*yŝN?I//- ad蹅B[mF5.ܷ NކR9˹˫D5 |񯀏=O~(|Q3eu;y5*PAgꁅS*Q3d~њ?*_+O虱ו;" >y4"O(p{B, dP%a?\ X(ǟFtf)05@AFO-FN!!"C99 s952f?p{V ֪8z$̟ g $3lm S4nuCF趚+EYjR iΉ)O+!PB4aUBf]suzn?S%7 ѵO4-z-H8>8IU8u~:iNKޕμHMlb9I%CZܲ> (V}CK4rkS15Z!8a۾0 >cn)pz0L;ug0Q{\>6%-6:}T(Qj5rcS&Xi syG}TƝ7- RmC ]rvKPG :*`:)6)&@=i&|\8h>\9 1h4AxaGo> uJk ȡ'PYS1SI@Ac,.4@ADdF} ^@/ DD2O?Xi(0$VfLe114Xڬ;w@?5.V pIiP @(0$E~юS1d\'jk[)!k~5Z2*b ~n}4HLkcfd/u*А6E6Ulnsn[MtJeSA <ѭk,ƃ5baLP3܄Zm2bGS@~AX d<)F=Hqim4EZ3zϓ {2&ܱwI 遂ZmHGCz0Ch %$W݄)c&kYi}2sffB $Mp’%˝L~ 4˓\P?#AKo1BWm0Ed}DE35g+S]IJA"gNXڗt1OykLfh0b1sM^}u,_+=1x/ T6Eߓ5a}\R}_y>/5xg9BGj5GSN2Jksְa @ѳ,(NjJMr8wc=߱{agׯXs"?~:4Q ,~igV]2>9G2Jo뼁$&烤u/L"ڄkQqErǗsO[鲯m>֑3mLMwcI4uFޒܩ=rΊ؟+ptxC?OO@z҅ru7DB~r3 r̤@mk(1?H4e1?p96RADߵd02 JQB";zM!O}>?>"XBB1 EQ"~ CPB >c+Q4k&.i$|&Þ_*8$4D9Di /_`wh " D?-{~˼fv2;i*p 7Pd.,Tef<Ⱥ.3"&$' 1甉IH?ڕEfYcrH6lKW"L }@..1 X`^g {PKX(/' 6 fn_ɓ6ƁecAF" & RHZ9AAFv=(a$Ȗ#Ř_-Q#7LHo[x=\) ݇. c1.z).¤FDN j$ 0CIZ! gޅ2h_T^* l͑#h(Y O`h&(褘HH|BRq`ODˇ9u tP;3rKk%D [i^ȶlBQ^a:ñN&î'"nA7>sP>s>Pdҍ/0R _H& @J,.{ U%I1cy`(u D(T HnH\<.d Tp$A( NP-̈́:H @edtaj+UN!Fi  #jT S!O0w%LIĐ dSK: lKF`-N :`1G7>d>EgByHD3CQRTd|RNx L* _Aa* G =D7iԗr34\d9gqLMyAG"x;,vGY ! NTzL'b9ʔ H ̞bt`df7=V[1Pq7L VȐB/X[Pi2-8ؘ*],bA(X0/X-Zk"=zCr ۏo-.oM A2S^4eC'>1 TOX=&*u#{J!nnG4hQ>K_=R}5G'=LR!Co{ <1ԶCap4vb :hXQT|>ItY#QɑI"C`  k'A*IAVf?7;UE5MU4UDI'gCi%Di:S.v `tG]˥;$$o/ :u-:{gz'tB5#E{;ڸI3Gq4$;'%f.@R!P((Dy&w"LI2ɈO( a4 U%>c>u=1/ 0BSare0#7 m?720*H s~ %oϼTg<" Yvd 1]a:eC-HWmKt4٩EWM4E 4wʃA0qC(YbZ4T<;}Dž(YYUp$-jDʞ^yF@)݀l$1  eEmij--EUyJ$i5Va-h<)(&"(qXnt,ư9֙Fcf2!u #5 ~Ah\u"o LdB@6أva aA21KROpP` Ѱ AE;,L-g4QM,p|P2lNEVL+׌N0>6C`vƄ0젦KU,dxQѓC5 Hd3h@ox:J|jBm4V!!:v=˲9 |͑Kߗv>UULISIx޲***xy! t˨xSw×Y^wZք$^%Hi5A"R !,S&7_|ﱲr?q~lJG^SMZǏ9vl-n)H2!;/ <(s})C?;D'1cF>?P1Z ݏ&܏;BH~y/$"I 2A7GJ?2TS38Maa {^am)@CƖ;E63,ߙhƶ+kUzIFHx~}?GjYIɘ8Xf#"\@,+Kr,KуG$pR?_W__p摓}fP3W葨h)1 ,0&h/,4M,Iarfca9#1YyF"* \Lд'fpU(' ##`(͍9Gw"l|Te P`!ݚ߃>o+"8++1 bzA1U/N1;KDdjx+ȵ;>2}OBA 8u̲ |'H"RnE ]FԂe0(P  @tdIL ]z G&@pR0`{`BFz`[|-C  8nsy8 {S 301QD2CBUPTDDI 1 4o1 K /ZjƳ04{p4hIBK aD d@r%V|ʥE @?˙#ٿWc`HDB A +ehfw<.i)}hl("|A+sP7ӸK=22HfhB|_ǕO`(t~2*&(HOHCLʚ8 \ڔ.%܇gl ?p$n=$0jjSt,q\HZUb#TƝtHd."Rf,+ƌkWExp9e- ih#/a4L6hy xIJzr54磛X3 &`hhB J j` k OH4T6G"Dbb >T+'wZ=G`C gM4{ڱ?|QX bfr f@,:7AK)D;&~ff\-p^XѥJ'v5/ΟklS\wpt5>I +&Te:N 7= Й 6؍b,Arx' 3#ƈ/3y]hy?>NcWQG1pTw m|t1_4ٯqОUzI\^2pQNf鳖'[^S~9kvBdK |vU%<V ,.1K*#SAİx+>DP@,-ӯ>;ijwsmz٫28R]'[:ϐ"W7Mf4ZBDZZ@(`X.$X"ƃ#vKLK4v9Yepp`<$񟎳Gͱ]t% ~hT.Yn=^<(Xj(R!e]JL/q)ڛSh3*PYz̜pGvJ +MF?B9u9&9~LPqMa9@P_%a % mĥlH@2dv'BHtv{`9) &@SM'@ ¨ C2`Jp<:<$=ʀu4 UE"#\e 4B Rw~M0&M`"A)($cE`aGy:(! s6%f0qǧ$mBmJ"0k{CouglJ гQV,@rH՟xgȼ1I[|.ס$FH^ۜ':x͌z+hʌWXwl鮴|f3 o4Zf#^ Yf= jRQNl#plB;;4&RC2T|BDET^h8H)qCױvl( @|t32 H3@`o:Lࣸ mg 0B11({׷eed.1b<:tVaM^$RXep%8Jr6ZX-Esq@FwF8@F 6S9u#5CbYƠvrԩ{_nw[B<̒Q t;M8CF,-z7h` uփ4ZV2߬m5"q;}r* c4bj\2qjc Ch1aElL??DbRēv@$&޼ۼ"A +K+L16AFLvXo(c/KG3Dө ; L$ P[1DsdD@x  $zMWN#Xp), kĤߥV sv ɐMKbTHRg$z[tx= a8*h_g6|4h[!51ꎤH ]x˚=h_p(pk(Lm@J_8h9 GQoд`ƃ//?6v/lB13 2 0ÅDYIaa~NS皍8u }ӨJAj<5E`iWK Oa~ $.8"f1?eGXם~@a}4DB2B^d'H"MEUUUTZAPat/(΁ QB !kmq@"k>K#UvkAnAF&GL>i9uS" EIBcSG@<~}C!NLAܔhMSvSE*4nDژ+ڗ#D| 3:uTcQ;ȴ#a/^u5cKՖiyP!jDK?^' 49.$ .f,eh`& iBr=a9ri49HQp!!PPF G PIt|5uG( Q# SA~9\g.lNDέ sp?)ڨҪ AF(ԑzt5wC :>_EQ$}S("*jr +,%2qS_vƌ O0OݵΚVIիD(IT.Stԁwì:xJad dj5L02Di *+CYB>jKL &9z˽{KL$H4%k lsm{:14Pv/<1XUUTfXeHPRQTUtǡ|_yB VsB@I@ PL T!CnpCy`|ZCEC"H"0?֎CZBs"X>Y3ڐd<*źH8x]˝c(bL]$%)),Ǥ#5FsQTZftAb7>lҎ(ni> ŧ#B:C=^"aJxK`z[@ؓaZ#'8nGtf$PjK8 l:BuS tpf5kflxP3 `ty~e GAaMx #:h9^*yml{tj!=D3V!i ;쭷_V$rdOq!], qr0$KpCI= ŵ38 Nd5't%8Oѣ7CT/+83B2Mzs%=pnfzUd^e{!:XA8" L, [0$,TX\!':k+y!`pHe+O}L (v]z,|{*2jB U W("Q=T C!g>l i`G *^[b m&䢪/j1$ ru@|, 坾9Њ>ohM2=:$}>M>B"/+u>|$wD}s+ tG205@AShȔD U^F>ڇςz{`tIy#Uћ K+bo P 1LdC0 s`ieBUP|F47?\&jC D|+`ˮps]mi 5p"nɿjUT'd5EW+DV~)'!Tvс@*{5@<ǁA=u!%VE%uf]ɚCj5Ӑ=ËAB")HCzZhx^9miuWxC߸MAqBho)J(!"8pݱ,ꐦ$ o*bi)zX_?onDQ XE{]NGd:thD{Qμm껃CjH\/-uᤱ.G'ʇj !ǓMiQrK=/13G)5FJ}4j@Ќh l.iJ.$c]@HF W?#Q Nlh 0qISDE.F SALav/)az.L͸0"ՔCnݟƱ .^'mM;f I8aX:@ER(f@{ BY`,4`h Qt^ztX;M@l$6|8:a!3PW>@ã!D8xLED|⋠xp< @H(q 0H "p6 9'`@{"7X%؈A ٱAhw({`m]ONUk cL!eXPL ۛm`krdLb?_0oT}qs DlLDp&,mÊXu# Fr 1s`3<øk G # Ntpr<Bbr_W=#fM'Lg5ZsWM.ߺ>ZkS7:!٨$ >4@>o3 ͿfǗC`H2@Ă0amCr|lEodmPaӴ_=fNJx*w|대@qӲ'@/4S'8@! D*GW bnƛ9Xm u;!쩐 !SBf`#eϳ0BW"5/bfQ^Mt L*,}GD SE$@Jsꊌn4(2 *Zu`5AÃaygpD*AX|SB@k[$QAI`3U,${]gȗ8SPi0̑ / >XҿI,!݇gQ@lq "P??;BW4ҧbx](ȂB nPذ!x+Y(L(T iD A(AKHA-T0ux0+)&)Q2`h4+XaCPDBȐ G̛wGM4<ĸti@&S?ffEfcD2;$"J !ОZPǃx*& F!描>Gb"ޮh9BBpDZFr4(p0l eU 0C(RM;nQh/x:LB"(AH{BwaIEҰHz )z",A'y]Ґwڕ閙cGzyde?S5ŏ.(jmVĖ@F$t>h[:Ye3cx6!f9K{ћ֌q\kPU&۠\{6l2θ=wӔ(oGR.$BH;!Z)n- WlYʇ9@*P5-9vA :b$: yi k,ԺM7:Qckg^*(mDBAP8q`WD u "EuRE 5 Bx(H SGT%ERAJ<s t4+% Iu8!!T$Ի-v㟊EuH %ܡ&:p,>}:ky/00OM$m1Ft4z4C4_J@dh>VX C&P+@msz&;@S$R*@W\^3,Pޟ`M7fJbR2T*~]BhC Z!xj^]"ߥS8SGANcq'4YXM!I 1uKdӸɒ&(hDv&!r hLHE h Kx*O` , P6px0$ 0J=)7BGӦV06u@q%aIO}://Z !.{̴?@g-w'5 y:'d|@aB l4R wvnḿ#ߐqMx)`]SaG7ٟHo +:bw("P v!8xgCT\$iW sѿ  0t_)CYW'J+P?7?bm$_>ϏԜ : *NHvSUcR7;"a~QBuh-9 Kshj5>求hn0fṗc?pѡP[Cd$L:D= af <ň=-dr`B)|@T 3}_ÆS4EDUQU9\+rnɲ.R9 ;0vƬ xFF E4LMǠ4F'_3$!1d2fFFGzN0ceCD L;݄p q3uZ.+L:QYAfVZH!$ J_0{HdFm9Qłb46LtxaQZ"cCs-> t7H A Y y 4@Ǥ[=yMw 9ejRm _ƖmGCB4ֽ^O35)KkP[b'Jä1EOU ;~ݸ̂ߑ\bDZV`EJ(d*5 Dr@Ų\ +N+(&hۂ; GN׾ C=Uyz9)`j`|S@-@Ȳ|w0ykIMʹ(vN*d^=k ' ~lȒi"ҍ4\hKٙ @! ť,CnćfZ#UD P (@TMXT;`<r8Bx [)0  LDjy^xR9d"+luIr(H# M c%fg/"(kx TE4GS 2Ѥ2a^YL\o78#2 /FFD6߃mL&ЈXbѲt-At A+u"(6&C 4Pc8;0L8m RiXTM' B-ϒzAT1K{=MV._/à%Dr!kPf@ Cgc2TU 7f`AֻeL^ΞgIT J=x!d؍E~]3.b ( Ko7nkjFfΉWPeE֏,i 噣2Ə6ܦ39oZS:254'b(F&H op.:;.d# 1y>&D/#yꜴ؈򆠊MeLC+; )r~>^y *(V)Z !0l|߾|~hM!LqyOR ƩFٔ ¡ @_+fĦ3n1pCJdg2朗Mn4`x(|A|O@/8Z;g>,'09a D$_Bn@xVGF)<f.w-z8  #GiƷ= T]PJ" z{#xd]v9DnRaB}LL;KPC3+飫XEd82ZH߀L%G8 D,I^&$5dPnIH?oNfk$pxtGB$JI@1 @8#QAӵA*0 ,]87bXr c=~8})zLĬ  1UY*G_ݐqSO#`,L3T6THITV&=[ h)DoR_֖ [;6]!`L#Ђ̠?DCR/BP`\pG)^%%;">Yu!:g@UXz\δf.TSUQJ-d(Y{ENNS鵣udzVYN/eSQhpJ*@N2nO9Z?PڼtE e80 |^GG) Ӊ6+__}~ >w?B y~ϲ$]1֘U j<~L|@4Dǁr( 큄E[tWM!A?zxAd ȝ` 5G,PN]'kB!,=1qޕ_F>QT2o5׫("*d>*uz8POBtE<|5~ GKWuS\mYmo[ͩ}(9 IXMbG£v3>pc{vxRlsoDf\,os\GT8b K1g7RĘ>y:#kƆ0xGod N 6ob4)('q@[sa ΩRFC`Ek-AB R 4B:&o wZeyFQvz9 )%G i!͠㚅C4زd<r<nS39ga,8v.A:6 8!Nq;]~~4+K402fiӚbZhNZq# 2`7mx#T*0$ xHU.9'3 C {#D\JC%1Teq Cӷ*e64J0H8JDa10V. $Ho ?30;?k q?^0RRSi0Tưp؛Rf&,tbVےՈ zSD1{F35 X3PVFBBǗF'`X9I X"շaםo# ׹,[1Ŕ Ρjd)vS!P=ɡ/ _JXy 8܃~- ⯏ S>)w^zUE*k}',*k*bQ==z@9 $g0jA BN:quh 卖lt[, 1XEw12CZM[G!1"DCv$9Kr9_-[ՎUGxݹ  ,b @"̸a`dޚ!g 3H:s/ 'h/ \zק"*#Ijڝ)~$'G2-'')OZgxL%`*@?&xOĢM!)+ HپຌS -.HBR=  ThӣƠD?r+TuTTgŠKNQOqNtK*i!Ţ#BԚj,K(XBm pӦ3Q IDXG'wa= 2feɘ?7AfqvZR| $SDD<d$CiQ5g)di"'GA'jd5y+l懕RL렍1^쌑N+bhZw2!TF!WJM:KHÑ} 8?v+>S3GlXЭۚ& hҶ k}ֲsıAEwuZeVѯ)NDPI!.Pñf[OUa!Aa 5mpb2ڕ4>hPb3v"VѮzkĄG74]3R%Te W l3ٚ{dXݏFUI#oNDFM(|;Qc~}f3K[~;ǁICp( @ӁO!{wz4rTiNѿXS1C̒IZVɘ_=ih F40q3!,)DA)lA& GΏ5IDZ=s 5&id0j4 f %-lID[dgТok$=$'A^ۗ˺x ,B[cRLy H ENt@'@$y,T:`qxm %] tB !qp"=H]$,c3IHqfdcPlnXbz+̌p2NɽCvG@l}K 73(zGW=\=v (߳)<@QV'(,AN=) zWd8IM5P x_Ǟ]Nb8g]&mX gL E68X!ϟ]6! 2k>7Ss Y$5dXSP3 gaY5~)6`A5P%_CucI+,ܘ仺w!O a2ou%e-+2JxaArm7d̾s{>~x+=Q F,c jR9=q1`uoWP?=)vy Τ5.1QI-0nli36xTFLF*!f2vV4/.kUTh+|'=ڤ. hggc ͧ̐i3j6RnŽpx]Vre'm,Ʃ^ۭcXk㡝Ө!7zݎ"@c$ 'PtV^ٍ vUN9ڔ jCfv]!`b[j,acʲr C xMwdwA0`WDз~p2#MT;"qJ;$F~Zb#8緿I ‚V,"CD/{qz "hԆ~2EB"fk)ǂ$%GlWSD -5Z^UzNTSVke@g%ʂ:q~Qv=Y馫'~XWB524ev4[톋k sJkϯe)Pբ!;fүrT5՟^kׯvO ѣ^qB4x^6EthݏREprOgw7׻ﷻ*&I~gț$LODAϊx.O9g<أ!-N]v8!x6 GQك@iw c% D؊"hdM.O,^E@[9 0(k fq=N>; HCQ"I3('k(׻GӅuj{̄*P`Ɇl_&a<˶v}Qw:=)Ҟ9q'owkފMT`=e)g(ٰd s:vM(~N RI%B 5ز2 g/*REĂMeBA#wt ^[4!N/I8<Y s%G6-6ek4t08̍TS-s8{wȺm (:/PWضy{ Cjqi tJ٦]|: N'>^vCRxwANq|j-u+Z߹33v$ 1HocC6X. B@ehBx({և-SI#1iH Z 4q|'`"J. N?$}b!~?dz91O#! e[=|muQj?.BCv Dܟ[Du&70Z&Kg]{ fozY M  };Q1S14U5UTEE5)q5/asCC-# 0aTFflr^̷t^QaQ䬊 p*q8Nj+8Ə~V&~,9 0 J`2=aSmx~BP.jGa "\C$XhA&T_ lp$ 9 {AUoJ_G-F"Վ#BT ՝jx֧4G&]dؕ2{!q`e cx:ur,9tH`6=1EQx{j <~g0@Ď,TAQu̬030=cy%ۧT Lp DT@b`Nj3Y93ɕIj;s]Lֵٍn У yhspӔ H\B5RA)^/z]aPCop&bڲdfjt|6^Zf1<oY,1 h \} xra9eB2oPy6<*$}eN0#_!|aB(7STLBON(6税&͝2Vcd (ړ*.5v͙2(v+|dNገLhfE6w_ϑGCn1x`28/w"HE ~rh2 t};]x)Â;e6Mk񁑂6x8ՉYmĜ:Z)ˁmGՄNU䚸ْE#j4N;!IJRCl-چTmʁ_1Q,Z3}a|f9aD%,0ёd[<_fhr6J ctJ([c Bn''KCfMkfcu 83vMYs}O R=eC]Cd:/Xy$@D# XA/NL#vOoBT}>b|s/PXrTEOuta#MC;0x/)+$X>uA)loÿG B"lY)rk'؏''B"&7v>#ZơcT(XO>8d{_>xst@NG 4`0µK!tܐflFӧnFWU6kjUO(ʖaA5AK6:Zle&>]Iyu9TyP`WcffhjEMZ?)o81 ~/?Hf9QofFΠOi@W>>R{v;N䧬C_YX& 9XfŒ`"Z8ΙF1c>}^l< m0SAn0˞9-!:uO(m\)JS't8C&='|_F LPv{"u v$$\34{7􎶭S! ꒨pZRqg3Z+MZpOxM׼Ҫn=r6Dw'{v0xڎ9,I٧I+fcϲ%*/}Y, vU4ߐ4F &3Ae>$fȪbIϫo>|#qkZ5#q+%/,WX/R4^u*4 < X"bs8OeCFZ֜"*W|a KO;Q}'Oa⺑;%ۖ8ﺼh|Oa4JYĪeG\q 5CA4dm< B/5Hw.CR,|lMߢBo۟6[rF۶By?6_[[AFuz0Щ${s33,kDoHKK#*ez=,!pDV l ZkrJX!AkpTDa~1*OI0`Y@J ]g`I0ʶ8" 6`7 h-"Բ3fКbd!Nh4M^22raf$WLqfN,K0pPȹr⽊̈́jmd$r$Y N8]!t+(44|N1-x= a\,9=v;%w~yemņ0dq8F6mp( $r:}|yy}n|\-n %bTt[9l;Du{]Gmo;u[Zb`I⭅+>Hq dI;&fY1q01vYfޫs75UFssP#ס%Bym{<ɬ5kRU$נCёf*Azx۫2yLEhCf%}ݱRlMui266nyL⨩:TRFcB5;M.m'-aŃ/ NߦF:LyH姺 (hOTRjS` @[!Ê Bes/hFjSDŽ١#?$C9,A~7R6@4; -Ox=2jKCW%Zv>6xcS3 dL#nVG{nDNq=>'ӒtWI!"z(J67[s$!7 2vnI䌑m4𼢋(e0BYUU_m4I, Vgӆ,c^? WZjXHEHFh!1`B5Y$H9)OKA]x}2{+i$RQS0IjBOC[c01 "Рu|Ƞ8P~RzO 5#Ą`xB=r]2ٴY\C-} bG2< -r2ʬBn&aUy'8_}x[:1P~H BVe}V2NBf>Q("O~o*8>s>*f#^P$ ׶Y 8ϛ #ppB"vt 3=d}!Z]K@f9 >ƐHG4F ~?~uރBF%EDåՐ8YѣQE%]"'= BhG8T0Xw^Vedz6.*\j)r!6m!H*~nIY CaڒR<". .$#2%)xq%7׹*SthX(:#TGBa艭w;GAIbsb 8vq5g8~7{5gD΢,%de ,Rc Yݵ@x#OV)gnf-{ma_rŧ4DZq-5)g|g#xgѸ< QOi)|LW5;VQPƶMuRGY9q2 1P+8uuZO`4YQ(PɼESJ Qm~l49t3Ԯ8B VI,s@@0(ȅ ׈Ԅ.%:po҈xDRm uxB&IG/]e&[Ν :!0.1 |>R4p {42d C\DB0qAGEFBNC< i"ٞ$ ix =neþӝ>mmŒyWfk:M a֚G" ̮lt_ExdsE'vfl?>@<@VNnFi'|% G$l[Gp?B3X&~SqP5ys&1H)2YƈP摢5RSJAՄ{7M[ĦߧA-ށ oGaAk6<9t9YS'|hzUP*_W. A<<~?w{!/PaBŠI4AKqeO^$ J5U2ViO\QE]1sy*$p#(0-b3MII0Zih ZdT O'q/Ԕh<4ƃMH@-<YLƱMA|+J>̓/Ѩ#ꋂbw@̶&ku罻Zh 'iI .ָ3 D9[%`zB"K7bb#;b.Ġ.ӷ|43rxx3Wj# 6µ91>!1\ZvhukS̻٦ƿ =H bFSK_' tPskzQA^xʓC dzf>ob4*ka5u胆uzt$Ra=?8]]6rGm??zsORˢ4QDhwݧ\C/Ygϛbn/_#Kouo'l[G.ak Y5[n{uN˿ݿ~w?G,?ᘿ?4oϟ_QU Ϊ?O/W|nm}<^lRݘg?~}IK1+7?F?&%* (A|Nʪ9ɡbɰkS% @3?_p! wPR!aD"FA )%S3 `I`<k_’2!IRu 1W IN,T"K݌0<!w2q?TJE PL0!ZcHX|Gli=0li/S;V0ӫ"77rl!4h:! \6Xh\=UDoWSt''zjSRjsjʊRa1RO;+<4v=G?v2pLQ @H2֩ORB8i˖p=isS췴|/.]Sd{?&&=U5JR:f81K>kx8#e^-Nʖ@w{tL?WFoG<B^XP 9(jgSTz4,j0ɱ"}̊}RH/m{<;,V"'.^9ve$v&fy֕Z֪4$ 2UbϬ5N%)i( B*J3u88u&2M8bcLҟd&&"(-!ؖ `J_3r0BzjZ33k)(!$^9Yj HMI{UR~qOxxK8@s&8l,ƁC#oBQOE'hh]>!І*}A2IO?Jѥb=%@J ^757Ct:H d'!OyXљ{=^1T5#J  h"{0,9n)aۻ6D8@eJQV!pɓ(#lšA4-L)Icr{S6H8kԅ0=@h~H·=bhHtXP s񾒖" z.d Ґ 5[ *tj{Qƙyu#wSwJv 5Td*)ա%(#ꤻZf+10[1n R5cD`(ÕO %"XNzm$I'5b8dw p8ID9:ނowwwYEճfp/ AEfa!A sz^f=K `#0”,TQC*02H݁+@O;*pǧ"c}~[ ._aWR5< ((a-X-;{RsX>&$:yT'VFs^ TLJsٰEtv0vWćY6ͱ{06;;ɇ1 V1nPmyrG9w9X9gSTq/f3sOĺg|tp<;C窖\f:uқuxM3nQήxw9#ʕ9ɗZ9lpglR,? mhA}Y3K(sDpalNx60bS܇|%+"ȽoZx}'+MEN[ݎmVz`鴌]1J2óDrcW"]]zE)-+OY xba]24vzJ!1bqZ]\RHWZ8pj6ɸyQ*3'qmT C%)pgx Պ"Vi't箷bZX)CG.tH!_ĚvJvn`p7!u:x6{dJ{Yx53G(!%~tNgFJ|ޡ/M7_{vYFbuõ*LBt7( 瘵| H (HC:/ORᕙ{iK wk5݆34u*؂4QVc$cF/gL4DfnΦ/vxY`BB}R1`cxMhy?aj Eɣ ~T$)#gVaC =܉YFRY4% }H\EF9ey9a|a!W>|>(-x1dDSH$( A&655|+j j,Q( a5/*mh'T *m{oT~ȑGqB!C1g/sTQ#u@?"jb)$;i, +x#%4Nh1i2kq# p,ʒbiS#,pdT/@,e`,gRLߊ@=ІS Rf(2Il@QD$T9\D:yUt׷| RT )ިBVd;Rˍca#D=tDFk|pO-m9ä@_f{xaI[Μ/ Ӥ-c,y j!ۃ%563c4O-<@k v`┨+I)H.TIV$tR#Ѐ'7]`0mR$Z7.ϧMǙFq5?ʩUoX>*h3vp }GOtnL鮞w U߯LM3MF*:]Qf-2寽²3[gOyPSq)M5&~9Eۡ$:/56BG ycYyqB-OCmr1A vٲ}-8 !UU$u8jIWM4YZf3 } zg揝 -føvUDX&eTEQߓׇ1[=$ JQCZ.?gt8|=ZR@<- BB]^"ښ͢vK㠶.Yڋ!'ذc"I%gD\߆AѢlA2=mU;A,M-՘PkRXh;{~qI!Ą$/HB< \xtZqdƒ, *D-!!3-rR2O'Zp<͎E#Fxq ikHae>l d"gE>:75Oq!)ږB9H1ΫG{>h-q%mr0CA(HlgbQHOdc&@ی #b`?a#e$3+֞4 ԥD21c(1R0I2|$ZDf:٘&eo[ v+TAvE6`b5~b=hX-o1EBp6?7̇ |ٌ4,Sz$c `t`:R8у;œ- 0x=<+0s1Վps քȼg-D@IP{06ak S%`I!V:э;m,ǒ 1 i(D(HHP`DUT1t:w`:& `hʣRE fijn",m$)ƀ$%L 1"FQ),xaE8G0Q>Ԏocv||!JBrs]T9F$*1Jr/pE= eHqCRf>~[_ nM LX`vL D ]sݥY+Lzh ko Pۭf {tL/ bs`@ȧ 'gBZ1o  NEEQ}4rqyyg 0Ul*PRZF @XV )"R1\HdD`ȝvPwy2myJ? &djL$DXs. S%I" i}dU;GikDH0lDV4RT!di?Nf lJ2R)CL' 7<>%s39\* =;1M#lً1X tqm{k T5.Zf:Wu6- ~^an&јV*H", S0ԙV '**f 0Z@#"h2a \"' &bi0 FTD:aL$FHȦ P`RA`67b -(KQVVĔ׀m6hy|9deޙ`$SRhiqA:|d.ep@D+ 55T5J\:25j X[C !!]w ":"ۦgY謹୍ 4m"I=eJهٱ3W5m̓",U>QC쐒PH^ʫ3x,DӺӟ|tr8c4@`lSa$98; "lL84gI9)$֐=TRLc.Z->r OI dp^)!\3NS1"TR8©_ @US+i4\S@SHT;ҩ6C~,|@ّLAUUUQ5UUEULDDUDUUUUTUUTEUUUUD3"x@ x;b=qc8㇉A©i?贃Nɖځ?)yQ@QGmxMHRR'AWg<o>V1~ߕc;--b B)>5M )zH O h`%(Vs(f0Jf&(2[17 ]UBEHRhqx "120)+YVܾ \U BCpG+nljK"8v;``ft?3_\2Ko` T y|e5Ԍ`Zgm4Ӏ&sLek0SH>Xϼ kS$>knq3jGhon7}j|&Uw xAƴj:Tcivt},COSl` $ ۺƂm G0aD0+>.LX;5v罹7Hytrz @sE!'ۖw *oT)lO܁ 8SFs8iYu / id`Gd3J  0;#D=,H= . ҋSk|6DR$YmYvS٠A\+_2tӤڠh` /+J,d8F7py9`p[ѭiZ)4:o :1+U7㔥yRJϨ4Hed0Y5=uuu"(rB:b>gahJt! lk6eB ìd>Ow*Axt$"Eq<0$ESIH! 6 \`TDB M1dHQbR!%QE"D]2 c(J:`ÔGK(`a Y DL&F 0NN=^A4ih(\Dpzs9p Y5NoHBO-|;^=_$ 1 W}; AC| :HZ @GBB$R# *R@4P@L=HhL'W#@@L1w27(McX@H~W0;h>w),)1x SP>!c«мUMCd jТ3#AfуH?%f8t#C4txtA#!kVb y ikYnn:kʫ&2Jiʨ1̶Ald$!$: l^66DҲY1R~w<Pª1O00*/8(hC3Q,C]28M1)&lV0 hpynH&j3"qK :!3iÂS^B44EO|J4|FL+PGE ST<˭xrFpaU ('оV /H AF( I@BaT}/rt逨6>;;2 dZ؄4>OáT)YTer@tL0e>/_ܞN6x0]Jod{G&02`$S><o~XBH/e (Wa|B#I GSl =26@b7 BfALNOQ)\l\t+[8!R=j.v 6I?NFc$&EPTBLb8l_j+ ,ARC"CKH~(4z2-1tH"J$B"u.SdhH0p <D޽ފ(dXDmh@dV}vj5*|ЇYFr {I| P,D7Y @C~ x|ka.!na1WЙ>1I'dZ n%k l*[Mȴ.;&3L;ŷv*w4}hL]EF*!}jc޼uѲ@BW@=:z;$ B)EC=}2u,p{SHIm E,r2$ ݎu~9㱒`!"%0$?2\~h)ЮryOy^evMvjFS۬?9#ʧi[KY0gEKa J_xsqoc<ηlG=d;{&zL#ʉ\;Ƴ籀5&ہ[P*uDqqt }0('%RcW{8 irtK\UoQl h,i32@"SSn_HpG ̀xOy1jѼ F}6dߧt=# vvocf &4˭>_j$bϗ#U[$p5.޼dXuafÊ3=gHiǜxn,SG3׳f&̚H{!09}eg=[G||;㳮|f )|1Oa7kgCzqi!O6d@uǯR4LݙJ!93¸63^ CU/?gՑA\< }9]*IQgu 2U)j8r'(sKqzTϕ)`vߣ]OrcR[k3QK}Sb''"[2>ߒ+)x3S\sc֦2`[]b5Jƈ Ѽ-7Tv~m1lo"3l%Vh4 D9dmGo9Yh-jlPqݧp)㊞9PΒ&kCo+ #0.G ~*ٝD߬D^DpW()u &# >ʹ>&r9N^ޑxy,;k᮵A3 1%EQ9O燯*J92;<]{Φ:e,ލD@MDa|ek[>8I/W..u]b0{am&6Z1x仕Z7zF Mfq `% FRtJ`՟[5)`,lF{zݱ:?yt7(mp(\?E.\cql(N>bp'*oqccM;nYc޷E5[{ukR]b``;Ba.ab^fjZh8DGg7yR3!kf_C9|8R(>+)Nj&6ɡ+1qYXcg#''kW'4Xsc-- h4f<8>`^]UкeD4Vo93b;PdO3q&gga5D1!M! v x9`HX78Zl!X\xw􋬐DosiAb\5 cFW|gd1S~{ E3\jC &Fo"yݵK33BzH5t9&`'hp&ěs@@-:Q Q)!!*r`BEzGPGR6EISKx9 lD !q"XPxi,(#YV 0w(ܵH1kESчˮ.^Z)+}+˝PVK./WL[-ϭ͸f1tMN|v}VT%oQw6Ny*+ 8UDYy 93X7 Bw$ʀɌ7 @Ix֘ҫ^ 7 NܙzUӔ5>2 F`^$9b?)BBAakZ)tQm Ld#[1F Pܨ#\©% ?LnTNAЄ+\:#m/~ PW2{Aw7ZZ\F@0BC_ŮK׽X$']%?M?2'"C:pE`'0d-+B;achBT?Nm\$mxkJfl!"37tc͊%Ck2+=UEhnkr>]:$I ո>A5F6czXw?1}Ǖ)4/jI?|sٛ 3OHČ,\EM2|UC鰥cJ%6F9Mq#o2<ܿ^d@ vxU8q`>9J:nDɀa#k5Dfo$*+5(MKx1*n>8wPorquVRŪLO[%G U$3MB䂃F30595C 1EM#b"I& .cìjeջ~ޓf&Pf`T O7gyT9}|Q$8 bh`R6KՠvGR%g>jI*FCZC5)W ? ܲy `N'$upܞ|yAixY/3TZ"HȽrPa怢IheHSM }Yc?p?^eT vq=إ$_9%MA(J ~N\Ԓ"LD1S r_W;CX ($i hT)"iGAU0>\&>I>G|>ɀ 1)"`UQ }AS_bsf)pƒ8ЭcHY U!Íqh $jD(kɒ ޶!~S$Cw"RCp>rh/!)ꥣ8NZth4(MԦTR z}2j\dYXCND4t"D29`ecDsTDAЄQa ,ٳ_ܠ2'B-&)bb2]~kȨhHZ{`CQ");g ̄3Utf aht>>H(X:R!0^yTX.'2jm5ʏIɕSi?-ʄUL`T 3Y1A`1 &V{EMê@UƉJ=EF\궓) 6s5,Aq02VMǽfR2ɷ-ZfIB$B ę{ ͔i(bsADC7!Br,vQD#uܴ(J0wH |܎a Ÿ  >YeTCT3L4h"b3 [a$$Q9Prxg#IaՁ?gF<Eŋǒ5ͨ.1Bao@s HR,0,*& Pd1,E1ր=W^SF !C*5m`A}B%Sin$>TH{ Zx: ݬݥGlXc]l 7V #oY0y895:F5m" #Sl4LŨ"Vl7 kescq9%ƮQ}4&\{DI>[2V6jNIHb#<{S>mWnm#f\ޡvoUIUCyd eoɌ?D0ѹz2|t 쒨9,*T+c> zMʄ=S軿=Y@;_@M"=paH7-F|п(I *&(1Є!*|,C7{i^ʪ+r;~2R-ԝ*Ǵv./k3> ȅ1~`YsD-TvPda ea FH8Xʟ? QY6 $'2 Id%sn@2! &a$6Ekpw!0ț%w9u-^q8MZ52aVtӎBr6ͤY$z:3ޱxgj&\_M,!w/1J]3ӛ]w鵧ė^v$!B {Aȟy6&%)/QI38$+ొˣh`J6.'l:Æ%Dy=DibiE4÷rw N >t::! @>0_A>ت][ z\tRw)v5N|<'UqKƚb\0SQ1`. cL־_GA״lZ{F&1qGLU P*6pCg& $kT q+ A;? G+ P)7&aږ}~Ä!Ӎ&ph Xc^0QfSkU7nB $KœUY4L=l^ DTҧE@))HlM"Qt思KVU,pP I%&Vd~a[eȈX &`UVNg\9S<;QQMSAE59b% (fbf03 "b !`J%"VLpŠo=m ~ 4}HiCb`!BbW]N.oLj$!&"FC j榖 P~y#H%L ~R)=xk( Q$HpN;L/ #B$Ԇ>lg}Wވ= RECAIJ D )`IЀv}3J}PJRFRB*}S6>A]Үl% 1K!J2NHN 퇲%JLtkhQIZ{O%v3Ų(H;dPR{+A1D t %\O48=K|h뭈PxOA~U/HWUCIң;5@DRE,yc CGx@%MHL}{O9uHa # yX:u7T Ŷ )l@[@lC..9DF'b4uٔ4ЀRyPJeP#AB:j "g>u*nA8gDwB.[QTc[> 9fo+D/#rxE$Υ>E˩r(D9NqFE]"v.#/.a9/֝QNC%Vޯv(kLNCqzoCau.KGͿypi#ԁ.Z{vH. tRBԆ hߩ+"'4ViJF!SûX1OJNќNc3"A9qum#ALRͽq`{8q=+rEgW4GZz[`muL#Zd1zL[ftL,#t4XAJzz^u4V 5/(|kR7CT(](MHULH"xs+O$sE,LH}q7Q1E8@:w^;g}E*pMJ]˔J0F]c;Y xzc;-23:=5$$"[&LlaYʶƍ9.^YE|na7w{L[̌eW: YM'i7'Q^_9{@r1OhtR)pbpquFo&7e$&H߬{QJxøc)nd[c{aǏ^cmDD: w%j!c4-=!]@—I1t.EK,ۇqLnM69ho|oǞX( g;QkbB)RKHBl>{y]9׌w=gQWX8g9˚9BNԻ<=&tnС%7QR*Aڮ߄mk| P&~)RNM:?*ޠЧvi~8A~K(.6n=5#cPm1 uLnSFZq~Q퍃QQ9R uNHw&E|2/ o^M{{vk-yȴ>0ݛdg{˃ &Tw@I!g-Eh gjܡM$m yᄡMi2x}9jdp㻚FfNn 1#a]mAN3h+.;̈F2*n O# :+Fj':Q5xҜqqU۾)j1 ۼAfl 4ubpUQD2},~2'r1h898)$+Uɪ=2#)MLGNE kL=f#hdGxI-ґ+! H}|֯7|mK[#שr1]e`7uqܖ»=٭C53tB/x~u枞La1;qjpL>*B-'3ݜ0rLNWZrbӛXxKI[L[v1936TL;?7kg&C%k%= n"J|Deb9T I0T&Ρq0֋Gim ҕ˹ytҋT&ݴ*O/Wm&# ]gޣ|F5ɐ,`7\ hMQ9ndLb3sV k(Zɏ|fᦊ˓Yr3li66Wm=XoL96G5yku$q7oVK5nddCuļ\ɪӑr5&G$ ÏM\+#ǎHV .fN"0olƆͲGZu\ުŦ߇1TKL,(Ku7E0E&#U@3`9iZLWܐl An 5Z.d=a2M 7nkNƇ}tVb mUjG SJBh}9[ZXo#/boeHQH'ԈvЮ!#lkL;rEj0v:g^mu&zfyp5 y"~̔qrMHR kLٱ Vk2k[A76j!-lFmVV7%m6XsyV4f"fѦfJsɠ, 32% +Qq``~ۡ7;hT9 խ;Iu wgy\AJ6f"P"eHeHI!B&`= |L9F%D?n7 5BCTQB@DQBLrEJ) )E !OVa"xħO l"#Ahfr 8868 1W8p7,='*~kfCJ3ES?7_vJrtF!*I( #h B Nj{{>5ـȡG،VDFG:R^]qQ]A0ԑ 7!Rkg˺M0ErtY%Raѝ# RcNA%y<1dccqpA$Ph@]H; B!ĸTCcY#p"J!GWqo> ;K"[w 1@V-+i"F [}e`X@,PL`&6ƀ!1R"GP\Jx:O,nfq%=ٻzȫ}@GLT6B@;Ʀ)4:Js쉀 )JGP&j6>r WsYyHxhGЍ CDH/usҌ߂u<ȡ$dD32\ΣJP,ƒD3CPJQHJ9TE!/EM)bUІ\ |2caf ٱP(Ŧ&Y٥,vxe`s"f8 3Lus~Bo,I X=>LA=P  r$  [أa[h]’WݓT*wS׿F!|}M $/%)k?tg pq5dZ٣{Xj 6>oW}#xdg9~`e"dQ}AHHD Hޭ^|`(ho㟊~ *6KofƊ=pHM|]ëT@DM|-Ąl/{gNI4|! Yʐ*[<^W"+)G;RZ?∪ fQI!q"d`H!J9 dtJ% ?$ 2 Aԡ bj3ř!9,31B[R`$Y䉰 H0)\9vSǭ5F V@tj[LA.wyZGрoAZCZJnze['mj"a!7ԝ2_B_B2MA⍅.8FUt vT֯ dȝH47V_,Z34)J@FPeT@+_Fʕ(n1WP\`Fsa('<,H"%n!G*F ("ZRHbaHH̍DR)J=!0sDa$&ce#An2B ߿;p!fAFJ93a$|GChGMĔ2AA!b'oR6$ghaP2c؏;;hJR^IyCR Y \! 0eXq;C'hR.(@5AZ@qkfchѥPx0ɦ9Yd(8HR:FZ)G@N`|RrJ>ckr  P` %%-P @0UUFr)).Aihj@HV s&*f*"hP (ZhBFJJ)/ @Q@Z")iޯ㻰P?DfeENDSn1,vb(G{ 0Ht12*鴉qCxCNT9^|j<~>o')_[h4qM 2,6d7h+d;Ĵ:9cT Ho1׀_]tDU9T. MH6IiY(.KH$%2 DPq)PC"DQT&5C(5#K$SS2ҵ,_д/ H)>:aVِdRR]9@%CN1>?mgKRSn~ϒ/Mb+]nL(z3#Zv|ǟ*_f52xEIPۼzZ@zv?۫tAZu!$ڎ,igLS K9w4kUV!vxWfv ζGWBhCbMb!u d dEu\LG`- \59TQ5 T.M,aQȧ*p6*AtP±#{ q "a*{)"d|<sqbp@yN'*"I| \ }|ICLf).T/S(!~RV|%Рntp=27h9!m$JHI#W @ƙ%>;a۱1MPb4"4V6 @%BDNٲԱTX'rHWJ*yT rs1ۈ~v&Zw4E IS)Hp? oؽO$np(;D̩I((tpV6L3Z=h%vNa~Q'A/6h@ϟXH4=a|k`!UA]4-m( LʨÌMHTKȍӮi Puse ! orj' ,9kEbKq߀r̒f@m  >>V l^ɫUd 9VPayNvTge= Dt>؍·r$' +Qro(?|-:D"Kc4Pf qL& H"M1Y0@ozoㅍ۱TJߍ%)|0 F_#ڢPezN ?3ZCmW32ez⹝4-v~6c-0] NҮ74*cCŨ{PCLO̽j᫉$D ŽicMYB $ZY\CU,ӘM4edf{FqC,@#Pj01Lcza`f[5jX9=Q[ѲS%)؊3)#ҍٷM6򲖺H7n2Wf֎m$3t0gCk~qf.åZDRڠ LZ-8dàAW3>Gs:kw-r&"k3l!v<-b=HPb&4Xk40nsyt58کnr8L@&繒AGG_fW.qdH\/ ^: 60=1`9b24fVf9լpL#2u:5FĀ)'RӳSSnX~Cy,-xԼ* ν.( ğ(2=! u>+sjr L qY]8`+h I%cӊK3Yft+m%6 hEޅ5!fL)4b*qbA >=Kf$MDz` w7ntH+Sq^hTțRT KtsNrIЊA $X`(7]-Fj I룙+檠\sYkʃ#&f fL0C2LV Y !Ib1ΦΒkfׄ6a>+ *d+y`1c . J+iW%pU@LdB GrJs0/~/pva(I⾤Өgp"a F~7FOeYu׺= t'ؐBEL| +1A GkU bSQư5. 4H5bD)Ɋ@QzTUym1uA@D|):O&L|""!"?K I!$\% o~Z{Q5+㤰NI(茔/nK~˩əs#hD1 g|N I>ojjYQ u2[:Qbw$`B׊*2 z874%;М3am~{I!ChlY ysBטXKjB=܃.UѻAbI_BRH<,ʘmKEe`&۬ D!\S:LVj^;d0jN! C4 6:~F7$x&<ڌVVj4-@ޭXo>aj){†4 qShIPq#EےH- 1,S#$II$UR]HhаZȢ( -NC#nv&F;=䝜y; 镔q|,:6X,6~$=8\ P$`C> *L Ihav\(*甅+T])Wg=z;3yAkY h*X6>ܺaJL)PJ"8ώǠSzl5D.Nm/*&~# &?ڊӢ&ep}^>lQA ZGv]w9ߟ} H``i"f &IfJ `Ш A2 K)$U!BJ>^)1JTO\ӂ`b:ݟ' I4O%cBaU6ÞN)EF1bxP"LВP AE"Ҕ),3CD@-SDQD1%!@D@R3J#XB" "BB*IbQZi:Bv UD-`PC9XCA5MIC!:HR *M$ Mbs14$6?t!fTBЈ@CM~YiSM-*H ^ !'ˑ`?:%2= HIEQOċCv)E1xAʃ7`M`J:ꁡ-fb*P0a6|{dP⥑|p=2DRD*S  (j|0Q4Ĭ0DV NG 薶-5j @j~JPq"r0G<'89tuj4Qۊ g!<@Dt` 1*Aq("jn`H4aQ` ƀ2aeX"fb@9@H]HFH0FLk$ !܂9 CM ,cnuH9I@Dl#U))"Z@0(4"D!E@șFfԈih d.CJa.@F`FQe Ud# 1x.ՄATI!58aPa*aĆ`b$ƀ(n@8r2v;`UOO~4$R!̀p``*qYNЬDAJ2QQx)!՗&bs&@JB0HEkދ