pcp-gui-6.2.0-150600.3.9.1<>,hpgQ(p9|S+cvXN[DsJ*Px :_K7&Gy%o!tP | Y{ ;HH,)s}p'qNm˃s/Ϣ 5hj+i?mkZ~1-9q6*j=0]j|p kZbhjU:Q["3Wـ'qsN8ehf>>q?qd   V $04Mn aPa a a Xa ya a|aaaFha@**$_*($8$=9%=:)=F[G[aH]|aI_aX_dY_x\_a]a8a^d becfdg&eg+fg.lg0ugDavh wlaxnayorzqdqtqxq~qCpcp-gui6.2.0150600.3.9.1Visualization tools for the Performance Co-Pilot toolkitVisualization tools for the Performance Co-Pilot toolkit. The pcp-gui package primarily includes visualization tools for monitoring systems using live and archived Performance Co-Pilot (PCP) sources.gQ(h01-ch2d&YSUSE Linux Enterprise 15SUSE LLC GPL-2.0+ AND LGPL-2.0+https://www.suse.com/System/Monitoringhttps://pcp.iolinuxx86_64 !|50S  fxd U>p,~.0x'Wr $$' A큤큤큤A큤큤AAgPMgPJgPCgPCgPBgPKgPBgPBgPCgPBgPCgPCgPCgPBgPCgPBgPBgPBgPCgPCgPCgPCgPCgPHgPCgPIgPCgPCgPCgPMgPMgPMgPMgPMgPMgPKgPLgPCgPogPogPogPogPogPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPa2e1bdd6c12296aa005be02efd0d2ffdc362e6b7f7fee7f5ae98ccbc39ceee2883435f94b486354bd0ce8f77a8d30ea9ab6ab305e9f5982db26d36a0ed0b292c08acddcb92a746842c822ecff3d25257b5e477695d02c4bdc6a561a277c4d8c00aac41e9c86d7d734213641ffcf18770356679d31d69c3332608fec143c4178922ba7d3cf5f645725b88b9b494effd5cb1c15b6491e81b72cb2d7a91f36c4a8a0b13a689e2458cd9c8037ca48a8f42c12cd93dcff8cd44817049e26c22788f92b7acd998b83f833c1eb59ec0fbdec1717b3cc7c52e0e3b1b6c435bae5548d4fb035e478676e1025c187c09f793e1b96d8cb9744857ddbfa1fe1d5529379e474adbd8ecf078a2dee1569355ded4afaa7bad07526df48798d653567fac4cbe3e47f3cdd5fa627fcb7394b4de259e6baf97ce016a72e8e67a36b9ba95133508f2250efcb9d37a126f335e6856b94d8e210af90492b80be087876df4b29ff5c275e5a4ffab2212916521a2c88a1e2277ee38a450e298baf3325fa31e565417828604beff356b8aab17f896127d305ca18f9aef388487aef960258aea137a581111726a7e0e12a917e6589fd49a8a0117c1b536623ee4ce2bbbe85245acc8e13ed78dc4ae9290a7840caa0036aa37f34cd32b9f2699aea9f8b7b834a4d7d0e8df356989f5f253579ca63e20c25d3ed957347a596f782f84044a1fb803e1b17484e61bb27c5a901708203de0897d52a6974a0eb7f62340d28fce990678679f31f4bc82bd0bcb3a812487e4dff88aed11c9d5c5ab889ca0b16793d94f45fba721ccc580424866f881528a77427e5ce8a2976bbe5db8f19c081c67e5b4626bb56ffa8fc291f5bdcb90e2ccb1f834794cecd8598a9f35cfad2e91c4aaabcc3c3e2e19752cf460aa5249c56d197c434702f0a74421cd66918e33ea02af92de86196895b5ae33edaa6a91cb4fde74231ad032e8a52cb58b92c7c83b3724ae4796346020a22624af17ca29594c4d6dcc6652a9caf6a0608a9f2ecc338167c8094b4ad2b304e663bcf2a3917f4979c424e24b750cf6f5116453c1e52c7230d2f6d133b7065baec1eb7ce468791f107a26eec065e25efb624c22f74d313226ee174ad6f1520b201f9714c9cb276e671bc8e82b5ec9c7c35cd266e94399bdb5a40ee720a2b9da2e8755d27a436a0bfc84f04cc7ff4f3bc629995a353ad61ac8dcddffef91639a5da3226af640ab3a2b73f159e5b0fa42f18ed34812870de5540e00151c06cbe1732f011293198069cd35aca8ad578a4def5b4cf8b0d0e0c04b520717538c114afcd8c5c10846949b0b378950d381781d246e8591555fbf123578d2c5fb5ef4423ddf8ade29b0ff01470a92157ff24a23235560631f37d7a955c86ee85f619fecd8bcdc4862fd4c095ccf47a50ee924b7f466ffe8a2a52282a16ceabed8fd4342b8852f6a23853a9ce4a4f52eab85f0a7d4c9aef3d9b1fada5d24ce25ee579598746a14b1ff8494729faa6c34d3d4452350f90cb7e4626466f9cc71be5c01ba622f878b59cc4fd69fe8f4ea20716b83fed3d8d05aa4227b571a84f96a7629b56b320fc2c20868c59a9ac33e3f4d13823f3b8b720d4247428f8e9318fd6972f3e613058925538ce1614ac103f449cf6547b334fc878a52549b4d0dc10b2379623b859fd3c76bfa2df5a4c0524b6cc37aaa0e1cb1565b2881971c650d7abe3db3d350193d151b2e470833962fb5cce5b60990c5d44a9dd1854b6cc4c50e37f606676d657b0bb6c555dcc725b5066321fd1c4720c5f63ac684cc3380b56ba9958ad7499bde775641c47cd6ef4cdd136f808289baf7cff5a69445113ffce5e4222443b65e9be523723a31ad0799eb60383d2f42edbb430fc20b9e40374f2ec81a5c91a9ab9837cd7a23456f66548e60f4a05587951e6bec5665670f43f1771d59299d22a91cfa09cd8aa659825dc1a37a888f510f2a08dd231c65f943a297190734915ea75461afc19890cd2cbe0f5f7debf815215a34f21c43da9b7b2a0e9d47357d7cd3f75e3f2c582ff404d94283bc8cd16af6183745b2267dd6d275ef7cc7532e097340bb69ee260aad7e0f7e0a52359742a1a5efeb30c60f9f2c1ea305fbb2ef26817ec2400f00544061393d2343c036e4317011fe01c1e1725b675765ad1c9802dc69d33a2eb1cfb4720a12e4d9a7f657829b4d191001df3d0877939e39b67b9038e8957396903cfeb38d14c4e642ae974a95f3a95b41356e6c01af14d2134eeabd9aaa6422930201a00d36cad352f5b09a74c1b830c071f1069f9a5a42b1e0eapcp/etc/pcp/pmafm/pcp-gui/etc/pcp/pmchart/Apache/etc/pcp/pmchart/ApacheServer/etc/pcp/pmchart/BusyCPU/etc/pcp/pmchart/CPU/etc/pcp/pmchart/Cisco/etc/pcp/pmchart/Disk/etc/pcp/pmchart/Diskbytes/etc/pcp/pmchart/ElasticsearchServer/etc/pcp/pmchart/Filesystem/etc/pcp/pmchart/Iostat/etc/pcp/pmchart/Iostat.DM/etc/pcp/pmchart/Iostat.MD/etc/pcp/pmchart/Loadavg/etc/pcp/pmchart/MemAvailable/etc/pcp/pmchart/Memory/etc/pcp/pmchart/NFS2/etc/pcp/pmchart/NFS3/etc/pcp/pmchart/Netbytes/etc/pcp/pmchart/Netpackets/etc/pcp/pmchart/Overview/etc/pcp/pmchart/PMCD/etc/pcp/pmchart/Paging/etc/pcp/pmchart/Sample/etc/pcp/pmchart/Schemes/etc/pcp/pmchart/Sendmail/etc/pcp/pmchart/Sockets/etc/pcp/pmchart/Swap/etc/pcp/pmchart/Syscalls/etc/pcp/pmchart/Web.Alarms/etc/pcp/pmchart/Web.Allservers/etc/pcp/pmchart/Web.Perserver.Bytes/etc/pcp/pmchart/Web.Perserver.Requests/etc/pcp/pmchart/Web.Requests/etc/pcp/pmchart/Web.Volume/etc/pcp/pmchart/shping.CPUTime/etc/pcp/pmchart/shping.RealTime/etc/pcp/pmchart/vCPU/etc/pcp/pmsnap/Snap/etc/pcp/pmsnap/crontab/etc/pcp/pmsnap/summary.htmlrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpcp-6.2.0-150600.3.9.1.src.rpmapplication()application(pmchart.desktop)config(pcp-gui)pcp-guipcp-gui(x86-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/shconfig(pcp-gui)dejavu-fontslibQt5Core.so.5()(64bit)libQt5Core.so.5(Qt_5)(64bit)libQt5Core.so.5(Qt_5.15)(64bit)libQt5Gui.so.5()(64bit)libQt5Gui.so.5(Qt_5)(64bit)libQt5Network.so.5()(64bit)libQt5Network.so.5(Qt_5)(64bit)libQt5PrintSupport.so.5()(64bit)libQt5PrintSupport.so.5(Qt_5)(64bit)libQt5Svg.so.5()(64bit)libQt5Svg.so.5(Qt_5)(64bit)libQt5Widgets.so.5()(64bit)libQt5Widgets.so.5(Qt_5)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libc.so.6(GLIBC_2.4)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2.5)(64bit)libm.so.6(GLIBC_2.29)(64bit)libpcp.so.3()(64bit)libpcp.so.3(PCP_3.0)(64bit)libpcp.so.3(PCP_3.2)(64bit)libpcp.so.3(PCP_3.21)(64bit)libpcp.so.3(PCP_3.22)(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)6.2.0-150600.3.9.13.0.4-14.6.0-14.0-15.2-14.14.3gffK;@fK;@ee@eWUc b@b=b= 15 (bsc#1231345).- Fix symlink race; CVE-2024-45770; (bsc#1230552) + 0012-src-pmpost-pmpost.c-guard-against-possible-symlink-a.patch - Fix pmstore corruption; CVE-2024-45769 (bsc#1230551) + 0013-src-libpcp-src-p_result.c-correct-buffer-over-run-te.patch + 0014-src-libpcp-src-p_result.c-hardening-of-the-result-PD.patch + 0015-src-libpcp-src-p_result.c-hardening-of-result-PDU-ev.patch + 0016-src-libpcp-src-p_result.c-rework-PDU-integrity-check.patch + 0017-src-libpcp-src-p_result.c-re-instate-__pmPrintResult.patch + 0018-src-libpcp-src-p_result.c-re-instate-__pmPrintResult.patch + 0019-src-libpcp-src-p_result.c-32-bit-fix-for-SUSE-Issue-.patch- Refresh patches: * 0001-Install-libraries-without-exec-permission.patch * 0002-Remove-CPAN-rpaths.patch * 0003-Remove-runlevel-4-from-init-scripts.patch * 0010-services-switch-logutil-and-pmieutil-scripts-from-ty.patch - Add fix for bsc#1222121, CVE-2024-3019: + 0011-disable-redis-proxying-by-default.patch - move pmlogger_daily into main package (bsc#1222815) - fix compile flags conflusion - Upgrade to 6.2.0 (bsc#1217826 / PED#8192 / ECO PED#8389 / CVE-2023-6917): * Changes from pcp-6.2.0: - Client tools and utilities: pmlogger: default to creating version 3 PCP archives pmie, pmlogger, pmcd, pmproxy: init script hardening to run less as root:root, more as pcp:pcp and more safely pcp-reboot-init: new systemd service for $PCP_RC_DIR setup pcp2arrow: new, export metrics to parquet format for pandas pcp-atop: deterministic process sort when handling NULLs pcp-atop: update to v2.10.0 upstream code pcp-htop: update to latest upstream fixes pcp-geolocate: function with older versions of python pcp-meminfo: resolve possible 'broken pipe' diagnostics pcp-ss: fix handling of listening state sockets to match ss pcp-ss: fix the UDP UNCONN vs LISTEN state handling - PMDA additions, enhancements and bug fixes: pmdaproc: improvements for process accounting metrics pmdalinux: add pgpromote* and pgdemote* memory metrics pmdalinux: add metric sysfs.module.zswap.max_pool_percent pmdalinux: add new SNMP metric network.ip.outtransmits pmdasummary: send state change 0 (no change) back to pmcd pmdapostgresql: support the psycopg3 python module as well pmdaopenmetrics: kepler support - live metrics and logging - Server-side utilities and log management scripts: pmlogrewrite, pmlogredact: fix for missing data volumes pmcd: cosmetic change to avoid pipe2 name clash runaspcp: new helper utility for unprivileged rc scripts pmnsmerge: be more defensive in qsort comparison routine pmlogsize: fix qsort comparison function handling of equality - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp: pmOpenLog refactor for handling previous log files libpcp: new __pmCleanMapDir routine to aid log culling libpcp & pmcd: READY-NOT-READY hardening libpcp: avoid possible thread issues (coverity) libpcp: refactor pmDupContext for thread safety libpcp_import: add guard in pmiPutMark to prevent SIGSEGV - Build, infrastructure and packaging updates: build: changes to re-enable builds for FreeBSD 12, 13, 14 build: add diffutils rpm dep as pmdaproc script uses diff build: add main.yml for building and publishing container build: resolve compiler warnings in various tools/libraries packaging: use tmpfiles.d method to create PCP_RUN_DIR build: packaging changes for openSUSE 15.5 and 15.6 debian: do not ship empty directory /usr/lib/pkgconfig build: el10 systemd-presets for pmcd/pmie/pmlogger enabling build: drop rpm dep on bpftool as local version used only build: change perl YAML::XS::LibYAML module to YAML::XS - Security Enhanced Linux: selinux: policy improvements for CentOS/RHEL 7 and 8 - Documentation: docs: Fedora 39 found some tbl(1)/troff(1) issues, fix docs: add an explicit code-of-conduct for PCP docs: pmns(5) note that metric names must only contain ASCII docs: update the BPF README to describe bpftool reality * Changes from pcp-6.1.1: - Client tools and utilities: pmie: add -o/--format to control output format with archives pcp-geolocate: automatic latitude and longitude metric labels pcp-atop: fix segv encountered on a multi-node NUMA system pcp-atop: add last level cache support using pmdaresctrl pcp-htop: updated with latest fixes from htop.dev pcp-netstat: without time options report one sample only pcp-netstat: add machine header info pcp-meminfo: without time options report one sample only pcp-meminfo: add machine header info pcp-buddyinfo: resolve a key issue when using python v2 pcp-zoneinfo: ensure determinism in pcp-zoneinfo output pcp-zoneinfo: fix failure with older PCP metric instances - PMDA additions, enhancements and bug fixes: pmdaresctrl: new PMDA for x86_64 last level cache metrics pmdafarm: new Seagate Field Access Reliability Metrics PMDA pmdadarwin: updated for changes in NFS stats management pmdalinux: new mem.util metrics from recent kernel versions pmdalinux: new networking metrics relating to MPTcpExt pmdasockets: allow sockets with duplicate sources to exist pmdabpftrace: rework exit/wait handling to avoid errors pmdahaproxy: fixed connect script handling of string quoting pmdastatsd: fixed metadata for a couple of metrics pmdalinux: fixed semantics for mem.vmstat.nr_free_cma metric pmdadenki: simplification and refactoring of metrics pmdagfs2: correct permissions of several installed files pmdakvm: fixed semantics for kvm.largepages metric - Server-side utilities and log management scripts: pmproxy: add support for HTTP compression pmlogger: rework heuristic for Latest folio creation pmlogctl: fix incorrect rewriting of PCP_ARCHIVE_DIR pmlogredact: add latitude and longitude labels to redacted set pmlogrewrite: resolve a small memory leak pmlogrewrite: use PM_CTXFLAG_METADATA_ONLY for speed pmcd: add $PMCD_CREDS_TIMEOUT as an alternative to -q - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp: new PM_CTXFLAG_METADATA_ONLY flag for pmNewContext libpcp: fix a couple of derived metric bugs libpcp_web: implement config override by canonical env vars - Misc build, infrastructure and packaging updates: build: new CI build to keep PCP for MacOS up-to-date build: several fixes to tools when compiling with clang build: install pmlog[redact,reduce,rewrite] on default PATH build: default to using a path-prefixed PCP_PYTHON_PROG build: update the Fedora container to f38 build: drop of i386/i686 architectures from Fedora builds build: enable build of pmdalibvirt on CentOS 7 platform build: enable Qt6 in Fedora and post-RHEL-9 rpm spec files build: add pyodbc rpm dep for pcp-pmda-mssql in RHEL 9 - Security Enhanced Linux: selinux: allow pmproxy use the io_uring API selinux: policy fixes for recent AVCs on RHEL 7.9 selinux: add netlink_kobject_uevent_socket getattr (bpftrace) - Documentation: man pages: change all to map font CW -> CR for latest groff man: note pmseries Redis timeseries load order limitation * Changes from pcp-6.1.0: - pmlogredact: new command for archive anonymisation - pcp-atop: new bar graph visualisation mode - pcp-atop: update to atoptool.nl 2.9.1 sources - pcp-htop: support dynamic screens (user-configurable tabs) - pcp-htop: update to latest upstream source - pcp-htop: default screens for filesystems, disks and cgroups - pcp-htop: non-default screens for several libbpf modules - pcp-htop: fix mishandling of some process argument shading - pcp-buddyinfo: new tool reporting Linux buddyinfo stats - pcp-meminfo: new tool reporting Linux kernel memory stats - pcp-netstat: new tool reporting networking statistics - pcp-slabinfo: new tool reporting Linux slabinfo kernel stats - pcp-zoneinfo: new tool reporting Linux zoneinfo kernel stats - pmsleep,pmpause: add -w where option for systemd annotation - pmieconf: move test_action from primary into a separate group - pmieconf: update webhook action for better EDA integration - pmlogconf: remove latency-inducing fsync on config write - pmlogconf: updates for new metrics used in pcp-atop - pmdalinux: add three new /proc/vmstat pscan/pgsteal metrics - pmdalinux: fix bug when lsb-release is only /etc/*-release file - pmdabpf: add -q/--tryload command line option - pmdaopenmetrics: reduce transient instance logs, improve labels - libpcp: improved SSL error reporting - selinux: add policy updates for pmproxy (io_uring,ipc_lock) - build: support for Qt6, drop remaining Qt4 configure-support - build: updated licence strings in spec files to follow SPDX - build: default to using a path-prefixed PCP_PYTHON_PROG - build: fix several makefile clean targets for deb packagers - build: configure.ac update to autoconf 2.71 - build: add tarball upload to release workflow - docs: pmie updates to explain action behaviour with archives - docs: retire "archive log" phrase from man pages and books - docs: transition Artifactory (no free service) to Packagecloud * Changes from pcp-6.0.5: - pmie: ensure pmie.log.YYYYMMDD is owned by pcp:pcp - pcp2json: extend pcp2json with an option to send HTTP POSTs - pmlogger: fix pidfile update; pmlogger.pid is for primary only - pmdumptext: fix scaling when -i command line option is used - pmlogextract: improve resilience in corner-case conditions - pmdasmart: additional NVME power state metrics - pmdasmart: additional NVME disk information metrics - pmdasmart: update help with proper description of DC status - pmdasmart: filter out zram devices when probing for devices - pmdahacluster: handle pacemaker 2.1.5 crm_mon output changes - pmcd: improve debugging flags and diagnostics in general - libpcp_pmda: refactor and improve library diagnostics - selinux: updates to policy for pmlogger and pmlogger_daily - build: switch rpm spec files to SPDX license identifiers - build, qa: numerous updates to improve PCP on OpenBSD - build: switch from registry.centos.org to quay.io for el6/el7 - ci: add centos6 back into the fold as its on quay.io now - ci: add Debian 12, drop Ubuntu 16 and Fedora 35 * Changes from pcp-6.0.4: - pmcd: propogate a new PMCD_HOSTNAME_CHANGE flag to clients - pmdumplog: support preferred alternate name pmlogdump - pmlogger: changes to accommodate PMCD_HOSTNAME_CHANGE - pmlogger_janitor: new script called from pmlogger_check - pmlogger: add -d directory argument for alternate naming schemes - pmlogrewrite: fix remaining corner case for indom renumbering - pmie: changes to accommodate PMCD_HOSTNAME_CHANGE - pmie: catching SIGUSR1 triggers a pending task dump - pmie_{check,daily}: change pmie.log handling regime - pmieconf: add support for a webhook action to pmieconf - pmieconf: add a wall rule action for adm group members - pmieconf: add support for an action testing rule - pmieconf: use correct pmieconf percent type for thermal throttle - pmieconf: add minimum pct conjunction to entropy for small poolsizes - pminfo: use -b to batch pmDesc retrievals as well as pmResult - pmstat: fix corner case handling of automatic pmcd reconnect - pcp2influxdb: add requests.post timeout to avoid hangs - pcp-dstat: fixes CSV output to show all (not visible) plugins - pcp-htop: support File Descriptor Meter - pcp-htop: sync latest fixes from upstream htop - pcp-mpstat: fixed broken pipe issue - pcp-ps: fix exception handling for process name - rc scripts: ensure pmcd.conf not rewritten unnecessarily - pmdalinux: add a couple of new /proc/net/snmp ICMP metrics - pmdalinux: add new network.tcp.tcpplbrehash metric - pmdaproc: add new proc.smaps.pss_dirty metric - pmdarabbitmq: add timeout handling to http requests - pmdastatsd: stats and blocklisted metric names alignment - libpcp: new pmAddDerivedText API for derived metric help text - libpcp: check level parameter on entry to pmLookupText - libpcp: new PMAPI error code addition for bad API arguments - libpcp: allow derived metrics semantics of 'similar' indoms - selinux: add missing context information on farm services - build: fix a number of Debian sub-package dependency issues * Changes from pcp-6.0.3: - build: fix Debian postinst script handling of missing systemctl - pmdaproc: support per-cgroup IRQ PSI metrics in recent kernels - pmdalinux: support for system wide IRQ PSI metrics in recent kernels - pmlogrewrite: improved handling of unused instance domains * Changes from pcp-6.0.2: - Client tools and utilities: pcp-atop: update to latest upstream atoptool.nl sources pcp-atop: cgroup, NUMA memory and NUMA CPU support pcp-htop: update to latest upstream htop.dev sources pcp-dstat: fix handling of --swap with -f (full) option pcp-dstat: fix columns for --net-packets pcp-mpstat: fix handling of log-once summary metric values pcp-mpstat: improve error handling for the current values pcp-ps: added capabilities to show N samples with archives pcp-ps: fix handling of the -o option pcp-ps: fix broken pipe errors when piping to head(1) pcp-ps: fix process "START" column calculation and rounding pcp-pidstat: fix broken pipe errors when piping to head(1) pmdumplog: extend -x so -xxx reports timestamps in Epoch format pmlogger: refactor getting FQDN for local host - PMDA additions, enhancements and bug fixes: pmdabpf: set config default for biosnoop module to disabled pmdabpf: port forward to latest vendored libbpf-tools code pmdalinux: boolean metric network.interface.virtual from sysfs pmdalinux: more careful slabinfo 32/64 bit type multiplication pmdalinux: add NUMA external fragmentation metric via sysfs pmdalinux: fix pmid numbering issue with hinv.map.scsi_id pmdanfsclient: fix srcport handling for RDMA and UDP mounts pmdaopenmetrics: validate all names before using them for metrics pmdaoverhead: new PMDA to measure overhead for groups of processes pmdastatsd: static metric memory leak fix pmdastatsd: ragel parser refactor and fix - Server-side utilities and log management scripts: pmieconf: new pmie rule checking file descriptor limits - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp: fix buffer issue for user/group name lookups libpcp_web: improve error handling in pmseries AST parser - Misc build, infrastructure and packaging updates: configure.ac: fixes for improved C99 compatibility configure.ac: use QTDIR search path only when given MacOS: build: fix shared library builds on modern Macs OpenBSD: build updates for clang, Qt and openssl libbpf: updated minimium version to 0.8.0, ARM and PPC support Qt: update minimum required versions for libqwt Drop no-longer-used pmlogger_daily_report systemd rpm spec code Determine clang version without optional llvm-config utility Another attempt to get the man/man-db/mandoc stuff sorted - Security Enhanced Linux: Policy updates for pmdastatsd - Documentation and QA infrastructure: Add help text for some OpenBSD kernel instance domains Provide more detailed explanation for default PMLOGGER_INTERVAL pmdaChildren(3): clarify the memory allocation scheme pcp-ps(1) man page fixes. * Changes from pcp-6.0.1: - Security Enhanced Linux: selinux: rework policy to use optional_policy selinux: rework policy to use an independent policy selinux: new cluster_exec_t policy handling for pmdahacluster(1) selinux: retire those parts of the build affecting CentOS 6 - PMDA additions, enhancements and bug fixes: pmdabpf: set perf_buffer__poll timeout to 0 for optimal sampling pmdabpf: add CO-RE biosnoop pmdabpf: no BPF debug messages unless debugging (-Ddev0) pmdalinux: add "squashfs" to the list of ignored filesystem types pmdasnmp: install agent specific configuration file to PMDATMPDIR pmdakvm: initialise perf_event interface only if/when needed - Client tools and utilities: pcp-ps: initial version of a PCP implementation of ps(1) pcp-dstat: add --nomissed command line option for large systems pmfind, libpcp_web: MMV and shutdown memory management fixes pmlogreduce: fix corner-case in temporal index generation pmlogcheck: tighten some pmlogcheck pass0 checks pmseries: fix sampling when start < first sample or series has gaps shell completion: improve pmrep/zsh instance completion in live mode shell tools: convert fgrep and egrep over to grep -F and -E - Server-side utilities and log management scripts: pmlogger_daily_report: no longer needs any systemd support now pmlogger_daily.sh: fix pmlogger_daily_report test for zeroconf - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp_web: fix race conditions affecting pmproxy libpcp_web: allow scalar operands in pmseries expressions libpcp_web: add pmseries float multiplication - Misc build, infrastructure and packaging updates: build: add PCP archive analysis container build: updates to fix Windows platform builds build: update configure.ac to allow builds on Mac M1 (arm64) build: make openSUSE spec file builds work again containers: remove /build directory debian: use deb-systemd-helper if available build: fix libpcp check-statics regexp error with objects in subdirs build: podman PMDA no longer has deps, make it unconditional build: don't package and install pmrep xtract-names helper build: updates to hiredis code for pmseries and pmproxy build: updates to hiredis-cluster code for pmseries and pmproxy build: fix Makepkgs handling of argument parameters build: use vendored github.com/libbpf/bpftool/libbpf and update build: use vendored github.com/iovisor/bcc/libbpf-tools build: use vendored git.code.sf.net/p/qwt and update build: fix bpf PMDA inclusion check build: fix windows default pmcd.conf entry, dup path component build: rework Python3 and Python2 configure.ac logic packaging: fix rpm systemd-sysusers on f37 and rawhide - Documentation and QA infrastructure: docs: small typo fixes relating to secure connections docs: fix sheet2pcp(1) man page quoting in examples pmdasample: additional metrics for testing cases * Changes from pcp-6.0.0: - Major changes: 1. Add version 3 PCP archive support: instance domain change-deltas, Y2038-safe timestamps, nanosecond-precision timestamps, arbitrary timezones support, 64-bit file offsets used throughout for larger (beyond 2GB) individual volumes. * * Opt-in using the /etc/pcp.conf PCP_ARCHIVE_VERSION setting. ** * * Version 2 archives remain the default (for next few years). ** 2. Switch to using OpenSSL only throughout PCP (dropped NSS/NSPR); this impacts on libpcp, PMAPI clients and PMCD use of encryption; these are now configured and used consistently with pmproxy HTTPS support and redis-server, which were both already using OpenSSL. 3. New nanosecond precision timestamp PMAPI calls for PCP library interfaces that make use of timestamps. These are all optional, and full backward compatibility is preserved for existing tools. - Client tools and utilities: pcp2elasticsearch: implement authentication support pcp-dstat: implement support for the top-alike plugins pcp-dstat: add plugin configuration for ZFS metrics pcp-dstat: battery charge remaining config using denki metrics pcp-htop: update to latest stable upstream release pcp-htop: initial support for screen tabs in the user interface pcp-pidstat: correct operation of the -p ALL|SELF options pmlogger: small changes for handling derived metrics better pmlogger, import: support configurable default archive version pcp2xxx: ignore pmrep-specific options pmlogger: extra hardening, backtrace symbol improvements pmlogger: add -V (output archive version) command line option pmseries: add sum(), avg() and stdev() functions pmseries: add nth_percentile() and topk() functions pmseries: add max_inst() and max_sample() functions pmseries: add min_inst() and min_sample() functions pmseries: be more defensive during shutdown error paths pmseries: fix assumption that any 40-character string is a SID pmseries: allow reporting values from SIDs (not just queries) sheet2pcp: add -V (output archive version) command line option ganglia2pcp: add -V (output archive version) command line option iostat2pcp: add -V (output archive version) command line option - PMDA additions, enhancements and bug fixes: pmdaapache: do time_t manipulation with sufficient space pmdabcc: sync bcc PMDA modules with upstream bcc tools pmdabpf: adds CO-RE (Compile Once - Run Everywhere) modules (exitsnoop, oomkill, bashreadline, mountsnoop, vfsstat, opensnoop, fsslower, statsnoop, tcpconnlat, tcpconnect) pmdabpf: support x86, arm and powerpc pmdabpf: fixed persistence of indom and cluster identifiers pmdabpf: rework setrlimit() logic for some small memory hosts pmdabpftrace: move example autostart scripts to /usr/share pmdabpftrace: update biolatency example script for kernel 5.16+ pmdadenki: fix battery detection for non-intel systems pmdadenki: add support for multiple active batteries pmdadenki: support the -D option for debugging pmdadenki: improve labels associated with metrics pmdadenki: add battery capacity metric pmdadenki: add separate indom help text pmdalinux: add new MpTcpExt metrics from latest Linux 5.x kernels pmdalinux: updates for latest /proc/net/netstat kernel changes pmdalinux: improve network metrics help text pmdalinux: fix of tty metrics on s390x platform pmdamailq: update to ensure Y2038-safe time_t handling pmdammv: use highest available timestamp resolution pmdaopenvswitch: additional interface and coverage stats pmdapostfix: harden against a not-yet-running postfix pmdaproc: fix psargs string for processes with very large PIDs pmdaproc: fix cgroup cpu metrics refresh structures pmdasockets: prevent string overwrite of ss_stats_t fields pmdasockets: add checking to the pmStore filter strings pmdastatsd: fix detection of failure memory allocation - Server-side utilities and log management scripts: pmproxy: allow request parameters to be sent in the request body pmproxy: fix race on teardown of pcp protocol proxy clients pmproxy: improve error checking, check uv_pipe_bind result pmproxy: harden logging interfaces, racing with startup pmieconf: add several pmie rules for Open vSwitch metrics pmlogrewrite: subtle change in semantics for error checking pmlogreduce: allow sub-second values for -t option pmlogreduce: temporal index, add entries after 100k of data volume pmlogcheck: beef up pass 0 to check metadata record types pmlogconf: fix reprobing with interactive changes pmlogmv: fallback to copy for cross-mount case when link fails pmlogmv: add -c (paranoid checksum) option pmlogger_farm: add default configuration file for farm loggers pmlogger_check: increase PMLOGGER_REQUEST_TIMEOUT from 2 to 10 secs pmlogger_daily: callbacks for extra daily log processing tasks pmlogger_daily, pmlogger_check: additional systemd-driven changes pmlogger_daily: move redirection of stdout+stderr earlier in script pmlogger_daily: abandom use of fmt(1) - not portable - uses awk now pmlogger_daily_report.sh: some major efficiency improvements pmlogger_daily_report: re-enabled for rpm and deb builds pmie_check: avoid leaving lock file and temp dir behind pm{log,ie}ctl: handle embedded shell syntax in control lines pm{log,ie}ctl: add -C args option to pass "args" to pm{logger,ie}_check systemd units: pmlogger and pmie farm conditional use of type=exec rc-pmcd: reorder the systemd paths attempted in migrate_pid_cgroup dbpmda: fix an overlapping copy and add error handling - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp_archive: new library for apps that write PCP archives libpcp: optimize indom handling in fetchgroup code libpcp: drop time_t abuse in getdate.y, use safe sizes libpcp: add __pmDumpPDUTrace() and circular trace buffer libpcp: add PM_ERR_FEATURE, PM_ERR_TLS error codes libpcp: refactor __pmDumpStack(), improve direct calling tools libpcp_qmc: require Qt5.6 as the minimum version for builds libpcp_qmc: resolve the Qt::endl warning more cleanly libpcp_web: stop Redis initialization if Redis version tool old libpcp_web: honour config settings that disable redis completely libpcp_web: fix memory leaks in discovery, query parsing and APIs libpcp_web: honor exclude.metrics setting in pmseries --load libpcp_web: run pmFetchArchive(3) in a worker thread libpcp_web: fix race condition tearing down load baton libpcp_pmda: ensure indom cache write handles time_t safely libpcp_import: add interface for setting output log version libpcp_import: interfaces for samples with high-resolution timestamps python api: updates to allow building from outside git repo python api: allow tools using pmconfig module to ignore options python api: add python wrappers for highres PMAPI routines python api: correct refcounting on pmParseMetricSpec source buffer - Security Enhanced Linux: selinux: additional policy rules, esp glusterd_log_t selinux: bcc PMDA policy to exec private memfd ctypes/libffi objects selinux: make use of syslogd_var_run_t map rule conditional selinux: policy updates needed for the pmdasockets metrics selinux: fine-tune netlink_tcpdiag_socket policy for all platforms - Misc build, infrastructure and packaging updates: build: latest distros supported (ubuntu 22.04, fedora 37, rhel9, etc) build: reproducible debian build efforts build: use standard dpkg buildflags variables. build: add BuildRequires: python*-pymongo to mongodb PMDA build: detect libbpf version for the BPF PMDA build: do not transform symlink targets when generating the source tarball build: update artifactory deploy script, add recalculate_metadata subtask build: update configure script for python2 retirement in rhel9 build: convert libpcp check-statics to using readelf if available build: updates to libpcp check-statics for OpenBSD build: fix configure detection of backtrace() and associated hooks build: fixed source dependencies within libpcp_web makefile build: add rpm conflicts lines on postgresql-pgpool-II build: remove pmclient reliance on libpcp.h for timed sleep build: remove mmvdump reliance on libpcp.h for mmap wrapper build: make perl truly conditional in the PCP build build: drop no-longer-needed NSS/NSPR package deps build: resolve ostree non-writable /var for pmieconf packaging: update rpm specs to solve systemd warnings container: bump base image version Makepkgs: fix for Debian build (and Qt packaging failure in CI) vendor: switch to git-subtree for iovisor/bcc libbpf-tools code - Documentation and QA infrastructure: docs: update notes about sar2pcp, iostat2pcp in pcpcompat(1) docs: add section to pcpcompat(1) about python2 docs: add fix for readthedocs compilation error docs: updates to the Quick Guide documents docs: clatifications to pmrep et al: man pages docs: improve pmproxy timeseries and pmseries load documentation docs: further improvements and fixes to the INSTALL doc docs: add pmlogger(1) -V, describe $PCP_ARCHIVE_VERSION in pcp.conf. docs: small fixes to the pcp-pidstat man page docs: fix webapi documentation typo around polltimeout pylint: numerous issues resolved, tracking latest versions qa: regression tests for bpftrace PMDA: check probes qa: pmdabcc pylint fixups qa: rework Redis PING-PONG checks qa/check: run tests under timeout(1) control if possible qa-summary: allow unified reporting from CI and QA Farm qa/admin/show-me-all & qa/show-me: changes for CI integration qa/check: add support for "triaged" tests ci: send report to Slack when QA workflow is triggered manually ci: add required packages to enable bpf PMDA on CentOS Stream 9 ci: run CodeQL daily and for each PR ci: run full QA on pull requests, save history ci: unset XDG_RUNTIME_DIR when invoking podman - Change dependency from openssl-devel >= 1.1.1 to openssl-devel >= 1.0.2p. Required for SLE-12, builds just fine. - Disable 'pmda-infiniband' subpackage for SLE-12. Required so it builds cleanly. - Introduce pmda-resctrl package, disabled for architectures other than x86_64. - Change the architecture for various subpackages to 'noarch' as they contain no binaries, this lowers rpmlint's badness score substantially. - Disable 'pmda-mssql', as it fails to build.- Refresh patches: * 0001-Install-libraries-without-exec-permission.patch * 0002-Remove-CPAN-rpaths.patch * 0003-Remove-runlevel-4-from-init-scripts.patch * 0010-services-switch-logutil-and-pmieutil-scripts-from-ty.patch - Add fix for bsc#1222121: + 0011-disable-redis-proxying-by-default.patch - move pmlogger_daily into main package (bsc#1222815) - fix compile flags conflusion - Upgrade to 6.2.0 (bsc#1217826 / PED#8192 / ECO PED#8389): * Changes from pcp-6.2.0: - Client tools and utilities: pmlogger: default to creating version 3 PCP archives pmie, pmlogger, pmcd, pmproxy: init script hardening to run less as root:root, more as pcp:pcp and more safely pcp-reboot-init: new systemd service for $PCP_RC_DIR setup pcp2arrow: new, export metrics to parquet format for pandas pcp-atop: deterministic process sort when handling NULLs pcp-atop: update to v2.10.0 upstream code pcp-htop: update to latest upstream fixes pcp-geolocate: function with older versions of python pcp-meminfo: resolve possible 'broken pipe' diagnostics pcp-ss: fix handling of listening state sockets to match ss pcp-ss: fix the UDP UNCONN vs LISTEN state handling - PMDA additions, enhancements and bug fixes: pmdaproc: improvements for process accounting metrics pmdalinux: add pgpromote* and pgdemote* memory metrics pmdalinux: add metric sysfs.module.zswap.max_pool_percent pmdalinux: add new SNMP metric network.ip.outtransmits pmdasummary: send state change 0 (no change) back to pmcd pmdapostgresql: support the psycopg3 python module as well pmdaopenmetrics: kepler support - live metrics and logging - Server-side utilities and log management scripts: pmlogrewrite, pmlogredact: fix for missing data volumes pmcd: cosmetic change to avoid pipe2 name clash runaspcp: new helper utility for unprivileged rc scripts pmnsmerge: be more defensive in qsort comparison routine pmlogsize: fix qsort comparison function handling of equality - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp: pmOpenLog refactor for handling previous log files libpcp: new __pmCleanMapDir routine to aid log culling libpcp & pmcd: READY-NOT-READY hardening libpcp: avoid possible thread issues (coverity) libpcp: refactor pmDupContext for thread safety libpcp_import: add guard in pmiPutMark to prevent SIGSEGV - Build, infrastructure and packaging updates: build: changes to re-enable builds for FreeBSD 12, 13, 14 build: add diffutils rpm dep as pmdaproc script uses diff build: add main.yml for building and publishing container build: resolve compiler warnings in various tools/libraries packaging: use tmpfiles.d method to create PCP_RUN_DIR build: packaging changes for openSUSE 15.5 and 15.6 debian: do not ship empty directory /usr/lib/pkgconfig build: el10 systemd-presets for pmcd/pmie/pmlogger enabling build: drop rpm dep on bpftool as local version used only build: change perl YAML::XS::LibYAML module to YAML::XS - Security Enhanced Linux: selinux: policy improvements for CentOS/RHEL 7 and 8 - Documentation: docs: Fedora 39 found some tbl(1)/troff(1) issues, fix docs: add an explicit code-of-conduct for PCP docs: pmns(5) note that metric names must only contain ASCII docs: update the BPF README to describe bpftool reality * Changes from pcp-6.1.1: - Client tools and utilities: pmie: add -o/--format to control output format with archives pcp-geolocate: automatic latitude and longitude metric labels pcp-atop: fix segv encountered on a multi-node NUMA system pcp-atop: add last level cache support using pmdaresctrl pcp-htop: updated with latest fixes from htop.dev pcp-netstat: without time options report one sample only pcp-netstat: add machine header info pcp-meminfo: without time options report one sample only pcp-meminfo: add machine header info pcp-buddyinfo: resolve a key issue when using python v2 pcp-zoneinfo: ensure determinism in pcp-zoneinfo output pcp-zoneinfo: fix failure with older PCP metric instances - PMDA additions, enhancements and bug fixes: pmdaresctrl: new PMDA for x86_64 last level cache metrics pmdafarm: new Seagate Field Access Reliability Metrics PMDA pmdadarwin: updated for changes in NFS stats management pmdalinux: new mem.util metrics from recent kernel versions pmdalinux: new networking metrics relating to MPTcpExt pmdasockets: allow sockets with duplicate sources to exist pmdabpftrace: rework exit/wait handling to avoid errors pmdahaproxy: fixed connect script handling of string quoting pmdastatsd: fixed metadata for a couple of metrics pmdalinux: fixed semantics for mem.vmstat.nr_free_cma metric pmdadenki: simplification and refactoring of metrics pmdagfs2: correct permissions of several installed files pmdakvm: fixed semantics for kvm.largepages metric - Server-side utilities and log management scripts: pmproxy: add support for HTTP compression pmlogger: rework heuristic for Latest folio creation pmlogctl: fix incorrect rewriting of PCP_ARCHIVE_DIR pmlogredact: add latitude and longitude labels to redacted set pmlogrewrite: resolve a small memory leak pmlogrewrite: use PM_CTXFLAG_METADATA_ONLY for speed pmcd: add $PMCD_CREDS_TIMEOUT as an alternative to -q - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp: new PM_CTXFLAG_METADATA_ONLY flag for pmNewContext libpcp: fix a couple of derived metric bugs libpcp_web: implement config override by canonical env vars - Misc build, infrastructure and packaging updates: build: new CI build to keep PCP for MacOS up-to-date build: several fixes to tools when compiling with clang build: install pmlog[redact,reduce,rewrite] on default PATH build: default to using a path-prefixed PCP_PYTHON_PROG build: update the Fedora container to f38 build: drop of i386/i686 architectures from Fedora builds build: enable build of pmdalibvirt on CentOS 7 platform build: enable Qt6 in Fedora and post-RHEL-9 rpm spec files build: add pyodbc rpm dep for pcp-pmda-mssql in RHEL 9 - Security Enhanced Linux: selinux: allow pmproxy use the io_uring API selinux: policy fixes for recent AVCs on RHEL 7.9 selinux: add netlink_kobject_uevent_socket getattr (bpftrace) - Documentation: man pages: change all to map font CW -> CR for latest groff man: note pmseries Redis timeseries load order limitation * Changes from pcp-6.1.0: - pmlogredact: new command for archive anonymisation - pcp-atop: new bar graph visualisation mode - pcp-atop: update to atoptool.nl 2.9.1 sources - pcp-htop: support dynamic screens (user-configurable tabs) - pcp-htop: update to latest upstream source - pcp-htop: default screens for filesystems, disks and cgroups - pcp-htop: non-default screens for several libbpf modules - pcp-htop: fix mishandling of some process argument shading - pcp-buddyinfo: new tool reporting Linux buddyinfo stats - pcp-meminfo: new tool reporting Linux kernel memory stats - pcp-netstat: new tool reporting networking statistics - pcp-slabinfo: new tool reporting Linux slabinfo kernel stats - pcp-zoneinfo: new tool reporting Linux zoneinfo kernel stats - pmsleep,pmpause: add -w where option for systemd annotation - pmieconf: move test_action from primary into a separate group - pmieconf: update webhook action for better EDA integration - pmlogconf: remove latency-inducing fsync on config write - pmlogconf: updates for new metrics used in pcp-atop - pmdalinux: add three new /proc/vmstat pscan/pgsteal metrics - pmdalinux: fix bug when lsb-release is only /etc/*-release file - pmdabpf: add -q/--tryload command line option - pmdaopenmetrics: reduce transient instance logs, improve labels - libpcp: improved SSL error reporting - selinux: add policy updates for pmproxy (io_uring,ipc_lock) - build: support for Qt6, drop remaining Qt4 configure-support - build: updated licence strings in spec files to follow SPDX - build: default to using a path-prefixed PCP_PYTHON_PROG - build: fix several makefile clean targets for deb packagers - build: configure.ac update to autoconf 2.71 - build: add tarball upload to release workflow - docs: pmie updates to explain action behaviour with archives - docs: retire "archive log" phrase from man pages and books - docs: transition Artifactory (no free service) to Packagecloud * Changes from pcp-6.0.5: - pmie: ensure pmie.log.YYYYMMDD is owned by pcp:pcp - pcp2json: extend pcp2json with an option to send HTTP POSTs - pmlogger: fix pidfile update; pmlogger.pid is for primary only - pmdumptext: fix scaling when -i command line option is used - pmlogextract: improve resilience in corner-case conditions - pmdasmart: additional NVME power state metrics - pmdasmart: additional NVME disk information metrics - pmdasmart: update help with proper description of DC status - pmdasmart: filter out zram devices when probing for devices - pmdahacluster: handle pacemaker 2.1.5 crm_mon output changes - pmcd: improve debugging flags and diagnostics in general - libpcp_pmda: refactor and improve library diagnostics - selinux: updates to policy for pmlogger and pmlogger_daily - build: switch rpm spec files to SPDX license identifiers - build, qa: numerous updates to improve PCP on OpenBSD - build: switch from registry.centos.org to quay.io for el6/el7 - ci: add centos6 back into the fold as its on quay.io now - ci: add Debian 12, drop Ubuntu 16 and Fedora 35 * Changes from pcp-6.0.4: - pmcd: propogate a new PMCD_HOSTNAME_CHANGE flag to clients - pmdumplog: support preferred alternate name pmlogdump - pmlogger: changes to accommodate PMCD_HOSTNAME_CHANGE - pmlogger_janitor: new script called from pmlogger_check - pmlogger: add -d directory argument for alternate naming schemes - pmlogrewrite: fix remaining corner case for indom renumbering - pmie: changes to accommodate PMCD_HOSTNAME_CHANGE - pmie: catching SIGUSR1 triggers a pending task dump - pmie_{check,daily}: change pmie.log handling regime - pmieconf: add support for a webhook action to pmieconf - pmieconf: add a wall rule action for adm group members - pmieconf: add support for an action testing rule - pmieconf: use correct pmieconf percent type for thermal throttle - pmieconf: add minimum pct conjunction to entropy for small poolsizes - pminfo: use -b to batch pmDesc retrievals as well as pmResult - pmstat: fix corner case handling of automatic pmcd reconnect - pcp2influxdb: add requests.post timeout to avoid hangs - pcp-dstat: fixes CSV output to show all (not visible) plugins - pcp-htop: support File Descriptor Meter - pcp-htop: sync latest fixes from upstream htop - pcp-mpstat: fixed broken pipe issue - pcp-ps: fix exception handling for process name - rc scripts: ensure pmcd.conf not rewritten unnecessarily - pmdalinux: add a couple of new /proc/net/snmp ICMP metrics - pmdalinux: add new network.tcp.tcpplbrehash metric - pmdaproc: add new proc.smaps.pss_dirty metric - pmdarabbitmq: add timeout handling to http requests - pmdastatsd: stats and blocklisted metric names alignment - libpcp: new pmAddDerivedText API for derived metric help text - libpcp: check level parameter on entry to pmLookupText - libpcp: new PMAPI error code addition for bad API arguments - libpcp: allow derived metrics semantics of 'similar' indoms - selinux: add missing context information on farm services - build: fix a number of Debian sub-package dependency issues * Changes from pcp-6.0.3: - build: fix Debian postinst script handling of missing systemctl - pmdaproc: support per-cgroup IRQ PSI metrics in recent kernels - pmdalinux: support for system wide IRQ PSI metrics in recent kernels - pmlogrewrite: improved handling of unused instance domains * Changes from pcp-6.0.2: - Client tools and utilities: pcp-atop: update to latest upstream atoptool.nl sources pcp-atop: cgroup, NUMA memory and NUMA CPU support pcp-htop: update to latest upstream htop.dev sources pcp-dstat: fix handling of --swap with -f (full) option pcp-dstat: fix columns for --net-packets pcp-mpstat: fix handling of log-once summary metric values pcp-mpstat: improve error handling for the current values pcp-ps: added capabilities to show N samples with archives pcp-ps: fix handling of the -o option pcp-ps: fix broken pipe errors when piping to head(1) pcp-ps: fix process "START" column calculation and rounding pcp-pidstat: fix broken pipe errors when piping to head(1) pmdumplog: extend -x so -xxx reports timestamps in Epoch format pmlogger: refactor getting FQDN for local host - PMDA additions, enhancements and bug fixes: pmdabpf: set config default for biosnoop module to disabled pmdabpf: port forward to latest vendored libbpf-tools code pmdalinux: boolean metric network.interface.virtual from sysfs pmdalinux: more careful slabinfo 32/64 bit type multiplication pmdalinux: add NUMA external fragmentation metric via sysfs pmdalinux: fix pmid numbering issue with hinv.map.scsi_id pmdanfsclient: fix srcport handling for RDMA and UDP mounts pmdaopenmetrics: validate all names before using them for metrics pmdaoverhead: new PMDA to measure overhead for groups of processes pmdastatsd: static metric memory leak fix pmdastatsd: ragel parser refactor and fix - Server-side utilities and log management scripts: pmieconf: new pmie rule checking file descriptor limits - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp: fix buffer issue for user/group name lookups libpcp_web: improve error handling in pmseries AST parser - Misc build, infrastructure and packaging updates: configure.ac: fixes for improved C99 compatibility configure.ac: use QTDIR search path only when given MacOS: build: fix shared library builds on modern Macs OpenBSD: build updates for clang, Qt and openssl libbpf: updated minimium version to 0.8.0, ARM and PPC support Qt: update minimum required versions for libqwt Drop no-longer-used pmlogger_daily_report systemd rpm spec code Determine clang version without optional llvm-config utility Another attempt to get the man/man-db/mandoc stuff sorted - Security Enhanced Linux: Policy updates for pmdastatsd - Documentation and QA infrastructure: Add help text for some OpenBSD kernel instance domains Provide more detailed explanation for default PMLOGGER_INTERVAL pmdaChildren(3): clarify the memory allocation scheme pcp-ps(1) man page fixes. * Changes from pcp-6.0.1: - Security Enhanced Linux: selinux: rework policy to use optional_policy selinux: rework policy to use an independent policy selinux: new cluster_exec_t policy handling for pmdahacluster(1) selinux: retire those parts of the build affecting CentOS 6 - PMDA additions, enhancements and bug fixes: pmdabpf: set perf_buffer__poll timeout to 0 for optimal sampling pmdabpf: add CO-RE biosnoop pmdabpf: no BPF debug messages unless debugging (-Ddev0) pmdalinux: add "squashfs" to the list of ignored filesystem types pmdasnmp: install agent specific configuration file to PMDATMPDIR pmdakvm: initialise perf_event interface only if/when needed - Client tools and utilities: pcp-ps: initial version of a PCP implementation of ps(1) pcp-dstat: add --nomissed command line option for large systems pmfind, libpcp_web: MMV and shutdown memory management fixes pmlogreduce: fix corner-case in temporal index generation pmlogcheck: tighten some pmlogcheck pass0 checks pmseries: fix sampling when start < first sample or series has gaps shell completion: improve pmrep/zsh instance completion in live mode shell tools: convert fgrep and egrep over to grep -F and -E - Server-side utilities and log management scripts: pmlogger_daily_report: no longer needs any systemd support now pmlogger_daily.sh: fix pmlogger_daily_report test for zeroconf - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp_web: fix race conditions affecting pmproxy libpcp_web: allow scalar operands in pmseries expressions libpcp_web: add pmseries float multiplication - Misc build, infrastructure and packaging updates: build: add PCP archive analysis container build: updates to fix Windows platform builds build: update configure.ac to allow builds on Mac M1 (arm64) build: make openSUSE spec file builds work again containers: remove /build directory debian: use deb-systemd-helper if available build: fix libpcp check-statics regexp error with objects in subdirs build: podman PMDA no longer has deps, make it unconditional build: don't package and install pmrep xtract-names helper build: updates to hiredis code for pmseries and pmproxy build: updates to hiredis-cluster code for pmseries and pmproxy build: fix Makepkgs handling of argument parameters build: use vendored github.com/libbpf/bpftool/libbpf and update build: use vendored github.com/iovisor/bcc/libbpf-tools build: use vendored git.code.sf.net/p/qwt and update build: fix bpf PMDA inclusion check build: fix windows default pmcd.conf entry, dup path component build: rework Python3 and Python2 configure.ac logic packaging: fix rpm systemd-sysusers on f37 and rawhide - Documentation and QA infrastructure: docs: small typo fixes relating to secure connections docs: fix sheet2pcp(1) man page quoting in examples pmdasample: additional metrics for testing cases * Changes from pcp-6.0.0: - Major changes: 1. Add version 3 PCP archive support: instance domain change-deltas, Y2038-safe timestamps, nanosecond-precision timestamps, arbitrary timezones support, 64-bit file offsets used throughout for larger (beyond 2GB) individual volumes. * * Opt-in using the /etc/pcp.conf PCP_ARCHIVE_VERSION setting. ** * * Version 2 archives remain the default (for next few years). ** 2. Switch to using OpenSSL only throughout PCP (dropped NSS/NSPR); this impacts on libpcp, PMAPI clients and PMCD use of encryption; these are now configured and used consistently with pmproxy HTTPS support and redis-server, which were both already using OpenSSL. 3. New nanosecond precision timestamp PMAPI calls for PCP library interfaces that make use of timestamps. These are all optional, and full backward compatibility is preserved for existing tools. - Client tools and utilities: pcp2elasticsearch: implement authentication support pcp-dstat: implement support for the top-alike plugins pcp-dstat: add plugin configuration for ZFS metrics pcp-dstat: battery charge remaining config using denki metrics pcp-htop: update to latest stable upstream release pcp-htop: initial support for screen tabs in the user interface pcp-pidstat: correct operation of the -p ALL|SELF options pmlogger: small changes for handling derived metrics better pmlogger, import: support configurable default archive version pcp2xxx: ignore pmrep-specific options pmlogger: extra hardening, backtrace symbol improvements pmlogger: add -V (output archive version) command line option pmseries: add sum(), avg() and stdev() functions pmseries: add nth_percentile() and topk() functions pmseries: add max_inst() and max_sample() functions pmseries: add min_inst() and min_sample() functions pmseries: be more defensive during shutdown error paths pmseries: fix assumption that any 40-character string is a SID pmseries: allow reporting values from SIDs (not just queries) sheet2pcp: add -V (output archive version) command line option ganglia2pcp: add -V (output archive version) command line option iostat2pcp: add -V (output archive version) command line option - PMDA additions, enhancements and bug fixes: pmdaapache: do time_t manipulation with sufficient space pmdabcc: sync bcc PMDA modules with upstream bcc tools pmdabpf: adds CO-RE (Compile Once - Run Everywhere) modules (exitsnoop, oomkill, bashreadline, mountsnoop, vfsstat, opensnoop, fsslower, statsnoop, tcpconnlat, tcpconnect) pmdabpf: support x86, arm and powerpc pmdabpf: fixed persistence of indom and cluster identifiers pmdabpf: rework setrlimit() logic for some small memory hosts pmdabpftrace: move example autostart scripts to /usr/share pmdabpftrace: update biolatency example script for kernel 5.16+ pmdadenki: fix battery detection for non-intel systems pmdadenki: add support for multiple active batteries pmdadenki: support the -D option for debugging pmdadenki: improve labels associated with metrics pmdadenki: add battery capacity metric pmdadenki: add separate indom help text pmdalinux: add new MpTcpExt metrics from latest Linux 5.x kernels pmdalinux: updates for latest /proc/net/netstat kernel changes pmdalinux: improve network metrics help text pmdalinux: fix of tty metrics on s390x platform pmdamailq: update to ensure Y2038-safe time_t handling pmdammv: use highest available timestamp resolution pmdaopenvswitch: additional interface and coverage stats pmdapostfix: harden against a not-yet-running postfix pmdaproc: fix psargs string for processes with very large PIDs pmdaproc: fix cgroup cpu metrics refresh structures pmdasockets: prevent string overwrite of ss_stats_t fields pmdasockets: add checking to the pmStore filter strings pmdastatsd: fix detection of failure memory allocation - Server-side utilities and log management scripts: pmproxy: allow request parameters to be sent in the request body pmproxy: fix race on teardown of pcp protocol proxy clients pmproxy: improve error checking, check uv_pipe_bind result pmproxy: harden logging interfaces, racing with startup pmieconf: add several pmie rules for Open vSwitch metrics pmlogrewrite: subtle change in semantics for error checking pmlogreduce: allow sub-second values for -t option pmlogreduce: temporal index, add entries after 100k of data volume pmlogcheck: beef up pass 0 to check metadata record types pmlogconf: fix reprobing with interactive changes pmlogmv: fallback to copy for cross-mount case when link fails pmlogmv: add -c (paranoid checksum) option pmlogger_farm: add default configuration file for farm loggers pmlogger_check: increase PMLOGGER_REQUEST_TIMEOUT from 2 to 10 secs pmlogger_daily: callbacks for extra daily log processing tasks pmlogger_daily, pmlogger_check: additional systemd-driven changes pmlogger_daily: move redirection of stdout+stderr earlier in script pmlogger_daily: abandom use of fmt(1) - not portable - uses awk now pmlogger_daily_report.sh: some major efficiency improvements pmlogger_daily_report: re-enabled for rpm and deb builds pmie_check: avoid leaving lock file and temp dir behind pm{log,ie}ctl: handle embedded shell syntax in control lines pm{log,ie}ctl: add -C args option to pass "args" to pm{logger,ie}_check systemd units: pmlogger and pmie farm conditional use of type=exec rc-pmcd: reorder the systemd paths attempted in migrate_pid_cgroup dbpmda: fix an overlapping copy and add error handling - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp_archive: new library for apps that write PCP archives libpcp: optimize indom handling in fetchgroup code libpcp: drop time_t abuse in getdate.y, use safe sizes libpcp: add __pmDumpPDUTrace() and circular trace buffer libpcp: add PM_ERR_FEATURE, PM_ERR_TLS error codes libpcp: refactor __pmDumpStack(), improve direct calling tools libpcp_qmc: require Qt5.6 as the minimum version for builds libpcp_qmc: resolve the Qt::endl warning more cleanly libpcp_web: stop Redis initialization if Redis version tool old libpcp_web: honour config settings that disable redis completely libpcp_web: fix memory leaks in discovery, query parsing and APIs libpcp_web: honor exclude.metrics setting in pmseries --load libpcp_web: run pmFetchArchive(3) in a worker thread libpcp_web: fix race condition tearing down load baton libpcp_pmda: ensure indom cache write handles time_t safely libpcp_import: add interface for setting output log version libpcp_import: interfaces for samples with high-resolution timestamps python api: updates to allow building from outside git repo python api: allow tools using pmconfig module to ignore options python api: add python wrappers for highres PMAPI routines python api: correct refcounting on pmParseMetricSpec source buffer - Security Enhanced Linux: selinux: additional policy rules, esp glusterd_log_t selinux: bcc PMDA policy to exec private memfd ctypes/libffi objects selinux: make use of syslogd_var_run_t map rule conditional selinux: policy updates needed for the pmdasockets metrics selinux: fine-tune netlink_tcpdiag_socket policy for all platforms - Misc build, infrastructure and packaging updates: build: latest distros supported (ubuntu 22.04, fedora 37, rhel9, etc) build: reproducible debian build efforts build: use standard dpkg buildflags variables. build: add BuildRequires: python*-pymongo to mongodb PMDA build: detect libbpf version for the BPF PMDA build: do not transform symlink targets when generating the source tarball build: update artifactory deploy script, add recalculate_metadata subtask build: update configure script for python2 retirement in rhel9 build: convert libpcp check-statics to using readelf if available build: updates to libpcp check-statics for OpenBSD build: fix configure detection of backtrace() and associated hooks build: fixed source dependencies within libpcp_web makefile build: add rpm conflicts lines on postgresql-pgpool-II build: remove pmclient reliance on libpcp.h for timed sleep build: remove mmvdump reliance on libpcp.h for mmap wrapper build: make perl truly conditional in the PCP build build: drop no-longer-needed NSS/NSPR package deps build: resolve ostree non-writable /var for pmieconf packaging: update rpm specs to solve systemd warnings container: bump base image version Makepkgs: fix for Debian build (and Qt packaging failure in CI) vendor: switch to git-subtree for iovisor/bcc libbpf-tools code - Documentation and QA infrastructure: docs: update notes about sar2pcp, iostat2pcp in pcpcompat(1) docs: add section to pcpcompat(1) about python2 docs: add fix for readthedocs compilation error docs: updates to the Quick Guide documents docs: clatifications to pmrep et al: man pages docs: improve pmproxy timeseries and pmseries load documentation docs: further improvements and fixes to the INSTALL doc docs: add pmlogger(1) -V, describe $PCP_ARCHIVE_VERSION in pcp.conf. docs: small fixes to the pcp-pidstat man page docs: fix webapi documentation typo around polltimeout pylint: numerous issues resolved, tracking latest versions qa: regression tests for bpftrace PMDA: check probes qa: pmdabcc pylint fixups qa: rework Redis PING-PONG checks qa/check: run tests under timeout(1) control if possible qa-summary: allow unified reporting from CI and QA Farm qa/admin/show-me-all & qa/show-me: changes for CI integration qa/check: add support for "triaged" tests ci: send report to Slack when QA workflow is triggered manually ci: add required packages to enable bpf PMDA on CentOS Stream 9 ci: run CodeQL daily and for each PR ci: run full QA on pull requests, save history ci: unset XDG_RUNTIME_DIR when invoking podman - Change dependency from openssl-devel >= 1.1.1 to openssl-devel >= 1.0.2p. Required for SLE-12, builds just fine. - Disable 'pmda-infiniband' subpackage for SLE-12. Required so it builds cleanly. - Introduce pmda-resctrl package, disabled for architectures other than x86_64. - Change the architecture for various subpackages to 'noarch' as they contain no binaries, this lowers rpmlint's badness score substantially. - Disable 'pmda-mssql', as it fails to build.- This version *does not* break API or ABI compatibility with the previous 5.2.5 release. - Remove 0009-remove-rundir-install.patch. Obsoleted. - Remove 0011-Revert-systemd-remove-Wants-pmcd-from-pmlogger-and-p.patch. Obsoleted. - Various minor changes/improvements to the RPM spec file. - Upgrade to 5.3.7. This is the latest release in the 5.X series. Changes from 5.3.7: - Client tools and utilities: pcp2elasticsearch: implement authentication support pcp-ss: fixed incorrect client-side filtering pcp-ss: fixed reporting of IPv6 sockets in LISTEN state pmrep: 'iostat-multipath-wwid' for multipath disk monitoring - PMDA additions, enhancements and bug fixes: pmdalinux: add disk.wwid.* aggregated multipath metrics pmdalinux: add new MPTCP metrics from latest Linux kernel versions pmdalinux: fix up TTY metrics on s390x platform pmdalinux: add network.tcp.tcploss metric pmdamssql: fix config file logic, python string handling pmdadenki: fix crash in labels callback with multiple instances pmdasockets: changed default filter in sockets PMDA to "state all" - Server-side utilities and log management scripts: pmlogconf: correctly handle metric state transitions on (re-)probe pmie systemd: add missing systemd configuration and shell code - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings: libpcp_web: resolve a number of small memory leaks - Security Enhanced Linux: selinux: use interface calls instead of a simple rule selinux: add several more obscure missing selinux rules selinux: additional debugfs policy requirement for pmdakvm selinux: resolve an AVC observed on el8 with pmdashping - Misc build, infrastructure and packaging updates: rpms: switch to conditional selinux dependency for containers debs: reproducible build updates - Documentation and QA infrastructure: docs: add section to pcpcompat(1) about python2 docs: update notes about sar2pcp, iostat2pcp in pcpcompat(1) docs: improve pmproxy --timeseries and pmseries --load documentation CI: disable cppcheck for pcp-atop temporarily due to a cppcheck bug Changes from 5.3.6: https://github.com/performancecopilot/pcp/blob/f3fdd468d09c6e1158433210380a40389516a971/CHANGELOG#L468 Changes from 5.3.5: https://github.com/performancecopilot/pcp/blob/f3fdd468d09c6e1158433210380a40389516a971/CHANGELOG#L497 Changes from 5.3.4: https://github.com/performancecopilot/pcp/blob/f3fdd468d09c6e1158433210380a40389516a971/CHANGELOG#L557 Changes from 5.3.3: https://github.com/performancecopilot/pcp/blob/f3fdd468d09c6e1158433210380a40389516a971/CHANGELOG#L606 Changes from 5.3.2: https://github.com/performancecopilot/pcp/blob/f3fdd468d09c6e1158433210380a40389516a971/CHANGELOG#L665 Changes from 5.3.1: https://github.com/performancecopilot/pcp/blob/f3fdd468d09c6e1158433210380a40389516a971/CHANGELOG#L753 Changes from 5.3.0: https://github.com/performancecopilot/pcp/blob/f3fdd468d09c6e1158433210380a40389516a971/CHANGELOG#L854- Only auto-trigger pcp-pmda-postfix for automatic installation when pcp and postfix are present. Supplementing pcp alone would auto-install postfix on all systems. - Supplement pcp-pmda-rsyslog against pcp and rsyslog.- Add back Wants=pmcd from pmlogger and pmie services; (bsc#1202896) + 0011-Revert-systemd-remove-Wants-pmcd-from-pmlogger-and-p.patch- Workaround intermittent build-time package preun failures by dropping PMDA Remove script invocation; (bsc#1197796)- Adjust systemd service types and remove deprecated KillMode=none; (bsc#1186511) + 0010-services-switch-logutil-and-pmieutil-scripts-from-ty.patch- Upgrade to 5.2.5 - Client tools and utilities: + pcp-dstat: correct the sample count logic, was off-by-one + pcp-dstat: fix csv output with timestamps (no special chars) - PMDA additions, enhancements and bug fixes: + pmdazfs: new Linux ZFS metrics + pmdasockets: new Linux ss(1) metrics + pmdahacluster: new HA metrics (Pacemaker, Corosync, DRBD and SBD) + pmdabcc: netproc module: count kernel calls, not packets + pmdalinux: add hinv.cpu.thermal_throttle metrics + pmdalinux: add missing help text for new metrics, drop dups - Server-side utilities and log management scripts: + pmproxy: fix quoting of /series/metrics matched names + pmlogger: fix permissions mismatch for pmlogger tmp dir + pmlogger: fix incorrect reporting of pmcd state changes + pmie_check: explicity set a umask appropriate for pmieconf + pmlogger_check: explicity set a umask appropriate for pmlogconf + pmlogger_check: skip .NeedRewrite processing with -K + pmpost: increase timestamp resolution + pmpost: fix NOTICES file ownership changes + rc scripts: add optional logging + systemd: remove Wants=pmcd from pmlogger and pmie - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings + libpcp: redo the interp.c time_caliper changes + libpcp_web: add timer driven webgroup garbage collector + libpcp_pmda: add new function pmdaCachePurgeCallback - Misc build, infrastructure and packaging updates: + libpcp_web: fix minor memory leak on an error path (covscan) + build: fixes to ensure PCP_TMPFILE_DIR not used during the build drop upstream 0007-pmns-Make-drop-duplicate-if-else.patch drop upstream 0008-fixes-for-GH-1140-PCP_TMPFILE_DIR-used-in-build.patch - Security Enhanced Linux: + selinux: enable netcheck rawip_socket if icmp_socket unavailable + selinux: additional rules needed for pmie/pmlogger in fedora - Documentation and QA infrastructure: + docs: add pointers to readthedocs.io now that books live there + pcp-dstat: optionally install a man page symlink for dstat + docs: pmproxy(1) man page corrections and additions - Upgrade to 5.2.3 - Client tools and utilities: + pcp-htop: minimal version of htop with PCP backend platform + pcp-atop: add per-process network statistics + pcp-atop: result instance indexing performance optimization + pcp-atop: always restore original state of process accounting + pcp2elasticsearch: add guard around maximum long integer size + pmlogsummary: fix indom lookup for dynamic instance domains + pmseries: provide sum() and avg() query functions + pmseries: persist canonical query expressions to Redis + pmseries: fix HMSET calls when querying timeseries expression + pmseries: fix for failing queries with disjuncted qualifiers + pmseries: fix segfault in func call with globbed metric.name - Server-side utilities and log management scripts: + pmproxy: support fabricated SIDs in /series/instances requests + pmproxy: support fabricated SIDs in /series/metrics requests + pmlogger_check: add pmlc connection timeout checking current volume + pmlogctl,pmiectl: ignore saved control files after an upgrade + pmlogconf: add missing mssql template header + pmlogconf: add logger configuration files for the htop command + pmieconf: add a rule to detect and report OOM kills + pmieconf: cleanup old, no-longer-used tool integrations + pmieconf: ensure all automated invocations use the -c switch + pmieconf: fix default generated config file path + pmie_check: remove a tempfile once finished with it - PMDA additions, enhancements and bug fixes: + pmdaapache: fix buffer size to allow for multiple reads of the stream + pmdabcc: added new netproc module with per-process network metrics + pmdaproc: allow to use acct.control.enable_acct as reference counting + pmdalinux: added network.all.* metrics for physical interfaces + pmdalinux: fix case of waitio counters from /proc/stat going backwards + pmdalinux: minor tweaks to use integer math over floating point + dbpmda: send inst profile prior to instances level label requests - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings + libpcp: performance improvements for archives with dynamic indoms + libpcp: send instance profile for instances level labels requests + libpcp: make pmLookupName take a (const char **) namelist + libpcp_web: set pmseries source to all-zeroes for expressions + libpcp_web: handle fabricated SIDs in /series/values REST API + python api: fix fetchgroup max_insts size with multiple indoms - Misc build, infrastructure and packaging updates: - Security Enhanced Linux: + selinux: use matching autoconf guard for rawip_socket class - Documentation and QA infrastructure: + docs: update pmdabpftrace man page and README + docs: improvements in diagrams + docs: theme_overrides.css added for readthedocs content + docs: pmseries(1) chapter added in Users and Administrators Guide + docs: add quotes to curl calls with * in pmwebapi query strings + docs: update pmseries schema to describe expression keys- Fix a few rpmlint errors (to at least get below the 1000 mark) (boo#1199558): + make libpcp-devel require libpcp_gui: the devel package installs a symlink pointing to that library, so anything willing to link it would fail libpcp-devel.x86_64: E: no-library-dependency-on libpcp_gui2 /usr/lib64/libpcp_gui.so.2 The package misses dependency on a package which file it links to. + Call fdupes over /var/lib/pcp/testsuite to solve pcp-testsuite.x86_64: W: files-duplicate + W: macro-in-comment: escape the relevant macros using %% + Filter out W: potential-bashisms for pcp-testsuite.- Own %{_datadir}/zsh and %{_datadir}/zsh/site-functions: we have no guaranteed owner of these directories in the buildroot.- Remove sysconfig dependencies, this is not the equivalent of the initscripts package and completly unneeded here; (jsc#CSD-124) - Add missing hostname requires; (jsc#CSD-124)- also buildrequire pkgconfig(systemd) to make sure configure detects systemd- Replace ancient RPM variables by modern equivalents. - Drop support for ancient SUSE and ancient Fedora.- Spec file fixes and cleanups + disable pcp-export-zabbix-agent to avoid conflicting /etc/zabbix/ ownership. + fix unversioned Provides + remove unused python2 build logic and unconditionally enable python3 + 0009-remove-rundir-install.patch - Add SUSE specific dejavu-fonts dependency for pcp-gui sans - Disable pcp-pmda-libvirt to avoid build dependency loop- Drop unnecessary %pre/%post recursive chown calls; (bsc#1152533) - Changelog for patches carried as part of 5.2.2 source tarball: + build-drop-old-config-file-transition-code-from-rpm-.patch + 0007-pmdas-perf-Add-cpunumber-option-for-dynamic-perf-eve.patch + 0008-pmdas-perf-Add-support-for-hv_24x7-nest-events-on-mu.patch + 0009-qa-perfevent-Test-hv_24x7-events-on-multinode.patch- Upgrade to 5.2.2; (jsc#SLE-16929) + improvements to client tools and utilities + new pmdabpftrace monitoring agent + pmdaperfevent enhancements + pmproxy, libpcp_web and libpcp hardening and improvements + assorted bug fixes + obsolete pcp-manager discovery service, now provided by pmfind + improved FHS compliance - Remove upstreamed: + 0001-Add-missing-includes-in-Qt-5.15-beta2.patch - Rebase against upstream (faeb2507f): + 0001-Install-libraries-without-exec-permission.patch - Fix build with -fno-common; (bsc#1160411) - Merge upstream build-time tmpdir fixes + 0007-pmns-Make-drop-duplicate-if-else.patch + 0008-fixes-for-GH-1140-PCP_TMPFILE_DIR-used-in-build.patch- Do not mangle libexecdir: the distro defaults are right in all cases.- Add -fcommon in order to fix boo#1160411.- Add patch (submitted to upstream) to fix missing includes with Qt 5.15: * 0001-Add-missing-includes-in-Qt-5.15-beta2.patch- hv24x7 support (bsc#1155054 ltc#182081). + 0007-pmdas-perf-Add-cpunumber-option-for-dynamic-perf-eve.patch + 0008-pmdas-perf-Add-support-for-hv_24x7-nest-events-on-mu.patch + 0009-qa-perfevent-Test-hv_24x7-events-on-multinode.patch- Fix for security advisory CVE-2019-3696; (bsc#1153921) + code change already carried - Fix for security advisory CVE-2019-3695; (bsc#1152763) + build-drop-old-config-file-transition-code-from-rpm-.patch- BuildRequire pkgconfig(libsystemd) instead of systemd-devel: allow OBS to shortcut through -mini flavors.- don't call 'cd' avoid relying on $HOME beeing set during rpm installation- Fix python library dependencies broken via shared library packaging policy split; (bsc#1129991).- Upgrade to 4.3.4 + pmchart, pmseries, pcp-dstat, pmrep and pcp-atop UI fixes and improvements + pmdalinux, pmdaproc and pmdabcc fixes + pmproxy REST API changes and TLS support + libpcp_pmda and libpcp_web fixes and support for Redis clustering + various build and documentation changes + libpcp_web: refactoring and support for Redis cluster protocol + deprecate pmdapapi, upgrade to perfevent- Disable LTO (boo#1133273).- Split out zeroconf, pmda-haproxy, pmda-smart, pmda-prometheus, pcp2elasticsearch, pcp2json, pcp2spark, and pmlogger_daily_report files into separate packages, matching upstream; (bsc#1128523). - Fix incorrect dependencies for rewritten monitoring agents; (bsc#1128606). - Ensure symlink sources and targets are in the same package; (bsc#1127978). - Move pcp-dstat into the pcp-system-tools package; (bsc#1127978).- drop unreproducible perfevent_coverage program (boo#1040589) - override build date to make package build reproducible (boo#1047218)- Upgrade to 4.3.1; (bsc#1127437). + Add proper systemd timer service dependency tracking + pmrep: fix a dynamic header corner case with missing values + pmie: fix for segv and bad sum_inst() use + pmview: fix a missing timeout slot connection - Drop upstreamed patches: 0004-create-pmlogger-and-pmie-logdirs-during-install.patch 0007-pmie-add-systemd-timers-as-cron-alternative.patch 0008-pmlogger_daily-add-systemd-timers-as-cron-alternativ.patch 0009-pmlogger_daily_report-add-systemd-timers-as-cron-alt.patch 0010-pmns-don-t-package-.NeedRebuild-for-SUSE-distros.patch- Drop python2 support for Factory and SLES15-SP1; (bsc#1077777).- export PACKAGE_DISTRIBUTION="suse" for build; (bsc#1123311).- Drop distribution-release build dependency completely; (bsc#1123311). + modify 0010-pmns-don-t-package-.NeedRebuild-for-SUSE-distros.patch- Replace openSUSE/sles-release build dependency; (bsc#1123311).- Drop conflicting dstat symlink; (bsc#1122502).- Package missing PMDA binaries; (bsc#1121920). + refresh 0001-Install-libraries-without-exec-permission.patch - Don't package pmns .NeedRebuild flag; (bsc#1092160). + add 0010-pmns-don-t-package-.NeedRebuild-for-SUSE-distros.patch- Upgrade to 4.3.0; (bsc#1121914). - Refreshed patches 0001-Install-libraries-without-exec-permission.patch 0007-pmie-add-systemd-timers-as-cron-alternative.patch 0008-pmlogger_daily-add-systemd-timers-as-cron-alternativ.patch 0009-pmlogger_daily_report-add-systemd-timers-as-cron-alt.patch- Combine systemd service calls to save on macro generated boilerplate.- Use systemd timers instead of crontab; (bsc#1115413). + 0007-pmie-add-systemd-timers-as-cron-alternative.patch + 0008-pmlogger_daily-add-systemd-timers-as-cron-alternativ.patch + 0009-pmlogger_daily_report-add-systemd-timers-as-cron-alt.patch- Upgrade to 4.2.0 (fate#326865) - python package dependency changes + add setuptools and python-requests + fix python-jsonpointer + disable pcp-pmda-postgresql due to missing psycopg2 dependency- Upgrade to 4.1.1 - renamed patches 0002-Install-libraries-without-exec-permission.patch to 0001-Install-libraries-without-exec-permission.patch 0005-Remove-runlevel-4-from-init-scripts.patch to 0003-Remove-runlevel-4-from-init-scripts.patch 0006-create-pmlogger-and-pmie-logdirs-during-install.patch to 0004-create-pmlogger-and-pmie-logdirs-during-install.patch 0008-SUSE-fy-pmsnap-control-path.patch to 0005-SUSE-fy-pmsnap-control-path.patch 0009-pmsnap-control-var-www-srv-www.patch to 0006-pmsnap-control-var-www-srv-www.patch - obsolete (upstream) sysmacros.patch 0003-pcp-legacy-init-lsb.patch 0007-Honor-CFLAGS-in-qmake.patch - new 0002-Remove-CPAN-rpaths.patch 0003-pcp-legacy-init-lsb.patch 0007-Honor-CFLAGS-in-qmake.patch- sysmacros.patch: Include for major/minor/makedev - Use %license for COPYING - Don't exclude post-build-checks- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Enable QT5 builds for Factory (suse_version > 1320); (bsc#1056477).- Ensure sysconfig files are populated from templates during installation; (bsc#1056397).- Add weak pcp dependency to pmdas that were split out from the base package in the 3.10->3.11 update; (bsc#1055503).- Follow the shared library packaging policy and split libpcp_gui.so.2, libpcp_mmv.so.1, libpcp_trace.so.2, libpcp_import.so.1 and libpcp_web.so.1 out from libpcp3 into separate packages. - Drop a number of unneeded explicit library package Requires. - Fix a number of file manifest conflicts. - Drop lio pmda on SUSE systems without proper rtslib-fb dependency.- Update to 3.11.9 See http://git.pcp.io/cgi-bin/gitweb.cgi?p=pcp/pcp.git;a=blob_plain;f=CHANGELOG;hb=3.11.9 for details.- Disable remote _service execution + Run locally and add generated tarball and spec file- Update to 3.11.8 See http://git.pcp.io/cgi-bin/gitweb.cgi?p=pcp/pcp.git;a=blob_plain;f=CHANGELOG;hb=3.11.8 for details. - Remove 0010-build-do-not-include-.gitignore-in-installed-file-se.patch + Upstream - Drop pcp-webjs.src.tar.gz + https://github.com/performancecopilot/pcp-webjs/issues/3 + Vector will be pulled in from the upstream source in future - Enable pmda-systemd package + libsystemd pkg-config detection fixed upstream - New packages + pcp-devel: Upstream split of non-essential devel packages from libpcp-devel + pcp-pmda-bind2 + pcp-pmda-docker + pcp-pmda-lio + pcp-pmda-nutcracker + pcp-pmda-oracle + pcp-pmda-redis + pcp-pmda-libvirt + pcp-export-pcp2influxdb- Update to 3.10.9 See http://git.pcp.io/cgi-bin/gitweb.cgi?p=pcp/pcp.git;a=blob_plain;f=CHANGELOG;hb=3.10.9 for details. - Drop obsolete 0001-Fix-XEN-build.patch + PCP_PS_ALL_FLAGS now used explicitly - Add 0010-build-do-not-include-.gitignore-in-installed-file-se.patch - Split out a number of agents from the base package into separate rpms - Disable sheet2pcp + As per upstream: "until BZ 830923 and BZ 754678 are resolved".- Add _service file for pulling directly from the upstream Git repository.- Update to 3.10.4 See http://git.pcp.io/cgi-bin/gitweb.cgi?p=pcp/pcp.git;a=blob_plain;f=CHANGELOG;hb=3.10.4 for details.- Ensure the perl modules correctly link against the PCP libraries; (bnc#841204). + remove 0004-Remove-CPAN-rpaths.patch- Update to 3.10.3 See http://git.pcp.io/cgi-bin/gitweb.cgi?p=pcp/pcp.git;a=blob_plain;f=CHANGELOG;hb=3.10.3 - New sub-package + pcp-import-ganglia2pcp- Fix perl-PCP-LogImport requires version for pcp-import-sar2pcp.- Require pcp-conf with libpcp3 on [open]SUSE platforms.- Update to 3.10.2 See http://git.pcp.io/cgi-bin/gitweb.cgi?p=pcp/pcp.git;a=blob_plain;f=CHANGELOG;hb=HEAD for details - new patches 0007-Honor-CFLAGS-in-qmake.patch 0008-SUSE-fy-pmsnap-control-path.patch 0009-pmsnap-control-var-www-srv-www.patch - renamed patches + pcp-xenbuild.patch to 0001-Fix-XEN-build.patch + static_lib_perms.diff to 0002-Install-libraries-without-exec-permission.patch + pcp_legacy_init_lsb.patch to 0003-pcp-legacy-init-lsb.patch + remove_cpan_rpaths.patch to 0004-Remove-CPAN-rpaths.patch + rm_init_script_runlevel_4.patch to 0005-Remove-runlevel-4-from-init-scripts.patch + create-pmlogger-and-pmie-logdirs-during-install.patch to 0006-create-pmlogger-and-pmie-logdirs-during-install.patch - Update to 3.10.1 See http://git.pcp.io/cgi-bin/gitweb.cgi?p=pcp/pcp.git;a=blob_plain;f=CHANGELOG;hb=HEAD for details - new sub-packages * pcp-doc * pcp-gui * python3-pcp * python-pcp * pmda-infiniband * pmda-perfevent * pmda-papi * import-collectl2pcp - drop fix_pmie_pmlogger_startup_races.patch, upstream drop pcp-3.6.10-gcc5-reservedword.patch, obsolete- fix gcc5 C99 reserved issue problems with patch pcp-3.6.10-gcc5-reservedword.patch- fix bashism in post scripth01-ch2d 1729253672  !"#$%&'()+,-./012345689:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc6.2.0-150600.3.9.16.2.0-150600.3.9.16.2.0-150600.3.9.1 pmchartApacheApacheServerBusyCPUCPUCiscoDiskDiskbytesElasticsearchServerFilesystemIostatIostat.DMIostat.MDLoadavgMemAvailableMemoryNFS2NFS3NetbytesNetpacketsOverviewPMCDPagingSampleSchemesSendmailSocketsSwapSyscallsWeb.AlarmsWeb.AllserversWeb.Perserver.BytesWeb.Perserver.RequestsWeb.RequestsWeb.Volumeshping.CPUTimeshping.RealTimevCPUpmsnapSnapcontrolcrontabsummary.htmlpmchartpmconfirmpmdumptextpmmessagepmquerypmtimepmsnappmchart.desktoppmdumptextpmchart.pngpmtime.pngpcp-guipmchartApacheApacheServerBusyCPUCPUCiscoDiskDiskbytesElasticsearchServerFilesystemIostatIostat.DMIostat.MDLoadavgMemAvailableMemoryNFS2NFS3NetbytesNetpacketsOverviewPMCDPagingSampleSchemesSendmailSocketsSwapSyscallsWeb.AlarmsWeb.AllserversWeb.Perserver.BytesWeb.Perserver.RequestsWeb.RequestsWeb.Volumeshping.CPUTimeshping.RealTimevCPUpmsnapSnapcrontabsummary.html/etc/pcp//etc/pcp/pmchart//etc/pcp/pmsnap//usr/bin//usr/lib/pcp/bin//usr/share/applications//usr/share/bash-completion/completions//usr/share/pixmaps//var/lib/pcp/config/pmafm//var/lib/pcp/config//var/lib/pcp/config/pmchart//var/lib/pcp/config//var/lib/pcp/config/pmsnap/-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:36096/SUSE_SLE-15-SP6_Update/b38f262e229a415b87ca7312867b0c30-pcp.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linux directoryPOSIX shell script, ASCII text executableASCII textHTML document, ASCII textELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e03da3c870708ed6fbff1b5afc6eb03fefda41ad, 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]=f52605f6dd0695cedd8942313a9b316e9148f81a, 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]=abbb8eb2f11a20628c43c2bd7040e2c6f01dd50a, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1db1836abe980b530004bcee5bfa911f754b014a, for GNU/Linux 3.2.0, strippedPNG image data, 48 x 48, 8-bit/color RGBA, non-interlaced'(=>Qop#RRRRR RR RRR%R$R#R"R RRRRRR RRRRRRRRRR R RRRRR!RRRRRR$R#R"RRR RRRRRRRRRRRR!RRRRR"R$R#RRRRRRRRRRRRR!RRRRR RRRRRRR$R#R"RRRRRRR RRRRRRRR!RRRRPPUqpT&utf-86b5303ee56e559cb28e47560924016a26052803076409983e969418ec62d75b6? 7zXZ !t/]"k%{^-Ȭ:5Y+սJ//q3/s.R)(6C58m2hQAH>ȳ%#?fx۪- "F{t2Gd o!b)f˼ح; I.^5LE ԁ ς]MSZnXUz=AnS%TՖ>VmzH YuK=ѿ]T;{\!J!{0%~z/JWeMqw( L:=~WPH֥RWhLʼn٬q:PtǨAeO-)%TCmt:*<h!4:9HWӪL-LbO^iQDuL Uw\ mY0tCYa \`"S)0}&)̒_H *Q+AB-@~mʂԴeCL/SveF@&ECC6uXذơO0rY I%UȴzFidZp]ZI[P**X-,e^rt 6UT6vJЄף|Q׊,a1\"K ͑ Mu?dۥ8d˔ke׺Tuv6%giR@ /=Kb)̓+ QyBoALAykVc%sEKWE$F Sx-j6PzԴP4_l[= Z]`J;zeaK#.'PZFZn ӯ0fS^cww:}mrʢs:\XVNrqx #Zٰ_n|`_M8\n?(&;eOë ;0Kdp ׌ks\шkj$Oa*ZHΟ=2SE=;W=%bv@dN`>`lhEwxcTns0w:l#<fe? Tk 3s ggp-?(ČI~v%K[F xS503oΚ<1lǔ}K(/]oR,& vVE0D樰 Pd{hOO=-ӊft|ӟ#{XoXXv/ u:_H~sS-;tzSm? ˦ be.it)u8 3*14gNa-&e٦ pJ,N = 10vo#?AñT vWco ٪$+8d^E]""{XZT`C^M3􌐨da"[C |Tɿ%25#Ի^LDC,Dp6G!TcwP+tyeߤc $54j\V;En%@-1OJ|͈iYXWF:z#H_:a_񻩍#,y [ J*)tm'$tCQ#TL l:ݚj%?O}o tb M1[N}]2Uǃ@)| &e1\*1DŽ8P`tҬFz|=*ooc:HOFgBUd>@"9rf@.OJ$O21#$C mI.ORL |Kf܉򁾳Z }Vu Noo*d=/8U/O>ȓ/h-J( ;&b\VU7S0qvCT]b Feq^ {| C kIUvg%?e{&!lE; ka0OTz*23#+کEʴEb[N-pc tKՃJA*BQͦR5G WPS2+{=hb^<1wUI-aliqٿL %Xi T$uDL%_auDJvict{eq2%|H^ktgTM\/olT}YO2ψDԱsgH&+ړNZ tE.܉ apX:#i E NȌ=ua, NƼ lpϢ&S8&1m{ې1fqd^y7-EǭhTsJV( j`{͞w"*R%r(9ه7q&TGk9D\]̦%:7PRyڑhn,)߼FhS7j^a >*$Yԥ 6n /v~1c^U, cqojzAZOp:7jUwhćmXpQ[O: T}E{88* ;*,hz¦xxcK| Pzmm}}E\xAP)vT T٩?d?GO7Z-?v<ߔC)x"݄oǘϵͼAɀ-5QRa8@W|Vg?hcwē$JRYT?'Fk\CL0c>[6O[N\/9_v Z.~lhftq>yYD>B!M0煆 Lݝ7/Rs(_ C ζw~/ǥv-,Ŧ(QpYUa bTbJqLUg^2O*@tFyC1kG8[^ 0%A:iWSU^liE C T?tu4>uN<1'BY<>h jJ%y Brn~mVZq.\Пy&D ]Qlq{'w'MQl΄̘!BSNXLj~B!afTZ\ TN [(FV[*)b,ͥ,C͟f榷9`s1kH}~X#dv6H␱9 uf@Kp`FA% Ќ›!?8[K?bYdsxI]L kܩ^u3xEEgsM]yj <2V*Ņ%9Jxn/9",n{5y7.]ѨY;·@AW:,ux*܂ٙ#"bEK?么T9 pٴ 6-D1l &g`fl+ xȞuKFXM !+g]ԕBl%]Jh[7@FS {.oUu<5RʎhTL Τe藊%mQW}n̤?tdn]aDˏ`fμ7{v_޿R=f~Lk%kr^3ߐpbҗ;GDi{6o9V"rk3X>K7KĤy{K{ m@M#sA/'+7Mߕ[-nILbj k6OuɶHibC5la#6+BQ!9[b-0[K%PXC >j_s}OD*^IRiR$3T(]"t6s"vZ| qT!h利#Hdpfyp]$: N'L1p/h;4u&$݆&A5 ߬ꫛpmvKs![V0=ćhIA4pIAUݳu 7rRqכd e@j"l3GYcY*Cm`N^I]`uiriΓE8n\uwK?򳮣{MY[l2Tq,֝[UXh^s1܈ HjO(Jp8do@K28*X磸9rr'U :T<"Xx& 5m>G@H(ӺߣJ~yޗ3O4DҬ@{ 0ǽI͊4~d·ӑθ*"mKCij!'ϻ*[Ȩ:˗DOW\+򋃺PEühoƌoCxڏp_\{!g@oiD@!+NKu(^ (:2x,-b=#Szrǁ = C:1ޣS虣8B2f<S ɡln' 66>,$vw-iX*zP`.΅guX}topz)4~yE/h=PDbXcw3n5o0xFX(8as rfx/i̍O=pzY;mNj |) jl/rF;dxT{Pyͬ$HjDbWIR`=KrIorxU3|֥1c&3H❽[gUD/?_D{/CͣPZ cY*OZهdf|J VA0@lӷ}VCy; kٸy*{/v*Z- jLFXh='j]|4qSvʺRbY)Y# >#qjf%@DNr4@f99ܶ< B7prhP& Ic$@}CMŕc)& V0ˑ?1 !o`r, O!.׌'_sѫ_q!u'9y-]6n:O 6Dl{ -B'I\jU6S/L9"چ M% 7<*?=HO$z -d186k/k8ɠ9nB-}˵ecIܻr(=KcC7FƺnGvޯ$_|(8y|J %l-Db/9H^2S{+X2/{!$ 7pXqC ,(x% iR@i~;h\Nv'^>&\$ e;1͖"ZmLi'*|ƱKZn;hf;I-îywLF@iPX+Q#;/=*y 7\*ʰT6*?hsGgdNӟ߿xeZPvRB8Gש r-o\aja-_R~wms.TrEE`qZvG<xbA^Z!4D{N" Y "4lLs-f -u)uxR#|A?]ڍ}iF8&ޤuwNbXI87OIav3aFO)zT[6BTʬV q#L2_ *h |be`'J^341'*_5,f4FC}nvN< 8v^*NUc d&̬ Z<(3}DD6vȁHz0ZP.~KM14MҶG(n] I llwJm@lKvBWpnw@@,Ԅ`Aa.+{XXtePeIEATVȌGz5Hlzl$Z@NnlsZ % -"fSCpiUw?'A`X_%y1I,v7̪DQ>cG1)8l3ClN@^a] : <lkF NU0+Ɍ;b'kTK0H V\:pR %Y#J$u89GA_Cˑr!ԣ{60> xio`A,3ݬ1f$LčlNn}9+q~QX}Y0 Aɺ #Ҧ97 G`]K֡[ϔPI0 75l*ksWQjyS˸N8&]L)?FZ={ N*ĸ?bjdL5˷SbQ]n˪GnPAY:US2Dq-ipC=zma,AÑt)V8UaH3[Ś{-67fޛ$ovfʦB=3Ǜ\q  ;{@ܝk r# LWix^9͍:ME8BYK*T v 54_*% oxWY ^Ebl1]N=͛=0!1dP=a[qj&Kx6?DBd$v*0Z5c ʹF爳36F8͘g-5۞xNbVªyKqβO7;'aٶV̼vV1IeQ:Eᆰ^ֻ4##ɐhw=}Ϭxa^ [HBon;iFhc@3<6 9+wJ*7osK2;1􍟯t9Tk+#%29%}}0)X:ȃvqAjA{eOMѮeb9f:H)'h~\ҍ#sSjW`ȁ>XaƟx|4kauq4 #(K#oI ގW^z/.0UIJ.& fum=1! \ҍ.jvQO! 1/j/>%y@#b +C*xP'3}NUi_))UZQJ14hʊP:4zT}=._a6]QDpt%oc#A^BW(zou~esD? fЃv7NB-GISQ6q`H)5MgC*4gМvٽ|"6$=|G7RyAgr U"9MVEEa%ju;R>$0+?_2Ѱ4J-ߊ3YE[I bט+\H Q|*5* EdE0V6y_N'$ d:teVo:Iq](K:OD_WL.zuIZ/͚}?9&ts>z@2I py5G`N=Dgw \fM}5ycownС,Idx1 Y V˦c{2?OK];2`CIdm8Oy?x`0q7Ub12F034S`NE5׵A7!mZWk܏ޠ Ӄ3bD ߋu&%b~`' ص~^1m@=jn peI>0U¢eKoyF`tPҦg7Fk6d9oQCC/\i%y^S[ "vP7`\:h.Kkq\|/ͶvDʬ:=]C興sJˎgҁ5Z "[q,{d]X^3,x LoúEUkYH{E g"Rp005Vܥjp]G*-Zoo_2C9нD aDuhm ={5h[pCG12.NXzL!\mk&&^R /'H;sCDnBӼ;P?dS  )3.Rk"ЗCEҮօT4U^`tFۯk9U#,yL*Ep=L3UCWK.奁!tv&R~BiBkKH+>s :-=T6kɻY/>;ELE/F ;1ia! 6geomMKI>`r:NlR`-Vǣ{cSAޔ#A-#sgXF!/l 5mF3mlN">rӓ=p"~ W3JzPĈ!&3U~WR{Tg 9ܪ2)Ϛ;=Rq6JLE 7'Egu_E=t$.:4mt?{q4qԏ ./pӍH&n oT~-_Qs%'"n5t? зbNSX| [Zyn.ſs'f2oQvv̒}Fq:kcΚGXa6#?*)Z9/ݶv6xHUL4 42:u ׭/;cr{MůTE*er#1q"/-]{~q%QzoM<4Dz)rgoyC@bFy㢊_yھpgAȒO&#{4Y^{Uxd %c31]`jKG4ga9e5(1nO]Wbz9(d~k}lK/hS'Er*ɽzPΧrP';r QrtPP~ۅ^8R|kpLa€21mc;#Na3&2*NCFˏElcC\77O d_r9y@ަBK,%M6Seħ)>)e{!la]4%gT'OFG1 R?jkLnǫv,BYM!^v 9vb-w.c{Z<⾭['Ff|!|?\6@?uV*"ip ~DAa9&22=u٭Q?g!QNR`,cz> WE^qāe)XĖpJbr=q<n Q IS yCt)u.(i*TThxID a!Zig ҕIF >+E*ŧ!' 67620l iKs|4ܟDOzD%O NHg\S3=Ե(4?*0KK9#SH^^ 3Ar(nx7oӴ'm+u9%eSp<MEr2 ~ _O o*7lKX:9j_u"I{˚"!Y(q%aƳG"@f0:8*1q VLcl=:^|H@iJUTmb}y9(\4!&(ۺe۬][]T(i#ST7 MYG}^6 c,ʔ,RuI wmw8; &1oM`uiovmی"!c؛\ r8_,9;YkAm|dj#KStV=bo@n,ɦךYB%дA T\U HCTh2QZ()vN]Q͑9+k]> tejH<=%V!x#%ƒHVCf{]G:OVEgi{T xN>eoQ34߈R;2ÂXG ' Z?K%ޞT?WmHAmʮ|6DE-KHv-p%S.NI$u}A}==a5x*cn%v_4a#+}Wu:LL^-kj&k`7zD:~xP3:JC%xWV5zCاߤv3w)EuJ<ݏ5i࣪gCw @*l4ZI HSgů1ĸ%##}K_K:R9H|zlߘvPUu`,n}B"\)^2c J,]:ƭI(~`Ñt<;i9{y ',CA~DZޑ߬03IȖJ?5?JuZ8K.G8WT2xX5SBFbupN36|UTkU~va*){ڋ ljbEbxTn.on+A)V3QX48Deu0A'TZc (H2d+ =k 2ڥ^ͻ6 M بK eNf*=>&4S&w\lP=ٟs ҜƆ)"YW)[%<4m5S|V/qEN: b;IWք6kH|op'y ֈaar̆Ӫ} 0/">V7M'dF+h$u[ j/ C9Pm?!&ݺEC1\&ت[ƙYB,-{N=qެ[pu]5amtM`xe(Su (\* D8)oyPuUQO*(Pu&}&F ZȎbQĕqaw9AQySF^$E:Q NX#/!_0ݲ?Gi]yM6Xٚr 7㷽5p0ĶwDؖ*zu ~(LQ+ D79!}*;jhDkKZz"JAUrAS.+ Gb%LOȜdn `I.S\<}.nb {ܦ </YQOȆi) |Dɕ!@woG6͘*\'I o)vI$PōTXI Y"!U`9~Uk=,axci ȽPs 8M# 8-ﰩhX)x^# ^[Nm3mÇ/h^$##[<R 4q!uuS`Yg } %2(UT7ﺹ {z\qʸbFoh8`=k4 (\@_ g\kπDC P uK I,NF ^ 11-؇ҹgM\#-׈l\Xv3j69Y ly-[fGRuDQ`ۻ+>ѴqCwB,=^ #^Pr3C\IC 2+uuD@mF | {=)mٗ*i\wIUH D~ ۓ~mc͍CMfuzjSZK&K.p\yZHZrx̺?#Z@!\ xlnt겚$q\4L.RLIYlBLz/t|JbRk([նOXJI8q;3CH:Mp"# i|D;`SIJ߸SG}{df`5@^<^2aUfQ~BXpX%xŶtI-,Vh.x=Ӈ?f/aNŝo9vtFljlXؐ9M:XVvAQȈכn_0L[Q vOHqm|8d".d$oۮsWqP-ߍ qAdx5ˀA4TW=UݩR jMvޢ)(0o Z?޴8cb]gwRb0OAjɾ0z Mg7"\]굱T" )H0h D:1WpQӶ/{m3Ǖ`Rlf[l!-q> (wJdl ԩyDW23Ɓ[ymq`Gvꪏ:a8eAf)GP^PnwLe+ouA&m z%Gf~Tlb;ˬ?{F&>OGxK7?JGlvɄ{^?cfwHgo< !G3 ez".ڪBط1{A(\)7Ζ`aE!ڎ:qXLyc_}ky_U}N ",Ciq.!l'X42l>A3߃H)&/QV;w)7u I)nÒ&DhfjWk";aF`|A`gJ>*I; Gt/Z?TSEj !,ϩ۲EHi>2ZRp; 0QNzLq؎?+F)W}:gB̂o4eXoOzly͍dw.Sx{9\KuwfkE&"O<۠Cq~~wL:C0CTJB ZkE\kٹ qoS#R3bų#tYhCO2x'\7=0jY 6@*X:JrP᜗zO>,ayXq:1XX&,At%%=][>I'~CzY!G(iJPA }pG5욿~;.i, ~P,.}r~b+J.qCg*Y]rhx yA(uZgͪ0 NbDWH]r~5{|ѰH[l<A @R{ "; E"?cdp{"] 1}Wy]і  9#$M󛶫ddf0ǀ8EOgl&/7Y|_G,~>nI=ۮvj,>!ce6vr4A,/bwG?*/4 AG+#W\A!/U} _6֢[7l4I,GG.b r*7O)~( nA-=K-pb5g '+9SsYm`%c7To`,Ld(ԝKgsӽ=/<O~ }&i.:C;ЉH@AX%Ps~I֠ !V)ȒjAS$$b/f8%W+^ھ8rRl@{=7cYs\B`~zAuJ)mI1 cB%ȗAS8!ZP5jΰ"mWmϲПj R9&K 2&R7t 4g0Z0}M̖7JE )2\D>bf\NJ 's靷v9_bN'S »6C6䓨hAk+|C<^Bz>ݘHx87zQfD5KjD!OA|q{_GiOEluB?v5(jA|<X,4*B8?J˫'xڄ,Lp rړw{yHξ \[oD/Xd-SolH,{1P^T?ӌN܋JapQ& s9h$A{*̀^U{QpA9jBh vSQYPxét}s^pԋE{uHuX.4!)g <({>,bwq˳MoT*Ggv4HƬ҈0I)ctQKnī׍\3D<}q@񕕊x7$C|{@2ӨYW<H%N<}e$ɜ(|%U_@aEvR_yY_fy9@rF&`oS>gO EܚQUy6HX"gFEΊ$Ӽ"YXRиÍ-y=䡴LhGn_M}şFI<;OeC`O suswfoF39`1iPֽd<=slCYRitguD#03PMĐ,+h\T5].pRqK )`/-]4~Ynd{cZ<(`L/]Ƅdɜv~+wo{} ،Vr73;І"cB] (í;9?3 A%MF<cwG}Pu#_wbݖm._x6aꤞoK-# Ѓoȯ6+O/rnƦ`t rxrjé }d3=c4v_ФN I>%RhkFFzEY($dh TZ:LQp@˶h²1_h" &JA>@ZjM F|/$R@y#&fh|fXmdn8[0Q,+Hw,\~VubV qUt(Ƽ|p3h[к%0\{_oQ5H.7NT볛(|S vgQke}DedMvPLq~%qn8'LWqM~XI{DUŊU+r^n0 Q]"dJ]є fd=z*˽+DXA lM$3im>۴zSA1 |އ* |vUF[4414:F&YǫaY*jIz"6ϥ9K]dofpPDhc6W4DqYGB=GDE_1h~[;ZʊzL^lS'GI4oq?[WT{7~vףr"ֺHJ4fIaݥ/#xA1лUuo˯| RֈWzǤ쉀AKm3<&p/'$UfUK6qy0ֱϓgYjPP ;Wn as9< t=_su}H77n~Dlh@v .@C$o3+*U{nM b o;͟*>].}_DHRrDmo(Dݹ'ξj_ qMGYY7a{9(H*VkH9{ʒ D~}~-tay7Ԉ*U%ud2 %ӕYN:ש@ODz9:; bYMfQ 7c=Tp>˞(L迪#ezqSOX<|SO[7!V5i`/93oΤŤK=h֘ckX 3e mWb1EC'V= <|iAS)cs ׺<+ [&!,d@Jk[o@8q=WŸrLt/WPAh/ߟOH¶i)gSӔ7 ap=cz"Ѐqճ8 +YDm:AΜO!]aHv{C]A Eq5gbn|y#x PۚboflZ_6|]Zߡvf܈RD7ѧHD+MZ6F !绠v~_@: XHit7e7TJwդX(t_-з * NQ qR7zP뭷! \@t+ ԋЯF2QCr2%O8P*n4'1TZ+}lHdÄJ9ٍgNs+y|5iԦگH؀3boYy!5[&<9(^ R$t;Cn{E3>)V HAE4H)2c '._`QTHBҫ:FhkF)́o_&C_ nҝvgd]g_YY >| YHAe C@s:=6pRnl4$1aK jR-`0fD";yG<0igׁԟnAkxh}3Y'k,=#$i6PӅW7":'|D;fGg- G61 ?2!-Df 0ֵ=Ă ~qIS"x9c׎\a9m 6hWUt,^#_|mksy0:st˸Nn!@n7#sk{gZ"dw4ˢEss 4w{7Hq[)8Gj7QG-)oh2x;ݿ\v W?TrLGu'ɨ P]Y24h_TW!inu< Ԃ^"uO$1,n~,S@G@l1.rHăz#p[T6/zj <([ZzҮ0fBpV y+ i*#^r1߿2=|nt$J8#dE*ՀDRZ@Е $PcQqGҴ5t #}7'EU`"}@"\Rdԫ UQ C73 I3vL֍7M;r-oQ5ȗah4COK=TXgʏ(lTηDnYTG \UtM$@Tw xQJ{v2u~OUCͧ QQuIR~?0Z0 ?w!tp|ʦls|4S,x6DlCX8g D2 <&ORoaGb(QX ZA74H2nU<:Bul~Qր_hO9Y[zzWvOφlD2K̂Dg@ [$ '..gDTi$;_ށTwCߕ,dη݆˜lˁ#?#\T@q2UkDzr᯶h廞`>"'~o45U*J]_/η"Mq hEzؐeTRaFNK3+%jFWzF o:d'O&M5}BNYvYTdS\ͦmP9Vm#;j Y#Ov(9?st-ֲpLwY~BVE#=eVRx _/e9{H~6A-8\Hd\darTZVZղT_n' LvraNFj9̻к9.th&i~u=-0%'h(E o30Alcm]C~f|hOjlEZ9R"_j(c,'!HI#$`&jHAO"ACrLݽCMŔ6$suYDut Qrly\DbEQrUYgQ65Dqp *hhnl]F(ơ*Z\ NyJ;(yw;*p͋XpGheDXlq؀Ne*]"C6*VT'g/h]lìXd;0w#1o;M}kU<ϺWi_Z]:K v~bxJL9=#$yb1)1M~R(fqlRxs֦-+%,ցh?DFůM{(2Iܰ W 8"9) kp7_M$䌅̚kLZKGdDD nCshsCJhx E`rg_EK|Ŵc5  檁/kw͌5c g;3](f_I'GW/Սz 9?~24@.rG+?=[*:r)= X _v'ZOVUs=Ϯ:;U:DM>bt߿¨TԁU ~BghZ6[WjFY~oy g)G&g9iG*3v`'VW)SecY ($hJ9fZ#3zŮv &B.XfT͕1vX}9)'i#%NGJ& <#پjȏ%_?}zb ~u@aL7K{ Ogg'pUK5`Dsm^i!:ڐ3[UC~R%z(w#o>/7b+%sl/ Z'& Ģ4%ႈ7-iax[%U "^:Kv gxm/׍3ZԿ$oH2҂㮜 X!2Μ ;f]ꉾq-ӛϢHPEXM)6m3͆*#SA:[9=.Ȫ1%=}O7tF4[ku8D4sƎl9nfynHd?4ڝVvU7\wgT5Y@DSL>=hL~1SEgXa}vZmJ7lA I7Wm^+__?ܗeiy3.-sSgÉIBh3CmAL_:N;ՌeSǫ9д9 ,V=4b}¢mŭ&UT' X{aX|tcyÇK8:@29*AdʎK`vi>2'#K("kUYE$ǖ"vR]-1:yD "q ; g`c]_dx#"~7ߜ|yǹK eYQM6x*i{4%s@~@Z%HB' ~֞z3Bәu5z<QBaڷ4 N/0}Qib s#)gvp7Uimz?|4}9!ωh#e/[4c~t=jHu$ݺ(mGi&MP|0ԍ]L {Luf-a0k3l@|<\}yT2v d7oiE4I=&&8?MdgwSUޔzj aQ p١ {EÛqvBY`DC|cz[?n)8Obq*Frda 0kXʃ,. wJ@kk'elai Nu"F}`o:]U7ԇf(CR$Rx(٫i_rq4ZĠ^1`)ae]/&4Pyk\Aibt;փIػ SF:MwGG =8K䳯*aD] G~:V/kbR |HMv7cDԲY+ Rs/rf<I,-boT%|& t #,^JUo7gKc|gx dN.~uKaLSPQꩺ7B9^[-L~z XNrv}$9`Ɛjhh( (JO7p= )ϛs-T ~9B[*8˝/Q 5O%bmUZ<6@ˎw#tɑZ9&/sQKK?~HLbt7҃Z?4&B2sϢ"f-.8:`vC QND?1"/ƮUݺȲ虁m"X_!*^Ϝ{9lZu$Ϋ0X{ 6's(U2kV@,d$yP@RA X^X(iiU;'>ct]77xJ?)u&Cߥ/[XKh2Άw0ڥ2Z}O +$Eo1'O"'a\NzEHS;%ߠ6rQE:yu3Iиs+%ޓ"d#CҲל8ܤJsv JN=F  qDA;e-;\1Tc9j/0NR#e2jI0}О PKbSJ]!oֆ 2/ \^`j/lyu!> 8(AɊNuǹ7Xe>O"46)SZ|p=ݚYsx _ՒFsPV5 w/!"-N/LFμ:) ?,e'Gqr9fy,U}Ӗ~⤋L4]$[Яq;\^$[ o3&E]=t6[^9-).{1_d.NkzN{Vȍ@%1Ǵ͢4 +B zp@B7}b2d Ǡn rX;S~Ȏ%ʃg'{|hLQex8 Ne Zwߐ] )~/B"yGz\.Й?K KK] #G2?)6K~)pjAY5/ͱ1z6HhI=_旉rktFVdEvgxPŮv8_MХ_{B_lOB2tP1?$Cv+v6y|-lyDG gT_!&gqhÊ$F '?/9%/ZSs`zvcǐ/=WC:W)Tsd l RTas55&vLzI::9Ͷup>)@ 2]vGcqii4ه  W 72Ό$C?I+i'9m"A*&Ǫ?fNL<O ]80MBR _Q]Ȫu?}H( AC)G;<%Sk.5")!iAZk嬱o!^ju/gH&|pbc=m&T0 Z՘[T5Y{+!F$(?kqF?# E2&QAG,dpWTi8[LcE,j.R f4OwO-`rNB=Bvm@IA1")w*3-,fL2]4:ȼ a &iyQزxZH%2]20 z\,B!YGkWF&%a~ z)䊪hD<(C$PmOx3rhR|;r~?Od_Uƥ^HZ<*JƼ{VS{Ema:}{j`QӿkR NjKJE6/7Wy6F.ɦ0TN oAG'@5DO?g>ECy.Ip)w(:Tar¹n'[ج`?gH}yˋ+%UQ=fjpЖg5 |;F.ZW1ǯ\7['yr &B"ȇ;/h0@@t>`w +к-}Uɻ(*S;i4;zYJeڞċ*GLNaEyڎP{ncn)Ah~d-( 5L>W@)BCH/t&,{1_&y + Un/SyqcB1(7g8,<'@"@\dȍ]%`yIׄ0\R@}ku}t-L'/'qU@X? y^ef?t!ބCI"/k)ORȁgZ ؿeL_Pv\Z Vw$iPKt S[՝Y*"u4 9N*ՙ}ϡ d8qudboo{=pul%6E1 PrsɃ>6Rs&Ib^9 M^._0Xڽ.ks3-Xg%%~|E, nJZƽkmؕJHFA$Z5CLvOb8 w+b-je9uӑ`-S?P\KkT&En;ɥ6^cmSB<]#|$PeQ7m:KXQD \?3ur9#\S{w1|uT8MJ~f3 @l 2Đ!nKd9!Ҡ^k|Z"3*c䟍,zeDYujsVDs!HDLĸ f`mtЧ27NEBXcx$HX0%tM3SD ?Kfd-by2"96yA)"aU?&f;fj(˿&sP\%Bk:hFEicڢ%blTd}uT|/JipNX;7K}Ge2⮲4ͭWQ2|/1>ҙ"_Ҡu90׵#[ߝgG{a=|T+iF8^Z]<eإ4[m(n(8 Lѻ_F.}Y\,="mm}L_ԫmJP@UXk|ܴY1A[Re,Z#6ĝ\@ǡK.Ƙm9xkeUŅ#ѠMx$q=]&3ZfQ)aQ;]ı"[yEz9d)MR_=YCӓuaFC]훝]%aqf?V%1)˷,qQR(xۣ(4 Dߵf9\3FMP11%xoGSeXg1hnqںIbn5bD~]4V^q&]g(Ipm [ic&h';~cڳb5P'JFv-iOtUIE71/Oa_n?~kYD3|Cf? I+Cua|Q;px~x/SСrJ*8m; \4=MWIBX'3%A;ilҞ n6.BYY3|}Vgjjc@I.NKԖObd9u9Ǖow!gEHUg94SQãJq{3kQÉ|r2ٗE=w%OEȎ>cHSRky}ʔuN/#Ar褐zjc-ToKbjfzư H҇ypdƈ1S YPI GR؇A:T~d|q n#~iatsp<:D͜SDM|*̙ka4 cgTP֑5t/i`*EnG %2.jDg2K6-ÂXY*KOfÎl*@KU2dп{60uֳ.1wh|V ar v yY- PE{9$kb1u:aCLXMܰ,t#|\ t!~I;26|.ݎغFڧ I>x&oA\Etgg2Rwڻm9% /eIS9\{fa_VU4 x0`jI Ӈ7HF>۹Ttis$b4`2 duD ,_z^Q+Anj8D }2/bOөvx[*?}Y*8 YZЏN1*R4Z*-{@O.tuV$' ȋ0!-$N\<][7f,W֜BJC5Al$V28\`a( y85 Y%Ng}Ti;U#9Z$Ϝ-+v2 #(DELIJ[;(R^z3 ,@wu,pt>T^!hHW K&cm.Zb:x|>&/k&}NZkv!̿[ !y b+|TV?rLBDxQO,Ҿۣj 3v6cDNV%o5(!jgGsq$uUO`Dhi2%JfuQjE*[)s!o?V[m\<Jک0z,QP0C #c{HO:nRu#0eH[`xRzW.Ĥ>3|Bqm$TWtAZBʜkuAeDH- *&gmGSԶp($6Om̃1$W .F`>"`=\gkb?5avh2nn)ϕ ptӟl y  *W@T7Y6 *l{g4ADb gu ~``2eP`˗uz ((+Ǥiđ$О6x/ʙjq ytrl<Y[V;X>i)$$cBy6BhOc(o`67tn䟽msQIā=N[ψ&Lڪ*c]p |`TuVc\aL~D 9!m]`\^>s,;'@Ic*S` bMnXVP Yj$=YKӔw\=6G;B ;:mY!|?/jrc2}^oDS%ՋgnΐDX3FH%GKN&_&Z Mՙ\+9 t.A Jf-6g} ˡNOR,f#׋KNjL%-ی_kmy ʰj͕P$E/T gmR3] ѣ)MrkR0Ԥ2[ueSq|0LQѮw:?֔C3!} ~C?[HH;Ec"8MOd̚-F#ɡ­r]6B/1_X,r_e\YX7Ak(/Uϊ,Do  ؚ* ~Gd;pcty?g!^ъ|=`4d3 >VA)ʏnh۾tAޱ?(~=UIjj&41o8n*]":*@n275h9%]laZ 6aU Gp;-`E9ƌ7u ځ?Kwj{k,ՏO{o z %%?ҼNr*)ό|PW<2OlDNpe u_z- *6H>_LKk|i76GD5%M^-ˆ󜡒PUMDDmk{ ܙيNr`^ $?]yqwf Q֒iD3Ub aiԶԞ2`}(+hj%x-7`~!7VK 3^n)g$KXFs@ A(4Ȼ(ML.8j~ heKn c5 Ɉ)jD_:(P5,rc5Lz|s CIZp09x\pUT6&@ ĪgD,[meb>2o;֮A~16 T#xBkAdՠvz9Ls) j~t#]gt#{*^%,.}/+!Z{@\]ʈ*FN=?\dZ 09d)_^rcM<[oZo'C.Sz1`Pa{p.+D 3B+0mQ6Hn4W"Vau nU% !@צT|u:D[@3?FGuiɇmiWzn3q3*˯6fރ}h:^D 7"b 'H ;?)%g]#8 7$rxmM欥hGYILGt-;aڝ;9V~U>ļF\o:%Uf=f+=Jn*½ק۠{ܪVvUH^jGf,cI,2k8*6mGxs9m5c\,jYIV8ġX8:]!,4'`HƢSd+qHS"oj w&DA%`򚎳;&:)]og)9n*a$)ͫ0^ ix-=g4“LޘJ=}c)phø.Iղ)7wGk.%1Lp(OV2*"N5rqNӉQ:An0*ZUSe]R×7GrŮ{ {HO8>l")e.khk* Z2kBjU¨^swJ:;# 1UvAsQ1+K|\CVeWe)w^y¬X.:YDY)T#زXfRoD/,r @'^ 亊L,$}dQ )Yj.W3#Wi8F}n+t^9yth+Q_ke$L{hqZ>Gd)`1p~U?Fo-9Uƻo GASK }kX}຾GeY7Y\yopHh]c)-,A@!Oq:;J`79V@8yݜWbw/Rq@{1)s2%vs7DJp*†rZhzԵ 7p"=drj,2fR *; z 7bsD(@N3Tb:Qqh5} ֝,&pX*!C(8:Yn|HjKQ DPc]#=3Y+YU2 [gQs.}Df/I:ek\#VhɧqvXeZ|lO&q7/0h\ %:`Ȟ|&1lwc֢ۂPRc;S٬5ΒWI(Vl"@אfQq0N I]70oh vpcn>D>E_BcEI[C\{GtV6=Jev%9r O-\?Hޖo/ڄ=l.. ,%:GTuϲowX.щ;h̊-=rxtňr [4A#xG|GA*Nn.*E[ εx\d~u'ViWm ڳ!@m%Cf)h{x,`QNp^7r\(i>ЏcҘFj`q6>}ʬ 7*8~w>S:{ٽ鏃Rdf`rSuk6GΉLh-< (4^9Ny$Q4S2E2ZU1? F<=ߡs&)f dm䢱'qc)/:rr?ځH } >;r2]{V:TuO&FkPϾ6h.6O[>s既^Ha3Ѝf8؃>GRS>񅲦L^e_f1]e;u\}0~xhʜY*Fd4O%wlFZգzq0M "Eys+xx@X.#hlW;:zMQ1WםkW JLׄϿ[Na_Y.@Hooz/CwZS(eb,hRKh& K`{\ޗKՃ*Z"lpdq&v|#nv @uoP牒E~\.)5IlC%6d8&'h cP<+y4ȡ΢N2^8N ?Vh}8L}$ȡ/?PPSfm kܤ>ZgI4^3l]rVם~ Ev1RW rBhMp"+)#,90i?z2 S4V Pc_C^oheϫZMkZ&NnETI\s̭GY<}P*F>C6RCG ` O#-ϼF|yh\B *Wp-EO^9wf0Z` ټ%0$GnNVAfb؏oi] Т=:BC51k5Dz[;Sȅa VZJ70XUk1aN@:sH$rxNl0 6 tӦg70Ru>%'Z9?HW}TF xC5FXpSTj#զQ)*#}. ׬W2rNXa1kYgLE|J yR;P\psIFw9Кk]Mύ?lr|=du\/*`:e-ո|K_Ud( u)g4CxϜt+Q7\D<&KFK>䞺s)t"}T{V*kB'e>j5_<-*M}lAIk֧Ɍ\f|On`HUq2Σ\;dQC\˲5QqsXDk'qkj 1ʿ|M7D'ڃ3T,% n#U!Hc&=|e2\Xdx-@7"anGl!ZWz)-3ַ ĘGc *FKBTy2wzbKo^O1 ImpofCw^cB(CVl1Ā/Yعw((T%{jqټ.rf&8- }I3J-Tdt$ac1=:CSbq~'\RGXصhI{.UD8[xr`ܒ0)^)b W>3  Zd*QyT<[Q{> #:P' 6אx A : p^uˊ ,? WLVU,+B3(XXr6q?r>ٷ땨#kq-}^Onbt9*q<}Ƴ0mNwV\\;Cyb}&{YA{ΗO%m0@;҂]`bIM<`drbk*2#]Fm<Dͫ\Vka!RF:H (4ht4r7= { Ax]-ѐ_=(٤(BUWyWiTU `"s\8ϥ)wE6w/IF{"蜖!z~ZօlX)"|97WB^Cֿ='`'3*ET .7 FN!2SɛʞR8Ýq~گ2&rP[~*"o'D Z Vրf+L1h4g ~'3zF8q:gu@''PfT^l"U:aJFQsQ篃~ݟQ`ʰG1#`Q6~" EhCR_9£3D])i+$]6W b?z-<6BWp[l/ƕ*)" z%qe%;?{/*^rupFD_ JMS NsD^U+"u_=l,N qPIc^ A%۠){V]J9K0pr[IX;́Gd|-'UP@P>gGiy<6J*ocRȽ͡lp| (%I#)I8jLX>nn] G 92dw-qP~3wT2Vc< d&O}Լ@H3.ӷ) qGqk+.ܠN4%0a◅jpddُ.#5!ZG|t8yO)d *Qy4zNz'O&۽^PT3'3 Kp  G+LH+þLSĽr.Uk;~]~K:YLQ<ۥj쀷40/㸃gES=BC>% >S>WurY&"HNJARjW- DR΁2H.Ivk`Aύs|rpƄ+I\jmc1ud$V=ͼ<2<>=S`AHFXb;ov*F55arpKSŒ5WsH\i#gap]I_PaT4-`Zj'%4Rჺ*ĥ7튚! F)^4>/_I,:2݆/#iRuB$/scE !A1cfύ^ [dT &g9ܤޏ2P:R+- P4 Fa>;tx2]S=N?jpW2n+ .fvx]*az633 vAB;"xkhѵAozݶ2Op"NcL{Hxօ`vn5R@ uF4*zVo,J:c'lNBD]Oo7ҩ AK?/`c8LMb 7&3rVrTO+]sW\-HYSV*~_x4{tÿkpbRZɳ1BT:@ =1^<^~:/]:QuXHq3y!9g(W֚79gO44{tS&^”Vu~}s.')vW;*j{~ ZQ_2}},08>v<8ֽ"}}H 3BAʓA}-mߏruR~Îۿ~E5+fw1n=Z(׼_#-? j\8 ΍W7K]-ND#4KޥN6[Mmؽ&H ~gу$.٘ V@ۮTm:Vt؋k3{_6nT8NZDb ?Mg5jDTJGcA;DK`x7PicAxnI+hJc 2kflzW9J䯸;O!3%|RcsN~!z7VXsMEuSua'm%jɁ "ʋЀYE~y uD< }+-P@UgB/^h'RV=6)W^u/qGYJ<3@왚]lO8BRG(E:ϑ׶VY٩bV3\$VěWrj5? }{+) v(A˒M.fvcwa_}) R@肶9sM+I}+6j4nmG6Mwr eƢ(`^{ST2=u㫼Z2;\WǨ MY(ݫ{ 9sp{@^).m^lm `-l 3`b&ʃ8VC}kC3s`@ )kFXQT*:Dnr DVߙF/Є絲xe&'+^N;0ӷʚNM9XIꝬņ-:#]w̿ɲz~}WaՅB#m쵌iK+D*rQn7ןDd\@`CT>)|0\aЮh%RnAr/ o6|PSĢW`*a!R--2AG3o^0T*O!u8 Yz[v W`-:|?>՜x \hYQ=ة=0&h}N/bb6_u! hxWjqZ ̚]8M$-Fme(s4cݢ5 y9%uKd}3!6vbMPcg^kԈA.QIo5K5ib5Zi|wj~8|X_("& :rl(e~)ۤwWiuz5`T6=:'B)uAaL:4GVofq-ș ʛF)W7%˸|6 XǍ4XSG%RQ  ї[>cOL̠tn7[)gq$25d#$Kޫ r$,  !qRZ |uŠ]2xS7gf m`Tº,\ O^7&;0l3qG1uЛ/ rItq(,}K0^-l]?.7.D`$1>#+8B|M;;
k T֟۠_YJrysOB rIKA"7]j(Ŵ1۳.- 0IKZ}29mМVŜ}B1<!jD۩1:QBbm#_sk 7}Tյ?LE,ŗݢ*> T ЙQVE|WJ,2Q@ŭc捭5 p#s^8Sn;`w҉aT_ a#/k4`~jcyMSV>/6"pAWAwXLK!L1XǮNto94AˆmbA&}60Chk;V[5Q%rv YJ8x2NC&Ŷ塟a@,.'BwuFm.S(ϖ-isΟ4C1/q)Hл&IS@`w c.U!qW0ۧMbmјqUO(VY~awPvΎ9&gM=|y/{  H̱A_Hn|2W%U)8q.OoJu׬C+f!^5By>ޚ'3t^ h )]U 2vԠO`!>@Q x Cy re|2k?KO)I}H^! g]Xc3AD#*by^v[ G*lǎ=`o~ʷ8|SL4xJ`zFu R?--j!k T3 h*e2֛Yaޙ0ꜻJpBBLM B2 o-.E(E[U.xQ A4?H 5s޳4(|]шa./&Ŏ&@k=V6 m:iI̹3+h+<9omv.S֞ʚfNǷ} lMsK]m>qDm/~O)CnHG Pvo2>|җA;A Zy(9k`Ʊө,2Wrq4BM<[%\lɗ&4XG:T `v\y"y$R\ț;lq$sq[:WnU $. IP *3L9`?nb, v難}NL̶em{tF%[\6ɓ/1R|+q#r*f!{Lb&R2X+nl,jEw8=JS_B3.Ad?|sP/&KYd?gEZ)cH-S[su"֋ f~s,>B)ǃwܾ i`b,q2!}yGY a0c76t+5⊻"LOZˎV,zJ];|9OZ gir]f kl.mN,vS"]9>to }S㯯 j>`1p BG<%|A>i?Y'.1V['${iSO(s1;B%H+Is%HJ}lMLSY%_ݴdeP"Eߠ[Yn(^}Ns 'cG{F3>LAUbհ,Cg թxa qɠMB_S@]?DCjyrZ2 Pu@m گ#aT:O뚧TXT 3ON-iwܻ_KWZ%UMSIܫm5V&6"֩,pH9 qC`b?̶ÝOTٽ.I!+3ՙ]x*iq#vɨɎDM*\>嗋 RjoGyRnݟsIBj{Yrt[H#V=BRz:d5u3+ '+JGuH24cCUj.g镬 YND۳6jAZ;o)_S>țD.̵S@&ʀ-:UWX ܖ8 ijI)}-j3 f[h>OUN?7iukJ{53:atg؟2Q*oĴ/đcB꽈'd˘4}SUg),ȼD37ANqٚ<ԽX GV#=xpVe|ҽ.^ov.i#NuwBO9 b5$iP>JD9}AԞc ͒rQ0М6!m++2{K?H3psLZ=f)!.VlvЁ:oH?]= ۑ(MIH#*؃boᷴC,\-琰l`fYޑzý &YR,+N:E0k4P 00 .*vD}|%cG:r){^u~Q$AWd<[b Q"~jT=hZ.Qc7nPSIʔ52;xoX@rS! VFJ}6:\_OxMb[vYVC~b|F`: udK)ʼn~c2Ȭ9Z+ FYn= JGˢ9aV~ʜx/B̥J/6 {lIQb5I":U4peGJldSPsZTpw *!l![dUrme̤%Sj 5bx^< VlV 0oX8ˍcxw"!Vߕ)>,8ACaӪ[#ۚ=7SɁ~}JS32H}ʙQ>wQfF-y:W,a3fzfZOl}KbvjA@CrFx(?-tץl6+ H!ΑF"I݈P:Zŋ0'q;3WHvHj<*~qqXl6ΐyǢ+a7nDZ{+9'&uOBJry)]zTŢ| 1x DJHا|- Pfh|&^FpUѩ D |# yrﺲ#Sc \x|`˅V'J3e6ױH}` "~qώ ZVhUyhfԶ{`zy%qV7lƼPo; tb06s8 uHGk`AsnFVI2'|Z,FGGڻYψ90 w_ec&PCc|e{<#q|Jc.TT <1 d #*b ]$uP87i@k߳CwYȬ` r03j. ¯4'n a6U*;v C9ܽ Pz/Y_>Xċm78܍9.|k(8&1 -B[ fB9z\/1 "^D"#ˡVBwQB{u'tGqBy#†G?tTˏ8폓ڍ-]=o;?E!?Cߕ*, /@_zLFYtx1o]NpźUbRVwA0bkpa G.܌5eYxFCܛNa !IGM!o>al%ٰçUC*'quDݐ%7R&%"<8%vpX+Lfa%.0eUӀڦqr%8e9ƙI g3LW)*&/'$sJ3 ycp-TCN:cWc4]b/pޜ˹߿\$vȫ̌?鉚O޸r٪U{r u~&oj1NJ?j+O˓Il!G{{DBF<鈴 ݳNyNhҠ|Acokp_KZ@[!LW}M2G]AT4(dY΅bHd}ogs`KHpD*jֶ]$ׯT9yOZͿjc.@Cc՘d0r2۸gP&w6OgU(9x#iPѡ'8EqDFYDVWz wK+qs\/WBϊ^7$SğlPK!Ho_dkR`WFb$R _3ϗPY8<: Ɨ}J3!WJ;i39C)}@&?,Rl,׺43E2ٖPWX5vi!D*ː kр{TZq'|5=+s8$3I_2^nSm:6 }K(ّ6d@2T&]WͿi݈6NiX nUg"[ 0r3'jq90.2 پ$%0J'k-\7WLv> V/j4oXp~qu]=i6cmHP n=+1(TUoX%'tJp5:Ī?&E涆!` # +Ūc@XphZS}%SJ pwxRkyڎ 8ğu3F.PB7u\}0473MMޛ ҪGjЏ.,h* μW>BKG.\WS5)ŁkhY};֎P3=a1Y)L83YeJڡ81..aÍSYh)0,!.ɃTd/wNp-0J Rp 6y#[.020ĸ Oӫ%`nTȆ*dڅ#Y'$<'s*VX%3pwKZGsh.|+D2!9sfpe).q3𶂨W1\^]i1 9^~ s(.,dv_,(wEzduIF!\cs50|ldedY[ %=8ȓG+ *~2Sy!*.7G"_tTB x堘BR\oMrFˍ͈;_Zm6cƞ9f+LjBN=-?pYyRjTRU W->,@4tBonr]QҴ6*aV@5l+u,$Q _kpJE4TrSaۥ@|R㳶7"]xL4-^j@+60WLUIm'h#+.Ʋy.yG9s%C gUzO_hU(_^Wk>v$EC'ef%Uz>~0Y & _z/!ê8'Э_ȏsfׇ\?WףA56zxD~ID8OצM\<5|ooTz#tlWpk߲z k0Qs8[~yĚńtcBxך͒75%0ww-Gnj>Vn$؜bW=4h(0>4B~mߢ[UoehȍZ)FzM"THqz!"1_9Pw +3.3Z3auK-GW3lu'G?0;i13?f?$D POS4BnM 儤@t-9$ѵˎsNwGE/b'^UE3A h ܀?@- A6FcYIilmɐ޽6pg^-,/ݮ͡Uw{=∬r,H܊3rO_1%4A p. U+o2q\iE#Ec+L.?K[OQX#k@ s 39 3J9QYrZ\9;c-0|5zp (F|0kP$uoiDgli%\- \8rmӆy2z\`8\J]"͂Bu : @xz=_mf*۸D˒y=-7C+ź@Ns&aT ]2ӚhID>}bZ5aBtes7tK?Yvg[aPm7غ dәjA}-N[s'D!!:Id=t<HRh}IVwkSVndH qQoh `7 L[dH d$YXIQ$^9Ff) %7y@>~DwwJSb &ʒ %on.{IWX]`3a5v>m<)OOCbcfdfv6Js`c$C_)z\sM]7'=:x 9d`y&@LUK:z|RtnB͸{ 67c鷓8z'Vil>15Q|GšXn~6DܺuR3{ZgW&H)24[N%}+Odp:qYՁ @ a؏)F=(7(}5I SXd:x3  ̺ZG*N'yׁ"QH:|3 Q=CWkZk+Pd3ڃ:d"o-%t=߫O(@Z%ǩmEkba]pVC]PPoiȻ_* P@OgJ{[ܿfxU"K5a&>Ca]H| ̰(Eܠ.N׽PnUk_7-DM#~?GI(pھ=s4v>, Fh$AYz-=B`Yh')\7" pBveI#AHD"jBu.`?T^V/ێ\Фr%m"'P}P 78ŒqVc^]ORk*"eBZ3Σc#4/ܪA#:_kdX T! xa. e?]PwŷcȊ4P5qpi'GN*~Kâ+.gKctes U@;fz }BQ7Ť@7TAt)';ZiN;Tv (Ε`sa&E(}nؒvnOs.3meb-0T;sEz}r㩑$W PG=ON]&ۚ]gKBHRVX[_%(GHK-&h#E8LIÏnH'{swT F'a9,wHeg@صVHQ!"_e0/1  m߈[-Oڦo2 2ZR P>Ŗ|PBA̲핱I.oY!MyW&NR+sa>ymyw$:܈1̋}^j*<-_AA$pz( R@ +~ m/9ԏǴ:~Va~Ph́&<m.WߞcgdgʉCxKu/8-뜺"uux! 名 ćc&u)>ht1I@3U#6MR§@tۆ,%dr;IP b~|?FfmxT / @Ee^0vI,i=~{Mrn8G3~RBS=~ؘgc<r(vyԻ;\8I Nx"Buak @UGymK"QFtܤ qq)vp+ +Pу 嚥|g 왙ZiY%RG-DϔZE:ejגHbl u*L~&2ߐ*P_or1͹]*I_Dnɱ8_sf(mj QBU vEg9yvCDZxxaY$ĉ=`?ڋ-<8$Ӣ4xgǥtYƘԯtslˍ1 HE1UURX|:,eICBb{Z֯~}7980  Aǃ }v̓*Zu~dRH_ Uz'0qC3g~9 [ebePӬLGy K'M EhuCIS[5ozEpޣ[ip{Y4&3s6i) 1uU$J䓝kIl"ci z(m}ءro&TK9ƈxRj tcYUB iC]XPf*%7XiH5=]6*v齕 yothS<Ur-[dETdžU6N}6De([]B=uj+T$HP6?ʃt}0^Z-hWfN0HbK#1DH#~C[܌M5+0V\QKuL0jo#a8^l_osW4X1[y}ȴʢ}@w`3!*NADޙ,vwO*S~6 Cۜ2zẅ́A`ہtV`٦x7%HW=&q)ROqp1jqK-KSd&z<|-1qC BSII6Wgﲀ#ެE;+a F{evb68ե & Xf!#+Drn"FW1l"?͆ΰ [(nHv$tHЫT=)FQuxb$?bhU=ቕBX)kmZW)$!򮱶↡*KUX!62!E4k[n:6ⲠSw\T+ Ƒ` bWJFm>ӝ`Eٮc2cy=ɫtD\MCה#L-90lv'y^ߓ./P@64sXfPםpTx#YҮ^~qg~B"qI#qGShK$}au|L Pv1T_q(!SGE=\M-X_$ׇ,Lv8[2z`J˶rI1w=QbV`iMbGk+v:49 zg5V_=x%d,+Q%H=RWW4~QD*.UԊvF#oDQXqԡM,<ٖ^2 | &[!&Лs ?1BJxV7{B[VBxb̪ ITࠌZ71:C +dUA/}d3ڐc{vX}h <<5y2o' ; 1䴔 ֌|` nz\H!Iǵ׭ 7ip"?=1?^``WpN),Ven8mS Si^fٗ6 G_w>+cYMcx3|\/A68@&jEh,-z'A9e Xm#tpK@Mm͌מھcQ.p5` 0-E?N]@{D|l>os@pC!.lÈ$@~NHEd—-R`٬tAJqȽ™^Y# tv Ft^Y8&Ow{Cn{Eef!gh=o3MɰY-x}hǤ7"'U\F_p|)ޝ3Vӈ:5~AI)$O.%yURl?b{9(."z^(aKɟVdLƵv'?'rۦg ƴ،X\xiuT;`hzdwT(KX&`8#oag'o٠}s` գyHX*hqxcKEI dH8|)vWd25kfЭ0H"x0OT>qӪ/3/B,Nxb]Q罥]qsЉOڬ"&NؠEl&.5QY*ۏ.[ Ѝ)5sV.  Pg0O6pD;{@+\6 4O&Mg^4d[ƶcMl:q=E3# a*VA*a.Hb"i׀K(Vڣ].3S{6>n;=xc9SA%p{οNw8$m{.]쯎 9e (&٧HXkd= Q79 ;VT{u)Jk;a6ɎbJ} rqZvV̺x)Vѫ .ij +p|v6}Xc ^HIͿrVN 9Nx_Sp;`yHmy'dq M2GBER3mis=)teRbэqML'fa˲!_c.Z2 %l9!TlnJ ~'HTJ`$r3N>.xuPVPh'bckkGwӅ7y[93 1w]h؂$%Y{zk]U@M2\|S6NdE-b*|xD=Sw{oO=w j*d@[%3eEmXSA#OWFߣC9sNl7d?ok w_̘@9 @}wƳqLQY*pc+co=Yd}3zF@_/c8B &X RA1sFLjBypl˹6Uh/lGM6uk௵4?EN_pޙ Fu(>W}H<,dJ>4rfL %{/+_\rvoeVQZC-0f@ o{fG~b,>-=d[-xCM0T3o!k2F\O2یop--3-"ExbuZ•ާ,pd|RT>~ %!D;!B?YoA&m"&P<-DpY@߲RN9NTW(?eٲRc8Cm\˴4;ffqEPǛY}L0j!ZW#Z6F}g*x:Ϲ vIwOLD)jRI:+v"`L8&ՠ@Y @f-ӏhE^N%-DʅAz"oWD5ՁڑsL m&Bf7Zn=PÄ<%v4z!Ҙ {fދDX m5F7ۆAC8)e:^/KbG6?r?I qXWp&aPc5_$LR* 66Nv|V=_V"(A/! 1paUkngQTJ38fqXJ ln ZJ]Zw̝KAj'vN}m^ 70(^؊Z-3'gÈ;j aݣ7=?[]tv}i+~KHEZ@>[MiM r o:Kу(ࡀágsMJBOg1k;qbv>U茌!U7%; b8pWzܚ"{t(AR 0Cemzpb^JĶ 3if;bߊ uIT:?yدظ&);QTО<=8%Ϩh؅%t{Lqs vxn=PI]>6sL?ʾ?j.A{JI0f2ޗ%zslƏ%>Hvb1~^f:<"3Y;-lW璤t+&-eodsܚHS‹wMp|aʕLgxi~zHDpX<Ԟ1cAJJ5a|-s*iVtєϽȽ5) l{1J؋K5 v9P BGGSڧ5k1.x#(g$/M-+ j\Qnve*=a76[Pa /o58i4vc/۷ k>U"/oϸRUX?z=ϨρqjMu\!ې,/҉5AOjs\, C w5105X cUJ2L( :}Wd(>D5yHa/")YBq;+bʴvݙTLVsr4q&e߇6!D_M* y(} l/#i=pezyȯȹBǏ`?9G޴}u_TyX_&=3&k3L iLgj$+9M*|u81lpVi]|bI \%_Cwk9=qL,(S!|)!k]@)EUj^ ˜fy W4g,9^@vf~bh$zz+ԩ3,53@<^a{pTo!k@qXv];`uaN҅|p0 71lqNO2Yt]5ہ+U*Ve?w) =#ȩj I+UDH*-Q@u&kZs*dI=_ (!xCYgj!2O)Gs<}| -pVLnܾa[ HCBdS=ˆr0_. <] =5B {^a .>TO2-h`B?C E| }3P1"1jp6:]$C'~7+@%oE昏!ʻ1guYs?nBۢ$?OT_^-2ӈ_j6;eNAKSŶ,$Y9Z=|*/ 7c*ћI]HF+6(K+6حn]M=<YN8/ՊYXEm M!4/Q|R+E)T_co"ݪ.v:ac `M54& !掕djN<ֶ!a}:m5)5ENɪoHw'mof2K``2F*ئp,?d4*^pt>[v@|gCJOfC0W ̕Z̡6@NlJ 觙$D: 3qPlK`kM%`AxV dy2I嗣+?3 iU'\ޓP1Wφ#_Bi4޻F ܛ6䂴BqH3[ qCg!>KW1m"B!r X!b0W;&H}cHD+'ɛ\xUDdހd_r }F@.Xf>ˆ;S,8Ɗ*( 9G&NmC".8f;}+FkfcNlu.Wh~ᨆ%QW$IyYt<썗Xq?pGxX<ޔH~ rns:xɂ 2F*%FSeOUwf[|a [rׁ^t8*g̪ v3NC9B+e!8\^ar, +|v WqwK' |,O$pZ1L"%ۏ/Kvy3pJ*. ̢̗Q+z%K1!0Vo)Pi9wuM#-);3:d {CfGxJ=; 'S.2pDnAwfǑiBd` Z+ i"YΗRt%UwAf ,ޘuGQw\0>~!toQ_BKkLɻb~ƣ?AJA?cH)y↝L7:$a=7AAP_K,f76h`I]5-Ool֕bIɶmiʋO8e<%ֆ̉ۗdJS'R|v |{bB.z\"gs\O.I<".n|eY!E*, u:XıwM%OpW5csK6r♒ddS&YͲvt~S}:Vh\5TK \A0u')vs[zVOwv[ZXUM'`"&z`F9Io!z :rm]#8kXtReJq|jxKxU/0K:^Nqz29XE6,"yIS|E85rD>;=\1ͣhY,CLL Re)@4o˚X" 滞FK彥qm=n R8lϐr!OY~m"TN޺)`8FB|f#Oѡ-a ZiKvDZr->(-hUw}eQ~`&\PH-6$F`odKgUcKXT.ct+TjʼnPZWY2%ܗPyݗP뒄S 3cxw b^K5>Jou~S rV1L#R`ؿ|BKp$q?>ƖQdFqkN>S!ϫ񦗘#6r=Czc9`ՉdYﭦ9Qt+v8^{b@vS~s:QK+3qkYzR* ȐQ'w0|t"I) MxTxwHX(׍ƛF|Wa"W{M^V=p sO&%: >3J-T&iQKy5Ҥ7xVZSm|CutVMB1a6fmЈ?,yEpۇ v͒#+˲:aQUxخ@oty:!L&GDwE>NF~%#4.[=-BQtVO*H!sp rAqS2!EnBV/ҹR*o.R!‹ѳ; q5idr+ƯZyyC]) ]rm.)sv׉`(WvHȆ%Luc  kh;* 'su <-}Z큒hp֐|[YCBQAJ+qs-he;qށ+F#m qS| *1w28NQYlqO<ɸ4uV ?DqIG?b7zbm p_ w'sr}D>ݮ0yLAg}ҼJ.aCQbaL2j]|g/g{ߘr}F|'N@Gs1n9AldO0> yv, No50i2 &{TFj{!m'=["H˹]KLqbٌt 23 +‘C$U6p%ƒ^s{5_ iw -\YG0!'ᬾl6)~gxLC̒SÒO-Nu%.ԁ-lzTң:Q2P{?GrL{@nz`]>lն47*Gϛ 5|2/ bǗ.EK}=?:3k;2lzċJ q;#2^#MemK4VB,"^^\ۅ tןKGt7\-pS>196ɩ:f%m:Ϳ A{7ĕ-g/ϴfZ evu)R1ʞ&RvH ޙC+X忹ntRlnX;b@j2 {{ ]Х?Pv+1R:((++&TZ-؆Lzv#uw3._:\ȿ/= 5=ȯ[g[ȴ^1[!(Z\-*j5fJ ^QQnHpMxz&o.ЀmJW >+-Λ?^2pK=*BbS&alWv/ʔujy5 7 o0e c>&\7Ny^׾4Uq̕Gϕ2;F48ORXUsҢcmpb5!j-59 ǧ/2]eC&6θ;;#Ƴ> Sq\QneU0ѣ! o\Q8«*QB*l&ۊ B1Wtl1$ %\'l+ZA,JY@M*-\оQ|5|yA EUn :ԕkKoFM#?A)6u6~@-?7uKmeMaд~^F|*+Y(/]֡¶㋟.nKU'=h 9d҇Cb-H633s#'W -w}ʚbԗʆfPA~w̉{JXoʬ"ϓBSDd[ENkO*SJ>'m'j&2wwdNB;#MA}U8'5@ۙ&Aـy'oZlDK}c춽[]9XoY_QQD 7oW lY^h:Lm͍TG//2HEC`^_ 4츲e|3*M%* Q*;P3:1S)L]K\v5| E~l wbǭ1n\Ih}-wvHQ'yY!(] ̥)^JΥ'<+Q\M7h&X]aFX3]~0 <#Z4I>;  kQ9]]$eOقͶD_L2~AHtY,GuEKUU݃9m6 ,MuXgGt~;`/Our3;fniE o*W8c{@j^e( Z*&{#m2rQI@KbQ{kB ŦH-O#ر:JFe/Ro 6Ql b*qR6Rꏂ=PkࠥF1ኀ|GLUw;/͓|LH๔ Zv0E(o1_ 5H2;EUH$gpHB˿PrCbh3elbqKo V۲?aWڽf3~k Jy%/v$ Ϟs2'+Nxw?vgH xzS1O׵Sb&hͥvW kI9P_pJSa0'#QyYeNQV]tB !>`"q!LJNyhznw3ub*ŏ)uĻp1, ~ه'm~d{#_*$YXRh4lebFƵ٩F}  fO9B>aG%3Wtp@:\),jb=#۔O0 W'n 2:wv5܂]|½FYnC h 2og- mΩXKD V:`^&8l BX R; B祼/ .#Mϯn^h2Ѭp6;pEF=%$d Ͻs>jC)p!''dd_<;+!X2'B\ *4&^]]6I/ A9E6Q ӎK=*[Yj&}c2?u[}ʄ\۵D+Gv|=v3*Wє5O_(%>l΋6&ZZ+t]38B7TՍ`5Ygm$?YF~3{ %xg>-s^F4OnF*WeMm'ќ^ߙѪ =/xJf0F+S,t1-V* Y cy/+/4fh*Y+*LYU%+6''xr%}][o%H󠢻ZBF0 "0`6 (;HO-';=Xs jrD^hn4/vS 9{*b-1Crt,jsslra )4yr7JV4dU`c&(ms2R 쀓MUʄ.r>s4(x0l֯*]`&~sF? `'UO0 *FHkOf6 YFX/^?*^IJ[m5w+p"bQDV{z-So{\,C"/HPn:!ب>m6uQ)"=GjP\& ޏh/n1h`3Z&ZsVZO96W~-/ޑ:)0u&|% N!}znx-b.>ʔ#JeT͕D߮* xFԉg Ě:#K)˨3>q?emf5FTv~{EU+[^s^}HkލrB:k*Rt,7m@ obi@](pPIIPЙZ=4P&F+,HP|Lo>5_T$+."U.6 ?)6~N@dI/(tNG1;>[/sL~;lB(:!mFa֎xŖՋ(S*ZO 0;Ra~+NI ŒZ]2a¢%FV# w\{WD DcG"ccAëF$nG7m{f%6X ۠X=>]:[ f}ȵQr{dv> 8E̋HZ#]K/XMK8J$]v&&b&B_؁azo$uZLa̺$0#wL0EilB_TƎMEX rطs"ov]tr>$ j fuH_Q0FȪݼر!Qc)Gm)dhH0+Z^Uy>L] 6+95[g\J#XvseJ<]nXv7zՀ@e;FHVI5ul+!q'Mq~nmLɺ#ͨƝ$NWssoi&BY}<4#v8¹ʱ6ENb#ukyeRdj'`e&]By߿IW7UzH{x"A7=gnO3)ղS$kj=L4iߧhe .Lbו&uͶT )K8Hj,>RUdÄu4jTf!\FEY-pj\qCIqST: s{d9eJ/o*52k|s:89zZXPzJ%%SIyWTZfzgH@ImXSmNbc# e%-?T Hh[nYÑBKLIeo 6RNd @vz=X@U"j`!~؀72~?roRfR }Egj!{Mr>L@ 0׆xk;h yTjγ} mfua׮}ٺ߈-CoӼ):mp(5t1[~KQ;ֲxI|8*/A{ґ.qBg0\ i6A‡0/?3$0d:8FLCW!JZ,zbx>.{&N $j/! ږ{h,;]% = ^Sm^Ͷ  `F+:smr0?ll);a/U4?VbM_dqasMj!KИ0eg+6[6N>`x#+YM sQ!i%Mԝ#BCql* k}8Uug2 jktQG?wiy߃vH`J^ K0myp:"V_ay Rq1 Lގ]HÜU8|l+ +5=ҩ:]%2_h6F tc(Q@G |耨A5*Z4C!|N>Y)ywx1./]7r O o65p\^ _`ZxRl؟ݰ_'ݑ!Ό 9%jP; T5m'P[+@ڈkiA,͜u\͞0<1BdigZ?Hhク^kT( £Ch5@|Ro 8 0gcܣ9 Vrߚn*x(<#ZAp4~mp3φh_&72$-gRV\@RaŔno\hs)\sD@} /D 0}\i`1k'+@Zqː V0*!=Es0xrsRcUwFՖ:0ãhwaTӡH:lXpBsgoRG/RB#;wdP6e }*L[ Q{ `iMx08YWbEs (7ܡuC5m5/7-ߣOœ:1\ #i#NUwif)WRkY3c`+֡QuL7lCI*mOt= 3 E(_c&@KI?bt@&gv2ƪ@,[)LBPH3 .N Yh}F5eEY]yCBdgXDOۣY8OT^a8dcʻɢ>"CPU[:O+/@ zV5u۾Qzq*Ϝ%I7T7s[@99Yiy?{0o=JX;&o鄽R/RbHXfýKmtn^8 V/TIۡvx]L^2ӷg؞o hq%dSw,L=Z*J8bdt!͹vLX``2Tˆ$}LeHf/]?^R0VH'-O^v!q ?襫BOX4 %MA}ei 9'>l/!VgJ)K~Wf45O -6 <\@)oެ/i@Ib5nc+U79 $K`v{>7V"`ԋgP&AjW4z벿Ը A5q&w8 ;{z=85A?eV(&›O["Y1t~6dJ bnw޴x ;-%#N3Y0<Q^e-GTw y0[9 1`6FSES6~7ڒ ٫~oKq50T qh=1 Y01:Z5A=)B`.r}ΟJx'{4g gύ[ G(v$S[eTcX@].XjE9p@ /B1r3KGs _r_~CDRDTNȮ$1ep*rgRw)3;SZ6 \av~?PcI])8 } L,O]vt]#DѝN\D3GWTQO|8_kb`Qߑkņ`0rcDC|="B꽦]ï9 G'C;ɬ5k :usnde&= 9kQhzP"v$ J[7B E~g~p%{6>.yP/*~.[~}[/0s%?!KByN TAޅ٢_-BYQg0IZTUNN}u_uzS{DP NX^lNmՏCt $i9:_IriS#9/5-4!iy@ɖ;ʡ?;! ;@h,5:X/'v7RG# `|:~|E,<໤ kwJ5n_E| _pťNE۩)ZSbwN%aY6ekpW {H X uS!s } ׺V3Zw>k/鎀3Іe3 vEiy24(0)/,CFx]昒 {ԁ ܷ:@ 3>s42yϧas".Qs\H&M vjBڬh/E]knZrh|D/kl緰9Y|Ytn@컾ny>L@_mEq}e3~9ӓt};rʼn3H.vom/9'gpEo# ^IfSrڌ'5# @ Py>U-ӬsְD(;a$ *(l s`R֊]i\n|K%.䦮#><w'm(|F%c?EPF |1ѫG_P] |޷l<ǭVT٭ol>N )y T: H*WM+ #vWpyg"wk2kt}AX,Պ?8AD(tU&)jk~ S}"֗wbn7^Sr~T\)j0DQB!MG +pNG%"mW_k&C0Oʩ]StﻏA.V2 M36?CMե2N\{G3(sGpOn$+^;gqGm{Jg~Opf%Kj&MN j( [EWhpQMu,C8ԓmD"-i՚hXj'p5ĸb(x6!BõSOkO y ~8vqB8>ZՑ.ѭ:/MeDҒUdž$+Cxm"c'Ww?% z+[w?ڃ=aDp RQ+^[:c|fq5AIuD9<_9>{eVPM4T6荈GhE9 #d@I} HW62j{ٰ?V'Y~)diGr4 Jnt75z!🍍Wͷ̾Y,TIh u (7и]O/?]oFC\,6Ou,`Zk3KI@X7He *FNxb-y&5n?僧X%1UWloV[O Ec2AmU:,t?aq+(l^Y2IÜ69N.Axe  | ھwKQ}t# |I^ΎҴ4jf,E?{I)h (v~TJvv;.7AZoյ"o*fکAjSyV[ȡFQ{c]6f>V'5ey|Da[[#3ͥ^g`pއM,d(hyh KgOcTq@FcCԦYśHij ._ L.#ېo#\dvooxJV$A59ܽk<@ 3ghkM6nfK v.V`f k[R%Vze) W`l:=LNc8eŖaWvHKlfK;݇ CnD.^7,Ij۹չDRw~z\0M|4ֶ1983NQ?U嶙 FS/?o89DOJM=; zٙ(2ŌHPPw)G.5ݶŸ<ٽwu\+2CD }`VOf< +[)#i:Ȑb [eQ "?GETz:1g'O- @Ztӧ̓1|sz H頸uM)hbE!Gbpި=I\*[lsbJ7?(TN,& C8:6$˄/2Dm_lp@_WqF%ZuqoĠ\zHQ.,ʤLǧy\asqq$hvc*y63uF`Ns1ao_#{ViǓClO_pD~'|7D|0WA74{֮r`[Qw8W[hlPM.u6GgivB#͗ǥC&&pmǜ;%իE-x-"!hJxwwZ6[xgf({ ]zM>@u`*ב{**AΒotWE0j\΢T^g Tj=f[0&N͓-D8i= mhf^DlH6gŲvgm:lrU(ntۮ8SHvԅM{Zdr ۣc܎ffB\D0NWC'pMdMRˎ[aLmU0h u &߶}65H ߞ$|HiLmuфIZ ??T}MQZrSHP<^%Nta6@ipXL}cw erP}![MзJ;m ]:ٲ$O@ /s b2iĤJf1&('˾?/@|i# 8Ѭʍs2!~?^ؑ%Bu^";0Ҙ.9<2yP ɐxeW⛁آtmz'װ|6c^CP/=,rSB1X[[fx<*^/$229U䤠6r dui[yU(#hhLRlWX&\U\#:ݲXÏrާ p]mՑkAd縭UV/_{ܕ Fz<}w$es-Gc٧ypLjv04^CMi Gr&µ6,v)T ,4@?$˗}.Ek$<3ggs $@V3Ŏj*܎̨쎠o٢bK?ɹSYIGY '>C m0 ~'8Rۍ&WUaa>)Sw6#lN1^cbT?hK a0Q%Utl%_]9)s1/1ZM~jP3føʆb" ;UmRѠ ^vn#˷v%!RռM>ˢC6_Jy9']78*ߪome4 _,|#ַrvOPE`?Ϳv!2 K+8l\/#qdJH"ė.Ī=- +x #ʯAij@ZW|_yN w-\oA\Z<}mq; 0 '~vU$mD@U;VZه.]Jx$uuNz>U. 9,yO*-8%7mԌn@m*Q5lqdk'(n$YQpX9.g-,P]am_EޠL>|sfk1:lYEYBXI6//)kNP$SB>ߞE?[/"dbyV399$< NCAB<],h} |կ&mؑB-!28 9fISj6H h߈!=&vu$SdP# "F RDH%lvo[hItD2՗HJ7h"hh,)g2a[!|IvpgM^I])q]a@IA`F@&)-gxlV6s/}<3t㌴ k.`e,tًr]4GKb,A^fgKjLX()K\h{CA@ī> va]vJ3!|F`dWAjd+eVZ(ZM- *cUW|e9մ1ߍ恚gB S Πbn; FҐJ@VQXr$ 33c@$Vuc٫&D4ٕjMɆ.H0n)**Y64F/]u5"j;cuplm-_>F\9$ ;#=C"D=İUf<\mܚ\lK='08q;4[M4h.g1`UᲹ Y"#7%k$w>sUĝF@k;hq0 O[ZP>+nj!F⎮ Pխ,@kśyɓk }6MOH3S .~:Ԭ>j'w2w階TLsX务Ŧo۔"&== Mٽeت{L-P*kq,T*4Ԉ F4ȸ2p3|ﲾ OH ,Ve6HdKIՍžᕔ*GYy9YEYKXɣߨ! X$qLrRƟxO.QPt/3>FИj2)i `ہI Oo(|,v4'&`rD|P@k%ۣz1 {#-/P9yط0SqY2dWFSx;s6^'ecE*jqbPEJ7O]1LӋA0Zٲ8TGнl|+$+3^ǭU՛7~z=bzvoQ\[)7 & * @&~.,,f5hN:S$΁4w#q3VP`Vhh$(@ 6DGwpS0V5OϴU$-TwjWJdF3?Bdžq'4LP#}J!;zHXf׻w-> ͢V>k%(GVo1ZJF5 w\h(/Ϥʕt Ke63C].YE`g殾o*.Dx0 I?y0i1:ݙ5 Љ~vȉ8Lַr2Uhq'I ;_(O!mIՇA߶Hѝ E*ل3tKTQ-svHSH"Nql+;Pj0E,ĦmT7pI`l$9%s _Q?^[p<(Ebvv|Y::8L\Ɂ 圴mWaOCssTTT|dzҜhbQom*^[J? NOŔ'!]~xUEo''R # |  xL _6 <7Al9YzM~l~)GaX잔]G@fc!p̢gBOъk<xw3=|䷍|w(c/+=A<=7z[We}݇(p:qe>.xpF8a7R O}: VdI!詴ھ~^jԏ?=b,Lm˸ESQd+AKAW_;QE"SVVq:73>^Od;>b-~um"q^fFn9[]MYsG_mzTͅ`?牠: nS8j[C a%FHi},ȴ% qd- 6ꋳ7z+YiST`.{l v95T Mb5=b:?kMݬv"R= M=[㸩*,B}"DE}>@æ^ 5]BX[J75,×L<°  B|Wu%nZxKe-3O[bnwThnvRc@Y9afoDߠswi`XOEC [@Xy8.:bA}=IdXsGRZvSI.s.c# 3LH@/ X d屇7ZQ\o̤mo:5Ά2W(!ҥ?:V@o7 q6:Nǥ=-ywUR䉺ޯLpMbAU{ sO:]U? T D~|M\s1WLR) -6)*n|0݃[:|l Zc0{JG]s_ȋHvR7|/oB`~Tt] =Ӈ7zLUS2Uy"o/(MCףysߡ'g+,sx}\ ;\\{g;d]E'3ɴZQyo9Yrc@;P1{Uaus}?jTƋOr*о:{:j NTqڦpXr1s0 kkhnb4wd'xLr[|hX: =q aQF9j~b:?RM7m׫K| ~{'Krj:~^\.QSk1=A?鑅P7CA,Gv-;6ЕwFūX?+dxv{̷ zbńt1n|S)?bvn,\C%84,NQFk8j 5>#"MJ`XTNJ/ M̑"-S [ϵg4GalJ EC|=Yx$#dTHJW ]* HִOp7I۱Vq Xaқ^0#2)zCR s`jxv-!jh,g˖Eߛ==/۠?g7UrweP L?;%ƽ ^©DRtY``I=) F6"p_loNe!$tyJ;cS^$ghJ7~NЮnw|,Hg-yB(fiENɬԊK  K _WA~*  T(dU>cS"Y,a,-G]a1'la}^c wIOP6e%>HeAi!VbUIz$3zz;pd7ge4z&^v >7)X k7 _ԂuLJ&:8ɘ}.MU](:-3v2$WISYF O4wwu=/!#0q/`Ļ}dyq=ʢA `ˆQp9L)V$w(`0=taݨ-E ^8R2oћ}_M>q%1XhiV:F9 GqOPS"9UA=Emum,dgёeh\Ƣ"Los "Uc~&inN#]1m@PT;Ԩ*aނ}ބ< ד~!(0{)*5BʛPgřtm2Q*47M :4 :HF~8HaR/b{e9dk@MC[v'B$P 8H郲9E v(q/mD؎İ˕&z ծCi4* 8ܜ^O<(!"7ZzqQi $y|Sd>L=hT$hViHՁ-OUaFۀzւ%DKeSN-Lc}JoKn 4=56%:acA< >`\?q3qOp_. 4<0Oib=x0IoX_&]:&%I]\3MJ1~A]4/szvD> x=X`W ٢:Ϧ3mƂ˔=K{y˓l!-YYu F^أU.rfšʮ{+g8MRp8P;$cx-^F4M}Ï\?$6PQf2E!:Xk%cػFj!1SC jpVrKen*%QΥľ=&\s^ďBț)uAؙJΒ" a3@(I|pU%S)E٭^Fў]$\F<zrm`B2TB3LS)ckߘKIj3]ܗ 캚.2EXt%@j/xF`2r͂j)뷚ѷkBC'ԡ붧Gn)U;gYpqSve2r~X 09۪~M.v[8EDa4>Բ 7amv+;%w+07/3[-/>{22cpBV϶8ƚu-BK^=rYMΫr@lz|\TNKID֥!0ɚi!R,:  qE<0Z|F1v8Èʿ*7ˁ_#Cҿ[0s~UGĉ"o|owXTJ;kↅہ=XV4kimGaFt0v=|~/ W h !r|2L·鈝"hŵ^p%!ZL=j- ǤCN^H4a}0yzŖޮnMQ$V}nkJӓ8p]X]+(NkJa[q箮9驰|Gs:GG)0M$Dd[ɸ,ţmOv`!Q^{s=s6M#hjuMňF#>._L rBxnh"̀ MTy(~Ww*C]KZ4F+Ni^h7W/Z?&)8beS߮>E0QnBjc0TX%;zާ9Mɽzh&x nIoǠ! @Xh[R3haAyh^a$vpPbថ>#Juu"do(`q9quRu(V|#YJB}[xrtBe+/Vb@͋T.u|-'j)X%`&J JkG R  7N{i^NDPgWANkrJisi!Cf%~SFԛpjQH]h# `$lI`SEnW`I/)ΪRyZd[IJj// Ѐ$n՞3-R|B3`U{q1";BrXʬEf Dcjr*-o)ϊDO3N6PA$v0J'^rۡmM> [NRܥREa bgΔ}zǤ\J[|OOX-KQ7]sJ1Ϭ<^a_v!78cgө>'r=^t>b8:]Scέ:p7A$`zgi{ 2K5mR ='ĘxO2u udw܍Y3p\#@@;l$1ܶij=lQ[Hr,"`_%k0CUV~e/"?F9ޝk#uU@!6 92688b&@U7b|m6I~3؃GF0H~O[D[TO/;i%e4j.@SH#"m{I8\U SIk1j;+Ǘ!~LT[pYѢŕF]YDQ&( OØ ;bmsJG*.%cWo&+ sO먨Ŗ A$P*!hcfAiЬ^UI;z(O@T Rӟ{,",MOSR89[+E460wEĢx7Tac飘XMn]wm է Q~&gkh+tIJ} C;,`6WO s!"_qMRc"f̄7yW%TTz. }"f/PRgkb֍ 1O&VhI`M58rzl-/GCH%2e,1is܄ا}>F &M4Ofy8ݭ[B.B 3cj*wX%$^M&yPcYrDV7'|M+Џ4 rQIU$D7yIS]JFﭟ(XoU P6oϬI0B_r49&\ @}v/Pc" VԘ5k;cMJPþ9oA`bv]؂P7X}/M%ÁMiKqĆvI)f(1as'w֋ctG$"I:du[ .J4~SИ'`e|h{ A;|>uF9N0c趵Whv8di1dv~:/9Qi?ëJd3øt=aDU[,v-Q3'-MSM %g<\m0t/͛e%cU=>Ib|=)L_j/Ϊ8:KzhPQT ×Yڛ7~SPØnxz5|U?_3U6-\adRs]}Au-c[ Ż  WQDƔpj@G r\AgOE BDaj%*Fg_)]ۄ.>bBgi7;Ku'ZlpYN?}FSzک;l:zi:f{ﯧ`=(R;TДoOAԬ(_(C06g5Jx4 LFBYt/AZ_Mѩ?s+K)iGHׅFHwz {iJкJB%hшh'ۼ%"^zRݥO-6qCX5%>DԱwXgzàQio]vH @1KyXw{=rBL,?zEdӺv)4kDtQeqyѪcĮ|+`*Un"CO6>nZ2LGrtg8C:SK(G*Vdc853b-z:PqcfNC`ŏ* TtGߠGT]N@ E5o%5b:EhG}6Z|΅AZ|]pΔLPujG7 `FGZM8~4bE(cYB-z( i梅L F<vlt6~8.EDt.ѝwƐ(K| IǨ'hWO; 5kË+Z5|âp>dWc>} NʧTܛ酷Vd44 S]ߖpSIcnΝGTw[pnnqےsF64;xf0՜ȭn1Sfhc8"k"% /Z!@G!PGG FXa!}{biX08ԍil~j 7P#mF=%j˭A԰ebr#JŤt1m뒥w !Χuա),2銯&YjOrH!95zc@Ed{"ߨhY9\q   aYҸ:OrFzָ+ \5( W7bVR~9el^" "G]` C_U x\w ͷ=i\r+K*漽[ZFDGް ˪1ͩx!t˩)h:M) VAcn"J8l1\oYXQϺ ;jRiIo:sџlFݫaCF$ ql/_ԡZ\>REJ+─w@vsg;#ۛbw--w8NC}6|ۀMS5/usek(-]uxVrg#q3w$ߊuKk4N%f­ԖsX8*6l"LlbsCG)hV/o.̦&ECK;I$EQ!@ 9 lk̼C;eGe]ׇ{T1_b{7A|(`&ceucwG 8^HYlO=p*!kMF//jܷ5XyVj<8 E钚'>c ;saW-yU:O"DQr*x-q/R)lt{xc(I(faٺ8[w| LUM@ysU[7ƌHSN)UaPˠ:z`/5B+'H96]xƂ%K3`sE  XAgac_9|}JvdՏ#:s o;!/>^*_-9Y $֟̏Xqapűf"?6)1Ȧb$**5<&=CD'!}0V=|FtYa]2G<Ld* 9L.zӢdښzTHQٍqfǠ~p|gI*T89ʗ!)!o1bλE'w1W06~ަd9Sk:d:jK,w9q. oiZ#\q6ڑW f#L8橻ϼ @BojErъr bϏ1 ҏQΝ~Zʂ-i0mLR 8Z PdjW+n=misx]8x&/rJoϗM?xRqj`HWp~lcF1;#3FDa?Mky qg.}*kBSНxZIto ZER "Oy}I,%[u'ParG{'|QErE7v^B4}"ϲJ<{14Tq1 9]t g~NT%= gɄ:(Yή#ټWh\|-xTޯ@"vVxv8)q]NDa50{CS! !8GC529DG] k+2WgDqΛh t]фCu(%B4ab P2mu0Tb1Y j BԸ**g<@x)D=3xv5]upF'pf-A)HEo.eN`;:UA%-(e%%쌷KK-E}`_ά}} Ctb;2;Bܻ} >P,G]ILN u)0=ޝ;Ħ3d\yL.;ht0M( sAR[ X~Ϛʸg=BXI&2o.T~-9'JOBp̣>XGV>#U|`L󈎸sR+nGPkM3*Ep6%dP'-'3 b@ KjگA:OA/%vmbd䦙"g2. 0EGcMng7F*+n"ӕyf:H&Z;ȜEzMKEsR=IiqP|z"e14CV/~|߫?on1 b2)Zh ?Xf1ҕJyCNj'wʮۄߙwuV#ߟ< JY$'S;]ÓJTpnS&q1{Vy%1{?Ha~6W@1 6W7o ^Et{u+Ygw,#wP7y G^Z@l HN35 Bn >wk,)̒I]<+XMD&c;hk6 sbM0:T0ӵsG E$(l|-mdgӫO5h𽙑65@r'[cOṙu?lbp":gԈBhEc Sz, r+*t=H!UQ^"ka<U-7EA{Uىa\p5갸X~ܭ%tx76mߏ''}Hc0;Xu_*ٕLg=6`6߱ 7 cx2V⼷{kq9 DaFXV×]* &Ê'?jd> m8T}qKm]$ajOlH*z-V d-/]%c[ Fjw_Q!6$]^1hP͇d? ?h@^Σ?dwBwNcˌM,VsU~Ci#;̌6?bBCpS8CՀרK,)qdI ldhNY%dzf&SD!i{ VLa\`j) My}g{l6˄ǚ;^MTˆTzK],zi3 'D/KQp9jw1xX_VkEG؇Ξ,_A[Qj8ki[qt4]QKhv=ׅq7 c$G-8m0ɷB (oX - )Z&oɡu2>BBV]ߧnkYI*p"I|~Fk[+[U"uΖ Vˋϗ,]Ҏ@tMy b`pUj}%jWI758v kPSEyGd)Bd.S),??:u͙7:n;-{xHYe&y+r`,BrF`ZDmDJMk`2B:EE%Ȼwy<3qE[ ̒8abMիG\נ9ܼ)+>XQm\ >yiB%^S5| WC'I2 ^r.'3$4ɨciSm&"`/ԬJJ d< EѻB~fQGUAJ*g2xOЀ5ҔZcr~r6hT$Sr*C ԖH\؋&C̃Cnĕ/zfTΕgF{Gw/y]Cx}鎁!-@Դrivw۬H|cJM6>D[;hu7{.vEQvni2n<4يc\T- k`2`0Zn>C|C1~Zt{'ܜϛHa#ܬs[[T0݂ ZH[w7) ?uiT9@*icTVP@U_ Hw 7wPau7ȰD.ϿAh R]{.;$,IҸfahfnj\D=wsA «`e=WȐ-=;=[<>:F>uOJWQƓ7e+οzҎ[h?_Ğ". kG 4y}Z0oK=mO``4oC)荶NG_JA|62/ܡs#FS'pD`n_wO= qv!׫OLUjC>.,(ݬo3D-10' pk>n%}ܴf(b_\0Sv TcZoq{E|s P[S{+| J =.Rbt"JL0z˒^Ar,`TDq3>jÿnKu:&Zk]üq4 r5 I'dTڹƼȘ[}nX4hu6B@q䄄6K?5WFy:I˛FCݛ"NߤJq<^Cӛ`.Iфm7״tAyñH-/F"gB k]m+z)=ǿ?_ַU%$͒sr%Z_֪; V?3 O=2x(UtKw%oW/)O+٩@Rj$H&qvRlBw,_WAnQk'Dk#Xۡx#%*Yg 6!q̲MS~Z;u?d2zrw5=U6cSW ťOF-Dɔ4Rۨ;f7V)~kHd˾/ճ]iS${"hf,䅂'=ytM8+:P9;]j p@+bfn.0%2>Ug[lD̓+lU:ؽ D:Y$(EPHV-y LRY~fv<19F3t' hWȌuPvf6zL3"8߃ ;y̯0&ױVsisoV}Ogݣ] to)8 LWS5{ۏ9hʷ 93but = 䅩]'Y}ѡUu:dm!O޹hHqGqV}\ֻICc2`ި!蓑N1xWF{dvr|?x(&AVGcό[ߍꙷ!0ޔ6{6$U*n= aΔꖇuMJo_W"mWO? F_t%3l`UzX}03QEx.;:L#1ܛ~j&{};D=w֌tBFsxظ~v ~LQe>AL>7/W RMsGuUv宧Ԃ? -{ߔv&JO5 nyev<5mvIAߦ-I ZlrI /G7ɞp5NKQGzEݎOf>EH5Uκަ Q)fꨕ_,dxs(iPʧs Ub/ jզWN3kYC~lYZu"yM7?7Y;J;-=Y=i @zsË+vъ\s)겚 j)<JpRǓB[a_D@W;96fIZSR -vFf)daY#" h)! [+y E{9(.Ӆ{Gfyj—xcg,/a4/Hd&^IYB"0SutGVLqܯ" 8kXpDa/VB:ݚl,XpUthnμ]b҆WJo?Zٺ_uDߐ\90f1)! ) { '3_ELB ^bݨAAHop #L"Y̠݃5}hd+6\l J!SV{HsZiu8PwIּᨗ2 q##mD ω|fM0H6P'h`  W;YŲ޳=n{ &CpOnEr$S/^zEb蘑O9nU>H>~jEnCd'/X W+uy@='D!^܄7»mI51PIKJDOF0s{ZQ,z]$?"D34{3Jbꦽw{U"Zs)~nJIYSms >Pr~G?8 wnO!ffYUiO>E7d3&@&N%kՁ+rO ǭM_kz g"YŸRI\efM6}ةZföSe>-/r[Ljn}fmk+fyeP4W %V8…6Ç0d5BM,㽓-M+~ v6x?!V3呰O_T윤#y +l QM3XhԀ5#AKNʁ_(#5n ޒ5&1Js1P5u=_"s%lyK7;;2 G/ cX0=C8Ub)\@%t?l6  ç҆&{DvT+q= &r}NTƟFPrF`ͤ:lʬ0ூ:҈%jx)ŚcX@&љ]Udœr]jhJ5,IL0' opɂڪɪ47:Vsh:f2157%hRs!,UHgĥ?2YE-^d2?*ުDŚ/a ^HMqK]1A- Κmm֔`eۅd}y&`^ dM:`uׂtsS(-C(pYr[$G:V~:IҮ(f,j- bXxOԅo_"Qȥöd+]Xhˋt ᐭMF>ګ2 V}1+%ҴHYfD =R[1ڔ7(Pz_:ycviXxӍxi ݨ`/Ӊ3ſv"3ע:#XJ=jEwDf}(vIxd [`yӸ@,.oPS㥴*TGp!l7b4|}i#Twg))1thTŞ0@fCc$ͧ 5bh21vA#צFN)>Vs7ϋEZ3ӄ}m8Ne-@[6+:/kڷ~=o4nfQ(Y&9TjTC4q &ܷsp^YĮ!#:QJ90!AaHo+"pVP;VLQW\mk<>MLd`[ cښg Tc5&"J\LQ&ˎk(TuԾǭړ3xIX*zNCf*e,ge1H=舢ZqHr{ qA*)Жmth/ 6+ڑ> \Q'T_㍾I w\6A7YAckgJ a[:=L/9AüFh쯫Dv=9A߮Y׸nGAn! vŮV5Q^uQ=;LBŋB_2戺Z{ZmNnRJceX "Y.ǠCvdl?rʟ<=”+#ny}&eY_-]K6f)Xlr?[%1rK˷g&L}=0}{=c"!bk55DEqiJN0UЭ%0 T8Iϵw;nB "jI@ CD{dZݥ/kS3ڝ^ТSg=BC> a>Av? ˾P˄chu]H B|բ2o2 ^ה2'k%^3K}s|IXA!pD<u֬_iA(BjڨHv8W\y(c|cÿXS8 tD}{!D"g*h񃳩c>1ؙOB@CHkDEy+>@艹do{͠gV7;V&Glil@\}mt_?Bb1k\x\ha , )-zu)o) Y'UGgECtҩs啧ĉMUt$蘑lTCֲ痢P'LJMuDr-Iۣ*6ش{}GW`,"7uvtmAO _)Ziأ|wF PY_]a> Nx ,EesJ sT!SJ=(MԔ]zB錹 :NMf~K\k0w(}'4JT -Va!ű&̾#P&1yU#U8ny(#V6nBo>%W뫟IH!]{Ӻ[xUAgq8сb] . R"A?HpޛzvBTGD ;/71.F:-M+@m̕;;4qSZN q|]ݏGuz^۫|bKt,?uetB֗WAC=[UTM7+N y-}cï7I0s' 6i'߳2'YcqjퟚjFW|ldÖ.Z +=эXԕ;˧A18OI뗹%.`C׷bh r 7U̦I@^σ vy%TBX@vGxa]@[(F:F;g6e936 qg<= 5.Tݦ!.W -6ieaց }ff@փfqr⩿ٖ<67ܟY&WSJ=#^" [^_ka5XK/ЂI" ǫ#* /Y'aMRWWT  U_X<xKHfR$J4Y>k(}uyCԒӵ)$ccNjHҹ CpI5>kt3T"{^cn|Z mm"CH01Qs>V{~@)xM; 7cB7_!VLEE(cndb s nC7E _>%R>Om?x{mӏѢłͿ=AؑR2嘝)0aJDe\8eL I 䥸5~`}?.s n܄q1?l^$9P~i _[;in7=[ uք@\n &ByAyq7aͲ]qIsB_C %'={ZYq\d^P_6]siZp(3 h 9OKꐨ'(K;76K1X{qz4e&s ۝]Db%:JS%`;pcvz_v:`Ն"2J {GR?|n& B6zeYE\X4B(ش;1bLe}W s=Z`#mݑH`loSoxRRsWVzE5Zȩ46FڭaֹoL@Ft&8|=uǙ&V%N ? DA!ߒxYxǸqO)q鎒{Ga:U\~NV@pPO:AHzCó9Vnd̓JUӐ jq3ے8'sQWwsՑIjвe;7I0Dq4'U1xhqyXyb+OT"7{$a6639YȀrR0M*S}v0p Mό6"P|gqXQ߰']B=ZG|L;z#bp=ilLp)Mq]0IBd+;}H4іwv6[ðC_eԠ)hlDZ?B9i , J"t<9q?Z>JS?b\%$[q*(6ًW!,"p BMcZ=cD \e6Nosf;/V>n;3x6o7,$^FVÙYZvUƥ&&wq17 sh(ءŨv;f Pc2LDŽk\uX,l>볓>Yhު% ͈AZ!<A3.z>‰đ[XQ5[ rnn;?:;sƒ?ڿ ͳ\S>T$„l ިSQ )V[w$ZLEjߢ>ډ#|2tng~ 0Hb5{̭."8-ya4~(́)d∐rQ҇5i;lmcRl"{ <C?:k)^ܶqC @"H/=1ǥfl.ȺwKH}o.NyM|>Wyu8#5DF`Lfr,v*O{pAw";X[cU`.#&nB_"6v| 3!OHlކId3zJ42QW#E[2t @ǽE%wQTǔ('1D7ܶWMUlR2R1!RakG`Fzv{ Sٖ}2~HbG}|1KNO鍍Pnշ(3/X[ӌM>Huㅪn¤}Lƙx/8K {Ϊ=kP$lVk C!{Ne%O?pimvo)l+dc-Dw]ӱLՅ"#>Hi;oW)LЌ,v~f4%CBϤS!]8Gp 4\mrk#X 9yK#%vaaùJ_VKX] 4GK5n7TjtTΈOtLr áU-A ORr5 v9[<=G<]qĻx4Uk 'Zn9z,o>"Y*)0) *ȎD%gz%I-fT_LM!.V0PCK| oNn6vʈBE_\d `rQ>DܯiJ ;r8%SL0I Z{-9Dz `vFDGVx:YCZ\7$ykΎQ,ؽS¬ Ymnzq֓ʼ$s^#Kzgvno6ӛ15l2L%(uY^js` ΍㱤{^LBmw"H73v%R/צ͇cR?#J%puƱ1f!9v[H q2"g |Wfu,,Ea9?R蟢^ƯٛԴVPj/^Um8vK dewQ|kyZzvU$L`j{cLj? m}pe8`m pcG$23W>2K|,r0;`ܧ7Ս'lrc~}%4Onift|pTFགmHֶT!#E7gHA5Xwz+zxڽ*nױ> ^a7~cҎ4"/zo`5{LJL?1RBDe:~2Z^tu֞WyW2A>ǖ`; ù(qdPKmx܎S5ipe晨ipANF;>,&=*̨R"ɓ+Ann[ة1G9lةJK8@Hf-ZxD5M~/]+UσԽBCIA_`S|E{ȑʤ[j;$dO "LtP7&N]@őC OVcMRt 0ϪnźVmyu* ST ٰ5:Uކ;=4ЖnTvEV;[)>>C >$Q.bHHRꄹi7Z;M2S1;/Ki IU8^x,Fg \6P$kM|f6GsqwGD ?U%>a?2qL}/Z읋2dԮҞnQV({j\ H(LFb*'i I51{ _® jmu VOxUCC4la5=8gV8Ȥ_}?.67*R'ӫ LpRdRWa@:ܖ x:x-Ol,17tm TL h(g5}ErBwyT yy}ॻQOHFj ;fXMQGx9ʀ~'xũy\%ѹA! ?/"^< IM!e㗝'REټfV#$:IkE_fOP7ER`񤷩muJqOkQt@%!_T#梞%&OERo:09L}lH@|H @Đ{&y(5z* ևعLyjfm4:"ֲA,FD.E`H<+˧ Ѻ\9K#~~@yRb(dj&9;DI1:0[[ EQd */?ף8gȀ'=Hв%~kԿF{K;U,#r3RQ|R8/fjduz( ӌ*U>㛕kz=99~<}8ѭJ}ZG`o;eؘoY ' cMDDp<1IDn./36PveL sW4>[r:+{hHc X!7XPR:S m(Sw\X)=C ]DG'Bv;Шf-8l`&=]z x135wFDg<*:?58Hk4q)l|pĞX$"#L1ZjMəX{OHO5wp˪1Lm0ܝ{5[=,K΀tݎi=`nƇFbEPkHMgY5EG NF/Uf|N 0Xϭ}@rDH};6b-Qt*LnMj{Tq= -Tmۘq&o]vh+`95%+uOVӮV[v: JҜH~ 7B)@TI_* 6_d s!e#4J= .Yt7N;7FÀ_G`0ɀȍqwZ) 9ZN MG JQd,LmZ^;dx3uTKF XS{1N}v8ÇT{ÙcŃ쒃 $ZkT{,=rIDԜFmbA>'Ot = %{K>co<gOGM f! 0GKx)M6I,` eX&GiϷ6oǞW|;PJA]ٚD#=F?W.Uݓ?Z#-(fڵ%%58hƃtK:Gr/9|)-4t+\v̨ve0^}-xK|3 }do=~qu̳-9kjBh‰d41l&U,Glq65L@;Yc{CѱљbO)~p](//@i3"b~Kض2c0CfTkṅW Ev:CX,ǞY$ ew6?>{6L 7Xa"cbY_KpAd*4Ʊ^G:'=:~ Mco;@絡v 4knh-r}TT%}Ȋcm.c I3Щ[Χt,ȁ}Ekqk{{Z^d‡,r}RCF.pJG%ɲfJSrº\'ė8_3ݴ*.5k~ǤJX'ocѫv6I*n*vs↓D1 Q=2y{ۤ%)v$e$KaUʦ眧ЫBқڍ^^,o_m%^T/C7?r&ݳbH^&}-կ*<*ߦ#c4(1| ~DMG{>Gw; 4B )wǎ*XȦffxk l+ KJ\oa9hc\uUXGBh}3s{TvJ1c>AD ;B`<*wƮ![&v:HFno~eL:33yE\_jl@+J|д]pߏqYp|F7mzJ+G@,Bړ3+7l gOXzۧe~ԝi >Z7sTAe7h Qom4h.eψ{;`:" ҽ =/ )@hn5kFd]ШT1D;)r˽Ts:xP;?soby⯈ \&5(0.:>A`;Wh hԂ?uHEC"ra)Wo5\e-}0S(D"ۍtNK\wQ L0)8e>E ) ,NU?SXo18P|1VAow-V (At fΘoC@%)oi,uha P2i:*.F\lkd]$}6ZeeU`Պ ]A&r7.a'Źş|\{ MF(9@oz*H4تwTmϠ*3պK rQ%p6o ؃n3: cg}rk8 4j?^ƌЈ6@crO7Kx^f2EƸ2tK-$\jR{/fe͡xGǿz`:%d~M’m HL x4H7vqXU|P)yrWG g`Bgw"eF=psnOm` ?e%!X(֓FS5(Pn`FPx _֪׼<;AXܒKXC/j V*U+|YN>^46Oso{y;9H̯ &J^T4T%֐Ũύҿ 7a`DՅP _.H.Za"yJ _ 8T'|&ЫȣS*SD I"M-߉XgsN:'}9;3 󾮔uH$޺( umUT\ 2` Lq83vYB R4" G0Љ̤ѳDomӸѾL _9Evh8q zo厊Rǖ7TV03sLrAinwљEF̉dcX(9B$B#gƪO-$- Gmc셌\Z:3,濣]^^nW5Mm zi#, {k; f hO| S=ʘ䙟!HYMg V9ΐ0Q+6&E;ט-O,mPI\G0_%Z=X@r[ ekohN5LH=!Q*jӃ[Lo|&Ju i/9u[kXc;L-;ʸExC`",.X[Yz(!祉括oH63rgЅ&>h^gDP,uvxkGprxo/O h+xVPXpp@*E+wia&?n8T/ Ά7xX` . W4ٚ{[UE>ӸcQ1&=C À{x WN0da]رXt *hzяq&˥>L/#kbu;j]w2tvۣC9ɽF*HSǨQ$)O3cl_`-nT+WS>itGЎf~fX@tgB%17$xSKe̳xn&pP;0%n|l+l,4 EL͎\\—5 neny7,\9~2,a Զ ZrYA g#x\R8-PD>GE#4ND(Ds9kvAE YZ