atop-daemon-2.8.1-bp155.1.6 >  A de6؊I%z KSA/ߟp9H<.r;\)ZST8*5 K& j7=q^8l ҕT\`_qލhbJcw_N8ӝ 1M&#?"APM#Mޘo4w.BW_bY0:5JW]D w R)x(Pl] .ܤa?]Φ@ȶW i奿'gV9V>4(59( *ui /&1a {uď$F`>DB#9,=kDRL7Z9[7|aΤ$\g,ఘ p8cCG^z ҄y puxiG;ˋ8:*CsTQdT@cSbr0\" Z5qU\{{:,ڵd) Ep/qyШ?y:e;vPu:A!>pFj4?j$d  TX\hl =   B l   Hn\(8 9 : =be>bm?bu@b}FbGbHbIcDXc\Ych\c]c^d becfdfeffflfugvgXwixiTyiziiiij Catop-daemon2.8.1bp155.1.6System Resource and Process Monitoring History DaemonAtop is an ASCII full-screen performance monitor, similar to the top command. At regular intervals, it shows system-level activity related to the CPU, memory, swap, disks and network layers, and it shows for every active process the CPU utilization in system and user mode, the virtual and resident memory growth, priority, username, state, and exit code. The process level activity is also shown for processes which finished during the last interval, to get a complete overview about the consumers of things such as CPU time. Atop only shows the active system-resources and processes, and only shows the deviations since the previous interval. This subpackage contains the permanent monitoring daemon, to store history information about processes and system resources.de7s390zp21QSUSE Linux Enterprise 15 SP5openSUSEGPL-2.0-onlyhttps://bugs.opensuse.orgUnspecifiedhttps://www.atoptool.nl/linuxs390x if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in atop.service atopgpu.service atopacct.service atop-rotate.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in atop.service atopgpu.service atopacct.service atop-rotate.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable atop.service atopgpu.service atopacct.service atop-rotate.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop atop.service atopgpu.service atopacct.service atop-rotate.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in atop.service atopgpu.service atopacct.service atop-rotate.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart atop.service atopgpu.service atopacct.service atop-rotate.service ) || : fi fiC|4SX(KFYW AɁA큤A큤Ade7de7de7de7de7de7de7de7de7de7de7de7de7de7de7csde7csde7de7de74513da214e63bbcedaaf20cd6e5ae451e462abfb95af83d182cc970c6871c89c436a27512e00dc68faee9caea8d6dc56747ba7c046cb291fd350c40f17a04a138a68d2fbca967bec4a6466ee33a4b15fd838d3dafe939c245adea8a7f9c848eee2dfe9d25a1fccc1b1df94ddc08046835df3f11b8b13aedfb37572cc32c525a4bff15c1c902217303b0a9011695065ab560cc83f669a5392a486a70ae6ee817589d905d2aeee50c785051fa81be99ad73d9ba974e6e0cbbbdf329876d79ee9f8a95c954278fa2291ee41aa33c7316c2dd74e7c31cb50bccd9bc5a56f89bd6d4574627edd8edb276c2caec18bc68f39476aa0a0a54b2e921620ce94fb9551b6e138f720bb3571a91bc85960a78b280159ecc8f4ece791529ae8018fcb2db29768c07ef8feb3330982c0de49482e097c3bc0e83e7f516b9cc3291dd9311a9f1d4d204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994cce5238ce82232883dffd608a0716224d870623e88a60b2e70f4bb79aabfa492b44cd678b41fd82b6b771ea5680eebb530c0ce94f466b99a9d5984e792cf2a51serviceserviceserviceservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootatop-2.8.1-bp155.1.6.src.rpmatop-daemonatop-daemon(s390-64)config(atop-daemon) @@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/python3atopconfig(atop-daemon)libc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.8.1-bp155.1.62.8.1-bp155.1.63.0.4-14.6.0-14.0-15.2-14.14.3c^c@b@a+@a`u_$][\iL[0@[X43@TBV@Michael Vetter Michael Vetter Michael Vetter Michael Vetter Johannes Segitz Ferdinand Thiessen Matthias Eliasson kukuk@suse.deMatthias Eliasson rbrown@suse.comantoine.belvire@opensuse.orgcoolo@suse.compascal.bleser@opensuse.org- Update to 2.8.1: * Correct NUMA conversion in logfiles from version 2.7 to 2.8 * Avoid buffer overflows during value formatting * Solve compiler warnings about format-truncation- Update to 2.8.0: * Rename AUTHOR in spec file * Adapt atopconvert for conversion to version 2.8 * Atopacct.service verifies if psacct/acct is active (#227) To avoid that the atopacctd daemon and the (ps)acct service both try to activate process accounting continuously, the atopacct.service refuses to start when the (ps)acct service is already active. * Fix LLC output for Json * Solve format-overflow/maybe-uninitialized warnings * Reshuffle counters to ease raw file conversion * Recalculate average queue in parseable output * Corrected the order of inflight/avque * Add inflight and avque counters to parseable data * Fix BDELAY in priphead call to make_proc_prints for schedprocs * Correct the array index used for previous samples per-container CPU values * Reinstate dropped printing of avio msec values between 99.95 and 9995 * photosyst: add ceph rbd disk display * photosys.c: correct the numa number for NUM and NUC * Timeout when setting semaphore in atop (#207) * Current CPU set to -1 for terminated process (#201) When a process has terminated (status 'E') the current CPU will be set to -1 (means: unknown) in the parsable output with label PRC. * Typo corrections and correction in man page * Introduce JSON output by '-J xxx' * Add missing counter iInCsumErrors to ICMP counters * supplement inflight I/O requests * Man page: clarify elapsed time in PRG parseable output * Exponent calulation for high counter might exceed column width When a column width was defined of e.g. 4 positions, the value 99999 was shown as 100e3 instead of 99e3 (upward rounding caused an extra position). * PID selection can not be undone for same interval When pressing 'I' to select particular PIDs and pressing 'I' again within the same interval to deselect by pressing the Enter-key, the deselection is ignored. Solved by reinitializing the input buffer. * Split the MEM line into two lines and add pagetable size Since it was hardly possible to view the values in the MEM line (too many), the memory utilization has been spread over two lines. The amount of memory used for page tables has been added. * Memory usage for TCP/UDP sockets * Add Documentation key to atop-rotate.service/.timer (#206) * Correct typos in man pages (#205) * Add cgroup support (#127) The current cgroup is registered for systems that are based on cgroup v2. Apart from the group name also relevant controller information is maintained, like the cpu.max and the memory.max (for the group itself and the most restrictive value in the parent groups). * Fix compiling error with -DHTTPSTATS * supplement tcpsock and udpsock memory consumption * Store PID width in header of raw log Register the number of positions for PID and TID numbers on the measured system in the raw log. In this way, the viewing of the raw log on another system will use the proper column width for PID/TID. * showhdrline: fix OOB access when COLS is too small * Fix disk busy in man page * Add block I/O delay to processes/threads * Move run_in_guest into various.c * Minor changes to text, column priority and coloring * Support pgin & pgout * Correction on calibration (one too many) * Detect vmmemctl at two locations * Use dup2 instead of close+dup * Fix compiling warning * Calibrate the value of nthr for each process * photosyst.c: fixed path for vmmemctl * Fix typo in man page * Added link * Only print current CPU frequency when supported by CPU architecture * Lower priority of column 'numnode' in MEM line * Support per-second counter for LLC * Reformat status line info in initial screen * Add LLC in atop man page * Support LLC collection * Add OpenRC init scripts (atop, atopacct) * Support LLC collection - Refresh patches: * harden_atop-rotate.service.patch * harden_atopacct.service.patch- Update to 2.7.1: * Correct disk stats in atopsar (#182) * Explicit type definition in atop.service (#180)- Update to 2.7.0: * Describe (un)restricted view in first screen * Cosmetic change * Determine (un)restricted view by verifying suid instead of euid. * Do not ignore unknown network interface * Parseable output: optionally exchange spaces in command * No setuid by default * Correct conversion to 2.7 raw files * Corrected type * Only show per-node NUMA stats when more than 1 node * Prepare man pages for version 2.7 * Prepare atopconvert for version 2.7 * Detect logrotation for process accounting with psacct/acct * Speed and duplex mode not correctly filled for interface * Bug solution related to discards * Support discard counter for disks and skip unused disks * ifprop.c: fix ioctl parameter after handshaking with kernel * Show gigabits/sec instead of megabits/sec for Infiniband #131 * CVE: use execvp with a specified path to avoid PATH hijacking * Correct memory busy logic in atopsar * Add parseable output for per-node NUMA counters * Additions to NUMA counters Table overflow checks * Gather and show per numa cpu related statistics * Gather and show per numa memory related statistics * Correction in handling of zswap and ksm counters * Support containers created by podman * Cleanup old messages * Do not change owner to root in Makefile (#76) * Support process accounting log /var/log/account/pacct (#138) * Polish do_perfevents when atop built with NOPERFEVENT * Do not use doconvert funtion to validate counter (#160) * New counter for number of NUMA pages migrated * Modify field order and priority of paging counters * Small text modification for migrated counter * Avoid non-initialized prestat by introducing extra pointer * Function 'calcdiff' (deviate.c) used uninitialized prestat struct * Reserver space for future counters. * Clean up ignored files * Variable number of positions for sortitem * Adapt man page of atop for state selection (add state 'I'). * Allow thread state 'I' with state selection (key 'Q') * Count idle threads as non-interruptible threads * Uninitialized index might cause segmentation fault. * Support NVMe multipath disk statistics * Support page migration counter * photosyst.c: fix build on musl * Use of struct ethtool_link_settings should be conditional * Cosmetic change (source code layout) * Various bug fixes and in general add 'thread' to all messages * Properly define if interface is virtual or physical * Add license info to various include files (solves issue #144) * HTTP statistics modified from -h flag to -o flag (#152) * Possible buffer overflow with huge number of seconds Number of seconds will be limited to 5 positions. * Possible buffer overflow with average disk I/O * Allow process selection based on specific process states. * Correct definition of environment variable LOGOPTS * Switch to using curses vw_printw as vwprintw is deprecated * Support multiple counters 'allocstall_' in /proc/vmstat. * Avoid integer overflow when calculating PSI percentages. * Suppress irrelevant counters (solves issue #148) * Add the number of OOM kills to the -s report * Record the number of process stalls to run memory compaction * Make clean removes atopsar now (issue 145) * Add counter for the number of OOM kills to the PAG line * Add counters for zswap and KSM. * ifprop.c: fix build with kernel < 4.6 * Fix initifprop() when obtaining properties of all interfaces * Fixed rounding problems in the average-per-second mode. - Refresh atop-makefile.patch - Refresh harden_atop.service.patch - Call make install instead of make systemdinstall Default is systemd now- Added hardening to systemd service(s). Added patch(es): * harden_atop-rotate.service.patch * harden_atop.service.patch * harden_atopacct.service.patch * harden_atopgpu.service.patch- Update to version 2.6.0 * Sort threads within process. * Individual threads within a process (key 'y') are shown in the order of their TID. With the additional key 'Y' threads within a process are sorted based on the current sort criterium. * Show the WCHAN per thread. * With the key 'W' is active, the wait channel is determined per thread and shown with the scheduling information (key 's'). * Show runqueue delay per thread/process. * For every process (cumulated) and every thread the time spent waiting on the runqueue is shown as value 'RDELAY'. * Show other modified/new metrics: + PSI pressure during interval time is shown + Counter 'avio' (average I/O time) for fast disks in microseconds or nanoseconds + Counter 'zfarc' showing the current size of the ARC (cache) for ZFSonlinux + Counter 'swcac' showing the current size of the swap cache + Counter LOCKSZ showing the virtual locked memory size * Avoid crash with very high load average values. * Fix errors in reading InfiniBand states. * Support of rawlog files spanning multiple days. * The time specification to define the begin time (-b flag) and end time (-e flag) of both atop and atopsar is [YYYYMMDD]hhmm now * This also applies to the branch key ('b') when using atop interactively. * Support reading rawlog from a pipe. * Rawlog data can be read from a pipe by atop and atopsar with the option '-r -'. In this way, concatenated rawlog data from the command atopcat can be directly processed. * New program atopcat, the program atopcat concatenates rawlog files and writes this data to stdout. The output can be redirected to a new rawlog file or to atop/atopsar directly via a pipe (see option '-r -' of these commands). In this way e.g. weekly or monthly reports or extractions can be created.- Update to version 2.5.0 Modifications for atop: * Avoid using perf counters in VM New option 'perfevents' in the atoprc file to define if the Instructions Per Cycle (IPC) should be retrieved via the 'perf' counters. Specify value 'auto' (default), 'enable' or 'disable'. In case of 'auto', the Instructions Per Cycle counter will not be retrieved on VMs due to the overhead of reading this counter in a guest. * Improve daily rotation of logfile for systemd-based systems. Exchange the files /etc/cron.d/atop, /etc/logrotate.d/psaccs_atop, /etc/logrotate.d/psaccu_atop, /usr/share/atop/atop.daily, /var/log/atop/dummy_after and /var/log/atop/dummy_before by atop-rotate.service and atop-rotate.timer. * Bug fixes: Correction of PSI value 'io full'. Use smaps_rollup (if present) instead of smaps for better performance. Use writev instead of 3 single writes to avoid logfile corruption. Modified handling of error messages (remain visible after window is closed). Correct CID for containers created by Kubernetes. Allow reading a logfile via a named pipe (non-seekable). Modifications for atopconvert: * Show version of input file (even if only one parameter specified). General: * The format of the raw file is compatible with version 2.4. - Run spec-cleaner - Remove requires for cron and logrotate now that there is systemd service and timers handling logrotation - Remove Requires(post) for permissions since atop does not use cron files anymore - Refresh patch: * atop-makefile.patch - Add atop defaults in /etc/default/atop- Package /etc/cron.d, as this is now part of cron which we don't want to require- Update to 2.4.0 * Modifications for atop: + Support for Nvidia GPU statistics: A separate daemon atopgpud has been developed to maintain statistics of Nvidia GPUs in the system. When this daemon is running, atop will connect to this daemon and will get/show the GPU statistics with every interval on system level and process level (key 'e'). The atopgpud daemon will only be active when it is explicitly enabled (see man pages for more info). + Support for Infiniband statistics: Counters showing the bandwidth utilization of Infiniband ports (system level) are added. + Support for Pressure Stall Information (PSI): The average pressure percentages of CPU, memory and I/O are reported for the last 10, 60 and 300 seconds. These percentage are provided from kernel 4.20 onwards. + Faster startup of atop: The allocation strategy for processes and threads has been improved, which will specifically be noticable on larger systems with lots of multi-threaded processes. + Configurable options for atop running in the background: Default options of script atop.daily can be overruled by /etc/default/atop file. + CPU Instructions Per Cycle (IPC): For every CPU, the average number of instructions per CPU cycle is shown as 'ipc'. Besides, a column is shown with the number of cycles executed per second as `cycl` (shown as effective Hz frequency). + Various fixes: Various NFS counters corrected. Recognition of nvme and nbd disks. Recognition of DEADLINE scheduling policy. Proper handling of memory locking (improper handling caused malloc failures in previous versions). * New program atopconvert: + This program can be used to convert the layout of older raw files to newer raw files. Raw files from atop 2.0 onwards can be converted to the newest version (now: 2.4). * Modifications for atopsar: + Reports can be printed now about the utilization of GPUs and Infiniband, and about the PSI percentages. * General: + The format of the raw file is incompatible with earlier versions. However, old raw files can be converted now by the program atopconvert to be read or extended by newer atop versions. - Clean with spec-cleaner - Refresh atop-makefile.patch- Correct copyright attribution- Update to 2.3: * Modifications for atop: + Support for Docker containers. + Improved gathering of process data. + Improved memory figures for processes. + Variable width for PID column. + Better handling when started via sudo (not entering stopped + state). + Handling of disk drives starting with 'xvd...'. * Modifications for atopacct: + Better error handling of Netlink interface. + Immediate reaction when receiving SIGTERM signal. + Bypass for kernel bug 190711 (Netlink interface not available). + Bypass for kernel bug 190271 (process accounting does not always start). * Modifications for atopsar: + Top-3 of resource consuming processes only shows active processes now. * General: + The format of the raw file is upward compatible with version 2.2-3. - Clean with spec-cleaner.- update to 2.2: * Modifications for atop: a. New keys for process selection: '/' to select processes containing a particular search string in the command line arguments. 'I' to select processes running with particular PIDs. b. New counters for NFS activity: On system level, counters are maintained about NFS traffic. Three new labels are introduced for this purpose: 'NFS' for NFS server statistics (overall). 'NFC' for NFS client statistics (overall). 'NFM' for NFS client statistics per mounted NFS filesystem (so multiple lines possible). c. New counters for OpenVZ containers: CPU consumption and memory occupation are shown per container on system level (label 'CON'). Container ID and virtual PID are shown on process level (when using key 'v' or 's'). d. Bug fixes: The maximum transfer rate larger than 1 Gbit for ethernet interfaces is now correctly shown. The maximum transfer rate for wifi connections is now shown. For interfaces in general, the maximum transfer rate is shown as a separate column ('sp'). Counters about virtual disk type 'xvd[a-z]' are shown. Several minor bugs have been solved. * Modifications for atopacct: a. Avoid that process accounting is reactivated too frequently (and unnecessary). * Modifications for atopsar: a. Add flags for NFS traffic ('-n' for NFS mounts, '-j' for overall NFS client activity and '-J' for overall NFS server activity). * General: a. Support for systemd-based distributions has been added. b. The format of the raw file is incompatible with earlier versions. However, the earlier version of atop is automatically activated when accessing an older raw file. - cleanup spec file - remove support for < 12.1- update to 2.1: * OpenVZ support: virtual environment identifier per process (envID) * Bug solution: when the screen-width is larger than the total number of columns to be printed, empty columns are added, however one column too many * Removed useless empty column for memory statistics * Introduce the 'G' key to suppress showing/accumulating exited processes in the output * Support CPU frequencies for systems with Intel P-state driver * Introduction of new daemon atopacctd. This daemon switches on process accounting and transfers every accounting record to an accounting shadow file. The source accounting file will regularly be truncated, while the shadow files are written with a limited size in a queued way. Non-used shadow files are deleted regularly. * Bug-solution: segmentation fault when one of the process names in the system contains a newline * Introduce configurable colors: in the atoprc file, colors can be defined for information messages (default green), threads (default yellow), almost critical resources (default cyan) and critical resources (default red). * Limit the names of network interfaces to six characters max * Introduction of proportional memory size (PSIZE) per process. For the resident memory parts used by a process that are shared with other processes, only a proportional part (shared memory part divided by the number of sharers) is accounted to the process. Since the gathering of this value is rather time-consuming (reading the smaps file of every process), it is optional ('R' key or '-R' flag). * Increased number of LVMs and disks supported * Support for huge pages (total and in use)./bin/sh/bin/sh/bin/sh/bin/shs390zp21 1684354956 2.8.1-bp155.1.62.8.1-bp155.1.62.8.1-bp155.1.6 atopsystem-sleepatop-pm.shatop-rotate.serviceatop-rotate.timeratop.serviceatopacct.serviceatopgpu.serviceatopacctdatopgpudrcatoprcatop-rotatercatopacctrcatopgpuatop-daemonREADMEatop-daemonCOPYINGatopacctd.8.gzatopgpud.8.gzatop/etc/default//usr/lib/systemd//usr/lib/systemd/system-sleep//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/atop-daemon//usr/share/licenses//usr/share/licenses/atop-daemon//usr/share/man/man8//var/log/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Backports:SLE-15-SP5/standard/9dfc845353dc6db6dadc888446715e10-atopcpioxz5s390x-suse-linuxASCII textdirectoryPOSIX shell script, ASCII text executableELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=8288119e23f0165656fa15edb75c08174ff143ef, for GNU/Linux 3.2.0, strippedPython script, ASCII text executableAlgol 68 source, UTF-8 Unicode texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RR R R R RR,+Eпfutf-89da685970e4d657965b27da4a9e7d5626aad76c34902c9ac49acb51e6a23e80e?7zXZ !t/!]] crv(vX0y/`ŧ&ljEӪs-J`s/][޼l֙i,Cٺ4m9_yjmcHsZyLu09t|yKkP')V_$[ǒ[0\C27[n..s݁C^Rpw.0RϾυd]c8ɵ'pKObnIp32>Z)Ax1g.&qgx J/Y/C9\lf,Fp;P/5p.zO9U9=Pls]b9|,R_LR0E}Ce] ճj-#o2C2jnDu4Ky=A#G{d2"k;-bh$?ʐWz-.7C7!^ً{}])B`T O4n>,v2tfX`1Ϲb%TrA𠲞dqّ֦gښPWE.ٗ`#: Pt3d%,ku Mݷ &y^C"gqcڝA\3}ͯ(lQf7PI1\<3Ln8MRYԧ&|Nhﭤv8`1h8~yjk)WY][/r7{Yg,z)AuJJ^5o)+`Mю0%!랴GRzbڻ9$ޱLb./=Tx\L#V!-Wy]fc0R ~}̋x)t::[̻ 蕥sK"5{ZjI_OgJhal"HA0 fh#"Fp/EU` mET1xJ͊ [,@<#R|z`DxTZօVBVd?W%\ c4/^%!WEĺ$UQ'jxtzֿMA[ot}Ǽ[%YB|+ٜo: z0D-f4 ETϭᱚgE[/.ܨT7H-Ґ8=ay -me:VH,Fo&yT#i׳CGfP37y(1#MN@.79P~R2KA8YOwͦtT6ZnZfj&]fss]a@#6ā1 J(dpsxV~iYAddK^0p2|Dv$v90&[Sb_ErA[~nսQ)DO\Ҍ'@5$|{ㅈHppP1 rC Q#mB~nׁ#UB͛N!?Hkbs~]O..Q[I1؞~PtK/1G1񰅄+ <=*՞CK $8&C70I"ryO<|_V%q-C/XHʖTc$\k>3\QtZ4R0!l}`;ǂ7FP-:حz ~"Λ+7 w%IaBn0l43I?:|ÃʷJN}N m)}X#,b ]8˓ZxyGJxd-zs6t]гmRC 4,6nNe͙ Q8)&b#ta׶ףC{Z"?(֕f|xDo0$:6D'.\atl.*'_>פSW KqTōfS*q#cd'M6;G Wbo H}@$#MgIN<@6в cPU 2{gx" q'`nSV"_/'2^o|*$_q֯C9.UJq;3s9J6CE۪EÍ;&r~wHylxQ 2¸q**yդ|M6 ,ZǁuıhI|Qi#h-,sGC9},/k\C`M!{VS]9 w`/ƴȶ.kpV*>m͆-ȞHKCI-/DΙ!%`n| \`71$7 Ríf 'ޥlp8 d.U/g#M6i˷ KˣKw3]Z \5XoC y™IVE,tk_HGѦ.[wl)LPi[mds̑˽,;0]x=IrJUy[:<`/ǫ%H@l~}"kд1Uhxs^كeq aAip3CAeض»] ī|{ 4S.*t h|Y{ fʗhIt^c?Gh_z0l6VEdY8C;FƯOs?FSѧmJ"?EU'r"$?Z-L{:W` 8VKt=Ȓѭ!=vI~v| xja 4 *WN93 >6qMpRkty A%S9-|XVoX6^e=hK#d\k$s rIP#RP/ve{8 2Ud Vh P8:]HZl0ߤ(ؐQY'lj4uCտ&5[Ƅ_[oh_ 9nPk/qktpp]kߖ++gҾGھ ^a>q[7A-CjsL/"̖.o|age"&yv* m3O)ح,ZqT_Rqa+{>_{΂ꈰ~iugLMfH`wJ1)@^hq4{ZW2Edv:eZ%q*1a|KqKj]2 l7PITYlSѾ8THϹv˥ "~c3绘iG+#eRq# {r^{34$3k]f:0BOoNےƷ N@JG]UŸ~;fXR.-YTeL4aS$"AooGzNjd&.Ǜ. t`-%ip?s[[Bڇdw6JfYO`#69꼿Y޻6]_dtm.aH<]"7Kf뇍Bf9tpm,2XH]y8rJƐ[=2a#y쯱^O"Qx hw9P?#U]q z)7Wó4<`Ih!e7OAN׍iM6(nծTmB1sqOʘ7/GLʂ&$uAәk-yp >bYUdN.Mb%4R*Q@)14&K@ FiSOx#eD(.44ln܎-j՜MɃiJy~/:Nů#tG`<,4+"v*W賯> r)7RE@dr>$?xWb+=+w}CZnr<32Wx,\UhF~D>|:׃\o7dVvƤVy YȈXCRzѪбM%hH8* W^9)-ˁW໐yR7` ,9(!iX2W~ۆIa=d#%/ <}ҟ9u; n(T3 3۞ 8C]I"11Ԯ,Ev؂DNxn6w₽͖lC| B ItPOG+|AOq)/@ d o_JQ1̒!e9O?֎FY4*H~?ny4Aȴ(vk:J,E;ldG Q `3UPjCcUӆ%u3~Apml*A_gsELgHbه~ >ڸpL,+Y)ZxT(qfUZlrIf\!J? GUt_NrncUXnߒZ!;V jˍg'o0Zikj.e2U`jBzza_PJzIQ{׶ɔ[')*x[^Obf>Y{T Sm\iɦ5uDUx%D_\X1w>#CDvW/\_ь}pj]β8$_k02 HtD Dpx0gƼan^|Š9DۂkgaI>YSMPξ8 (qbܤ]rcOaue@(\ྏbx\C "͡b]Y:;V>npq.H<8-ĘL2 GΈMVoaIxEe\WK9j[/W:sB9) sFwRʋD$%t9FP8{O0k fTn$og7HG[WpCq]\_ ePOs%84iu/ =)f 89 w:)m_lk)1y5;rm*5vn>=8iclHmg16eT.Ѱ\Ugb@jwp#6'hgMb'Vr&(| a?d6bTnv\Ǩ>N><T_ގ'"U `LPrzrwg ԙIrVswn< / :n:캇TY]؂kFՑ#<^o6T""r̺p_$yyUFBHr&p_$wC{.n t5Iv 2$ t E۬"l nX%:! mJ([7)(L W2& LգMU~ZB y:@C#_/#2dr691:)@XhMx {M{-!8Bk]3snmatWÂUf*R,Ke>7$ӛ_il .Z hM3s) EGp[E4@P7Zܱ%4SiV 6Kl5z6mh2 D\3L|C`-Gi c8o"bb.Ȯ,Tz_$R~!ƚINmJ_&gY]p86.i~s/@v>֢+@(~ۣomX$(6yxIkjC`m8-9 B ӕ#PTg}UXoPϽk'c< C20./2Z]3ic2c\%@GhIbu8 DnZ. 62øЩ8WW wA[Q 1{ܳpOy'[vt ŲeOSpZ2%uH:: J/*Z](iTnEIMv~  _RMA̾_+՛Fz9t0tew}gV`S[J_Ke9S I|9|ӣOyq>o?fy–,9jTj7CtHw!K$*6X]<<>CkŁ O!n OLP,bͭ=iy=hCf_ϖij/A6N׮Bը1u@c >0P^ٰ4Pjw+3GݼD[S!`nS%UnEl(NٔW~VX7܊R5%#W"P Jc[5^G"%[dͷ:!M3+`\ /JYt@tl7W /U n/J.\ kP=/ipM+}xLcS[A#vLk39*rk*H/ \)ߍZZwuʺX:̫oV.hMk q*Q>/:|Z Qy%0aX Oț#zKY,&B |Rb`Q ^bTR!J!:UϾ۶s\|)G_t@ot $h۟*n1L y&i Æ[D(:*Tf;Z\2U@TnoJ%4 :y.Ze3a`U.A#vH|q5=hcC'3/] Cfoݜt)v'YM.a*RmM46|H5OaH)iaAADxtVN#TTSSa-OE k |`[G fB3#!MbC"u-ƿ)m oy~BR<5҈㠂H 趑C1eMkvIkJZݚM m+O&iRv![A+iSKu mau6cղ&,*j=UBϘ{'6 iЋ3V68 D(^NqfCM0Ju|_.˭] E_$0p}א>dG6K|%vڕmhA7Uz@FXBx ijFdwH$ڶ*JfgQd9ZƊo'՛6ˣ $uv=Nc<C3D]~6/ &b}Id?sVL .Z7/GP$*:rZ4=v3|̫)Y0ֻTE_tͤXبpkVuxC6\dTy bgdꐻݮ h+H ١Qc /Y<ǡ'vZkծWU/IzlE!k/^eaRMs^tu(#S2vgoִ BrԪ@ogt%ֈ98!ɩpZIUCkNv@P |+{a¢2 sxcS7Կ] GJ H.a "igwA6v|,Ed[aDotR"\eGxKiYvZ= Wv84duW'?PbBw^OpWa#=g5jDG7?^TTN"ntVev{) 2L.i [PG[Nd H3c1~Tp Q;46{}I'`ٹ#˒/dW{dCzjیRp'Fr>_|QEA? c1u@"* 7 s{5]όG&\ .?|v }8{搭Y0Y]J9 צ2'K~~ [kVYD^ jqy8x 4}:PHhI+ehݧ:JTInm.HtWU(DRnT49c f ]4c[]#,qHBͷ9dPHl0s [eAЩUnZl@${vemÅ- A\Z$߶\R:emI:Mp 'șuN~2xh5Oy(n4LNb se(SD7huX5Еf[ȋQU@lH]u\tN|nK}>7JzGP>/N9ֹJ֢o9u'^|䊜0f!R$`)-196<">WMϩ4Jn?Pot4Xa*)P+S\r-`ON+OK(C1>}`ac"B->Fq|yp2݌Q,xc?P!V~,Y[e<ǒ8t%1ZȖ]Nns1&'LY1ĹO_ A/k{n",>">$FxFl7L'? z4B/2~U2޺z-5o-gn~1J D1iٽꩾ䃏[oˡ4Yқ[2Y?w" 𒁓y`wye! q j}9C{v\uOA+:btKy `ZV>91p=d\Гp~rOb{a;xiSz[jVID 0t!~sl͉:WM"Z$(1Qf@6֝S8'rvc#L=7GLO+Q *)G Ԏ)aI zZ_uxVcR\;j?1 E; !/,RajŵnoE^ҮZM$c> 3ֱIO ~%Y`>87U8pzlmaZ}po7a6vDop~GD{ 9w%C4ӍE};i[:6?}7I؉ j5ȴN;=Om!BO0o,pu&>";xn[/Ǫr$ 7%t.-/[&ku Iqpiscz/R%c4VZٶ w ?WnGUAcSx`s%A.NK)L=l"2^Ll/a K g6FbiwU9iO8D<o[-_83 ';nS/0I_r;$ȦraEFOV]SP3u31ݴ W n|eNAsBXvA;#@yT:Lu`emCďR򂩂Y_Z3kkЯ%)A7M6:_.5e,}%c,Z;z]zWX@]ЖXb/O5F0MGύѽjK /P2$ :B?dY&jv+WLUoܩ7ɱ7MdMPqP@6x22̥F7r@_u{y9vcXȖwtyfE>ek}úpHRX TT:!S"n"DoLQ=48'o. D#"[X{#ps<' 9kpPV%h8GjJj.>툰)ԫ2gxzb]Buࣤ0KbSX jkS :$#&=7Fh22PMuX2 r>NohJQcY%.TA"a˩_5 )Y&;t=؀vP=c1?3e[ж=JN\Gpr$a٦uAKl"/r^tĻ+eBn-,%<)="SdMݿ+Ƒ *vd]:ciJ%^|yz_aam1?ZnY2K=噏s=jQ&l_o1 7lEs3Ya行3uRjV~7(:!^|1m2Z?ԇ,sMO/TTDzMyrF\%¸Ug0J':JMŔk>ˆ WDIVjѯln]Woy8HtGfb9Gs.ev7 {_ |s Q螿#9]o!me}e|Kj̈iJ# UYωVt }o9D0\TifVw> zTjbmAG8>Nj,(8N|g<.}q^t i?>BI8evtˆITƒ9\BfHX`7Wz9>tiJ9>qLwͨ/,WCyyρs!&*,2Vk#aKŻ3`h=}Yt:#|ϰC7XBǚy4Cm%#%Yɘ?7|sFx%>XBl[ =|Wuɬ~@Qv+MI nh\2'oe9ޜ:iu%`o:)yl9,-%h0S +1uKTc{p#xqiTB]}!oS*3 Ϝ?҅gF> 6x`8!k (yri: %# ֿۖ5;<ׅ5`%]9!MIOOG>nw8PDD?x+8:PbcUBFYvrod^njcbhnl ?S5^ZVTPFmĞXf.j)7[RpD{ܘtD̐*qSo:lWḩޛ~/@ʛ x"s0ҵ`Y5] J$CWSR ͑C8NIl;]} c}=5^/]C\%!*vv~$." 9g%AA䇽A@HOXdkč2"Hdڇȅ0.̏:o6{s=82u9"zZWFpq/ibmĺ: 6+* %nI'c갨Z<>TLSkK.HT|P"ɨA@gHSiPgޢE.LHcg=`XHpW0ao<(Ιmdm+9x̯>9 ɯp< |gIy+ۆKڞLʸJY1!4;|NEq4] x4}z^?3=bbGn`DRJġa, zWO>TCQz 1E.!HY^9a+:җЌ>9Hf!}U>~%䵆6)c^V2As?\X1ʗKr)=BiMk5M'9i(%Ptrޖ ƽ/kEAk`S eьuKI*>K`4ޘб8&z]Oj^I^^v1gO2}vI+9{x\\ \.)t O&bBuq7U[yr:Um&eӻS1`*հש+ktss$VRO(h{o5Xq>s4ܷٛ NtBznȵ|ĕ|aXYV6At?䨃c.ԣ ~̒Ŧ|Ww 7ITl}κ6| Ksfg{ !vbR#U~(ыxLgeǚnb[Vg( 2?jchYȿjCVxāmYs_ 16 #ض~u.roTxcG.,*0$@)/"6[e} [SS*ZCXN&j=0 Tkk5 1 g[.v?cnä&;|\ Cڹ’Ա_Cl<^]u%,*WaHzӼr9 InȭλN ce1\S !sbu&Dzo5|,==ʆ6ã%sb>ALף)Pg:lخosܠ@ʎo 8 XVhc@5^?` :jQS`2~[LQ6(($@ubM%tCbrwMCtCҚܣh#òr }R3\p9jw'TPD@p0 ړPQI3~Oh׭ċBޜ#t|]_j \5H2ƨA|¢E ]Jx.Zjc߁Ln[2ڎRzhN`WJ{Z`Ap ᅮd T_-UE|#l )wş藨 ¢rʚW&$~h]D wmQ]gkƶEaNa@²onQAǙ#Q=7c7Q,i__ 5r [?{{="1c3Cb:72f2ٴKycD.=,WYϚZ>fv }MpbT$FGGZMg{$Ld5G*\w'Ǽ\n.hDmה#π:Jf [LbEr[ a"i"67?K8\M0chY~ *jӧ?u{H(:Uz-H'Au$s>FO0ب)`^0kUQrW[ri1@Z AFs'PZ̔D ~1K~b:[qAWq9un=кr1ĩ`q OK|-Q8w,;I u:y3ˇ5,@}as"˫/#*h{5l*|!YOC٧yu @Im9z6)7]phvnG%"$jbTTj.j'.xnA`3IF)+ [E.Z`hy ~D]-W%ݖ\@*CˈБoKF%J#ڻAߤZ6|%wNs{>?1j'/_%~ݥP]>~Ue%5 1FbמɄͤd`$Oq;%/u]$$PtϋRv&lch{ںOl-ZCLEV`8FrNgH^.d-"NYf9]_oU-L fzk==c$X߫gj+pr*Z T,MT<:?Lki: pY'ӺF1LQ\=I4=_Xm,MCO+Ħ74#.g7bcNCq!1Ue $VB]xRƀhpܫ;)WLЎԦI{zA0&f4&آg ( E hxǤ)i(ƣh Px UY\Ś+x],/uO |hg!B;XPӓ=8yúLjY'i3ob^ޒ_CD\欿IKE~=e1ЏW;u@a}WU׋4QPUI#<69 @zA09nNv`kW?!jU3FHQ]ZcX\i ;|4ϺBcOc^9oFR)n;rDk* tԲE%p ńXU:D;O4 HϬ\0a 7%6I4B @nI9rʷȜ>GZ_V\o7ujۥddOt=ZCϓT„3 惡x=*UP 7 ) [RCΞ"4;kGe݌p40ۻ: [mR~w-]Y*Aʠ:z!>޴1p-FBS0 ը9l,i"YgċQ[ YvOX*-أ!c'kj4Iv:;/V;sTUp՘ycmmjOi 'w >*u Gx+ZSL;ۣpB_ׄU3o:Npv(J 5D"mb>XV>Bl~u9R4 Pc=dEV5mgbF9ѢO ʆTJZ rSh !*r#ѕWm64l?q2+q%* /P|ob&Vlh':l$ .[#TA) }YR1E Se$)HI5wkpdŜʻ4^-eQ1L<}}C74{ (ֽK5-a˓HǬU'U(^CQ".-bDZ+'ܗYsҘV5Z2QbCDKZ$dDs(% [ v.=ˀ)f | FF]KU{C>x-tU(0|[N#`'Q<ف}-S}* .E@NΚAOnhu(0mGoCyf~^ViCWԃwO]&WV߱rk] D̲HdhCAgn{uiaW0T<3. telt醢v,#EO ݅BWeĺD|@%&\(KCZrKB`Ұ2Q/lJޗHVKTnQ]"'Q@a*70/;LʏfY*N@sxavxn))LjFT $qcEz.e>.$QD#M$\de"0rj-KɇC:2"6*#%Zªgvzkymb:hEGbH-vJl2]₾#V &LKBq`lGwiЌ.uq9ʼnD?ojiJ$'{ NlH "XuQv v$V1[K[1s/I*Tjk3C# YNq,$_ [*d#7? %pR~q.X@Ő^զ)*@VM !q4i)Þ?mƻ$:grv^o6uQ=eʥX\S^jU[N% ^LRl:vÚZ07g#HC,OK]sY/@t #pWͽ$0ܦkRF&s,g4u dRDKeɏ!x אט6#afF-lz f,b(]TLնr8WBJ0~HE*qaS]Pփ4,OWpo/ ժ}xi;tPoW1ڈ* _ ƫ~Z9 2>wq喤Vu#^2ր ++mi/UFՑI`G7_& BWwu"O})2{7~ӛ/׌t&\4w]9 R liWDQZ9i⸱mw)͙2w}+_?G4,f~&^$fȟo6}6^UUC.3B@<< 1n 6ƓMÇ! IGgFP铆y7\S^*N`Sk{QFwpNq2m" ]#aW(GMUĿt>T΀VYNe~K3d6:~GsʡǺK qq03r"6w1]>y4hLHu% 9BI.Vц-ByM"@׸K]6dղ8ҚSି ܶA-C5p$F "ToA;AV0b0A 9'E0m$9qˇ'~q[&#59LtLqCvqPf3wˁWڶͨ(eXu䡟"RxO [;tmb" @%mf6[UXDܧ'j4F5QE5utLMXAoHBə7vm.W9 OCT`GVr7(gEw`7g#0*_1SͭDibGVHTo~c &;κYtby:EF5ؼr8 JUFzn˜s66lhiPUSO6^ceQ #վ U׆ K"%8KzBcрb;}f3$;}0>|aow]8DL%!".wFUjrY];w'!]*#~8PMM *>YBnnɤ:^@CO9Bc 1~0R/T΍t6 ]d{\ORhiCi]κx{E&c154}C`1+ܳ{"f%p$R3b$>jx9_7k0U|_NٸZ1ɯ˸̟l5˽< M ޣB!:2|G֤"' @ԁuK9'2p|%[yh\o;EXrMEldLvf?V`O8YE20(<\zbXimIi N#6>p&ly765/~?VqI=w/kcݲŻy 2dը^5GLBY=w2|dX*J&}[c%dFۏIj'</%Z͋EX1HW(ZwF0CK7A?%tqrHJoO (pԔ6Nfn;PUKjFnc5e3(FC8AY~3ԑGbMhM3'K<Uf+ |Ka_ tPǴ'n-2eހҕS^ZI3Urg5nUI YZ