audit-3.0.6-150400.4.13.1<>,縉dp9|IrL>I,A%)N ݍƗP')'oM?$, Zvyn*&"6:yɩX ќ],D,xdb5m4yZIY C&|LwR .O'%PĪ QJh@g8.HjV3g)gsb3Ml%6RAKhL?d  A"4 J\ [[ [ |[ [ 1[ 1[3T[5[67[8|8 9 ; (<:8?@FG[H8[I[XY \H[][^bcdCeHfKlMu`[vwX[x[y0TzCaudit3.0.6150400.4.13.1User Space Tools for Kernel AuditingThe audit package contains the user space utilities for storing and processing the audit records generated by the audit subsystem in the Linux kernel.dgoat25 USUSE Linux Enterprise 15SUSE LLC LGPL-2.1-or-laterhttps://www.suse.com/System/Monitoringhttps://people.redhat.com/sgrubb/audit/linuxx86_64 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 auditd.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 || : for service in augenrules.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# Save existing audit files if any (from old locations) if [ -f /etc/auditd.conf ]; then mv /etc/audit/auditd.conf /etc/audit/auditd.conf.new mv /etc/auditd.conf /etc/audit/auditd.conf fi if [ -f /etc/audit.rules ]; then mv /etc/audit.rules /etc/audit/audit.rules elif [ ! -f /etc/audit/audit.rules ]; then cp /etc/audit/rules.d/audit.rules /etc/audit/audit.rules 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 auditd.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 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 augenrules.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 auditd.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 auditd.service ) || : 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 augenrules.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 augenrules.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in auditd.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 auditd.service ) || : fi fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in augenrules.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 augenrules.service ) || : fi fi/f H((x8x9H8H8]MG/n:Q20C'#FFV+`XFHtR6 QDA聤A聠A聠큤AA큤A큤A큤A聠AddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaW9aW9aW9daW9ddddddddddddddddc90c9e248efa3381f9344c507450cdf21849945f775d7c59291b6ab54dad830cd9953f20b2be7c063e714b8d2a4895472733fc3d94bcf866e40529afc91b8726b7c3e851e8901bc6b2895a6be8abe38887ea4bf8bcc9bf2699bf940c7974b5672526e4ae01cd81c3ab2d59bfcc8bf3f6828d1e5eb3bd791d009b869f97d1f20c6706201085e33dc29725b0bfa2c7b7d1f2e4083fda0c6b3297b70099e9fec3e965daa4c2fdd5729ddaf7151f1f672c3cd18e0dd83ba042ea7cf61ff6523e584c6e59496d9723a9635127c3be722cf1b880c933dab92a583ff30f7da0bad414574b3f42ac7d757fc3d543d6f5ba33acc5621e4adcba14c9b54790395d812724b8d597f248817df8ac1fa7c0788b9dcbe1e8a71947212df5b039899a00e8c54d4a51d62df5e723db2210611ee522194539437522e969ae6a22294136d28f1c0316d097e9557c8e779146638c65fefcbd6362694e39a4ee81000e257b32450e697a40894bc28f8a3746bcaa24e0ab11cc93eeb16422ab9f435a89500352e7dc2665951c3f44a97e9e3a353c241aecdbfa9671f06f2917748db857cf5c3acbf736642e9290f7400649d296ecdd0290a653079d5e44e9844ee6a9475ee3dc0b1761fe703e57e8cd6f64bdb5631b18ffdc18cce824c6e9879f82d90b4c3a001ede7756810ceebec2902877d08acbd843c0f68a1d8b359d17a7fea0c5c5ac8c7fcb7017552eacbbe2c7b6d8d91c94603e65d037de4377e7f00d9ca4ed255f1411d9c486af48649e600bc52e1d5a587f1e247ce669a7fface48fa0542a9033b7ec9645a054c2cebdaadfb928f7327cc066218e38743f0ff94d02fe162a7a415e148d23a86706201085e33dc29725b0bfa2c7b7d1f2e4083fda0c6b3297b70099e9fec3e95aba151df1a4026ac2bdb4da8652d47c083b63fc5db96ecbbeaf98223ea7db2f5fe258398c4e2a79a1a4a996c262df303c497c444fc29b630028c6bcff8a0680206f8340e59187c1a75b161796d6a5711bb9fcc72784b33dfd9c035a9d127b5ada083a4565d649a86f0fa56d1ed0b686ba78da80a24b290924b9da9ff30743d4d8a12f8a49f111b7aac15f6cac6bc38926d7dc9611691cc290ad23c7b877f3410aca9a37a27583d8bb49d99b6a30f28e04958ac656d35f9b217a4ffaf7c48042d51b846cfb48c1f6eabc2969db872dccfef2a942beafdab7fcb5e79e35b6778195d76e614f68398ad13b48a0f523306aa0bb38aaea285b88d4225fdf69069cf67bc05cbcfde0664abc759bad2fa8577681007d1db77b0bf5a562b1d52f8b0c79c97448ae2dcdbedb4c50464bfcec2a56886314d1ba8ee002f6bf63ec093b1b6bdc6f182ce7a0195e63f1ce60e0812c601e38de022fb8baf03ad6560e78fd73cacaeb9a7f4bb77ab89027f11789e02eb6e9b4f2fc4346eeaea25efe1730d83fe67883a1f395d181e5da850ff77b3a6c69eec5ab68d24e71da1b8f5b5212954599d8267adb81be2e6fffb0b86341297ef0806261113fc59e29a7bf87a4e5dea0d81eb6a682e840cb04f611ab5f768b65d1f41c898e11ad3c6d0545d03562c03ad02c4e9dbd58405bc275e7e187d6ec2eb9436aa54073f557b83ef6e4a06a55fc53ddd91b8bb35bb9559163c6402ebcd3b06e7ecf84a1bb6d5aed89a3f94f4109cd3cf174b6005bfe0fa6cc3aa256bc96a7d335bb9cd554dbc8dda3c916a8f497de1d6a69c3d93637b3bc427c10717d2fc9a6a786b97f33b718c4ce34c2ebe61cb57eb41a6aaf6737c2571b6424fae7fa53af4b41a9115b6c5732a5778ccd9900adc57e70e8785c8465bd22d1cf832c6c1d2c29c67afdb10ec2e338de556e18da83a6d974558dae7b6d24edf083a0d72bb8d15ac463da0717fcd854235168390033c8e5cc97e0b04dce3524a534a85f7005066a284a2d38a104a2f87072d83e3830f36c7a49f882792bb7a15d2d9d388117d14fe09cfc25712972930db6663fe89476b309408dd3ca1876baaecb0117fec0f76b6fd8bcc968e2cc616d95dacbcba2b932715f5989044c0e238fb88ccb5caa39f9554f992bc38cc8ddba55c622c3f30b7754e8ee41c0f579e828502b9d19cceac1db18ef740a80589e59cd35dfc1a534bf22df5c3e2121b431913a3afe6397e30b24453a7ecb7844b17799984895eb88fe75a3bcb807fad74cd020e6e04347f7dbd3ef16de314c0c6a976cdde0dda093222d0d49483ff9c6a3dc9879992e7f61404efb65373eaab12a4b87ef3da02a0761b60c49e34bb46ce344d84d120d62f27d593774d34ef1eddbc85b7a8b15ea5fc54d4981a480e15bc6e1f7e703eeca446cc5b95cc424459c24c40013020d1d52e95855b574e7230ae69fa1ae088a9d582ba7bb493b473d5f10e67f658ae77200e0926039f166a9f8d5b0b825e33358c7f2c1ccc6f86067ba2f684c26d13f95c06136de99e9a6628e4c5a2b007c4f028fcfcef23830a5e58557a7520d8c7a27154100806c1128a8d0456c95bb70f934dc9ceab2e9b6ecb92f764eb8d4924b128655d58e59eb7420d5182aa76017daf40452ebabc1a5131de0a7320aeeee236832b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670902053bbf311b19370f1dcdecd18e5e887882cfe3a2c1fd862926035349efea39ea670026166dd6f362ed954032f06afead4b8e6f121feaf5933be59fe64c57027ac54ae2bf30b7909e61f161154dc2baa0ef43b84b429fc65d028acc32d297411babfd1ab764971df44a1c75b56fb7ee14fca48bc73fe566c3bd88dd52ec595a3debc88bdd2339fde1ae1aa838c437e2af73d9a2f43d0505fb0b1af92c26995e37139d148e3c0e0a3d29e60969dfd591b9e4b1c03a9a6ef1579bce90f56aafbea420ca865e0439c4e9bfb9e9d1d64044f0d93327d7aca25e069916ace89096925317334b644bc5376842459b8050569caf3b203ca48e9c52acb5277d20fe28a10d6c6a953211c26260362afddd07d16b3d246c75893e11af3c245fa1c6fd2a5fa2c911501e9a26d563edf62bb9a5158113e94134bcbe7489fbc5cdbf0518c91ed5560e3ed3b584df4356527afee3116c1f3b8cb12f43d5e0c69e124e4e31230bf0850732938dbe685495d0da757e691198d7533d76273495136adad413f2c530b366481917bf01b313e0c5ba2a3450e517f4b4cd9400a1db6b1a13498ca0330/usr/sbin/audisp-syslog/usr/sbin/auditctl/usr/sbin/auditd/usr/sbin/augenrules/usr/sbin/aureport/usr/sbin/ausearch/usr/sbin/autraceservice@@Qrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootauditauditrootaudit-secondary-3.0.6-150400.4.13.1.src.rpmauditaudit(x86-64)config(audit) @@@@@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/shaudit-libsconfig(audit)coreutilsgroup(audit)libaudit.so.1()(64bit)libauparse.so.0()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.8)(64bit)libc.so.6(GLIBC_2.9)(64bit)libcap-ng.so.0()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)libwrap.so.0()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.63.0.6-150400.4.13.13.0.4-14.6.0-14.0-15.2-14.14.3dhdhdq@bT@b?@b=b; aaaim@af@aHwaC1aS@a`D`@`@_ǁ_@^[\|[.6@[&M@ZlZZZz@ZyZ_:ZC@YYYu@Ym@VbUematsumiya@suse.deematsumiya@suse.deematsumiya@suse.dejengelh@inai.decoolo@suse.comematsumiya@suse.comdmueller@suse.comfvogt@suse.comgmbr3@opensuse.orggmbr3@opensuse.orgematsumiya@suse.comematsumiya@suse.comematsumiya@suse.commeissner@suse.comematsumiya@suse.comematsumiya@suse.comdimstar@opensuse.orgematsumiya@suse.comabergmann@suse.comlnussel@suse.detonyj@suse.comjengelh@inai.deantoine.belvire@opensuse.organtoine.belvire@opensuse.orgkukuk@suse.detonyj@suse.commeissner@suse.comtchvatal@suse.comnormand@linux.vnet.ibm.comtchvatal@suse.commpluskal@suse.comaavindraa@gmail.comdimstar@opensuse.orgjengelh@inai.detonyj@suse.comtchvatal@suse.comtonyj@suse.com- Update audit-secondary.spec: create symbolic link from /sbin/audisp-syslog to /usr/sbin/audisp-syslog (bsc#1201519).- Fix rules not loaded when restarting auditd.service(bsc#1204844)- Check for AF_UNIX unnamed sockets (bsc#1210004) * add check-for-AF_UNIX-unnamed-sockets.patch- Drop buildrequire on C++ compiler. - Modernize specfile constructs.- Fix buildrequire for openldap2-devel - audit doesn't require the (outdated) C++ binding, but the C headers that happen to be pulled in by buildrequiring the C++ devel package- Fix unhandled ECONNREFUSED with LDAP environments (bsc#1196645) * add libaudit-fix-unhandled-ECONNREFUSED-from-getpwnam-25.patch - Fix hang in audisp-remote with disk_low_action=suspend (bsc#1196517) * add audisp-remote-fix-hang-with-disk_low_action-suspend-.patch- add audit-userspace-517-compat.patch- Use %autosetup - Don't include sample rules as %doc, they're already installed as normal files - Fix create-augenrules-service.patch: * auditd.service needs to require augenrules.service, not the other way around - Fix documentation for enable-stop-rules.patch- Update to version 3.0.6: * fixes a segfault on some SELINUX_ERR records * makes IPX packet interpretation dependent on the ipx header file existing * adds b32/b64 support to ausyscall * adds support for armv8l * fixes auditctl list of syscalls on PPC * auditd.service now restarts auditd under some conditions- Add CONFIG parameter to %sysusers_generate_pre- Create separate service for augenrules (bsc#1191614, bsc#1181400) * add create-augenrules-service.patch Remove ReadWritePaths=/etc/audit from auditd.service, also removes augenrules call from ExecStartPost. Create augenrules.service with the ReadWritePaths directive above. This makes /etc/audit only accessible by augenrules.service and let auditd.service (and daemon) to be sandboxed again. - Update audit-secondary.spec to accomodate the new service file.- Fix hardened auditd.service (bsc#1181400) * add fix-hardened-service.patch Make /etc/audit read-write from the service. Remove PrivateDevices=true to expose /dev/* to auditd.service. - Enable stop rules for audit.service (cf. bsc#1190227) * add enable-stop-rules.patch- Change default log_format from ENRICHED to RAW (bsc#1190500): * add change-default-log_format.patch (SUSE-specific patch) - Update to version 3.0.5: * In auditd, flush uid/gid caches when user/group added/deleted/modified * Fixed various issues when dealing with corrupted logs * In auditd, check if log_file is valid before closing handle - Include fixed from 3.0.4: * Apply performance speedups to auparse library * Optimize rule loading in auditctl * Fix an auparse memory leak caused by glibc-2.33 by replacing realpath * Update syscall table to the 5.14 kernel * Fixed various issues when dealing with corrupted logs- harden_auditd.service.patch: automatic hardening applied to systemd services- Update to version 3.0.3: * Dont interpret audit netlink groups unless AUDIT_NLGRP_MAX is defined * Add support for AUDIT_RESP_ORIGIN_UNBLOCK_TIMED to ids * Change auparse_feed_has_data in auparse to include incomplete events * Auditd, stop linking against -lrt * Add ProtectHome and RestrictRealtime to auditd.service * In auditd, read up to 3 netlink packets in a row * In auditd, do not validate path to plugin unless active * In auparse, only emit config errors when AUPARSE_DEBUG env variable exists - use https source urls- Adjust audit.spec and audit-secondary.spec to support new version - Include fix for libev * add libev-werror.patch - Update to version 3.0.2 - In audispd-statsd pluging, use struct sockaddr_storage (Ville Heikkinen) - Optionally interpret auid in auditctl -l - Update some syscall argument interpretations - In auditd, do not allow spaces in the hostname name format - Big documentation cleanup (MIZUTA Takeshi) - Update syscall table to the 5.12 kernel - Update the auparse normalizer for new event types - Fix compiler warnings in ids subsystem - Block a couple signals from flush & reconfigure threads - In auditd, don't wait on flush thread when exiting - Output error message if the path of input files are too long ausearch/report Included fixes from 3.0.1 - Update syscall table to the 5.11 kernel - Add new --eoe-timeout option to ausearch and aureport (Burn Alting) - Only enable periodic timers when listening on the network - Upgrade libev to 4.33 - Add auparse_new_buffer function to auparse library - Use the select libev backend unless aggregating events - Add sudoers to some base audit rules - Update the auparse normalizer for some new syscalls and event types Included fixes from 3.0 - Generate checkpoint file even when no results are returned (Burn Alting) - Fix log file creation when file logging is disabled entirely (Vlad Glagolev) - Convert auparse_test to run with python3 (Tomáš Chvátal) - Drop support for prelude - Adjust backlog_wait_time in rules to the kernel default (#1482848) - Remove ids key syntax checking of rules in auditctl - Use SIGCONT to dump auditd internal state (#1504251) - Fix parsing of virtual timestamp fields in ausearch_expression (#1515903) - Fix parsing of uid & success for ausearch - Add support for not equal operator in audit by executable (Ondrej Mosnacek) - Hide lru symbols in auparse - Add systemd process protections - Fix aureport summary time range reporting - Allow unlimited retries on startup for remote logging - Add queue_depth to remote logging stats and increase default queue_depth size - Fix segfault on shutdown - Merge auditd and audispd code - Close on execute init_pipe fd (#1587995) - Breakout audisp syslog plugin to be standalone program - Create a common internal library to reduce code - Move all audispd config files under /etc/audit/ - Move audispd.conf settings into auditd.conf - Add queue depth statistics to internal state dump report - Add network statistics to internal state dump report - SIGUSR now also restarts queue processing if its suspended - Update lookup tables for the 4.18 kernel - Add auparse_normalizer support for SOFTWARE_UPDATE event - Add 30-ospp-v42.rules to meet new Common Criteria requirements - Deprecate enable_krb and replace with transport config opt for remote logging - Mark netlabel events as simple events so that get processed quicker - When auditd is reconfiguring, only SIGHUP plugins with valid pid (#1614833) - In aureport, fix segfault in file report - Add auparse_normalizer support for labeled networking events - Fix memory leak in audisp-remote plugin when using krb5 transport. (#1622194) - In ausearch/auparse, event aging is off by a second - In ausearch/auparse, correct event ordering to process oldest first - Migrate auparse python test to python3 - auparse_reset was not clearing everything it should - Add support for AUDIT_MAC_CALIPSO_ADD, AUDIT_MAC_CALIPSO_DEL events - In ausearch/report, lightly parse selinux portion of USER_AVC events - Add bpf syscall command argument interpretation to auparse - In ausearch/report, limit record size when malformed - Port af_unix plugin to libev - In auditd, fix extract_type function for network originating events - In auditd, calculate right size and location for network originating events - Make legacy script wait for auditd to terminate (#1643567) - Treat all network originating events as VER2 so dispatcher doesn't format it - If an event has a node name make it VER2 so dispatcher doesnt format it - In audisp-remote do an initial connection attempt (#1625156) - In auditd, allow expression of space left as a percentage (#1650670) - On PPC64LE systems, only allow 64 bit rules (#1462178) - Make some parts of auditd state report optional based on config - Update to libev-4.25 - Fix ausearch when checkpointing a single file (Burn Alting) - Fix scripting in 31-privileged.rules wrt filecap (#1662516) - In ausearch, do not checkpt if stdin is input source - In libev, remove __cold__ attribute for functions to allow proper hardening - Add tests to configure.ac for openldap support - Make systemd support files use /run rather than /var/run (Christian Hesse) - Fix minor memory leak in auditd kerberos credentials code - Allow exclude and user filter by executable name (Ondrej Mosnacek) - Fix auditd regression where keep_logs is limited by rotate_logs 2 file test - In ausearch/report fix --end to use midnight time instead of now (#1671338) - Add substitue functions for strndupa & rawmemchr - Fix memleak in auparse caused by corrected event ordering - Fix legacy reload script to reload audit rules when daemon is reloaded - Support for unescaping in trusted messages (Dmitry Voronin) - In auditd, use standard template for DEAMON events (Richard Guy Briggs) - In aureport, fix segfault for malformed USER_CMD events - Add exe field to audit_log_user_command in libaudit - In auditctl support filter on socket address families (Richard Guy Briggs) - Deprecate support for Alpha & IA64 processors - If space_left_action is rotate, allow it every time (#1718444) - In auparse, drop standalone EOE events - Add milliseconds column for ausearch extra time csv format - Fix aureport first event reporting when no start given - In audisp-remote, add new config item for startup connection errors - Remove dependency on chkconfig - Install rules to /usr/share/audit/sample-rules/ - Split up ospp rules to make SCAP scanning easier (#1746018) - In audisp-syslog, support interpreting records (#1497279) - Audit USER events now sends msg as name value pair - Add support for AUDIT_BPF event - Auditd should not process AUDIT_REPLACE events - Update syscall tables to the 5.5 kernel - Improve personality interpretation by using PERS_MASK - Speedup ausearch/report parsing RAW logging format by caching uid/name lookup - Change auparse python bindings to shared object (Issue #121) - Add error messages for watch permissions - If audit rules file doesn't exist log error message instead of info message - Revise error message for unmatched options in auditctl - In audisp-remote, fixup remote endpoint disappearin in ascii format - Add backlog_wait_time_actual reporting / resetting to auditctl (Max Englander) - In auditctl, add support for sending a signal to auditd - Removes audit-fno-common.patch: fixed in upstream - Removes audit-python3.patch: fixed in upstream- Do not explicitly provide group(audit) in system-users-audit: this is automatically handled by rpm/providers.- Create new "audit" group for read access to logs (bsc#1178154) * add change-default-log_group.patch * update audit-secondary.spec- Enable Aarch64 processor support. (bsc#1179515 bsc#1179806)- prepare usrmerge (boo#1029961)- Update to version 2.8.5: * Fix segfault on shutdown * Fix hang on startup (#1587995) * Add sleep to script to dump state so file is ready when needed * Add auparse_normalizer support for SOFTWARE_UPDATE event * Mark netlabel events as simple events so that get processed quicker * When audispd is reconfiguring, only SIGHUP plugins with valid pid (#1614833) * Add 30-ospp-v42.rules to meet new Common Criteria requirements * Update lookup tables for the 4.18 kernel * In aureport, fix segfault in file report * Add auparse_normalizer support for labeled networking events * Fix memory leak in audisp-remote plugin when using krb5 transport. (#1622194) * Event aging is off by a second * In ausearch/auparse, correct event ordering to process oldest first * auparse_reset was not clearing everything it should * Add support for AUDIT_MAC_CALIPSO_ADD, AUDIT_MAC_CALIPSO_DEL events * In ausearch/report, lightly parse selinux portion of USER_AVC events * In ausearch/report, limit record size when malformed * In auditd, fix extract_type function for network originating events * In auditd, calculate right size and location for network originating events * Treat all network originating events as VER2 so dispatcher doesn't format it * In audisp-remote do an initial connection attempt (#1625156) * In auditd, allow expression of space left as a percentage (#1650670) * On PPC64LE systems, only allow 64 bit rules (#1462178) * Make some parts of auditd state report optional based on config * Fix ausearch when checkpointing a single file (Burn Alting) * Fix scripting in 31-privileged.rules wrt filecap (#1662516) * In ausearch, do not checkpt if stdin is input source * In libev, remove __cold__ attribute for functions to allow proper hardening * Add tests to configure.ac for openldap support * Make systemd support files use /run rather than /var/run (Christian Hesse) * Fix minor memory leak in auditd kerberos credentials code * Fix auditd regression where keep_logs is limited by rotate_logs 2 file test * In ausearch/report fix --end to use midnight time instead of now (#1671338) - Fix build errors when using gcc-10 no-common default (bsc#1160384) New patch: audit-fno-common.patch - Refresh audit-allow-manual-stop.patch- Reduce scriptlets' hard dependency on systemd.- Update to version 2.8.4: * Generate checkpoint file even when not results are returned (Burn Alting). * Fix log file creation when file logging is disabled entirely (Vlad Glagolev). * Use SIGCONT to dump auditd internal state (rh#1504251). * Fix parsing of virtual timestamp fields in ausearch_expression (rh#1515903). * Fix parsing of uid & success for ausearch. * Hide lru symbols in auparse. * Fix aureport summary time range reporting. * Allow unlimited retries on startup for remote logging. * Add queue_depth to remote logging stats and increase default queue_depth size.- Update to version 2.8.3: * Correct msg function name in lru debug code. * Fix a segfault in auditd when dns resolution isn't available. * Make a reload legacy service for auditd. * In auparse python bindings, expose some new types that were missing. * In normalizer, pickup subject kind for user_login events. * Fix interpretation of unknown ioctcmds (rh#1540507). * Add ANOM_LOGIN_SERVICE, RESP_ORIGIN_BLOCK, & RESP_ORIGIN_BLOCK_TIMED events. * In auparse_normalize for USER_LOGIN events, map acct for subj_kind. * Fix logging of IPv6 addresses in DAEMON_ACCEPT events (rh#1534748). * Do not rotate auditd logs when num_logs < 2 (brozs).- Use %license instead of %doc [bsc#1082318]- Change openldap dependency to client only (bsc#1085003) - Resolve issue with previous change if both Python2 and Python3 are present, tests were failing as python2 bindings are preferred in this case.- reverted -j1 force ppc specific only- Add patch to fix test run without python2 interpreter: * audit-python3.patch - Update to 2.8.2 release: * Update tables for 4.14 kernel * Fixup ipv6 server side binding * AVC report from aureport was missing result column header (#1511606) * Add SOFTWARE_UPDATE event * In ausearch/report pickup any path and new-disk fields as a file * Fix value returned by auditctl --reset-lost (Richard Guy Briggs) * In auparse, fix expr_create_timestamp_comparison_ex to be numeric field * Fix building on old systems without linux/fanotify.h * Fix shell portability issues reported by shellcheck * Auditd validate_email should not use gethostbyname- force -j1 for PowerPC make check to avoid build failure (lookup_test.o: file not recognized: File truncated)- Add conditions around python plugins to allow us to conditionalize them in enviroment without python2- Rename python binding packages to match current python packaging standards - Update python build dependencies to resolve future split of python2/3- Update to version 2.8.1. See audit.spec (libaudit1) for upstream changelog - Remove audit-implicit-writev.patch (fixed upstream across 2 commits) * 3b30db20ad983274989ce9a522120c3c225436b3 * 07132c22314e9abbe64d1031fd8734243285bb3f - Cleanup with spec-cleaner- Add audit-implicit-writev.patch: include sys/uio.h to ensure readv and writev are declared.- Rectify RPM groups, diversify descriptions. - Remove mentions of static libraries because they are not built.- Update to version 2.7.7. See audit.spec (libaudit1) for upstream changelog Since commit 6cf57d27 (2.7.4) audit is now started as an non-forking service (bsc#1042781). Add config: audit-stop.rules Refresh patch: audit-allow-manual-stop.patch Refresh patch: audit-no-gss.patch- Version update to 2.5. See audit.spec (libaudit1) for upstream changelog - Cleanup with spec-cleaner - Sort out bit /sbin /usr/sbin/ installation - Install the rules as documentation - Remove needless %py_requires from python subpkgs- Update to version 2.4.4. See audit.spec (libaudit1) for upstream changelog - Add python3 bindings for libaudit and libauparse - Remove patch 'audit-no_m4_dir.patch' (added Fri Apr 26 11:14:39 UTC 2013 by mmeister@suse.com) No idea what earlier 'automake' build error this was trying to fix but it broke the handling of "--without-libcap-ng". Anyways, no build error occurs now and m4 path is also needed in v2.4.4 to find ax_prog_cc_for_build/bin/sh/bin/sh/bin/sh/bin/shgoat25 1692262117  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[3.0.6-150400.4.13.13.0.6-150400.4.13.13.0.6-150400.4.13.1 auditaudit.rulesaudit-stop.rulesauditd.confplugins.daf_unix.confsyslog.confrules.daudit.rulesauditd.confaudisp-syslogauditctlauditdaugenrulesaureportausearchautraceaulastaulastlogausyscallauvirtauditd.serviceaugenrules.serviceaudisp-syslogauditctlauditdaugenrulesaureportausearchautracercauditdauditsample-rules10-base-config.rules10-no-audit.rules11-loginuid.rules12-cont-fail.rules12-ignore-error.rules20-dont-audit.rules21-no32bit.rules22-ignore-chrony.rules23-ignore-filesystems.rules30-nispom.rules30-ospp-v42-1-create-failed.rules30-ospp-v42-1-create-success.rules30-ospp-v42-2-modify-failed.rules30-ospp-v42-2-modify-success.rules30-ospp-v42-3-access-failed.rules30-ospp-v42-3-access-success.rules30-ospp-v42-4-delete-failed.rules30-ospp-v42-4-delete-success.rules30-ospp-v42-5-perm-change-failed.rules30-ospp-v42-5-perm-change-success.rules30-ospp-v42-6-owner-change-failed.rules30-ospp-v42-6-owner-change-success.rules30-ospp-v42.rules30-pci-dss-v31.rules30-stig.rules31-privileged.rules32-power-abuse.rules40-local.rules41-containers.rules42-injection.rules43-module-load.rules44-installers.rules70-einval.rules71-networking.rules99-finalize.rulesREADME-rulesauditChangeLogREADMEauditd.cronauditCOPYINGauditd.conf.5.gzausearch-expression.5.gzaudit.rules.7.gzauditctl.8.gzauditd.8.gzaugenrules.8.gzaulast.8.gzaulastlog.8.gzaureport.8.gzausearch.8.gzausyscall.8.gzautrace.8.gzauvirt.8.gzauditaudit.logaudit/etc//etc/audit//etc/audit/plugins.d//etc/audit/rules.d//sbin//usr/bin//usr/lib/systemd/system//usr/sbin//usr/share//usr/share/audit//usr/share/audit/sample-rules//usr/share/doc/packages//usr/share/doc/packages/audit//usr/share/licenses//usr/share/licenses/audit//usr/share/man/man5//usr/share/man/man7//usr/share/man/man8//var/log//var/log/audit//var/spool/-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.suse.de/SUSE:Maintenance:30277/SUSE_SLE-15-SP4_Update/b33244660a91624af00862daaaccee6a-audit-secondary.SUSE_SLE-15-SP4_Updatedrpmxz5x86_64-suse-linux  directoryemptyASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=dcecbc74505740d00b5aa14c5ade9ec9963b22fa, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e9900465638359bde904d2f320cdbfe8b2757b7f, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4a57b34bff8f44fec68afec72c365325450e6de2, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bee1de02bb413ed722536346cef96d7ff2c3a19c, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7b017fcd974b0e465385e8633fcd5c7923183502, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3f87366dea3965c7c90759758d72d4b022fb5cab, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=accce61ab298008ba0ac67de18465bc554cb216c, for GNU/Linux 3.2.0, strippedPOSIX shell script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4f31529f403ad40a6035d4753f2cba34d7540d19, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d594648c819e76392126deda4d9c98620dd5215c, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3a0cc757dcf2e138265757890ef87f9c6fdb349f, for GNU/Linux 3.2.0, strippedUTF-8 Unicode texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text, with very long lines (gzip compressed data, max compression, from Unix) &89CM  RRRR R RRRR R RRRR R RRRRR R R RRRR RR RR RR RRRR R R RRRR RRR RRRRRRRR R RR RR RRRRRRR R R R RRRRRRR R R R R RRRR R !r-B5systemdsystemdutf-8a562cbd0eeadfcaffb9c0567d243c60a78b38e99d39f88fc79a37fa27b6ee19a?@7zXZ !t/\B}]"k%fs)q tNZa̅# [279sL|lɁn! o1O@R`<>|+9Q=bW~1p .pU)9tI3lIN%u7Atְ fG:(gy?x[܆A O!jƌJsU|]|kg2[dwu6`ǭ{N#HIhW >Sߎ6_q, 49kfOJu=XCE;0Zn~mY?%%?wWԘRI'; i&s꣓yե7{<˻{O$ny4 :%@Od\m ] MPF ExY F!<)|R& RU\-2딊w ZJ=fsJw#vd:6 u5q1Т҈cUL!gRc<<,Yfz| G S}IJwW2Lj,ͭtg!ԺaK}@A >vC͂e^6Zqܰ~H؊Cf|@xзuy_ޏ%x1N˖暗3kR;! l+nmgdkXt/X)S'p+ Yǔwalb]o & Pk6n4~զ&YNo$λxA7zWli:׳w`( !p)R:MmLo^ um cmfh X%fbykQ SkB/s}bޫ<|ׁHtVҵ[rL8?I܄#9y(+fӳSQtV %';DîE' ,nT]fV:ZiZ2y!pL/). EVY>ܡC{~9UVK\;? pI(^ (9?Lh8[V&d&}I.&Etݵl\B_Ω*y33H*>)[ͣTkq;ywdE.a5Λ܅qxpCϙn\PՓ{KՀ-,~Tԫ<׳W}6t?Q%=e?e_  \fq!V~E+ Mbk=n _Hbcy8Uzq騂YVĤ9Wgqù3ʢ( pB y(3*w0ZS9ۚxo|MHDžR?F޴xth {=74A"~~%:6ry:jtWe| ћgoFyz -.K>sZjM*Tl&l5PF È$Pj^|W4FjPS yCKеʰ7,8@ P}N԰ErE%u"=o %x{̀AHkĠؿzhC'E']wtǗ4VL*.t#M},7xhu~GY*/J5}}eӁcv DSH0'`̡*\ihew"|YZqiW ;IlJ#aM6g3& p[Z۶?MUgQqC.Sf [R7+ٸ@x**I_xfXhUdj; 낞00\̹@gHV-򹟢ƙB itd@~"Z8b Qp]} /WX3vY-^`ʿDteҤQ3IHzӸz!8|#1-l$r%S|Fק/7c쉵kk!K-i0UiSl1Ԣ7cDru${KLbJbHK* }Z=&(ЖsnT ,E ɴBGe'HF*n J}T(BzDMoj71y%.@*J mG<RŠ9 =Wa8(;j%,{چD{RlٰQ!,ڜoL~Z# KmN.\cǼm@b)evNVhʹ@v&Pѕ~"˜u)2!b[b~s ak$=gRinWEqT-Qtq9zQ1Qc{BeY A-hUձu5#A!S",+:8# 3#qOWBm__. NYìh>wϟdrQ_ZWK10P=!H̑UqIKA'^!0pm=^ ?)ǿ/fhzUC\T$runM5*ibc\q=> HԘ1}naBWXqWRP3d@_Tm ^KcI[^γ^0̀7;bߕ17$t ']jp F:~jzQJFM4J,f942/^|wVOyo;2(nOa`DkWC7RYtt$|8ve ?×7O߬S|s))KuB@VFNu|geLZ 1 &.;)>EcVw_}FPx IT8.|DO=?2"9;ۇ?.{ VLat[o?[qlo[!f0 ΧhpԼjLY A.t-BgG꜠ mjp$jZWP|QG {qi[ 42!Ýƽ?֭ydx ͘ZG vg(;UG/Gy\;./n,T9¨9kk CJdUul;,'d,pa Ԃ"ӽ_jp%GjDDao|U>\"v<,Fqoox\% 8Oʀ #33] O‘ub},nPbS=./5o47>c٫Fzdje͔ZVX${{i0]5W*Ä!_?#. s͊x8$ k5/.&Ŝ?ˀ)B| `gJ<&L.3]4PX$H 0 :JGگeK2 c!3LNU{ԣp.N=?ɴnk#B:iOzcz&;QڟC]i #nrGүYpl*'3~$d-9=˵ȝpV$ g>r'i;0z^tz1XuH]Wh9ag0&l4Nd@6( ^v,50&r߲ sՑt'8Um7W!jvlM{Cŵ0JOMp6M s$@]r ,9OrZ`ZT@Msر -`b)R62 eO|F9v2̎x,mÝ^ ۧlSK%@VkĪˇ Ux|s(v=|n-yafa*a97 DCXʿ8ݓpc"g%VdT/gYR]lSphB0^`;:DɓRXOw3s}̛B@\h#螸+f]2n}4-K.JӅ9`1Gtaaݯ1Mxrqw-rWI49ibNp n s BEsC48!Ady$ڡ*NJ  Hb,#q TDB|bW-qQ"^%k{A)R}`5$| z O/=PXuA2ͩ{r]jҩ <Û6e`Jl{v.EO\BNLUAZ!ZkgIeL]>yصT8r`5h;B+|2m'"-k݈tuLK1.@cׁ )8=VowEd9laU-Ndq/^#<[X R~42BƇIJg̃qCvUבĕ6L,?fk,,ٖ6e\b UIlg: @en+Ԗa?isA U 8 S| |{ˀ+ ȑkp‘`)cuΔizˆvS`KzǛJ;ET86/h T#+5G ܭ(+uNMܾO;Z!rS:Nztp T\<)N,FٔY4:"^?)#}\!E+ ~|"!ǀ+Xz=V`Q3UIdeF% eԭ\$A2YV KH,w]hri;dSm'G Sټsi{+Asq.WS;]Wbda]Is19f\um+5#v#wH^JLcq':~/la" qw/crf<]~JЮ̜PyjvR&F`:$.XH8x7#~ K_wצ$Ȱs7Yk_c]S,n%ؼ,T*wp}ƼWxpXK=ղJ« p6M$j?k3&aӴEH*sb[1.5LCBVZ(7:.v>U-qoy5x2?f+it>Fu?Q'l h\k( n]OK!LJbLY<$bj`'GIWd+ԕjVSוkZ".-[_y(ÛO/!I^fZfTw= X\+ {V/[v=mC{@ V*?EVRe6 &^kT{FCD}oΏӯBv'G,uQ jR|"seG82|́IILK`㔧P\5n>y\ ƙ 4"c3;op!0//DdmMt!&˥Z'_SSm=i"p\4󥰆bz-' XXaj+zTe"9bwn{nʬBSMʔ`1 J8AD--@%_MG.nz?'z(gw=j[gn܏5Opzj;31vَamp&p cǜ2* ~(ZڄףFܬJz{R \`mFg}Ru ~RG;=dks)BD17NpH:20:m./-ldd99hve"C -\XζcQBu GATLjx͝5>TL~tZ&bX.ּ<+j\ !gwUU3ڹd2='t:SB>Ƨ&JRĚH\6ԭZ9}9IͰ`g~!T ͛" @` u1`3 fj  y 3p2]p/RX=9ktVJ0./ӷPN*nMw'mVt+8#uYpc2pW QG:Csc`G؎vᗹ Lzeo㷍̐jESM(FdžU%,p~lu# mrA]f7H$K*L2?ޟHN9a(8] ۨYxcxh6ǛxA 7uqG';Sӽʶ/e:] `XkZJTIf ~#+NmH9h%F̈́FOMIuh3ɍT<LȂIm˪C8Ť]9/L!*>¢U@iĺ=XdTM#m(WZ_ƁZ$Wq#4 ij/8n pF(B'G c*"w"ٓ5A"J泥ek*eT%4!)ه9oU>@*moSY4_> hfh2dѾs0zT_x?@z>fEM25m9Ң~&6EO=cvM/T n(x$&pn~f%BZBgiK-"Vj ^h5]v6 WR_C58l{H 7NIǭNɦb}b}Zt'&yyڛPL/7G4}ӗ=e[;ok@K UL n():raN-t¦?>`H? ӓlU@\lҺ`Ȣ/2ɬ?~@jZtJI4A<͑Y{iT|D2~z@r"8H]2t˚Tʴ^ȯ' ?\OF^pȞݳ6YF[Sq?B''mB^شȣau {A>Pm279|QM>2ilegcLLjuC&g' bR^'L|t[ʴM-mI$ꮡa̙^ITv$h VM7= O5a$j]PN]FAdCF]$?nE܃c"Mm|er߸˓Åa\]RG/z #'482?ybGbjnƜo?JB@}"U$k'%5+ƿ8A|3Y,#_K'P1wcBA\aYrPJ,3fdHE׃! U`Hu О3ZĬ f5!I/C2'OZ-$$^3$ 2\ޚa~H7y)Bjv2ea8i!U+ E;S 4MlUp$!wI`3YmGxAqڽ$ar+\C.uo2qbwߩs 0tOH ܚl{3@S՗a\ iY+ڽRǧꄺKHN]Hd]Zp%d(If&/q/!uޙp37\!%(YcjC@|P| ꁮOp!&~dU.C]L 4&MŃA~ɺ6kf {@#:ݰ! m mZ߃jozw84B+/!GR1(k|iMIU1뼖͝79 vIdɸ9`r?4x q',xeƭ xW~:7 сc1u}ifLA ^NSc>']HXU" BB4ֽOUɠ EƅͅEC9롷Upܖrzy-I=N܉_C($6Tt"#C˕U Qc*+ w1-+PԯqGhbPbD1rq!j'fhaG r"vB;?CcOS0`x 3Pq'UUQ)ͭ{Mija[c9Т^۾ؼ b@AD?]iWޞ=GsXPA^PCW2bs{a 9uP!Jr8\gwAվřuFs*+{+?')7 I _R\qv&d,$ q^ Z)JnQ 0ۍR BhPX pY*z$v"I~峟Usp6tDXzF2aa#1H_$VoIh?n$ {b1|k^|J.-S p-&Äh1j.yH^aU\to-PEqUB#灅Ot$&f3˘@U-R&'ud_ZRTNTx|>EL@5EDe\RnBy b?^SR^&aT֎afeeKc҇M$91Ϛ2D _ DE]P0:Gx$ScKO +-| ' q%˞t+@C5Kp2$XL+5O!w^{/i v(+=?1B<6FN3uӆossڎCa jw0%7M9j Q[s[|9ECwRV/n&MiP\&_kMO"߄;<]=#Z<^ tj eD 1w.K֝hUuS>ӅbsAEŜ25l<%1)Y:]%{ :R^0]ld3Bee> >{CK0I Ϯ5Sw>EY:gZm18/4彰*BAD0c)8Y~S#"XTo EFٵc4L]Υ dٓU⾌][~ht"`]sRP\6?} Qʪ^?'v,]SW~ @k :Dw EZߕ b.*ng 6LG˗'ñ\XiyKWFsdf8SsǞPNW T*=u#M%&1 9Kw]x9U]X%Vjn(r)&p¹kϿļ \wQV[?nF$B#{b7x ϑ7J5/}[|Hsy"*oOfb)NR ]rq"@׫:crӿMË dNV2w>ǟBMl5扐458SJSk1GEƬpjîSxrqs',RWl_Gq76I0&dޝ b:SC껭2>=OO<Ou so^K<.Q ۿWك+nT[.g?k>~9.w]6]ӀRd]k`Y/v\tE_jkbJ=5C`ga)zE{bA-W-5]#8:<4GЄh1XOELvLpz^']_eqlkɊLԓ7E#=ӏyeΰ}G~$ճQįC#%*Ɇ%esPMluj58s0}Xhʃijj=]DLVCWݨ4{I "^9)Ҁq0)*(w.E᜴:ذj0枨'o\q q: sb}[IUJ_]㈗&~fuNaWO5΋~>BBaI(.jpdbL[*L82p{lnpj+S,9mڎ KH7BhDnݵn1OX?C곞r4p0/LW&3JF.P)u}O'l[ẅbĽ.)/&d" '.{Eé`1¡B^ %c7w֡j$(ꩿtDz+b0}r&xѩ(|G}z^y_qXD׉l vk[RANo@F/E؅;ѥIYG!@s5&g.ѵ# ,bdcwQ}_.wǥ>3tPRWYd߉I5]H(ƪ|H%e%R@=啤v0OfR YY^;΋ǿѽʄP/^8%'Z3G43Y (kh01>T6k2BL<}/N_Rim_=gİ 5b|Rn'4=2]NEDvSNdz")UQe}zTD{_5 ge e9T(Qj =Nͺ"a%^)]{ \(lPƣ"GKuyEU3)E_ǩ)<ˉ`|JJDG "*)E= I M%)Ko g**8[CD"xSxx:dK## ČinaX1/[vTd|o=Aol+4H7Ţo_"2FQTcRfgLo豩t= X ^ ,M,Gꑜ:9 B"ϼAc ("G c٣p\[b"nqYn*.5mj^Yؓ9EͬUYfXg rLn2m ' ܉n[&u+T^9$e^-vZ{&]jvbO>#@A@VR UM kCzΦyB*̱zIN5xf"8E03N1f oRKq>D\)U . * Zxhst;~3N5$w͛h|ECGEl鋫4C,wLa}V%lgG|~%CYJkϋA8C0pywchP4 2q \U@۵*8SW Fڍp-5ʹ0:I܎"?EbltuNE&1">ы >$?j5/yYq˶R"*Y%4\M ՄOP-0dH&~1ӏ-k?Ìb)*tuqKG&&K$B)O>9hoX4 *2Fsa˶&vE@Q=kڪ])bCi. *v`/Picped^|M^Ǭ~odS'{jNg9| Uf.f S.~cڣ(i9ọ{gyfqL-iC᧋'mV]LLեM)q&=NX]+~gh*JWQw{LplpwiM¹7+ik,Uf \ơeWLbk'T+/xWy:B^u0Ћ=R) }G;AxɗJ =YieCfYN>$is).W>2S#g":{xWGH3g|<h)e Ng@6jC%QWۀ "BjeLB-ƚF&Y<1BQ@>ż6n.yUlM;ʵ-Oܚ4%Z/ {JR]!W Y1=0sDK_6h7>Q fc"XU !