aaa_base-11.1-10007.14.1<>,g)I,/=„K~hLl1)5Ǥ7t#W<"J~ՔWx[3gw8pa0~Dk4kf[؂3@`k5?ivxG{8&p!VB몈N!P.:`͇ D5I"qᠽ`@tbe ҺFfh~@3=Vsx@@^(?.+c} bK.tF#, ~옴E D?6 &ݔg!1RGU"Vy>G̼?̬d   3DHTXfo II(oJo Ko Lo N\o [o \lo^(o`Sob}bod\d%e$%g%(gM)gU*h+h,h -h$8h(9k:w=> @BD&F.GDoHoI¼oX,YHZ`[d\ho]$o^|bqcdbegflknlsz̢̤̃̓Caaa_base11.110007.14.1SUSE Linux Base PackageThis package installs several important configuration files. Central scripts like SuSEconfig are also in this package. Authors: -------- Werner Fink Rdiger Oertel Burchard Steinbild Florian La Roche Martin ScherbaumI#BbeethovenopenSUSE 11.1openSUSEGPL v2 or laterhttp://bugs.opensuse.orgSystem/Fhslinuxi586#!/bin/bash # # Run this script in C-Locale, or some tools will fail. export LC_ALL=C # /boot should be the first directory. This increases the probability, that # lilo stuff lies before 1024 cyl. mkdir -p boot # # make sure, tmp directories do exist # for i in tmp var/tmp ; do test -d $i || { if test -L $i ; then echo "Error! $i is a dangling symlink." echo ls -l $i echo echo "To avoid big problems this link has to be deleted and a directory" echo "will be created. Remember to fix it after installation." echo rm -f $i elif test -f $i ; then echo "$i is a file. This makes no sense. Moving it to $i.save." mv -v $i $i.save fi mkdir -p $i } done # # now create a var/adm/fillup-templates/passwd.aaa_base. # If etc/passwd does not exist, copy # var/adm/fillup-templates/passwd.aaa_base to etc/passwd. # deleted db2 groups and users were uids 46,47,48 and gids 46,47,48 # mkdir -p etc touch etc/mtab mkdir -p var/adm/fillup-templates echo "root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/bin/bash daemon:x:2:2:Daemon:/sbin:/bin/bash lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false news:x:9:13:News system:/etc/news:/bin/bash uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash games:x:12:100:Games account:/var/games:/bin/bash man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false ftp:x:40:49:FTP account:/srv/ftp:/bin/bash nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash" \ > var/adm/fillup-templates/passwd.aaa_base echo "root:x:0: bin:x:1:daemon daemon:x:2: sys:x:3: tty:x:5: disk:x:6: lp:x:7: www:x:8: kmem:x:9: wheel:x:10: mail:x:12: news:x:13: uucp:x:14: shadow:x:15: dialout:x:16: audio:x:17: floppy:x:19: cdrom:x:20: console:x:21: utmp:x:22: public:x:32: video:x:33: games:x:40: xok:x:41: trusted:x:42: modem:x:43: ftp:x:49: man:x:62: users:x:100: nobody:x:65533: nogroup:x:65534:nobody" > var/adm/fillup-templates/group.aaa_base rm -f var/adm/fillup-templates/shadow.aaa_base while read LINE ; do case $LINE in root*) echo "root::$(($(date '+%s')/86400))::::::" \ >> var/adm/fillup-templates/shadow.aaa_base ;; *) echo "${LINE%%:*}:*:$(($(date '+%s')/86400))::::::" \ >> var/adm/fillup-templates/shadow.aaa_base ;; esac done < var/adm/fillup-templates/passwd.aaa_base # etc/passwd update if test -e etc/passwd ; then sed " # re-do these users on update, their home-dir was changed /^news:\|^uucp:\|^man:\|^ftp:.*:.usr.local.ftp:/d # change group of wwwrun: nogroup -> www s|^wwwrun:x:30:65534:|wwwrun:x:30:8:| # change login shell of wwwrun s|^\(wwwrun:x:30:8:.*:\)/bin/bash|\1/bin/false| " < etc/passwd > etc/passwd.t cat etc/passwd.t > etc/passwd rm -f etc/passwd.t fi if test -e etc/shadow ; then # nobody had sp_lstchg set to 0 in 8.0 and older sed "/^nobody:[^:]*:0:/d" < etc/shadow > etc/shadow.t cat etc/shadow.t > etc/shadow rm -f etc/shadow.t fi # Rename game -> games, wwwadmin -> www for i in etc/group ; do if test -e $i ; then sed -e "s|^game:|games:|" -e "s|^wwwadmin:|www:|" $i > $i.t cat $i.t > $i rm -f $i.t fi done for file in passwd group ; do if test -f etc/$file ; then # like fillup, but : is the only separator rm -f etc/$file.add sort -k 1,1 -t: -u etc/$file var/adm/fillup-templates/$file.aaa_base \ | sort -k 1,1 -t: etc/$file - | uniq -u > etc/$file.add cat etc/$file.add >> etc/$file rm -f etc/$file.add # fix permissions if this script is called with strange umask chmod 644 etc/$file else cat var/adm/fillup-templates/$file.aaa_base > etc/$file fi done if test -d sbin/init.d -a ! -L sbin/init.d ; then if test -L etc/init.d ; then rm -f etc/init.d fi fi # # we have several local files, that changed over the time. Check the # existing one, if they contain real data. If not, delete them. # for LOCALFILE in root/bin/cron.daily.local \ etc/init.d/boot.local \ etc/init.d/halt.local \ sbin/init.d/boot.local \ sbin/init.d/halt.local \ usr/sbin/usradd.local \ usr/sbin/usrdel.local \ usr/sbin/userdel.local ; do test -f $LOCALFILE || continue LOCALFILE_CONTAINS_DATA=false while read LINE ; do case "$LINE" in "#"*) ;; "echo "*">"*) LOCALFILE_CONTAINS_DATA=true ;; "echo "*) ;; ". /etc/rc.config") ;; "exit "*) ;; "") ;; *) LOCALFILE_CONTAINS_DATA=true ;; esac done < $LOCALFILE test "$LOCALFILE_CONTAINS_DATA" = false && rm -f $LOCALFILE done mkdir -p etc/init.d echo "#! /bin/sh # # Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany. All rights reserved. # # Author: Werner Fink , 1996 # Burchard Steinbild, 1996 # # /etc/init.d/boot.local # # script with local commands to be executed from init on system startup # # Here you should add things, that should happen directly after booting # before we're going to the first run level. # " > etc/init.d/boot.local.new if [ ! -e etc/init.d/boot.local ] ; then if [ -e sbin/init.d/boot.local ] ; then mv sbin/init.d/boot.local etc/init.d/boot.local fi fi test -e etc/init.d/boot.local || mv etc/init.d/boot.local.new etc/init.d/boot.local rm -f etc/init.d/boot.local.new chmod 744 etc/init.d/boot.local echo "#! /bin/sh # # Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany. All rights reserved. # # Author: Werner Fink , 1998 # Burchard Steinbild, 1998 # # /etc/init.d/halt.local # # script with local commands to be executed from init on system shutdown # # Here you should add things, that should happen directly before shuting # down. # " > etc/init.d/halt.local.new if [ ! -e etc/init.d/halt.local ] ; then if [ -e sbin/init.d/halt.local ] ; then mv sbin/init.d/halt.local etc/init.d/halt.local fi fi test -e etc/init.d/halt.local || mv etc/init.d/halt.local.new etc/init.d/halt.local rm -f etc/init.d/halt.local.new chmod 744 etc/init.d/halt.local mkdir -p etc for LINK in usr/X11R6/lib/X11 var/X11R6/lib/fonts usr/lib/mgetty+sendfax \ usr/man/cat? usr/X11R6/man/cat? usr/openwin/man/cat? usr/lib/news ; do if test -L $LINK ; then echo "Found forbidden/oldish Link: $LINK ...deleting" rm -f $LINK fi done for DIR in etc/rc.d usr/X11 ; do if test -d $DIR -a ! -L $DIR ; then echo -n "Found oldish directory /$DIR. " if test -d $DIR.old ; then echo /$DIR.old already exist. Can not move /$DIR to it. else echo Moving it to /$DIR.old mv $DIR $DIR.old fi fi done if test -f /root/.gnupg/secring.gpg ; then cp -a /root/.gnupg/secring.gpg /root/.gnupg/secring.gpg.aaa_save fi #!/bin/bash # # # post.sh - to be done after extraction # # Copyright (c) 2003 SuSE Linux AG Nuernberg, Germany. # # # Run this script in C-Locale, or some tools will fail. export LC_ALL=C # # to make shure, var/lib/YaST/bin/bootsetup runs fine, delete # usr/lib/YaST/.configured2 test -e usr/lib/YaST/.configured2 && rm -f usr/lib/YaST/.configured2 # # there are some installation with an etc/psdevtab, which is only readable # for root - this slows ps for any other user. starting ps as root, creates # it, when it doesn't exist (readable). So simply delete it. # test -e etc/psdevtab && rm -f etc/psdevtab # # if the old inittab contains "/sbin/init.d", move it away # and use inittab.rpmnew. RPM will overwrite old rpmnew files, so this # should really the new one. # test -f etc/inittab.rpmnew && grep sbin.init.d etc/inittab >/dev/null 2>&1 && { mv -f etc/inittab etc/inittab.sbin.init.d mv -f etc/inittab.rpmnew etc/inittab } # # if the old nsswitch.conf contains dns6, replace it with dns # test -f etc/nsswitch.conf.rpmnew && grep dns6 etc/nsswitch.conf >/dev/null 2>&1 && { cp etc/nsswitch.conf etc/nsswitch.conf.aaa_base sed "s|dns6|dns|g" < etc/nsswitch.conf.aaa_base > etc/nsswitch.conf } # GMT might already be in sysconfig/clock FILE=etc/sysconfig/clock if [ -f $FILE ] ; then sed -i -e "s/^GMT=/HWCLOCK=/" $FILE fi # # Initialize runlevel links # test -n "$FIRST_ARG" || FIRST_ARG=$1 FORCE_YES=0 set -- boot.proc boot.localfs boot.swap boot.clock boot.ldconfig boot.ipconfig boot.klog boot.localnet halt random reboot single PNAME=aaa_base INSSRV_ARRAY="" while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 shift SV_B='^### BEGIN INIT INFO' SV_E='^### END INIT INFO' SV_KW=Default-Enabled SV_VALUE=`sed -n -e "/$SV_B/,/$SV_E/{/^# [^[:space:]]*$SV_KW:[[:space:]]*\([^[:space:]]*\).*/s//\1/p;}" < etc/init.d/$SCRIPTNAME` test "$FORCE_YES" = "1" && SV_VALUE="yes" test -n "$SV_VALUE" || SV_VALUE="yes" INSSRV_ARRAY="$INSSRV_ARRAY $SCRIPTNAME $SV_VALUE" done TEMPLATE_DIR=var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME SD_NAME="" if [ -x bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating etc/sysconfig/$SD_NAME$PNAME..." mkdir -p etc/sysconfig/$SD_NAME touch etc/sysconfig/$SD_NAME$PNAME bin/fillup -q etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi set -- $INSSRV_ARRAY while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 SV_VALUE=$2 shift 2 test -n "$SCRIPTNAME" -a -n "$SV_VALUE" || { echo "SCRIPTNAME or SV_VALUE unknown"; exit 1;} if test "$FIRST_ARG" = "1" -a "$SV_VALUE" = "no" ; then sbin/insserv ${YAST_IS_RUNNING:+-f} -r etc/init.d/$SCRIPTNAME elif test "$FIRST_ARG" = "1" -o "$FORCE_YES" = "1" ; then sbin/insserv ${YAST_IS_RUNNING:+-f} etc/init.d/$SCRIPTNAME fi done sbin/insserv ${YAST_IS_RUNNING:+-f} etc/init.d/boot.loadmodules etc/init.d/boot.cleanup etc/init.d/boot.rootfsck ## powerfail probably needs empty header ... # add Kill-links in boot.d if needed: for i in proc localfs swap clock ldconfig ipconfig klog localnet loadmodules sched ; do if [ -f /etc/init.d/boot.d/S??boot.$i -a ! -f /etc/init.d/boot.d/K??boot.$i ] ; then sbin/insserv ${YAST_IS_RUNNING:+-f} boot.$i fi done PNAME=security DEF_VAL="no" DEL_TEMPL=var/adm/fillup-templates/$PNAME.del rm -f $DEL_TEMPL for var in CONSOLE_SHUTDOWN ; do echo -e "#\n$var=$DEF_VAL\n" >> $DEL_TEMPL done if [ -f etc/sysconfig/$PNAME ] ; then bin/fillup -q -t -r -i -d "=" etc/sysconfig/$PNAME $DEL_TEMPL etc/sysconfig/$PNAME.deleted.$$ test -f etc/sysconfig/$PNAME.new && mv etc/sysconfig/$PNAME.new etc/sysconfig/$PNAME fi for i in $DEL_TEMPL etc/sysconfig/$PNAME.deleted.$$ ; do if [ -f $i ] ; then . $i rm -f $i fi done PNAME=suseconfig DEF_VAL="no" DEL_TEMPL=var/adm/fillup-templates/$PNAME.del rm -f $DEL_TEMPL for var in CHECK_INITTAB ; do echo -e "#\n$var=$DEF_VAL\n" >> $DEL_TEMPL done if [ -f etc/sysconfig/$PNAME ] ; then bin/fillup -q -t -r -i -d "=" etc/sysconfig/$PNAME $DEL_TEMPL etc/sysconfig/$PNAME.deleted.$$ test -f etc/sysconfig/$PNAME.new && mv etc/sysconfig/$PNAME.new etc/sysconfig/$PNAME fi for i in $DEL_TEMPL etc/sysconfig/$PNAME.deleted.$$ ; do if [ -f $i ] ; then . $i rm -f $i fi done PNAME=suseconfig DEF_VAL="no" DEL_TEMPL=var/adm/fillup-templates/$PNAME.del rm -f $DEL_TEMPL for var in HALT_SOUND ; do echo -e "#\n$var=$DEF_VAL\n" >> $DEL_TEMPL done if [ -f etc/sysconfig/$PNAME ] ; then bin/fillup -q -t -r -i -d "=" etc/sysconfig/$PNAME $DEL_TEMPL etc/sysconfig/$PNAME.deleted.$$ test -f etc/sysconfig/$PNAME.new && mv etc/sysconfig/$PNAME.new etc/sysconfig/$PNAME fi for i in $DEL_TEMPL etc/sysconfig/$PNAME.deleted.$$ ; do if [ -f $i ] ; then . $i rm -f $i fi done if ! [ -d etc/sysconfig ] ; then mkdir -p etc/sysconfig fi for i in language backup boot kernel \ suseconfig clock proxy windowmanager sysctl \ cron news shutdown ; do PNAME=$i SUBPNAME= TEMPLATE_DIR=var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME SD_NAME="" if [ -x bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating etc/sysconfig/$SD_NAME$PNAME..." mkdir -p etc/sysconfig/$SD_NAME touch etc/sysconfig/$SD_NAME$PNAME bin/fillup -q etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi done # migrate HALT_SOUND value if set before if [ -n "$HALT_SOUND" -a "$HALT_SOUND" != "no" ] ; then sed -e "s|^HALT_SOUND=.*|HALT_SOUND=\"$HALT_SOUND\"|" \ etc/sysconfig/shutdown > etc/sysconfig/shutdown.new \ && mv etc/sysconfig/shutdown.new etc/sysconfig/shutdown fi # fix sysconfig backup dir if grep -q RCCONFIG_BACKUP_DIR../var/adm/backup/rpmdb etc/sysconfig/backup; then sed -e "s|^RCCONFIG_BACKUP_DIR=.*|RCCONFIG_BACKUP_DIR=\"/var/adm/backup/sysconfig\"|" \ etc/sysconfig/backup > etc/sysconfig/backup.new \ && mv etc/sysconfig/backup.new etc/sysconfig/backup mkdir -p /var/adm/backup/sysconfig mv /var/adm/backup/rpmdb/sysconfig[-_]* /var/adm/backup/sysconfig 2>/dev/null fi # clear old install settings of MODULES_LOADED_ON_BOOT eval `grep "^MODULES_LOADED_ON_BOOT" etc/sysconfig/kernel` MLOB_NEW="" for i in $MODULES_LOADED_ON_BOOT ; do case $i in capability|raw1394|video1394) continue ;; esac MLOB_NEW="$MLOB_NEW${MLOB_NEW:+ }$i" done if test "$MODULES_LOADED_ON_BOOT" != "$MLOB_NEW" ; then sed -e "s|^MODULES_LOADED_ON_BOOT=.*|MODULES_LOADED_ON_BOOT=\"$MLOB_NEW\"|" \ etc/sysconfig/kernel > etc/sysconfig/kernel.new \ && mv etc/sysconfig/kernel.new etc/sysconfig/kernel rm -f etc/sysconfig/kernel.new fi # # Backup gshadow file and remove it (merge passwords into # /etc/group before). # if [ -f /etc/gshadow -a -x /usr/sbin/grpunconv ]; then cp -p /etc/gshadow /etc/gshadow-`date "+%Y%m%d"` chmod 600 /etc/gshadow-`date "+%Y%m%d"` /usr/sbin/grpunconv fi # # handle password files # for i in passwd group shadow ; do test -e var/adm/fillup-templates/$i.aaa_base || continue echo -n "Updating etc/$i..." if test -f etc/$i ; then cp etc/$i etc/$i.tmp rm -f etc/$i.add sort -k 1,1 -t: -u etc/$i var/adm/fillup-templates/$i.aaa_base \ | sort -k 1,1 -t: etc/$i - | uniq -u > etc/$i.add cat etc/$i.add >> etc/$i rm -f etc/$i.add if cmp -s etc/$i etc/$i.tmp ; then echo "unchanged" else echo "modified" fi rm -f etc/$i.tmp # If we have a NIS system, we have to make sure, that "^+" is at the end grep -v "^+" etc/$i > etc/$i.tmp || : grep "^+" etc/$i >> etc/$i.tmp || : test -s etc/$i.tmp && cat etc/$i.tmp > etc/$i rm -f etc/$i.tmp else cat var/adm/fillup-templates/$i.aaa_base > etc/$i echo "new" fi done # check/fix owner and permission of shadow files for i in etc/shadow ; do chmod 640 $i chgrp shadow $i done # # make sure that nobody and nogroup are set to 65534 (we had -2 in former times) # for i in etc/passwd etc/group ; do sed -e"s/:-2:/:65534:/g" -e"s/:-2:/:65534:/g" < $i > $i.t test -s $i.t && { cat $i.t > $i } rm -f $i.t chmod 644 $i done # # Change primary group of nobody to nobody # if [ -x /usr/sbin/usermod ]; then /usr/sbin/usermod -g nobody nobody 2> /dev/null ||: fi # # create mtab if it does not exist # touch etc/mtab # # make sure that several log files exist # if test ! -d var/log ; then mkdir -p var/log fi touch var/log/faillog chmod 600 var/log/faillog touch root/.bash_history chmod 600 root/.bash_history chown root:root var/log/faillog touch var/log/lastlog chmod 644 var/log/lastlog chown root:tty var/log/lastlog touch var/log/wtmp chmod 664 var/log/wtmp chown root:tty var/log/wtmp if test -e usr/sbin/usrdel.local -a ! -e usr/sbin/userdel.local ; then cp usr/sbin/usrdel.local usr/sbin/userdel.local fi if test ! -e usr/sbin/userdel.local ; then mkdir -p usr/sbin cat << EOT > usr/sbin/userdel.local #!/bin/bash # # Here you can add your own stuff, that should be done for every user who # will be deleted. # # When you delete a user with YaST, this script will be called # with the login name as parameter. The rest of data can be taken # from /etc/passwd. # EOT chmod 744 usr/sbin/userdel.local fi # # Now do the ugly part. Delete mess from former times... # if test -L usr/i486-linux-libc6/lib/libqimgio.so ; then rm -f usr/i486-linux-libc6/lib/libqimgio.so fi # change all /media mounts (subfs) to noauto if test -f /etc/fstab ; then rm -f /etc/fstab.$$ sed -e '/^[[:space:]]*#/{p;d}' -e '/[[:space:]]subfs.*noauto/{p;d}' -e '/\/media.*fs=\(cdfss\|floppyfss\)/s/\([[:space:]]subfs[[:space:]][[:space:]]*\)/\1noauto,/' < /etc/fstab > /etc/fstab.$$ cmp -s /etc/fstab /etc/fstab.$$ || { mv /etc/fstab.$$ /etc/fstab chmod 644 /etc/fstab } rm -f /etc/fstab.$$ fi # IA64 Altix update hook if test -d /proc/sgi_sn ; then if grep -q "console=ttyS0" /etc/elilo.conf ; then echo "replacing ttyS0 by ttySG0 in elilo.conf, inittab and securetty files" # rm -f /etc/elilo.conf.tmp sed -e "s/console=ttyS0/console=ttySG0/g" /etc/elilo.conf > /etc/elilo.conf.tmp cat /etc/elilo.conf.tmp > /etc/elilo.conf rm -f /etc/elilo.conf.tmp # rm -f /etc/inittab.tmp sed -e "s/getty\(.*\)ttyS0/getty\1ttySG0/g" /etc/inittab > /etc/inittab.tmp cat /etc/inittab.tmp > /etc/inittab rm -f /etc/inittab.tmp # rm -f /etc/securetty.tmp sed -e "s/ttyS0/ttySG0/g" /etc/securetty > /etc/securetty.tmp cat /etc/securetty.tmp > /etc/securetty rm -f /etc/securetty.tmp # if grep -q /boot/efi /proc/mounts ; then echo "calling elilo to update" /sbin/elilo || true fi fi fi exit 0 sbin/insserv etc/init.d ;!AS 6"s>"  }$C9Oz  V')1 4p2% ">Q xdoc '6e] N4A&d" O 4DP< B<   sn  C `B큤큤큤큤GUI@ue\IeVIw on' (bnc#422433)- rs.status: don't use escape seqs if not on a tty (bnc#422004)- usr/sbin/Check: skip dir if "." or ".." is in MANPATH (bnc#426646)- Do not override locale if already set by the GDM (bnc#440371)- add patch aaa_base.disable-ps3-vram-swap.patch to disable using video ram as swap on PS3. This this causes the system to hang with FW 2.50.- Make chkconfig be aware of new feature of insserv (bnc#422433)- Only set PAGER to less if less is installed [bnc#436958]- add missing ";;" in several boot scripts (bnc#455521,bnc#455522,bnc#455523,bnc#455524,bnc#455508, bnc#455511,bnc#455513)- add missing ";;" in boot.clock (bnc#432381)- Remove SCHED_MINTIMESLICE/MAXTIMESLICE from sysconfig.kernel, it's been dysfunctional for a while.- Do not set TEXINPUTS to make luatex work (bnc#429345) - Use /bin/grep in profile.csh (bnc#429336)- update chkconfig manpage (bnc#411221)- skip fsck if running on battery [fate#303375]- modify_resolvconf is gone, call "netconfig update" instead- add 'hvc0' as valid console for s390x.- remove deprecated "-p" option from fillup_and_insserv call - remove rc.config related snippets (from before sles8)- fix header for boot.localnet- Fix shell syntax in boot scripts from last change - Fix some boot script dependencies- Implement forcefsck from kernels command line (bnc#379597)- In boot.localfs: generate list of virtual fs on the fly- In halt script: use option -r of umount - In boot.localfs: be sure that / is not busy by using the new -w option of fuser for terminating all proccesses with write access- Fix shell function syntax.- Start blogd after /dev/pts is mounted (bnc#410301) and related changes for better mainframe support in boot, rc, and halt.- added sourcing of command_not_found handlers to bash.bashrc (bnc#412558)- Fix missing test in reboot script.- More work on bnc#379745: after sync, stop inactive md arrays, enforce clean state of active md arrays. - Avoid error output /etc/rc.status due failed stty- Add missing test on ~/.hushlogin in csh.login- Make login procedure of bash and tcsh more equal (bnc#401470)- Restore the broken arch_special tar ball (bnc#410237) - Remove boot.getclock as insserv now can handle this - Some more cleanups for new insserv- Make boot scripts know about new upcoming startpar and insserv- compile get_kernel_version with largefile support (bnc#398593)- Add missing `test' in /etc/init.d/boot (bnc#406202)- Check for /sys/kernel/kexec_loaded before reading it (bnc#387601)- readd malloc debugging hooks for 11.1 - bump version- Detect SIGWINCH during boot and runlevel switch- Better workaround for colon in directors names (bnc#398369)- More on bnc#388327: do not umnount tmpfs devices like /dev- remove malloc debugging for the release.- boot.localfs: /tmp could be a memory based tmpfs (bnc#388327)- marked /etc/bash.bashrc as config (bnc#382804)- change sysconf_addword to work with sed instead of ed (bnc#377131)- Make colon work in _cd_ expansion shell function even if part of COMP_WORDBREAKS (bnc#391955)- Remove last occurence of boot.setclock (bnc#384254)- Move udev from the Required to the PreRequired list (bnc#384254) - Rename boot.setclock to boot.clock but preserve boot.getclock this avoid to get temporary boot.clock provided twice during update (bnc#384254)- enable swap to ps3vram in boot.swap- Read status of /sys/kernel/kexec_loaded into a variable- Fix specfile for last change.- Add both patches (aaa_base-chkconfig-help.patch and aaa_base-lsb-keywords-patch) to source tree - Add kexec call in halt script if a kernel is loaded (bnc#387601)- added help for 'chkconfig -A' option (bnc#371548) (aa_base-chkconfig-help.patch) - add some lsb-keywords to the init scripts (aa_base-lsb-keywords-patch) - recommend cron as this is not installed per default - disable "Obsoletes: tpctl" for now - added aaa_base-rpmlintrc to suppress some rpmlint warnings- Replace `/bin/hostname -s' with `/bin/uname -n' (bnc#386621) - Also change reference boo.clock in sysconfig and add boot.clock as an alias within boot.setclock (bnc#386354)- Force installing ncurses-utils to have tput and reset around- Apply last change also for insserv call- Split boot.clock into two scripts for boot and shutdown Todo: make insserv knowing about Required-Stop to merge them again to one boot.clock.- If tac is used for reversed reading set TMPDIR to /dev/shm- Fix wrong redirection of stdout/stderror in boot.localfs- Fix wrong regular bash expression (bnc#379745)- fixed bnc#341035: removed /media/.hal-mtab from /etc/init.d/boot.rootfsck- add missing "#" before comments in last change- Use common code only once for halt/reboot/single- Touch file /success only on rw mounted root fs (bnc#367315)- boot.localfs: fsck Option -m changed to -M change hotplug to nofail- updated mime.types (bnc#216934) - ecmascript changed from "es" to "ecma" - audio/x-it removed - text/x-csharp removed- boot.swap: compare inode/device pairs of listed swap devices and fstab swap entries (bnc#362935)- Add requires to /bin/login, required from inittab invoking mingetty with default arguments.- No indirect calls of binaries but use explicit path (bnc#353437)- run yast2 firstboot if needed in etc/init.d/boot (#354738)- Set HW clock before mounting the local file systems- use if/then instead of plain test- only copy the secring if it really exists.- don't overwite root/.gnupg/secring.gpg- Fix typo.- skeleton.compat (fix bash error) (#351386)- Test for the sticky bit on /etc/profile.d/*.(sh|csh) files and if set for a file do not source it (bug #340737)- remove checks for sysconfig/dump and DUMP_ACTIVE (#348656) - updated "you" alias (#326075) - weaken requires for logrotate to recommends (#348549)- Fix small typo in /etc/rc.status function rc_check()- Cleanup gpg agent sockets on boot.- Fix last change. - Cleanup.- don't remove /var/run/utmp during boot to fix "who -b" (#302036)- remove requires for aaa_skel - provide and obsolete aaa_skel (dropped package)- Adjust file for hwclock<->sysclock only on UTC hwclock (#223365)- moved /etc/skel/.inputrc and /etc/skel/.emacs from aaa_skel to here- add .lzma to DIR_COLORS- Do not read ~/.bashrc in case of /bin/sh (bug #340952)- for zsh, do not source bash.bashrc (#343621)- do not run swapoff -a during shutdown, only deactivate swapfiles swap can not become unclean like filesystems (#342757)- added psmisc as requires (fuser needed for /etc/init.d/reboot) (#334247)- added sysconf_addword to /usr/sbin (#328599)- fix setting for XDG_DATA_DIRS (#300678)- remove remounting of rootfs from boot.rootfsck (handled by initrd for quite a while already) (#335174,#286759)- add malloc-debug.csh to special files too.- renabled MALLOC_CHECK_ for FACTORY, for both sh and csh.- Remove .hal-mtab on boot [#329688].- second try to fix hostname setting (#300571)- remove sysconfig/sw_management (#331955)- Using hostname option from 'ip' boot parameter (#300571)- sysconfig/sysctl: enhance ENABLE_SYSRQ value: apart from yes/no this variable can hold a numeric value to enable specific sysrq controls (#257405) - default is now "176" (allow s,u,b)- remove MALLOC_CHECK_ for RC1.- Some cleanups in /etc/init.d/halt which may help for #309123- always patch XDG_* (#300678 - with the help of werner) - fix typo in xdg-enviroment- Add /usr/share/gnome to XDG_DATA_DIRS (#307213).- get_kernel_version: make check more strict to usage on kernel dumps (#307326)- Drop procps BuildRequires again.- Sort out useful terminals before accessing them (bug #293842)- Remove some unnecessary verboseness when waiting for processes.- rebuild ldconfig cache if its corrupt (#259001) - fix boot.localfs output (#285865)- Remove conflicting readline bindings [#299415].- Enhance comments for ACPI_DSDT= variable in sysconfig/kernel- re-add change lost in last update- add mimetypes for .ymp and .ymu files (#295677)- remove /bin/ps prereq and replace it with $SHELL- revert the last two changes as they break too much for the moment- Add /bin/ps to PreReq and procps to BuildRequires for last change- Add restricted detection in profile and bash.bashrc (#293038)- Small correction in inputrc for urxvt, mlterm, and konsole- Update inputrc to fit current xterm and others (bug #262330)- add a special case for splash not terminating - it's there on purpose- remove 8 seconds worth of sleep() time from shutdown- skeleton: change sendmail to generic smtp dependency - etc/init.d/*: add Short-Description tags - add insserv_cleanup postun- let klogd sync its own file instead of all partitions- Sometimes /etc/sysconfig/bootsplash is missed (bug #284891)- remove nfs, now part of nfs-client- etc/init.d/boot.localfs: - handle /sys more like /proc - etc/init.d/halt: - don't umount /proc in the end, halt(8) might need it - source sysconfig/bootsplash since we try to use $SPLASH- Bugzilla #279934: ssh sends the locale environment variables even for non-login shells, therefore one should not test for SSH_TTY in /etc/profile.d/*.ssh but for SSH_CONNECTION, otherwise /etc/profile.d/lang.{sh,csh} overwrites the locale with the system default again (Thanks to Werner Fink).- Be sure the the option -P of shutdown works (bug #274042)- move permissions.local to permissions package- move sysconfig.boot.crypto to cryptsetup package- move sysconfig.mail into yast2-mail- Check for exported PS1 variable (bug #261203)- move boot.crypto to util-linux-crypto (#257884)- Remove old Makefile check shorten boot time by 2 secs (#262676)- Do not require suse-build-key. - Do not mess with roots keychain.- Fix of the fix for bugzilla #244788: be sure that the ~/.bashrc is sourced once, not more not less.- Use colored root prompt (bugzilla #144620)- fix order of changelog entries - do not fix owner and group of RPM_BUILD_ROOT- remount /proc and /sys to make sure fstab options are in effect (#250237)- added "application/flash-video flv" to mime.types (#245507)- accept spaces in dirname in nfs client script (#232356)- Oops, check also for profile within bashrc before assuming the default behaviour of the bash (#244788)- Do not source bashrc twice if sourcing profile for ssh (#244788) - Expand local ./files for manual pages within bash (#248865)- Use plain bourne shell syntax for bug #231716 (bug #245740)- Both bash and tcsh should have the same path (bug #227416) - Be carefull about X11 paths (bug #227416) - bash complete: if cdable_vars is set expand variables on cd, handle CDPATH variable, and append the / on the result if missed- Correct lang.sh (bug #241056) - Add support for new init feature INIT_HALT=POWEROFF/HALT- Removed references to /opt/gnome.- boot.crypto: use boot.localfs instead of $local_fs, remove the boot.klog and dependcies of boot.localfs (#140226) - boot.crypto: add support for restart/reload of services for interactive usage of boot.crypto (#146388) - boot.crypto: add latest support for cryptsetup from Chris Rivera (Fate#253) - boot.crypto: check return values of losetup for short passphrase (#197493)- boot.localfs: use grep instead of bash-loop to speedup parsing for large /proc/partitions (#201501) - fixed javascript entries in mime.types (#216934) - added comment to permissions.local about letting the file end with a newline (#224151) - drop CREATE_INFO_DIR sysconfig variable, obsolete for years. (#231584) - added Required-Start: to boot.sched (#231676) - mark /etc/profile.d files as config (#232083)- Don't mix shell and environment variable within locale (#236063)- /etc/profile.d/xdg-environment.{sh,csh} respect /opt/*/share/applications and /etc/opt/*/xdg (Fate#301042)- enable malloc debug again for factory.- Don't use shell function if the program 'which' exists (#231716)- added SYNC_ZMD_TO_ZYPP to sysconfig/sw_management- remove aspx from /etc/mime.types (#229258)- call umount in "rcnfs stop" if there are any active nfs mounts (#103217)- adapt s390 inittab patch- add also runlevel 4 to the disabled /sbin/smart_agetty entry (223983)- Escape not only braces but all COMP_WORDBREAKS (#225284)- added rxvt-unicode,screen-256color,xterm-256color to DIR_COLORS - removed rbash from /etc/shells (#223159)- added sysconfig/sw_management to set preferred update stack if both are installed (defaulting to zlm) (#219390)- Remove /etc/init.d/Makefile (bug #204383) - Append /dev/shm/initrd.msg to /var/log/boot.msg - Make ls alias work even for rbash (bug #214254)- disable MALLOC debugging for the 10.2 release.- added Requires for udev (since it's used in Required-Start) (#214291)- chkconfig: add --allservices option, unify -l and -t handling- extend error in SuSEconfigs check_for_space (#208193)- do not export ORGANIZATION if empty (breaks mailx)- remove SuSEconfig.news and set NNTPSERVER and ORGANIZATION from /etc/sysconfig/news directly in /etc/profile and /etc/csh.login (fate#300892)- Remove global, fixed umask value and add hint about login.defs and pam_umask.so [Fate#3621]- add support for cleaning up after failed userspace suspend- fix startx path- run boot.proc after boot.localfs to keep sysrq enabled move xfs probe_dmapi from boot.proc to boot.localfs- moved xdm init script and displaymanger sysconfig to xorg-x11- removed ash from requires (old for mkinitrd) (#202074) - added net-tools to requires (for boot.localnet) (#202078)- skip boot.clock if system time was older than mkinitrd buildtime - add hint for vim syntax to rc.status and rc.splash- Use new init feature of redo of utmp records if needed (#148038)- call SuSEconfig.xdm (moved to /etc/X11/xdm/SuSEconfig.xdm) in xdm init script (Bug #200299)- /usr/sbin/Check: * add /usr/share/fonts/* to the list of directories, in which compressed (.Z) files should be uncompressed first (before being compressed (.gz) again)- Use configured for all prompts during interactive boot (#184042) - Enable multiline option for ksh if available (#192070) - Restore utmp after transition from cold single user mode to an other runlevel state (#148038) - Do not run the boot scripts at switch from cold single user mode to reboot or halt state (#196174)- removed SuSEconfig.sortpasswd (unused for ages) (fate#300894) - remove sysconfig variable SORT_PASSWD_BY_UID- Remove SuSEconfig.zmessages [Fate#300893] - remove sysconfig variables MAIL_LEVEL and MAIL_REPORTS_TO- aaa_base.pre: cleanup (removed obsolete X11R6 handling stuff) - don't try to compress fonts in new truetype font directory- keep ENABLE_SYSRQ= at the end in /etc/sysconfig/sysctl- remove root/.gnupg/suse_build_key~ from archive- clearify usage of Required-start and Should-Start (#181972) minimal required order is: udev, rootfsck, cleanup, localnet everything else is optional - remove dropped boot.ibmsis prereq- move gpg stuff from prep to install section in specfile, to fix quilt setup *.spec- avoid error on new installation with fix for #190597- Fix last change.- /etc/{profile,csh.login}: fixed $XKEYSYMDB/$XNLSPATH for X.Org 7 - /etc/init.d/xdm: * fixed init script for X.Org 7 * cleanup- fixed RCCONFIG_BACKUP_DIR (move to /var/adm/backup/sysconfig) (#190597)- enable MALLOC_PERTURB_ and MALLOC_CHECK_ for hardcore malloc debugging and failure.- fixed language error in comment of sysconfig.cron (bugzilla#190967)- new gnupg requires $HOME/.gnupg for trustdb.gpg (faking no longer possible)/bin/sh/bin/sh/bin/shaaa_skel/bin/shbeethoven 1235559234h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h nǚhjilkefLJsxvǂǃdžy}~DŽzwDžturǀǁ|{Ǜǜ`mǞǝǒǗǓǑnjǙǘǏǔǍǖǐǎǕNJopljcbLjǡǣǫǩLǦǨǪǧǥDzDZǵǮdzǯǴǰǹǼǽǿǾǻVxyh11.1-10007.14.1 DIR_COLORSbash.bashrcsuse.de-backup-rc.configsuse.de-backup-rpmdbsuse.de-check-batterysuse.de-clean-tmpsuse.de-cron-localcsh.cshrccsh.loginhushloginsREADMEbootboot.cleanupboot.clockboot.ipconfigboot.klogboot.ldconfigboot.loadmodulesboot.localfsboot.localnetboot.procboot.rootfsckboot.schedboot.swaphaltpowerfailrandomrcrebootsingleskeletonskeleton.compatinittabinputrcREADMEmailcapmime.typesprofilealias.ashalljava.cshalljava.shcomplete.bashcsh.sshcsh.utf8lang.cshlang.shprofile.cshprofile.shsh.sshsh.utf8xdg-environment.cshxdg-environment.shrc.d.READMErc.splashrc.statusshells.emacs.inputrcttytypeSuSEconfig.functions.exrcSuSEconfigchkconfigget_kernel_versioninit.d.READMEquick_haltquick_poweroffquick_rebootservicesmart_agettyChangeSymlinksfilesizemkinfodiroldrpmlocatesafe-rmsafe-rmdirsetJavahostnameCheckrcpowerfailrcrandomrcsinglesetDefaultJavasysconf_addworddefaultdomain.5.gzroute.conf.5.gzinit.d.7.gzSuSEconfig.8.gzchkconfig.8.gzquick_halt.8.gzresolv+.8.gzsafe-rm.8.gzsafe-rmdir.8.gzgroup.aaa_basegshadow.aaa_basepasswd.aaa_baseshadow.aaa_basesysconfig.backupsysconfig.bootsysconfig.clocksysconfig.cronsysconfig.kernelsysconfig.languagesysconfig.newssysconfig.proxysysconfig.shutdownsysconfig.suseconfigsysconfig.sysctlsysconfig.windowmanagerlastlog/etc//etc/cron.daily//etc/init.d//etc/java//etc/profile.d//etc/skel//lib/YaST//root//sbin//usr/bin//usr/lib/restricted/bin//usr/sbin//usr/share/man/man5//usr/share/man/man7//usr/share/man/man8//var/adm/fillup-templates//var/log/-march=i586 -mtune=i686 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.suse.de/SUSE:openSUSE:11.1:Update:Test/standard/60a31aef37670d653078b79253d85170-aaa_basecpiolzma2i586i586-suse-linux%&řj9cronlogrotate?]"k%n{vt^_uRLN^jo6(u ŏr<}fHH Z2+a-PhJo $ Hj$F״p(wI\:b.;b@Ou>1lG"# H,@#~O|AɌi܂za؂ʞro3%u0XW7rTP588b&#t0qRTpxDAxǽ׎ƨ,vҹbFl*ǤD*TÁ8a+?g̢ +A)=RxoĨQp%V[gȌ)Z.v8ןg?sM߮ ȇSA©sPʻgv؃OoN1Y:ISa9aƺY(ǏbAD~= 1jH Wj{&Шs$rp}k ODg }gψl|g>Un`> R˔sA!)\~BsNQ|Mnp l/$/.U)zȒ{ɌVAjJ˰d-h(jW; [Lho{1si1zɸטmd"et{,8]1AgkzFgjPuFj;MggR89G 9fQbFNF >7,/kl~2&! ZsU2l{΂I*j@Gqa= 9=k|5N@ ۏ2jh8x*>6HeCjK3FUE{%=#"B 6I Xa){}3Q̚bWɥ\d!٘:΀8 l,lYN ,3p GAz]C˓#﹌.F1(̝݊TnEX#{ʡ^ZK qR{ɆHA*F,"}NO 'HǮ˥9Ԇ각ZUrg$ҡ6H$!YCB*fCKGʄ&1*iE8;5Ӌz&}i]o}hy49=I`b Cv<S bjS_X2XžLP|&<HsC$%5v- 8I`ׇ?H̭r0Yrѐ#r ]kX wq(`BgvfLkZ,qPi2#\8EȲQ Hta`f -Uo3c/JvtxҜ}&Ye)zjŝ#8ѻgC_{U? St3郃UN,Ǯ4/PL9\Aj87I-4*zq[3i)w(V)O?.z;R" OڵޝaN'Aw8BS{>%(W^$IѓJKc:,2R$ԠonصۺǼs{ gzM28Ok_YhXQhI_MazcћW@ @ߩ}w/iO@ct~kw2tĽe]0"9IS"2v):**-;滤G[쳸<2Cie W} q@<:J /=dHS,j{*Ф@]@11z.l̛Gs)7b)5BE鯈_rc53[iFq -9_)NK"g{Րޣ:5ܗ= p1F:[Y+-`";~tz[Xn.S m4̀w/Xh f]gw71uI<=LwV태/RS\xk.8lT+ yѺފPNAvX "$lMۡ%k' "M^UIcVjTʣ(oewu˛D_hY#n"O(γƬ?J#ȻD-BIFV6 oupҌ~37 r/Eh*@w;c{NЌM0Uk{1Y,Т#2T]G 4N*fcL{[[˭'h@tǥ: X>ҡ9`e_eN~I 5%oL}g! fVk⇧JV56lW\lT.U/'ifSmb8wyIZsY+zpʶ$}U,ݝ- Xj>CSe^ KؽF?A4b]]EA?㒒pƵgFYYN,C r30*uߩD2'^MOae  ,pߙS?-5A@Ԕ?QI'ja7IR/#\6]Y<4ۘBU 8N؞Ug axYIh"L{'l;r]x]@ʅ)yrF廎)]aS#Y?ks:v1h£˲B9'b?: =mjU\ՄςRz9Nv1445ޔЙ.xE+P(?q͖ UݢDݼ:`bHK i.AbW$Ckhro t2E &ç 2F阅[LL|% y}*ZzozC[wǯQc|n?Cl|RwE_UlfrAz&ʧ,}a]70jqZJĮb?к~q9S)M㓶=L'S|2=#v1UvJ.D PBH T?:o?=0 B*]8xp a浘r3.-B Y`S:jȎӯLD6,\Έ4&]D$"13Njo<,K`uy\޹Dnd2rtK:*icl R@TŽ!81㦮(b+zgj?]R5#{'8}\b#Mb–SU-\ u& I~]aq4b dS1aOr[{*-M^n&R--{}쮍1Qǐ)Uc-/cCDK4XZ yHC$8.-ru#B-¾sOxmHk" 'aކY<^՘Hj7/.9YV+ċ6{/&gڂ'skp\*|7֪V'U_,k*H&^@S{X+;p1"θ%BQ/nFWtv,Nt\ /rpZUm!)Bw51z0[Oc4KfvM>w_khYxŏsI3F76JInYr78~-X oc荰q@lmHfZKHQj-kld b 2,!\pZ D v H_]qS D >0b&tD nķxHմt$EnB0afsjiӫf;r3 _%fԌZV +K-(i8ss癕4 _ &q@-/4rDOBUkDmZdkt Jr=m}̘{>WW3ދ5l!<[q5sɵi6>FW:y/W19ɧ2Qu6yf>vStŠ.Pps*A`(|-®^V'tiRI^ Ek3<0|](3|/cκk$?uVYv͙9uU5n)~z!wY%m>kɝ6 8kZy>^G9i' Ce] WoK91qgWT!sҴDÜ;٢1? # [|6HuWk==ӑSZ6c <}D#iLJh 5M"=}VpH]׵ 6iБ"gIX]$U/{l5D FukK82\Nt!Wnc*{-XPtm")cϦO%Zc/´a:aP0߁QLw(iK\1 V Pǣ)P)::\GMihWGI &n,h̬kL\Tٓź>a^ܬIN&WdPCc& `H).กNcJ[?cc6^ףE}$5`t;q+8#tif {4tߦ`enl:SC'YV? Z+]$J%c߽1G5>'3׳4*[S;1*R=GZWjT/*& km4Jw;Q0|~݂507bZcXYlsB?׷FX"I#l2$Ͷ@x?/QxETSd=h:Dأ?)Li´^KM@xL= Wo H>7>3&!@ omXXQ c-хBor9իyثLs>Nesz-]tb0cyخx}1q0R D4p28HnlJeŪ¯&_P EƗ_iy>MVs%D-ZBЁdkmHjhW||UH;N3RMs vNyHԘxznDY8rgWq  i2piO$<*tn0nڏT]q~n,؉̡tڹl}yO}0J~6$˯_S1>;#I-!]cbXT_/I:;ɧ1"i佬{̤z[1n uat+.փ"dOG#|!16YhY"]ĸ^E̖ƻ<AZ! q09/pȀ1]wda$G8o"tPICdO;K BQ?2KH^:Gx'5r.'LfJJcy;7ܒ@֊{d>5O(z#~A Ѽ&k[E>%w`V\{4ՠ-ԪVl!c8~ f1ذ8[<:ʆӄLu!@+wiIFP/Wy>bW ciKe*M"2R%YĴƃ>' e%EDN0cr`dHeG9uJkJX~j*6i,#&92y"Tw'rAh4FKJgP8ʛdyW@՗ _ի~7OW,4VO:]J5.? 5φMMZ Ǒv& eKhYP6AgoDZanѪ#;)x&0uJ?ck.XdHӥےT0<7Op3NԴ}Ō#LQݢ]fpQ>q*l s9o 9:'\cJT=$K5KK5K{y]֮dU/+1g&n_Vz}rM.TSR8rR<ə`OULRI:qK8=m_Ӣ&To<E7'+Em~>GxI߶lP!輝gTzj*j+25[6g2%+?>I+b{]/9]TZg)(9iR ױ/]:] @AI\V мg:zLUCמ0Z(]2qtB^$Ylxnf:4p3):bJ JFpn E[Ə9r<&kP\{42"c!SY6CBnHj!+8Pӝ`]U'E%=]aoCؒ}*d\^8 sZ=NQ`K[X/b bCNN+`~!!BZ Pܟkk17eKŗ[OGI;LQ?FNۈ9[.D]Z4wT}A:c1䑠H`Sm˚saW#sB^Ь'ȹ0Q5lS}3 =pXVv2pacF8dupVqN!FֆȍW>-ͅd}q#2-iN5 lNBA>jVUR0OS#Qja~})UN#EU-*}n9P2ǎ"1 (pHQ2ɺu=&]"$ots ZL筩ԥm8cJNZy}(yHWL WHTD(@8OɆZd(D6GCK#f򿂱&1فG8ۃ[ۮBm9$1=6i i_$CwOʮ?=B,z̑tXl{U,&)Cg2Պ^KE/%,y {EArm183|qHԿF;X Ad=frI*i;a[-Ӊ;LgȦ)hurgyx!n?b`ԑ 1>gؗ, hIY1t35א% u'M0\ؠt=N~K+\ʟ\2&ftx`j\" 7Q*{11tX᩺f+$C#!wA讷0g'\sȬ~KrT\UP#1רYTZaS{/A!'`W Ě=6B[EFލ9eNB tmS'=- 9Q^iG XC:;et\ad?F=yFeg pnRJKj?1 ͹([6FRV(P.s(ُ8h_~ ٝ` ]<t]znV`N37vrs Q97R}8!*+ Ģ)l a>f}T-rnqHn#udrzB>YOWυe3wx"!o2Dz#ˉ~]1 SA7+8OHl|14Z웿ku(jGx: dBh$74n-)sw\;+t6 G,Mk<5,E[ɝ}hj[Z#գN= Q3LоېYESAw% TZ:}>=<z] R C$U]5_}l0,SCX] \%vkm[ܬs>#Ȋ5r%X:CLTCH@)mF KJG 9#S7 Cy4{\*REWTNLL/}w@fo pbE.0d۪/ƾA jM!{E_v{eΥKeNN+xQRlDQ؁\ݘmk`׈z $8}BN{:Z?H& "$CB<ה*02+hѡ]N~9:S>F[}'Ye9yAEjj GkdF.T$SXFdcg W^O,1ʴ1wX{@tŠ)*Q+0bFOe|$xUϛ8=Bo]RI8^Y؞\"z`Iwa장bi*"hW;/kG΀7T4<%4Q7m%YޠÑLPfRT2Lf!.ظ ƬXތAxOL3+4I (MX?fUHUO8@26V{@d8A$&Ml/iW9pE/~l»ޮ>mQWkͥ৵?wPyYea$n:k11E W$`c/ywaWsƉMEH5`Ϻ(@ՒsSJöY.ݓs%E3W(w)Cx-D+t{@~T%sD]P9hdHe.%ϫa) a"+骛]W9bXq*ߔ<]k:.F zMPzR2!3ibY vKnIq}?QR`F61TR8^A_kW}ҭ/[tjɨ vv{oA 2q;_Edd, 8F=>tw2Tp0{?v . 57]'mTnjvjv6 @/dy J®`4(w܍6r3-𾇑-BQA Ϊ~Nͻ2:%|jXC,r.fkmv`GqPFT@h-m.vAT7|ŭ^#Uq屟gD^ rq2.v/ģ5:b{.7.~'YS~ $3o7@56%21uNbOD fG.k3 ~(>\|f}U_w'}=+tOlWMXUvEf>Ss^O+ɵ9s9٠w j+ʬtOJYjIE@'DJlit|)!)nߘEojVS0+MtRx1^j/)!#+$r3͜#}x<;Ll.qd_?-c)v>\ vxRKR<(v4P7& $cuf#Q~h%d\hx/m-d GH6_=%WB(,S`g6!5 F5x|1_ Z8-4X| ѪK=*BC $mo>3V$/]$| w`h7DIqP}I]{?4*{tzL2@N>\U_ZEH *bփNBשH4|\Flpk3.Qt -dk2:4])C Uq>g昬ar "ilJm8y~$xd_{O<Lh ٬Xoе'|Qzfv zKۧmĺN3W'3fӔo (KԖ;F~C0x o01ȩ5'aڑ%yS8Yn(AJE/ś$ SlJ+g'psB p3{]/K }9bFW'l,<0zv۶A稄_ZfOx:DW\';5&],<_Y@Yj&,MUyfF:{-;=v2ɰko7/nZcKg .b+?A%[&d7hGN-pm&o]Ј[?@2k(2ǀn. V'XWE-*޲ušT=l v ZIjL:e7>-%f :Xen3ɭ<^CaYQ̈fV/X M+jTϻ~X;8'b,\{24BjQ'R%oRQHg,'rYh@&ӹ;cʀAS}l`Ud\.cj d8 'uc(R*;jkqq8 =]҆"B=ĺ~6|R07k_{b̓\b}2M¢jtкulez!4[9< ( ا/s<^;+H[) v+]VžQzd_B DD]us{ٓ1wcv x/@&?Yضs'‚jOENdD,JV& ~@H'6@9nq&cSr LGw%+]$?3W6W2~LvQÍ &ԭZ)oOoV'2mzv~l6xSWZZ= 53ސ0J& Ѣ' f c &㼇Q)m,l f殎Ց١8 ?j n'wgۼA'ΑB TCģ2ښ{vfS 2BN ƴQۮ~ 9 TNtneoKFZޤ>K#R̀kоT}@4v2cSPgf;x# E8e_%{QPW9zkAʈO KZIn&wxp{.-"ڶx}!@&f 3CHeARK?\tQ TҡmƳ5QY,Ӌ˩*JNӞy r/y dQG%etXC t͹`W6G)>t*ROE"kg(r)TL翩.=`-1_ QS^b " 쇍dBE-fUT0 :[x1Qe u_NOuִ:*VlhYx&nَT #^z_x7ߦ3}858wP݅)H})W]#U:+}fQz=3m  9<~D*K!Ejg' v9(/ S(I{ ݇_A^)tlGGIR GrE+Fvj«[reFk5^sFMq_ dVpn揈,xɼNӂ0D{ p UK JV8*j*Zt&xꃤO#kO"b`  OPsJ'F!MPhE Wp>2L|WsdR7ZIjm`=D3g]\!Z u&bK0C/ qꚳT,t Y"| LlI M vl%uNro梳뢘rnV""d]R*?"QjރFhdq!ƶQ { Nc{,y[NDn)%q'Sl\MH h9ujP>AIL!`y3AR졊2v^KSS%%XH8)"9c~W!K "I0}UrCe1nHʖ1k7l);+AE"ب[oOB͕ىII_T?QM(+gSXRMF]] o&bDu4k:ѻ,#%}b}asVn 8@"hzO_u~dT&!+Y6 pWK'+oaTf58v@N:ԉWx;xoL/mjMh$3vesUGfs_Dºi77Y3Fiz;'b L?ИѫguLα7U3Lp@` 4|)&=8{c!R|EOol*@yGd86>MUDˑe Tj/TI 4+Y.jEnY<2+M=`kl0ͺ] 6щz WLĘ)?˶ˑ$DTֆWPlwٻhD *%T♜er+95ft:~HGmV)H$ QCj&dx)H <>ҏYJ| ;ggfzUW &y(pv:v_藨4TΥ~-PDĭxK䦝%Ȓ Q92~!zU`RLhF^_|@I A D*i3 ̔ TH_9!QgZ} )Y]ŸԲuV\8NcbcPٔj6n {mYroF䛩𚃊kA }J(T؈s;5gW+m1Nڜ0p[]N'L:;E&_n-*6닼/='FD $?ﰐ_hKTzߣ ٹc2dB% $ EIq8>5+uȘ ε_"_ ȖRu֯U@Ro,iKT~%QTR8ÆX(Bsm؝7'4 G[6DfC݂D:4NTAĉ8ݐ!@˴B^ h/OdtOmoN {jfgmiʱtb`\ /QxXBER$:tNJ[l;[wOYP~ɑ扛Y5o=ρ5uWAcI\kU{s L\ _Aژ 6I'Phx&oHҥ-j*@l>q,{mVm/uO-*r䰩g17q!<?:Yx#ֶzc@b…c580u5+t>2 S{,K s6S4#Twj@~YvϘyh?"bEsvUVS->tf>l 4#k)pc_bdr09XK ѕh2頻(TQ#r*gSY`K%潫xy&vlov#-O?UMyma gvT3-+iɌ)ӡH"}e2;~mH|&~CJx U KUuBW ]T%qў"}>J'^3y'Μ}T3۝>y];BMͿz nEסƆs'oqT4Ιcz[=UÞ/OXi !ol䗌C'3!Ӌ ֏2b8RXLz=aj-LcD*Xg)@y6?/78C5xo-`r5*ݺoL!CIz*8f٘ϯu6O,36ZiɍK^NJN]Ql"gCo} pO˶+T6y,{Zx˵duܛ&)4Y l n*7Rb 0V5Uz>܊5 !齒:h2 Iby\hqay\G?:-0I$y2 +sl0ۏcJ2%yF<.M,[XQ??>ڬN*x7jq&>7F쓑T5h?O ز#cܡ}PpJ+ 7mQ@3jMg˚V#UdRE>ܽ9q%$B?f]U0 WCU@Ol[p;c+砑,A 0i;BU8m >))c )h rԁ0Fi^GY.;`wft^h^/^k&J՝+pdN"&cj'Xo%4s55Э>[݋I, ibi_;4j{hhES^`~\<-lHZ&鵶3f)uog0GVpME- ٛf i֏ESy[Zu jޥ9…Mr^vdg?i ,$ƸRIcSh#S1qZQxja5)Ad\M!0k^J<4*7?hVMPݩc֒Q;YeǀfizB;'oUˉ}P"`xMs FgP1ZtZp)ЕACjS 8AМ@PM9;CNR$;@ h7o{X,^5xhzLӤ]ޤƨw9IzGXz@{evʌ<Bkk`fS]93,* U*I/}}xy ] PHO(z87DsWOC];*Ќ|!z̛uo֯$Tںuu|&\(a$$>-/nN3$Bөu˰VtUV-FmGBE+:pZ)"$alGD —B+ =/-o ړuwF#H [:,a \:Tzi?K%8l<Gm~5,D ͖6k2?BESk>)7$zxjNy<(A̭[T) ţݕboZ*Ch(wBy B2me"F GcC?x QܾєD(Ü jf`*@u 0^M]_lHnwWS[BW9"nAdY3bKg`2pJX\_f)kwRvS"u#v^. Җ۬ &L(yHidž"Һv:ҳU!O"Qwטic਺) $5m%(c `tR5-,ՎUK[ۍ NgTFof|LIH9~0 J5&Wsf?09:d/6ӛc o)קsRr"CGؕͻ;u ]e)H{ŀy Z\EeF&>)9d͖ayO_@Y ghD3w:ɪPp=kF:"WD&0A*[#U`@-'ZÁ׾[0 <K;ǃfbp4!+mGf09 iԪO>g^-Hs1/~e_q8Y%7*kqA4}+LsV) ?d l2)aڝoȥlލ!>$beY2iRx Nl\J$$4#tf2:W+?bO/K1\m ̔&UȐa*4WČ* C-+)yJB8&78d!h< mZghlKg >G=&9Ɠ?K CDсXz1SN:ٯB[%bB*!X- Vfb!ti?G5>5㛿ʠ(K1~NEB`EaCCLBm=z's^B;o[fry͋ ;vEK1ƜQ\כno2tty@sښ B{l 25ۼ1P=!wf4 I&8c1 }C$6}P*u1vkYM߳5?i@cFM-9՜ kdʒUBL3Eci&/WVjL22o:q(aLuuk>lN ˋUZDhBAy(F!֢2 _-j1"^|?μky; 7DQɝxPʼn+'iR*YN'8XY /U =!=?DYJ^oU!mq#A/>ďTe"}OlN|ltq{ 4bU("Pґ Ng}^F -#B74Ϭ%$!eqjEz+ ĒxXMgP%1 w|N}P6Af"(d طtoEqgj&d 3":T: \Vvi48o=WS.X>$yb/"MYbXLYN:dĖ$di|t-D @x˾s}<}NNMQIs֔h/ol!h8SZvKRэj=՝SdB?Vh7dC@fMxdʬ_ ٷVRm+BNB_R]VЯy$,!mfDT?Ao 8EzKLT_a 8gF_]gorvE@B|soOuSzPv;’~q- / '\e\}lʐuq6yƢD1҂=ΐU1|-|2Buamghs PCm4Y=ߘ-׌"=|9aW|dȇ`jpnچe)caE Qm25 ظn>1Ġdf#;{ViMNP7D,GM\,{ɟ!i 2c>x2L\I\qvD-qfЬs໺ C<#LK߬ƾh y 8hǵd:>ٗ=jKFݥCh]JE@x 50x?ifZzWh)y^aJ)Q]2Q?̸OMޤ ,Nsz hT/|? (/{y|);]9 V;Qapk<9o× 0$ cUF ]d94>P(W-IVU1 1I9{o9RTtJ2ɫ4kÂi;[ּgXfu7*Cg.=z.mi}pP<#ȻcHrT`%nu!ҿ2;oAz0[{_lRm ѯ"P] zL.A춞c]ȗ6*;I'a[C2" mٸ1ě+8 5DOts3(k7YA=BTsXmm2w8;=!h /oif^zH4z;hv0ZQV 9<#O$'[UWʓPzjJ{xؑ*Z]HK0hIL;fOا5>㗉<t'ea9xlQ?Pu/&5ZG."ft/K6 ޤ쒥O6E&R;/oG2̓kz?J|{f߼Q_|yLFTGg vN{q1C[بjAitUǸ?3i).eylkI< 5vv,Y띥Ќ&mD2rL*94U4?GRNp+YzT9wV"kTCywE.=o>A-zK"05 ٌp%-&g.̤I DfQ&kʅo0Gj{T(d3ڠ)_h/ }1uv:_rLY:ouE탍n&Ɏ}Em` (BDzɏ١t!""p'O{@Ɣgk;7?3t3m+q5gŤ77æ+2&) -z&!2e<lb 5_v蒌EX5Eϓz|iE鼯j9Յq5\0օg:|a)gTQ[ɗN aNeJrC!JOw!q TwGtd"TpӄwŇ^M+Y.;Hbw,)0gu\(unM  [ѣp<mxTnhU*ًE@JBuoK@!5"G4ZȒ}b(oa/ 7~mmnq0-଱FLm< *|gj*j23݃J"H4hy@2UbgcY[Ȣ^ ~ uɑwcDқ δs,y _-d4p1BPuE۬"&3T,&~^7 >Rݫx~mQE*X0t~#@b%[LT:UWOv ZcU'04LF,VrS iT${p =`J:wjT!Z۠_R&Ngb2NyEU0m[ZlpVԈa#ӫmlu*RDC$xMHDM%k^P@"GFϋU*|T%A\`Ձ@hãLJ qgQDÁO ʠDG_kkKXxQwD@<7V dhT \<`7t(azH ܕ2D* KR:C~i##DBڙYcQ&°pBqnUe~aF<6_0^g70O֥}pqCI쁥Z!?AHH>1mG Nx5}f5]2344wv1PC5Dz8Ħ%h0&(w=O a) HQ pjW [3SZlƂaՁ x6 Hٱdi͝P[< I{xR BuhK5W1GqrH~)H:x6~hf*n%<b&[/WsaKr^L}N2jĸ'$.$& g%6|Ԛu+0. 03U? b,pOwѡøҟКM0otC&!)0晜oW B'&maIJ[Pۄy!ufoUW#@BMŧ`{0jq57^>X¶\}h<;y {NrzuM¿ U[]w?:d\N$řqW]t;~ZJp"Ě+4;ƋUI! v(kq_4 6`Ug8gQ)ғ][߿dʞ> Y#V獀N5bㅡ?fT)_Fzc/c!5;lLU rzͣx~%Nq1QMY̰w?*y.;*= C1:ahan.X#uͫ&49$E# '9ڍf@ry8v졭SJpw̰׀Jq~7OS=9 {}0D?xvg"P]J6LJKZ>=P9XӫFCPB?N/q 6RК}A|+gX,Vn@ِFx86XTfche%m1VqW${NX#B7z(K1i})gL$wOr ™{lJ2aRXc;` |ߜ7)zuAH \]l%1#j/A"M0EbE_RвJbbӝ) F\ls{]ҷC5kxN[і7BݢUuQolJvӶ7n3G7Ξ)Oo8;cmz-⌎Bܓ&ruq !hW󞈞ue|Im8(z7A(qⱝӣ θ-EbtMfh@;Sꨭs] CHn*88 y* í,&Գ%g_&_Pf1p,ZB.@Ѧj=Ϲ UF W '[;'#ュymm=6'BCtb7H'VD a۟ƽ.ղ CK%neOJ[hfi\\ʑڄ/0 ~)0>d1/?ds`fkZj~x KRAQmn'owhIWoԀ=Ik[SKlKPCW+Ռ{wD`Y\:='ȖH!ۇj9@p"&8|/ \n< VI0?~btL2$F|3ͣ~ \$SrrAms'l\#SG &Wyuj)W 2{/\g9LzϹ[CaWY+,/0s4h#L}o[r]8HHq@ Y:&wX=#4XQYA,`+ig}U{O)2c^~>"bH7cn)1G .AE4/#RB1$^P|CYexB?3;jEJqWP荖qCMҰų XZH2lEQJvA+@B0^3LT 0\rԺS%&' jZkM2thF4ѪzXtmDb䯜7,aVBw[\#W,|;l >*%`5ZWM&[;02 4.hNjA[j6ST6*i1ƖQ*MA3[fFuˀ[.Lɶb E>@XjY?)Ox]_{<#O&R/H*=Ь.5B[]( K۠mwE˙VM/m%Kro!8aC΋w8ޥZJ r'u29涖ux]}T3g~-&L&ueRø-8vC| J=nlqQ $uY][6q/í,9KmoƏt*yZ<ћx k{e3u@y_j֜5F:{l^)i8n!4 0P(/PkO=y2. f` elX{ ֝c]sDe _1as졊e*_5l1(Dw$ٺT( p&=OsuefovĥJCfox cN^4e.%룉#ܩ إ$/lHBzAKv`zDOV I0,?UfIC,\ YlG(@b˾ 乃x AgQ[0ܬPZxY:"7%r0;vԊeQ23+;qaWem[+!Q -p٤/4&V?mtTɲrgQ EN;3Ԛbj$r*$ଐjy)e^'&(0Irif<͸3ajD6/B?Y*t|vB\('(a*36#.ܞg?(>='_H}\2JZr2u0lܪ< )q=(؎WEdO-`vG*]Q{e,(L8(C?jfmWPVzg2aI9<dҶ.7}Vz0WY쎵YّZ/м eq2'L)ږ'<\ĪL+C} aTܗ bb|jGfCHo<]VEg6ǰ-$VN]%Whis|4aAUxYQ,౪w9VecAg.إ.߿#g8P\ƪ_c 8FEwLlfcKw':(l{AYQRNxGLh;M0E`A"VOHؖ}~RMP ofSw{H+tNK5X5(̡mFpP@Xkv4bJ5˫4,^\)4YuU ׮rmy$/i[hc>+ 视j:7"]=\$(f'l:p<Em(8_*bqQ"F '9l:dxjp{NCgMܚm<l$%u7@ І e jfq,×yؕugP֘W%!4lx+dɖwe`HY^]N]q6 3^֓Kn[>HK@<6 ; Lpk}6[F@AwPM3fArnMj"#$oug:+c%`[kBj(j%i?]!YT 2Z*5-ұ/[bv v,|e2o[|efCY_>1X,HtJ^%.D5!E(ML:m@C60`w8A=!轠pHx-|֑_e 4i`G-yQxuB2-42 ?'m0ZuiIeaB%.x޺NdP7P>Lj{?^>"6M7AgI̷VZYYzȱw'M?2/cz/Cp?9n_+o sE8Sg;'q Ma_; %@RD2flܰZ?Mfgًb <znMϜx'=S?^Q 2*6+ ਖjcH su?<)_1m t?}xO3QұAFZέ%~'o!@Z 9 {Ψ5Ibq?E_Zhڊ:0:>ļ^Z=6?83J p=C-z$ZaA!B ,_@R&1ReQrh`Nw/z ]DuHɑG }6yW 0cdo\D`W B"b4T,fhkAM31PQ:Rp[.Όn(wG#{rjX!0F xHF1/J cG) 년d}wtSm%OYᾁjp  9LiidQM C4P1zb]+v~\TMgH09dԾ?AY)[W ylwjHۏ)hr>;STgo/$5pش-~аkO򋟿_*4ݩvt̝p~[<VI&ҋ+6h)Hz+: KWJF^ՉjضP)j_U'.*ĭ߸{!}gg$-Dd˞qa;0Q_%.{#^|8LCtzJD3XꦛU ezدUiߦ^>c ~j4ZnȑOg'>k[&G6h  EЀ^<=I8̤sb y%_w#93]&OQ$9jQiRlʄ0ɽ`-` µ7\yjU<!fƟagG߷oS8l96=:E0&Kk (qnDRb ƄX?6y$ݾs|3D%FUoдFFlƀXD#^d[P*B?^mM5DX,@jJi"/#̔"DM .嫻p+4; /H`<̎&G{ rұ/#GL-dս"hVǿ8{΀˗2\E8gY:7eܮ2S=O7A9>yKW TVl[STEkD똂w!$6MM{cw(FiL/b5(^!&b{\:UoG/G@ß T#yZ#Uΰj纟[bEHA^<@KI6.,;amN{WoC'N@Vn-cwNjOLO^(!|ZE"=٫ R#(jasŒe Z.x}DMH Z)1dwe[^f^|)0/S,\v+$J>H23kAkXU orc-c%تDݜ:vpT:9XEֲ%am eZqO5S;\@ 6T`RC*f?z[ br i#+"06pSv_TmS|)H4g<Xrb`J&P ~nrzۊ?㝐P_6վPҴm'v-']q5T=-BicrC/3ci܃`ݜ`E&*zݞ,5ί?__YN_;fPʃmd}qfCS7L3y ?9Fqf&*϶U8.A;w<5c%}z3>ԝhr$'Q c \f-5 fƋWI&KI= g<)p߄=jQd(;[:;7yNmf[RWav rzb%^cEK2~n*s.'Fڞ=~#"WoǸ\$pZXoZ> :=?8 BȜھ:ioL2Tîb6=+$-əzѓG抏Pe-SY uR4DC$or d;]~t4$vy|"oA%|"g\+;9H#Ae-}`S:VnzwX1)4N}T~CZ霾>"&$hpؑDRcq .(Ԯ[[9id{OQ{v+J&ɨ;U$0j`\tOD~2vl*Fe Wx&%h;3z gHFYը2Ƃ:FKB ~-OoNt@藈U hCBUӝ69fs#dˈ rrCjWlmނ&W8'b[B&4&L[8S1T| _%t\m‘tCd@ c\Zo—҂T.;@w'A"ݬn`:F&CL^H4͑TeRDrL9&ΗeH&ɋYH+W%XPI|cuY\_;$P^V-M00/}p|Bv]>0 RʹE 3AIJ<+s\@Zϋ]s~śgg4n.m  !%=+zՐsn}8$1c0(vH-pQ鍰lsF=<Jp쌿%?B3Chlsެ" !Y[ki"!2#*L;fz35 S/y#-d9!KbB{0K ^p[ZϨj+vJL4w5t=4 LHU(ɪJx;dmD-6yjY]eSNzT̃ǜ>iz SfdiaD!O.M{s83ZA8ᤴI܀/V\߀ܤ$lzC/=D@Ë$%5tPyAv+^,Kۅ**GD/GvͭnP%uڑ^@gFq "J^ģI$#lx!