bcc-devel-0.19.0-1.1 >  A `ep9|!(~3YFz˹+P0F|Dz?woR!ܧduesdvL =L$2dUq+J<> zoe`kS< ` HUݲ2Qzhab=S|~ue?ۃp#kBXߣ~NƞY{# ^ӄ48Cz~Rbr>2E#wq#hf 'W_/vW>da641b0224e119d312965b64f781b1f6b20cbad995631083bd8949a411f8cc5d6265cc7bad9061265c342fda5ad9cee308591cd99`ep9|>ߗsA[Ȏ\ ߜit%DVIb/C1\IF®?8ZNJ5!+ 9+U3͵QE^NX"N[k!-O֧Zuӫ 2։N§'x<ɅieUj#]vh+v"$yhQ5-޹`HHHS+2ɏdwTYYxKތk+mi `>p>?pd   D :@H     ' \ O   \   #( G8 P?9 L?:?FG$HIXY$\D]^bGcdEeJfMlOu`vw0xyz $*lCbcc-devel0.19.01.1Header files for the BPF Compiler CollectionHeaders and pkg-config build descriptions for developing BCC programs.`eAs390zp38ϛSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Development/Languages/C and C++https://github.com/iovisor/bcclinuxs390x;WJj* q [f^_ Q)n !A큤AA큤`e`Un`Un`Un`Un`Un`Un`Un`Un`e`Un`e`e______`Un`Un`Un`Un`Un`e`e`e4c04de4f44445688c3922cd0a1509af8ac45fa6ace90f5cba2a79a775d6a15b80b1fcd45095e1e9db71a723836bda45b5f31ab0cac402984d779dd84607a03d46b8c4c96afd5cb8a1664dcd99c2318db01582ad2f2a77cd2ff1f979610467e29e5ce05d17993c980c1b0fa0d002c304fd0490fe19455d17066ca37d7df9bda261dff48055fc3f7704811c6a86272d5d86f0011444b8d424fadd87407b493b0ef12742ceb22ff30070da3f23a45ee977520f0080e96dbb1ed78b0592542adcf5c8fb6cd904ffa3522423dea76b519aae040e472d733da778c729e0c19b2c5159bde273be41933a8fb83c6a975dad665305670b64092b4143f2bca7ffb6a45d8f8541a33549084c8e0610153aa173e0f963fbf948a8644f2afb18426204e291fbae92bbfd76a3fd31e1c6eebcda51583a1064f0bd4dbdbdabb6676c956dbd12ef121e58e39ac47c986c7dfb40828f8399fd52531245adf1d099bf4539d8d1bf8bcadc9e87d1a335379ffe3658547635904cae6ccb8b7d1e578d0c25b50aa44db046e8e35136436e9848289364add74834b640177e7c0e1af562104fbf946c3623267204f82d05a7f3e1c7074b38c34b0c8c617d8c22ee6129698ff3e2e3ca8077d78b1705f266f986a2c895d283528a00e865a8fd0a8d0ac5a25d412965350523599de393143f53302b0bec31c4b1f1d9672632b6c7cf01c30664c80335871ca85c2748e02d679dafa7e44c1e4315a3d206689b72a34f850834c2998bde831969d448d8344adf4a35b8e7230d2e883be0b57bea62816809c559a25bc2044f483cd8c46dbc0986673c6ca356d100fd42ed16af3e09f0498327dbb84a9c9c465e9d954b02abd42860b54bca527716962065da358f99914c230ed7d4f786a3ec9017688bc996daf49a4b7db9e0dc55b01a7f56a3ee2c18ce3d931249379e75869dca369464fcc08e3eb2d93aeb10948d8145e688ac882e358e4024e7634e6428b7b56libbcc.so.0libbcc_bpf.so.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootbcc-0.19.0-1.1.src.rpmbcc-develbcc-devel(s390-64)pkgconfig(libbcc)@    /usr/bin/pkg-configlibbcc0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)0.19.03.0.4-14.6.0-14.0-15.2-14.14.1`a@_@__m_-B@^@^@^@^1^^F^%@^@]q]@]]c@\]@\@\M\\@n@\=@[[;@[(@Za@Z2@ZZ`@Z_@Z|;ZaZ8@Z3@Z)-@Z%8Z!D@Z Z@ZC@YY5GX•@X @X @XF@X@W WҤ@W/@W Wo@V@V޾VVŲ@V@V_V@VqR@V\:@VI@V*!@glin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.commimi.vx@gmail.comidonmez@suse.comglin@suse.comglin@suse.comidonmez@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comjengelh@inai.deasarai@suse.comasarai@suse.comglin@suse.comglin@suse.commsrb@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comdimstar@opensuse.orgglin@suse.comglin@suse.comglin@suse.comglin@suse.commanfred.h@gmx.netglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comidonmez@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.com- Update to 0.19.0 + Support for kernel up to 5.11 + allow BCC as a cmake subproject + add LPORT support in tcpconnlat and tcpconnect + added bpf_map_lookup_and_delete_batch support + new tools: virtiostat + new libbpf-tools: cpufreq, funclatency, cachestat + add install target to libbpf-tools + a few lua fixes + doc update and bug fixes - Set ENABLE_NO_PIE to "OFF" to enable PIE for bcc-lua (bsc#1183399)- Update to 0.18.0 + Support for kernel up to 5.10 + add bpf kfunc/kretfunc C++ example + add PT_REGS_PARMx_SYSCALL helper macro + biolatency: allow json output + biolatpcts: support measuring overall latencies between two events + fix build when ENABLE_CLANG_JIT is disabled + doc update and bug fixes - Update libbpf to 0.3 + kernel modules BTF support on all levels + ring_buffer__epoll_fd() API + xsk_socket__update_xskmap() and xsk_setup_xdp_prog() APIs + New BPF helpers: - bpf_task_storage_get() and bpf_task_storage_delete(); - get_current_task_btf(); - bpf_bprm_opts_set(); - bpf_ktime_get_coarse_ns(); - bpf_ima_inode_hash(); - bpf_sock_from_file(). + ring_buffer__poll() returns number of consumed records correctly + handle corner-case case with unused sub-programs + xsk_socket__delete() bug fixes- Update to 0.17.0 + Support for kernel up to 5.9 + usdt: add uprobe refcnt support + add bpf iterator C++ support + new bcc tools: tcprtt, netqtop, swapin, tcpsynbl, threadsnoop + tcpconnect: add DNS correlation to connect tracking + new libbpf-tools: llcstat, numamove, runqlen, runqlat, softirgs, hardirqs + doc update, bug fixes and some additional arguments for tools - Update libbpf to 0.2 + full support for BPF-to-BPF function calls, no more need for __always_inline; + support for multiple BPF programs with the same section name; + support for accessing in-kernel per-CPU variables; + support for type and enum value CO-RE relocations; + libbpf will auto-adjust CO-RE direct memory loads to adjust to 32-bit host architecture; + BPF_PROG_BIND_MAP support, .rodata will be bound automatically if kernel supports it; + new APIs for programmatic generation of BTF; + support for big-endian and little-endian endianness in BTF; + sleepable fentry/fexit/fmod_ret/lsm BPF program. - Enable lua support only for Tumbleweed to close the gap between SLE and openSUSE Leap- Update to 0.16.0 + Support for kernel up to 5.8 + trace.py: support kprobe/uprobe func offset + support raw perf config for perf_event_open in python + add BPFQueueStackTable support + added Ringbuf support support + libbpf-tools: readahead, biosnoop, bitesize, tcpconnlat, biopattern, biostacks + bug fixes and some additional arguments for tools - Update libbpf to 0.1.1 + __ksym extern variables support for getting kernel symbol addresses; + BPF XDP link support; + bpf_program__set_autoload() to disable loading and verifying specific BPF programs; + support for attaching map elements BPF iterator programs; + new getters/setters for more control over BPF map definitions; + all destructor-like APIs (e.g., perf_buffer__free() and bpf_object__close()) now accept pointers returned on error (in addition to NULL and valid pointers) and ignore them, no need to guard destructors with extra checks now; + bpf_link__detach() for force-detaching link, while it's still alive; + btf__parse_raw() and btf__parse() APIs for more convenient and flexible BTF parsing. + fix an issue with loading XDP programs on older kernels. + CO-RE relocations in .text section (in sub-programs) are now performed properly; + vmlinux BTF is not loaded unnecessarily twice; + perf_buffer__new() can be used on old kernels down to at least 4.9 version; + libbpf's internal hashmap fixes for 32-bit architectures; + few BTF sanitization bugs and memory leaks fixed; + btf_dump handling of GCC built-in types for Arm NEON fixed; + BTF-defined map-in-map initialization fixed for 32-bit architectures; + various BTF fixes for 32-bit architectures.- Modify URLs to get the tarballs with names not just versions - Drop _constraints + We don't link the static clang libraries anymore and this reduces the requirements of hardware. - Drop the unused _service file- Update to 0.15.0 + Support for kernel up to 5.7 + new tools: funcinterval.py, dirtop.py + support lsm bpf programs + support multiple pid/tids for offwaketime + usdt: add helpers to set semaphore values + turn off x86 jump table optimization during jit compilation + add support to use bpf_probe_read[str}{_user,kernel} in all bpf + programs, fail back to old bpf_probe_read[_str] for old kernels + tools: add filtering by mount namespace + libbpf-tools: cpudist, syscount, execsnoop, vfsstat + lots of bug fixes and a few additional arguments for tools - Update libbpf to 0.0.9 + BTF-defined map-in-map support; + bpf_link support expanded to support new kernel BPF link objects; + BPF_ENABLE_STATS API; + new BPF ringbuf map support, added ring_buffer API for consuming; + bpf_link-backed netns attachment (flow_dissector). + bpf_object__load() better error code propagation; + few memory leaks and corruptions fixed; + register naming in PT_REGS s390 macros; + .bss pre-setting through skeleton is now supported as well. - Drop upstreamed patch + bcc-bsc1172493-Make-reading-blacklist-optional.patch- Add bcc-bsc1172493-Make-reading-blacklist-optional.patch to make reading kprobe blacklist optional so that the bcc scripts can work with the locked down kernel (bsc#1172493)- Amend the sed rule for python3 shebang- Update to 0.14.0 + Support for kernel up to 5.6 + new tools: biolatpcts.py + libbpf-tools: tools based on CORE and libbpf library directly + add --cgroupmap to various tools, filtering based cgroup + support kfunc (faster kprobe) for vfsstat, klockstat and opensnoop + lots of bug fixes and a few additional arguments for tools - Update libbpf to 0.0.8 + Add support for BPF-LSM + CO-RE relocation edge cases + expected_attach_type handling fixes at load time + fixes in hanling kernels without BTF support + internal map sanitization improvements - Drop support-clang9.patch + Upstream fixed it in another way.- Update to 0.13.0 + Support for kernel up to 5.5 + bindsnoop tool to track tcp/udp bind information + added compile-once run-everywhere based libbpf-tools, currently only runqslower is implemented. + new map support: sockhash, sockmap, sk_storage, cgroup_storage + enable to run github actions on the diff + cgroupmap based cgroup filtering for opensnoop, execsnoop and bindsnoop. + lots of bug fixes. - Update libbpf to 0.0.7 + Major new features: - BPF skeleton support; - Kconfig extern variables support; - STRUCT_OPS support; - support for BPF program extensions; - cgroup MULTI-mode support (bpf_prog_attach_xattr() API). - bpf_send_signal_thread() BPF helper; + Usability improvements: - BPF CO-RE improvements (flexible array, LDX/ST/STX instructions, improved conditional relocations); - generic bpf_program__attach() API; - SK_REUSEPORT program type support; - bpf_link_disconnect(); - bpf_find_kernel_btf() API exposed; - large instruction limit probing added; - improved error message for RLIMIT_MEMLOCK. + Fixes: - fix perf_buffer handling of offline/missing CPUs; - various other fixes and usability improvements. - Drop upstreamed fix: bcc-fix-test_map_in_map.patch- drop python2 bindings - don't require python3-devel package- Fix build when pkg_vcmp is not defined- Update to 0.12.0 + Support for kernel up to 5.4 + klockstat tool to track kernel mutex lock statistics + cmake option CMAKE_USE_LIBBPF_PACKAGE to build a bcc shared library + linking with distro libbpf_static.a + new map.lookup_or_try_init() API to remove hidden return in map.lookup_or_init() + BPF_ARRAY_OF_MAPS and BPF_HASH_OF_MAPS support + support symbol offset for uprobe in both C++ and python API, kprobe already has the support + bug fixes for trace.py, tcpretrans.py, runqslower.py, etc. - Update libbpf to 0.0.6 + New features - new extensible bpf_object__open_{file,mem} APIs and DECLARE_LIBBPF_OPTS() macro to go with them - bpf_helpers.h, bpf_endian.h, and bpf_tracing.h are now distributed with libbpf - BPF CO-RE: added field size, field existence, and bitfield relocation support - BPF CO-RE: BPF_CORE_READ(), bpf_core_field_exists(), bpf_core_field_size() and other BPF CO-RE related helpers available through bpf_core_read.h header - bpf_object__open() API now auto-detects program type from its section name - BPF_PROG_TRACING programs support (incuding BTF-typed raw tracepoints, fentry/fexit programs) - mmap() support for BPF global variables - declarative map pinning support added - probe_read_{user,kernel}[_str]() BPF helpers added - bpf_get_link_xdp_info() function to get more XDP information added - a bunch of other AF_XDP changes + Usability improvements - no need for int version SEC('version') = 1; anymore - raw_tp/tp and uprobe/uretprobe section prefixes added - new bpf_program__get_{type,expected_attach_type} getters - preserve error code on program load failure + Fixes - btf_dump padding handling - bpf_object__name() returning name, not path - ELF section handling off-by-one bug fix - mem leak/double free fix in BPF program relocation code - Replace lua51-luajit-devel with luajit-devel to reflect the recent change in Factory (bsc#1159191) - Add bcc-fix-test_map_in_map.patch to fix the build error in the test case- Enable USDT for s390x since 0.10.0 already supports it- Add support-clang9.patch and apply it for llvm >= 9 - Fix sed call for python- Update to 0.11.0 + Support for kernel up to 5.3 + Corresponding libbpf submodule release is v0.0.5 + Fix USDT issue with multi-threaded applications + Fixed the early return behavior of lookup_or_init + Support for nic hardware offload + Fixed and Enabled Travis CI + A lot of tools change with added new options, etc. - Update libbpf to 0.0.5 + bpf_btf_get_next_id() API to iterate over system's BTF objects + libbpf_set_print() now returns previously set print callback + libbpf versioning, build, and packaging improvements + convenience helpers for working with BTF types + experimental BPF CO-RE relocation support + various AF_XDP fixes and enhancements + BTF-defined maps + tracing attachment APIs and bpf_link abstraction + perf buffer API + BTF-to-C conversion API + btf__parse_elf API for loading .BTF from ELF files + libbpf_num_possible_cpus() added + passing through prog_flags through bpf_object__open + new attach types detection added - Use version for REVISION instead of libversion- Update to 0.10.0 + Support for kernel up to 5.1 + corresponding libbpf submodule release is v0.0.3 + support for reading kernel headers from /proc + libbpf.{a,so} renamed to libcc_bpf.{a,so} + new common options for some tools + new tool: drsnoop + s390 USDT support - Update libbpf to 0.0.3 + Also add the source url of libbpf - Drop upstreamed patches + 0001-fix-string-re-being-used-on-bytes-for-Python-3.patch + 0001-Convert-bytes-to-string-for-re-in-get_tracepoints.patch + 0001-tools-don-t-mix-print-end-with-printb.patch - Drop bcc-libbpf0 since upstream dropped the so file - Enable SMP build flags since we don't need static clang anymore- Add upstream patches to improve python3 compatibility + 0001-fix-string-re-being-used-on-bytes-for-Python-3.patch + 0001-Convert-bytes-to-string-for-re-in-get_tracepoints.patch + 0001-tools-don-t-mix-print-end-with-printb.patch- Update to 0.9.0 - Add libbpf-5beb8a2ebffd.tar.gz since libbpf became a submodule of bcc - Drop bcc-bsc1080085-import-readline-from-lib.patch + Upstream provide an additional argutment for the shared readline- Correct the library version- Remove unnecessary use of xargs. - Remove idempotent %if..%endif guards. - Update descriptions for grammar.- Update to 0.8.0. - Remove upstreamed patches, and un-needed ones. - bcc-check_int128.patch - bcc-python3.patch (replaced with sed pipeline) - bcc-install-additional-headers.patch (bpftrace has fixes now)- Switch to %license over %doc for licenses. - Add upstream patch for bpftrace builds. boo#1117223 + bsc-install-additional-headers.patch- Update to 0.7.0 - Refresh bcc-python3.patch - Drop upstreamed patches + bcc-bpf_probe_read-fixes.patch + bcc-fix-ext4slower.patch + bcc-fix-tcpaccept.patch + bcc-prevent-bpf_probe_read-MemberExpre-rewrite.patch - Remove bcc-bsc1065593-llvm4-hack.patch and set ENABLE_LLVM_SHARED - Remove COPYRIGHT.txt which was dropped by upstream- Update to 0.6.0 - Add upstream patches + bcc-bpf_probe_read-fixes.patch + bcc-fix-ext4slower.patch + bcc-fix-tcpaccept.patch + bcc-prevent-bpf_probe_read-MemberExpre-rewrite.patch - Drop upstreamed patches + bcc-fix-build-for-llvm-5.0.1.patch + bcc-fix-a-compilation-error-with-latest-llvm-clang-trunk.patch + bcc-bsc1080085-backport-bytes-strings.patch + bcc-bsc1080085-detect-slab-for-slabratetop.patch + bcc-bsc1080085-fix-cachetop-py3-str.patch + bcc-bsc1080085-fix-syscount-str.patch - Refresh bcc-python3.patch- Add bcc-fix-a-compilation-error-with-latest-llvm-clang-trunk.patch to fix build with LLVM6.- Add bcc-bsc1080085-fix-syscount-str.patch to convert ausyscall output to string (bsc#1080085)- Only enable bcc-lua for openSUSE (bsc#1085810) - Amend the spec file to enable bps only for Tumbleweed (bsc#1085403)- Add bcc-bsc1080085-import-readline-from-lib.patch to read the symbol "readline" from libreadline. (bsc#1080085) - Add bcc-bsc1080085-detect-slab-for-slabratetop.patch to detect the current memory allocator and include the correct header. (bsc#1080085) - Make bcc-tools require audit since syscount.py needs ausyscall to get the syscall list. (bsc#1080085)- Add bcc-bsc1080085-backport-bytes-strings.patch and bcc-bsc1080085-fix-cachetop-py3-str.patch to fix the python3 compatibility issue (bsc#1080085)- Update bcc-python3.patch to make python3 default for all the python scripts (bsc#1079961)- Add bcc-fix-build-for-llvm-5.0.1.patch to fix the compilation error against llvm-5.0.1- Replace clang4-devel-static BuildRequires with clang-devel-static: use the unversioned one, folling the llvm meta package version (like all the other llvm/clang packages in the build chain).- Request at least 10GB disk since the clang4-devel-static needs more than 3GB and sometimes caused build fail (FATE#322227)- Request at least 4G RAM for the s390x build (FATE#322227, bsc#1070362)- Tweak the installation path of bps directly instead of installing it manually. For those architectures without luajit, %{_bindir} wasn't created and it failed the previous install command. (FATE#322227, bsc#1070362)- Update to 0.5.0 (bsc#1070563) + Explain possible reason of an error in scripts that rely on /proc/kallsyms + bpf: fix a couple of issues related to arm64 + bpf: Add support for prog_name and map_name + Add a few introspection helpers + Introduce BPF Program Snapshot helper (bps) + Trace external pointers through maps + Merge BType, Map, and Probe Consumers + Fix exception handling in python3 + Add usdt support for ARM64 + bpf: make test py_test_tools_smoke pass on arm64 + Add soname to libbpf.so + Fix Module display for unreadable Modules + Use bpf_prog_load_flag in APIs + Add flag to enable verifier log_level 2 + bpf: use MCJIT explicitly for ExecutionEngine + change frontend rewriter to better handle anonymous struct/union + Move BCC debug options to an installed header file + use user-provided log_level in bpf_prog_load + Add utility for cc tests to read command outputs + Fix 'test_libbcc' from failing due to symbol name mismatch + Update perf event type and config checks + libbpf: Support unbound raw socket creation + force linking the whole api-static library into shared library + man/bps: Add a man page for introspection/bps.c + Do not keep Loader instances around + python: make _decode_table_types aware of __int128 + python: Avoid unnecessary pointer object creations - Only exclude ppc and s390 build (FATE#322227, bsc#1070362) - Add _constraints to reserve 2GB memory for linking with clang4-devel-static - Rename armv7.patch as bcc-check_int128.patch to check if the compiler support int128 or not - Drop upstreamed patches: + bcc-bsc1065593-switch-to-mcjit.patch + bcc-add-soname-to-libbpf.patch- Add patch (bcc-python3.patch) to explicitly use "/usr/bin/python3"- Use the python3 package by default - Provide and obsolete python-bcc (it's python2-bcc now)- Update to 0.4.0 + Fix helper to access stack pointer for powerpc + bpf: rename helper function bpf_get_stackid + bpf: print out the src debug info to a temporary file + attempt to compile with system bpf.h if default compile failed + sync src/cc/compat/linux headers with latest net-next + Fix segfault with enumerations + Allow BCC to parse vDSO symbols + libbpf: print error to error stream + Avoid potential SEGFAULT when resolving Kernel symbols + Fix 'tools/statsnoop' from failing to attach kprobes + Update USDT argument constraint for powerpc and powerpc64 + examples:dns_matching: make it work as DNS sniffer + add debug option to dump asm insns embedded with source + examples:dns_matching: helper function for adding cache entry + Traces external pointers in parenthesized expressions + examples:dns_matching: fixed loop break condition + Fix bcc_resolve_global_addr on shared libraries + BCC macro for the creation of LPM trie maps (#1359) + bpf_probe_read*: src argument should be const void *. + hardirqs, softirqs: Fix distribution mode units handling + Add a generic utility to check any binary availability + Fix 'test_debuginfo' from failing if a symbol has multiple aliases + nfsdist tool (#1347) + annotate program tag + add helpers to access program tag + examples: fixed http_filter example + nfsslower: trace slow NFS operations + Update after lookup in map.increment for HASH types + fix a bug introduced by previous lua-bcc build fix commit + Better check for compiler standard support + fix lua-bcc build issue with cmake try_compile + Fix segfault on incomplete types + Trace external pointers from helpers + Allow the flags to be specified in remove_xdp() + bcc-lua: --no-pie, not -no-pie + solisten, tcpconnlat, tcpretrans: Remove unnecessary bpf_probe_reads - Add the new subpackage libbpf0 - Add bcc-bsc1065593-llvm4-hack.patch to work around the llvm libraries searching issue (bsc#1065593) (Also add clang4-devel-static to BuildRequires) - Add bcc-bsc1065593-switch-to-mcjit.patch to switch from OrcJIT to MCJIT. OrcJIT actually doesn't work for bcc, and the bug was covered until we start to use the unified LLVM shared library. (bsc#1065593) - Add bcc-add-soname-to-libbpf.patch to install the shared library properly - Update the group of packages - Disable USDT for ARM and AArch64 since it's not ready.- Update to 0.3.0+git1502955391.9de830a + avoid large map memory allocation in userspace + python - set attach_xdp's default flag value to 0 + have uniform uprobe event names for python and C++ + Remove extra S_MAXSTAT array allocation in some tools + Omit include of ptrace.h for empty usdt contexts + Add clang check for -nopie option + Correct commit id for BPF_FUNC_get_socket_cookie + tools/tcptracer: add timestamp option + Since LUA_GLOBALSINDEX is obsolete from Lua 5.2, use lua_getglobal function instead. + better state default value handling + add --state to offcputime + tcptop: Filter out negative values in receive probe + tcptop: Cleanup argument parsing + Use unsigned conversion specifier for nlmsg_pid + Fix wrong netlink port id check + 1. Use more safe snprintf instead of sprintf; 2. Modify procfilename buffer length in bcc_procutils_language function. + permit multiple pids attaching to the same probe + generate proper usdt code to prevent llvm meddling with ctx->#fields + MySQL tracing without USDT (#1239) + Fix a clang memory leak + Update bpf.h and virtual_bpf.h to 4.13-rc1 + Fix trace.py for library filenames containing colons (#1252) + cc: Add open_perf_event to the C/C++ API (#1232) + memleak: expand allocator coverage (#1214) + libbpf: fix build warning on setns (#1246) + usdt: Use ProcMountNS + proc: Enhance bcc_mapping_is_file_backed + Fix bcc.lua build issue in Ubuntu 17.04 + Added helpers for BPF_PERCPU_ARRAY (#1230) + Add an option to strip leading zeros from histograms (#1226) + gethostlatency was rounding to full ms + Change clang frontend optimization level from 0 to 2 + fix cc: error: unrecognized command line option -no-pie + fix incorrect code generation in usdt- Update to 0.3.0+git1496334311.6fa3681 + Improve PerfEventArray clean up + make libbpf standalone-ready + Add support for generic XDP mode + Add option to control bcc_elf_foreach_sym behavior + Add bpf_get_first_key helper + Enable recursive scanf support for char[] as string + Fix computation of LUAJIT_INCLUDE_DIR + cc: Work around verifier error when reading USDT probe arguments + Disable non-static function calls + Added the option(USINGISYSTEM) of Cmake for controling whether using -isystem. (#1064) + softirqs: Migrate to kernel tracepoints instead of kprobes (#1091) + lua/bpf: implemented packet direct access + lua/bpf: support for NET_OFF for dissector + KVM hypercall analysis example (#1082) + cc: add support for prog table + cc: add support for array table + Add TableStorage class for wrapping bpf map tracking + funcslower: Trace slow kernel or user function calls + map.insert bcc helper to expose the BPF_NOEXIST flag (#1085) + bcc container improvements (#1051) + cc: define load_func and unload_func public + Python 3 compatibility fixes around string handling (#986) + Verify format specifiers in bpf_trace_printk in rewriter + Add build option for installing C++ examples + bpflist: Display processes with running BPF programs and maps + python: Allow module=None when resolving kernel symbols + mdflush: Add missing #include - Enable AArch64 build (FATE#322227) - Remove remove-isystem.patch since it can be controlled by the cmake option now. - Add gcc-c++ to the BuildRequires and switch to gcc/g++- Update to 0.3.0 + Added s390x support. Needs 4.10 Kernel + Restrict rewrite of unary operators to dereference operator + cmake: Explicitly mark static libraries as such + Fix bpf_dins_pkt rewrite in BinaryOperator + cc: Symbol resolution with multiple executable regions per module + cc: Fix assertion for debug builds + cc: Don't parse the same module multiple times for USDT probes + add XDP return values to python interface + python: handle null module in BPF.sym + filetop: support specifying sort column via cmdline argument + cc: Retry symbol resolution using perfmap + cc: Handle nested functions correctly when resolving symbols- Add remove-isystem.patch to unconditionally removing -isystem, looks like the gcc check is broken. - Add armv7.patch to disable __uint128_t usage which does not exist on ARMv7. - Always use clang as C compiler, note that the build system will always use clang++ ad CXX compiler if it finds it.- Update to 0.2.0+git1488325605.4d0d430 + Fix long running test_debuginfo and python3 fix + Make perf ring buffer size configurable + docs: Update eBPF features list + Improve matching of file-backed memory mappings + Fix symbol resolution by name (SymbolCache.resolve_name) + cc: Resolve symbols from external debuginfo + cc: Correctly treat PIE files as shared objects for symbols + Migrate to new symbols resolution API + Simplify BCC symbol resolution API + trace, argdist: Treat small USDT arguments correctly + Support base + index * scale addressing for USDT arguments + cc: Fix SEGV when there is no build-id section + syscount: Summarize syscall counts and latencies + u* tools: PHP support + bcc: add support for lpm trie map type + cc: Support for __data_loc tracepoint fields + Fix python2/3 incompatible percpu helpers + fix iteration over CPUs + Fixes for LLVM 4.0 and python3 + Update [virtual_]bpf.h to 4.10 + add bpf_obj_pin/bpf_obj_get to pin/get bpf objects + uobjnew: Attach uprobe only to the requested process + uflow: Trace method execution flow + ustat: Activity stats from high-level languages + ugc: Monitor GC events in high-level languages + ucalls: Summarize method calls with USDT + Example of using USDT + Add USDT support to C++ API + Improve linear histogram limit, and improve error message + add runqlen tool + docs: Update eBPF features list + Improve C++ API perf buffer polling + add support for bpf map flags + Fix bug of missing to install simple_tc.py + Add support for aarch64 + Avoid unexpected log message on BPF program load error + Add lru_hash/lru_percpu_hash to python/lua + bcc: add lru_hash and lru_percpu_hash map types - Remove the clang workaround since llvm 3.9.1 supports gcc c++11 abi tag. (bsc#935533) - Enable PowerPC64 and PowerPC64le build- Move manpages back to /usr/share/bcc/man since trace.8 is conflicted with the one from postfix.- Update to 0.2.0+git1480569532.5647de0 + profile: -p should match user PID + tcplife: reorder logic to catch missed timestamps + hello_perf_output: match the data type of pid + Remove debug flag override in bcc_exception.h + Use StatusTuple constructor in mkstatus_ + Implement StatusTuple class instead of using std::tuple + biotop.py: fix compiler error on newer kernels + Determine kernel dirs at runtime (fix #743) + Rename exception.h to bcc_exception.h + tcplife.py: Catch passive closed by server, #788 + Install exception.h and common.h + Fixup test errors in clang, c api + trace: Avoid passing -1 as the pid to USDT + Fix Tracepoint example (#809) + cc, python: Clean up BPF module and tables + Fix warnings covered by -Wdelete-non-virtual-dtor + Fix argument type for increment() in documentation (#794) + trace: add pid/tid filtering, fix symbolizing, misc nits (#798) + Expose destruction of SymbolCache in libbcc + perf_reader: install perf_reader.h + Use headers from BCC in installed files (#793) + funccount: Bail early if there are no matching functions (#792) + python: Grab all keys before zeroing + funccount: Switch to BPF array instead of hash + Update profile.py to use new perf support (#776) + Example for using BPF perf event + funccount: Do not prepopulate location cache + python: Filter duplicate in get_kprobe_functions + Python API for BPF perf event + Add bpf_attach_perf_event in libbpf + Add BPF_PROG_TYPE_PERF_EVENT to bpf_prog_type enum + add tcplife (#773) + add reset-trace (#766) + funccount: Verify probe max limit (#771) + python: Fix kprobe quota test breakage, add uprobes + funccount: Generalize for uprobes, tracepoints, and USDT + bcc: Make regex helpers publicly accessible + stackcount: Style fixes for linter (pep8) + fix profile.py page_offset_base breakage (#768) + trace, argdist: -I switch for trace and miscellaneous fixes (#761) + cc: Support glob+offset format in USDT arguments (#753) + Support filtering by process ID in the filesystem slower tools (#756) + trace: STRCMP helper function + mysqld_slower: Fix breakage after USDT API change + trace: Add %K and %U format specifiers (#742) + Update opensnoop to filter by PID and TID (#739) + funclatency: user functions support (#733) + tplist: Print USDT locations and arguments (#734) + src/lua: LuaJIT BPF compiler, examples, tests (#652) + stackcount: Support uprobes, tracepoints, and USDT (#730) + trace: Initialize USDT arguments to 0 before reading (#725) + argdist, trace: Native tracepoint support (#724) + argdist: Cumulative mode (-c) (#719) + trace: Print USDT arg helpers in verbose mode (#723) + argdist, trace: Support naked executable names in probes (#720) + docs: Update eBPF features list by kernel version (#717) + fixup the issue in which distributed_bridge example (#716) + Fix bpf_common.cc include style (#715) + Fix argdist, trace, tplist to use the libbcc USDT support (#698) + [tcpconnect] filter traced connection based on destination ports + Fix bpf log buffer for large bpf program: (#680) + opensnoop: Introduce process name filtering - Exclude the cpp examples from installation - Remove the isystem path since we are using clang++ - Install the manpages correctly - Improve the spec file to search the luajit pathes and fix some dependency issue in Leap 42.2 - Remove "-DBCC_KERNEL_HAS_SOURCE_DIR=1" since bcc can detect the kernel dir dynamically now.- Add llvm-gold to the BuildRequires since the package was split from llvm since 3.8.1- Update to 0.2.0 + examples: fix indentation in tracing/tcpv4connect + fileslower/filetop: use de->d_name.name, add filtering- Update to snapshot v0.1.8+git1472097662.4ebb7cf + fix biosnoop after kernel change + offcputime improvements: use less RAM, add PID/TID support + Add perf_submit_skb + Adjustments to the documentation + fix build with 4.0 llvm trunk + frontends/clang: Safety check for invalid opLoc in ProbeVisitor + Tool to sniff data contents before encrypted with OpenSSL or GnuTLS + Add bpf_get_current_task() helper definition + USDT Python API and example + Lua Tools for BCC + BPF: better format for `ksymaddr` + table: Implement a StackWalker for StackTrace tables + added percpu support in bcc + Fix error handling when attaching {u,k}{,ret}probes + Fix python3 incompatibilities + Update headers with 4.5+ features + Add v6 headers to proto.h + Use pre-calculated function addresses in funccount + Add name to address ksym helper + Add a table.zero() function to bcc.TableBase + Enforce limit of 1000 open [uk]probes - Drop upstreamed bcc-kernel-header-search.patch - Add bcc-docs to collect the documentation - Add bcc-lua to process the lua scripts - Add the license files to libbcc0- Use the upstream tarball and add the URL - Amend the description of the pacakge - Use the right group for libbcc0- Remove "strip" from "make install" to enable debuginfo- Switch to clang to avoid the c++11 tag issue (bsc#935533) - Update bcc-kernel-header-search.patch to include headers in /lib/modules/$(uname -r)/build/- Replace bcc-suse-kernel-headers.patch with the upstream fix, bcc-kernel-header-search.patch, and add "-DBCC_KERNEL_HAS_SOURCE_DIR=1" to cmake. - Fix the formation in the spec file- Update to version 0.1.8 + http_filter renamed, README fixed + Migrated filelife to bpf_perf_event + migrated to use bpf_perf_events + Migrated killsnoop to bpf_perf_event + Print traceback only if verbose mode was requested + trace: trace function execution with custom format strings and filters - Add back python3-bcc - Make python-bcc require libbcc0- Update to version 0.1.7+git1455766673.13e74d3 + use __builtin_memcpy() instead of unrolled loop + http filter example + Add bpf_module.h to CMakeLists.txt + different man formats + Fix segfault in ~BPFModule on syntax error + Add bitesize tool + Support array and pointer types in scanf generated function + Add biotop tool + Added memory leak tracer + Fix python map.items() racing with bpf delete + Don't show allocations newer than a configurable age + Add bpf_get_prandom_u32 to helpers + Added --stack-depth switch to control the number of stack frames captured for each allocation + Fixed long arg name from stack_depth to stack-depth + Added option to display only top N stacks by size + use bpf_perf_event_output() instead + save one bpf_probe_read() + 3 tools: oomkill, dcstat, dcsnoop + Implemented histogram functionality, including strings; added examples + Added ret probes + Renamed to argdist.py, updated command-line switches, added kernel probe pid filtering, added verbose mode that prints the BPF program + ext4 and xfs tools + tcp to bpf_perf_output + 3 tools: tcpretrans, zfsslower, zfsdist + inline C in /tools + 2 tools: btrfsdist, btrfsslower + Split bcc/__init__.py into multiple files + Split bcc.table.BPFTable into multiple type-specific classes + Support native integer indexing in table.Array type + Fix breakage in open_perf_buffer + Embed runtime header files in libbcc.so - Add bcc-suse-kernel-headers.patch to fix the kernel header path - Drop bcc-workaround-gcc5-abi.patch since it never works... - Drop the dependency of bcc-devel from python-bcc- Update to version v0.1.7+git20160131.143df80 + Updates to use cmake GLOB and libbcc.so.0 in python init + Add decode() to ascii string in offcputime.py + Add libbpf.c support for uprobes + Add python support for attaching bpf programs to uprobes + Fixes for address calculation + Fixup objdump calling syntax and add docstrings + Add uprobe strlen histogram example + Update test_dump_func to be python3 compatible- Update to version v0.1.7+git20160119.f50ca1f + fix pep8 lint errors in the rest of the tools + Close fd and unshare when public map is destructed + stack walker typo and improvement + optimize code, remove unnecessary filter check + add -u, and change from 2 to 1 traced funcitons- Update to version v0.1.7+git20160110.a0aa7f2 + Remove runtime dependency on gcc stdarg headers and make + Add ability to set custom cflags when loading programs + Add ability to export maps, enables cross-program sharing + Rename BPF_EXPORT to BPF_TABLE_PUBLIC + fix pep8 lint errors in biolatency and biosnoop - Remove make from Requires of python-bcc- Update to version v0.1.7+git20151210.23b87e5: + Fixup dependencies of bcc-tools package + Automatically bump memlock ulimit + fixed bugs in control-flow generation + Fix breakage from LLVM 3.8 API change + make sure LDFLAGS are propagated as well + Improve json type support for misc struct/union types + Drop broken p4/docs symlink and create README.md+URL - Drop upstreamed bcc-honor-external-cflags.patch- Udpate to bcc-0.1.7+git48.g1c7debd - Add python-future as the Recommends for bcc-examples so that the scripts can be compatible with python 2 and python 3. - Remove python3-bcc- Update to bcc-0.1.7+git34.gfa9684d - Add bcc-workaround-gcc5-abi.patch to work around the old c++11 abi in clang - Add bcc-honor-external-cflags.patch to adopt the external cflags - Drop bcc-fix-packaging.patch which is already in the tarball - Amend the requirements of python-bcc + make and kernel-devel are necessary - Add python3-bcc since the python binding is compatiable with both 2 and 3- initial import: v0.1.7 - Add bcc-fix-packaging.patch to fix versioning issue of the shared librarys390zp38 1617293121 0.19.0-1.10.19.0-1.10.19.0bccBPF.hBPFTable.hbcc_common.hbcc_elf.hbcc_exception.hbcc_proc.hbcc_syms.hbcc_usdt.hbcc_version.hbpf_module.hcompatlinuxbpf.hbpf_common.hbtf.hif_link.hif_xdp.hnetlink.hfile_desc.hlibbpf.hperf_reader.htable_desc.htable_storage.hlibbcc.solibbcc_bpf.solibbcc.pc/usr/include//usr/include/bcc//usr/include/bcc/compat//usr/include/bcc/compat/linux//usr/lib64//usr/lib64/pkgconfig/-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:SLE-15-SP3:GA/standard/eac4487179bdd2cb3c646451d7ce8905-bcccpioxz5s390x-suse-linuxdirectoryC++ source, ASCII textC source, ASCII textC source, UTF-8 Unicode textpkgconfig filePR 2Pŝ3>9utf-8854498c37c4ee3fc32fd3fb09c78521459abb31a6f77306288ac2c0aef6d8a93? 7zXZ !t/Yc] crt:bLL ܰ>_7M S/ۡP)4BUHhr3*$/TĂ6ژI5I9ϗ.(ҋi u.vqk~![`HZ6f&٤{^G4U~ةf<ôBN%t](K4Tcu@Yo+!/l`2Hd)n8>3[ W~;6),* ^XgxW2Y*TpQQ6GQ]o,Otdza(ࠢ\C=c{y:Nk23\ulJ~=eN8vp3;rQf &M v:?UodQNqS#<: F$\kɊnQnf-V,mF ŁiW~ >`GalD*sj~,lċg7We{>5-]*J\ϰj'`fFky</Dk$֥~Q~.5jW =D ټMSVnvo5.Q)^g7MygUsdbf5Qtk KȺeCxݯ=߂_@K#zt]4`#>TCs4l՘ |F07rh)+~h}"_pOm7?`XNߡ6ͯ e$ʨr7KnES{'Xgء??do $)=?^TZisWHLaEѭpod@\TFcڇ/c,ԇPϹSx{z>Y /[n qkVGjw`K)K:12 َ9 ,$v@C̦x>OfL/+[5GE[4Fn_;} `ZgkX R FeZnl<ޤ$~tu(Oe$}p& I^2{A+5mvL3m6OT?2-d+1]71֘X*QɜB_XR ځb`;حcG.'%4l=CAuQܽqяJhWLX٨,bի 6'r*orw4h?ko dÕƗjC O|<*4O>hzt9{kݺ`heW>#)PXnu2. E:8#?OB$Qo\Pi=?ib0U'XrEY\DNSeX&vqۻ}ȡ4&'L1G$7Vߦ*' oOj#|6FHRBT Ωwڜ`U N~9*PR*ۚyhœ2AZ]4Sx%"~} 'm?Zٞ@βz٫0V8mjnO@E1 Z%/J%>$m=<,ĉ A-p+z"مfyRM5$Zܦ*,/SЭ|%jaT;QB(ƗJ`( pTaJ^p֭_ \fR,pvmMy"P#B6^BkQۏ4OquLI2>\P IàTb]LX!|:IRՒ8™M-G2/̂Ij0Xz}rֿʓQ.'Hs6Ԩ,a H*E= Ɛ~o[gN%13d `\|vpk]JbkUG->!DNq@ g[<,X.xy-! VJ@6!{;m\]C췂`U5!۹ִy[Z:ƛ`b6yҿf/+a3;Mqz<\&(=|gܣ3 Гh( kQ,bG%W9GPEbsAlw{a!9i'dy6@6}\sj_) 3W9bMH\מ[k;JƮBwva kͬiDDJDc: c9 hgAKE>M> I(TklMBRE:L.+9OUU]m)=`epFXEGi9457;v;F'v-Lg:e0C/QD/^S35*yG&R˹: Eͅs xQsa7hybup Kh_:ףxsEQku !lVI&ܨ{"t~&*ORXsΛt*t`W jMha[!71twpE1c"Qmz|_geP ЧQj}_baAy*3™(8I4I֦` KX>Ŋ{ JKܙPg0!$6_TLAޥ-y/|%9F;Ѭn"=lfۼJnGƪ,ў;57,sD 7rt"hN_&c(&/ ߨ;lvTe߄MhX>'O{+%jQđ4p%qCXJWE].,v43a>1`TBPmk,wMWۄ0%beOwJa԰g죑gɴ#BPH%O[Y@oP/Oz79- :;od7 lcSS%P TtYI,Ie!'wX̽tMՍҴVL1 oj=XE<Ӟ]r(׹ntd>w"B82~Q4uYk?36?p/HvQDK.j>!n--#y+z(Y; gy{c'.q`m̼S;#&InZ#nMeUpDװd]qGKhtj#HDI| ɣC!K'&([ÛU}r bW]z>UJ>^v@jb,1tO$o5xm:]3.,@3Gnԃ-|jf\VWF਩G* :bN{,pE>ao+7q'*d#Qkym 5"صuH02/'~5%s4S;?uYץc?1D89s GHkSnuS!8 {VG&R|kZ_?Tھi&}:cl VxZ k1xaU ` <+(j:8鯛>m2W䕝"&<1dPЀ,IG 1+=an-?̑V+Gh֌ȶ_ƫpLUpl%U <9/uE;mDNmA0iYC1UwJEC-%( &,?ja*?(t|߅ΪxD}Ȧ]uOv|eLwkkf=rcM$3VUP C{2Lcq*JCA߈ 6_'P` ,`xwmvd2QYX}U>浕\4L1ލ1&q|JJg Lָ0PJ' NevɄw79Rrpw @H0{Aɏt)r%#G bLz7_SNZM>@Y_(|HИFE^H\~%a%!#v,{m{ S;4VRռ9+W,ꏠgxSb?gc"@@w;F%rs 0xiOZ$_جhj.LZnAK3;h<]o@1W$q0 . +ܦ/1'VTݐʬl͜\SVL.WP̿@cm/Ktڤɛn%MH}Ԋ4$bHWb;x+ Tr{!r!{)Oa}u@ =^(2kXQu 55cLºqj .=sC3-/كF7CЦJ{cS!bN7Y"cYL _~(OzeMl `$a晎G*甿# ~ ~v.I6᣽84adCs?Zj4p3@Ύ//З.o _`KXOBd0XOHOW4#h"bX)l|SfAs= +C@0 &,Vix' ب*XNd}˩ +Ir nb\Kq LM5uGx~]))IO+BFklcOݷ Yb8Y,䆺 ze.j*Id 7O"jm=F^uslP`9H0\pҢy|զ qR!L=C3I^cRb.$E!~K+{lm48b)AZ+SjJ7-8dJz>eQ AN>Y0UlQ*S b!"}2SL Ln{S4rҺJ1 o 2h&MڛVϮ$F8M4%/Kjt 3FRWo[K'AQl<4gV2Tv!R!A(`VPpzh^v]4JX>2,2ls :X'Ė0=&Y$Xz aVHBaR@l&,BvJZ'R ?YXB8[+#gJ'9UBS4}i41xfʟm-0J*܂ڈ4O)FaJ&ĂE7Fr%~l ̈́ӢuWfk4<ޖޭͦ}e>>].^N嵩\k|HL^δ`mM̿S&g@i _c+,z 8+-+]VM{p-ͨp8wcH||nty+ IgłjBX, OgjhMgC,z#\}1~ao$+5_ j03AxpAIۯFWrA*PeS7 Щ*l@f6W|W !g_IOѝc3DG1jN&]:OAPSV Wҿ .ͩ9ݲ|L;J̤^ZX^fL^hT# IqA(ni7!Z)@uv;Y++5Caynw14ږ#RԆIV1Nb(p6t/(\ж9_LJ.>-I~H GgI'kvD1i#BdMXC sػ6~\\.*w.a*<\E-dNʡY"I93_YPQ%0,_C畬^qK@r+űV 65TRD lw[AK@ݜu,(|UOM " Qm* N8(ΔPͻ劗eC>smjjܣ}{^ZSoԍ@s4.t~1nY9~\>>MnFBLkAC!etQ,I.yw@{L W`Β8TKQGT$k͸8a.mv8%<ώuPhIʘa r#'Qt[޸BmDzHtG{bE!㩌̣9b .  ;8wL1|^2ؼ.KIu}wSX LlQ ɿP..y0mҏ7A~Uw3+2Ŝxbb̈k,[mI[ '%mڂNvb*cW}|񯕚񐴬>sd5%:6xQUuF0# p a%z8r1׉@r1g ;@Yu%K "jsLM<=Q 3[~o ygHWvmq-+EG`3ZV$3Yf ^uy)/~\rp+D+e `^cYYݳ,OD +X 2M-V{UW'WO~)N.}{)y:rw.hWtK{[).vxf/f@^7$ƽBﳋ{+vR"7ʏLl\qi L̨9YzX-cF;SEYVҸb?Sѱ|kZ$-[F)הiˌw|Kwп NDDUU}aBݺ!dMPD; ʋ!S9Qs|0=?g`q4"@:1$ir6kd}-_}WSh{T2|Y9e"[OM&"G!uC,w;\yqdG6<}ǂ_Ӻ%;sqktZiQѾ]Q ʂMfbbv*c Z6?jLۼj/f}|`q`Kѿr@҉cڀn66=\,K;K^LuI^n#C&rlOǑ*yWKu77D4YdHMK '!Py0B}_#fab+ԍxM1^*3î*>`? P՜2a9R ~EՂi|[/0 pjȃgAlpFE {ÛT0!poF9'^E0ݲ¦R#ڻ#TˣWw@%vUl07$c8}0`7 m,Shk_ $*0_AVR"o#M+is0s533R$;Kap ^&b^e(|nBon 4~,Wg#:T0_WjAfͶp0æ)O)1sװul 9$GGCa(͘㗮53ˏZHR\e 3qY _Qy0iX~վE`{̕_CJ=HS3 _uѵXrv+hVE! |_EHT7 [Ev`5m .@8qDxl\J?m)S0FjB?{иf:՚ \xmx;z5U?>DD%? 6H PCh;~F%,a N`?7{yp/si"`F94ZA_;~ B 9,akT ,2ŇtL1N"&8o‵cka}JZ+Q9{?PP{kҠuk{6L]N੢=9D۟V}OSKh/\D$w D T<dbdT T4ͶzFjISb܈х?7785Oe`pD4 >#yV %pCď YR>PP.>LF`8El: 8I_Qj LƩ?Bױ]( 'ֱVuJ͂N/9w\BuSwxEw`t cxʐlx Ra[0igW6+=@&s b4m]E3䕒v[Q_Ɲ"?| 4\ & sl;oJ@qx5cۤ;UVM{8MX"hM ^Ɍ*R2_45{u{ZhwEI |b _HWZ =1ߌAL)<7F{:JOAe&?hq)&,vк:ߦ+M<==|.Fo}jğbG&WPm3 RVglwk#x!03TVT{H[D1R jȜ x#a _Re!^&v߯m z8I5)b`w䛗`^jcmܲM9$\&J#s?VFMA1G%lt{K!`iU /܁ӪY[,},V'ڹDY̒wFCM7fE_`Y"NHLc8{v[a{܉u >9 ߣaU^WM 65W;A 1Ĺ[j KC)!5N(w|7\]QW%P1I&\qE,mkI=DiN\[/c( ^,p3<; ?\z1'=P̘U,_UEFY 䂧U8^w")b+3N:C`m}iRRcplgтu*o lɯ%>Ӕ0&,0~++MPe<&QXƑ 4=-_AH9Qq ؍(b?URl6:V F Z)xHn~׏ꕏshFxbC2IRiϏo009]B̞lfx{Dv$*jSeҮ} o MTP B%Ed]`-c^g]g ~Apb/0G.#g.l7URP!%Re57ckFv" {v7UT?^pB Yn&K㠗0`+b C2`݈ȁ"E oZHҪHoo 7fg`틺eH9F+"WGgj\B n8g mfCgpˋm Zk:- ?:.cjdpq&һ[CM :MbVG/ Ucxi p%fXoouTX*@ң*.3sVzBEдX٘%b> _G+e)9]bQAk + Ŕ`a:•{]sWcf40 f4;Deq+72=j1 Acn_nCa^FBaxU|'Ƨ#/M8 $hTK) D>)ǕKcA  {2Rp08ۋÞdli&WjHSng2G #M>/o 8`_N~MBŃ7{}R֏wmzteی%edb- * )6G'B ˗LX5p&ӕpl*^!E&E9 ^saʚ!aC=DYے"{vj$69elfXY |Y!࿊C5"fkPB9/_?)fhZk%_ǥ a4Df*<]?}DV3hZs<!)Efp7m=-,fϞBz3N`X袜% F4,aUծGBp *0 S8">ݔ%i2دQ5@+#2L{o"s^t3O)dc~7e9'W[PmmITu\m#` MC W:\3zicO>4 a}4TԄ-=V!pDS m˪ȩ!#.*,>]5ŀzl,Ax@>o" 8iVgk'#ƃ&_Qs\h\hyԠB-7U5nZī" t$Oe6>{s<30Diz=Z|z.LD[`o5RYfgQp 6KK q$o=%N1sXЊf0loͱBQ^#g1f8X#RƞCaa,G7RAJ,1jz?q䁳~v38kL9qOr yrþf` 9<'N]{L=U5>{oG ㏇'[SXHi,9S9nn][H q"q!8̤PVA&7!&]yЙXy8Mn}S+JCUv{:ߐ쭱q &HvO#@4 ٯצ? ?*_%"1h9<]_2/7z u"ϵa#<<yX8ӖͻxdQ"G!Q|+j[%R2Tj)ͦm ـYpыOpF_o.e14lZ>d> -w!x~Q< 4xIB1ş<ČH~>(TyG ؊KU4}OZbV")MU rĄΥ!u{l%gJga^g2ZIxm iS҄C'm>m ^Bnylfw+*9ubN닋x)\~j%ͯaK5A$F9>(֪'/d)y)VpU6D;̅Y|adȔ0u)Gk&ҥHt{!˼SBޞFU}ا>]JYE{3ݧU u&f7.Y|Lz~x^)&j7YX0 ˣ4_l\Z"y@yO^_>>9Kf3b0f=E5յZ,WҜQFϱuO= Q6~Ȉ(yym׻f6^rN'!MxNW&à}agUg.Fb&K԰ )q(OŅH_ЭG$h_vrd_2J},p#"Fi@Q̀tTCӪJe <0&V$uXzW '1n;yLHQ^<#X*wud$Z7̛x;9a gST}3Q8e q׶+Ãpr38"1HvY#PqcZX.V"/BLSM-k i vcL7^z<7Nz|bBu6c 2REVɏ:qR赭Zuۂ]W1ݳ)vyoe43 ‹pR”y̜qɚqax+9 RB[-u&ͧ4+g@W ts4S˶[𲤊+sd׫>E{Sy_+gIl1C{2jtM|3":DFrG0QB xëYbt p obtnoDT3XrK)>XGזbVSkoxq>k/F_3H"^HvCTJC5N^~oiQMrW< ϵ3; viq=\!C^>5پX̎a :u޲*ݬcʍ"ߞ@%*05 .L)[3ʾ#፨'pjgv};)Qs""khǶL{r#mAS,R.L G{ ncm _-ͬ/c? gg/S,!H="9+ml1bdoSn[oYIPM6-u]HCG2=6$# d(G(n BҖ +R/X1nx+brH&VGczkck 8L5~)%&u T4J h oF]1AIDv@|Nl>O2w`iq\9=` }|]zJӐJ1;[l-٩kٍdu.n"šΚ?m|[!-&Ubg7Cp!DD 9UP5Y~>| p?Yc_+!/ 2dW1IT4U EXWѣx^uQCRm0)#B݇%8"`*DK!|[24Q_ Z@+l5kä,cԲWfEm|vj7!v-D"^Y7I[ׅj%܁ȸ .U: &]ɁN*I^ZO ZY } ⋒F"`?G/%Qd1w Kq!2 3ӛnjWZТDUm]®MG flW2MSf5,>stǃ~#Ym-$|SqSdT#ǩ ( $/sH\K }fB>s|B8'a }Uc-He #Q>^E9caz#:r <{ >Uv) Tc‡Az%sfeo0DpTp0򑦹faATm3yp`l_6!ILGv.!]npǘAbQ4qZK4Q?8yJ/}3)5 Dvq*!y!W*Dn x+rE\܁qXzRr^'0`Rޔ_ #K: q~I^8rgMTndզXc°'׽G[A͌}|~ }U|Bǚ:(сkBň4\Nbȫ,O  mFqVN.U:Tӹ>|槙 D/ ڲV V2?&}5sS%ba)Co >F_!88¸/tD~= nI{F(FA~MZFNOTV#w̚ܧ/b5d^Ƒ WK щ_ gOR h4_iҮE<:BЫFH8DâOr29Hy%byL.Ba =oR%2(j$Y Ex8ߎ.㊫&S~m?S;j'] Yj>S\U>RHT'kGyajDVۯQqXeFY8\kx<:l`t?W[25j;I;s,c+=݉ -_N#ʌ·4WXP ,׌fg˩eNVta(YW8 .,ߚRJ|DH?V?Q=GGra-rd{O^؁\XfN-Bn4y+%φd{d~g"tJ2xV1;X 5I=9rL߶-hJ`>R93,JOoz' ˻ⲃ)wY*0xgNqֶ)W T 3zyK%Q|VraD =j0I ؿlWM̊i K6Q#6mvuBETH}SC>WIh=rj6# swj6 :Ѿ_{WTCB8~Cx-.m`#59WqhGM& 1&D4lӺT|n!]= R-«eKvAFf:,s.wÍs2IbxRř>fdDPQݖwv{b fr pT3|^v -%zk.B3 ]ۻw}ixG_!USLQ v=ϥLv B/uqD0k{"zݕѿжnei6LHMn[6l Xi&XNjpϔŻ߯ܫ %s#mM8@ke`dreDJ D}nE"ȟۈkdMPt<% eT<:GEkʩ,QeO.nFh 57N &a 87%4mL}w>(?6S%Uu׹i!p W\1Di'_m1R}UXsƗۜ3'`[-aKMjwf#BU &<NpTv೰U7co͌ZgœoAZBO\YlmbJsaեa AO9}]B;4 4`mdZJ+ӥm(dOÉ猅j(Ufѻ$;C9^f)ϱ!Svɦ)@ADI*f!kѥ&ɖ)՞Α- .Hɠs02\ wֈEvn5'Q3xf]|{Tw),QWW;iVF"'om_Ր=8( |%Kb\xb+&sw,!f;!;G?$. !pmS]Lʓs/A!z.5jX,zMT@@g,7@>n\˓7ghB7Œ7vIc߿#"25,Jod@R\ E(|=s6{ͿaK+ I-Z ȲWaҿ)v2S⽧8=5p B޺V?\teWTUR:~@NGI_JVZS'tsMhL-y8: OElTD"-sCOs# oABjdOBB'r f?^8@WYYԆ8չ`%aCiԵf pP2 Npo|G+!W˺ < HS17 s82yVx𹡪oFjFyyg##VyV- >d"}wtKP+L͸<h{M!;%םű kUV53|Xvo]8Ȱ?"!,,YAXe߳Oe1v ^ď=C ffސ=sBvH0 μhfyΌ5+/޴΅z'WQrQRZZr¡kTX &o^)[o-Crb.Dv9kwC }1׫\0'>hSM6mY᭝ޭ}ujAkemm蜍յBOGg4Ķo@`BAx^lleܘ+,: ^$\z'%],J:<3o^7e? u~l.e.a2v<\$bv7Ǧdg֘\]$LR+j^q VzoN AZw4LWsfkS;|Kz}Ы A F;~1dUT"h'[ҧSRΗ5ZxĆ̰ 1M*cjW)NaB~D)Ĭ8 OhMP/@wʆ20߇Hl6X/׬2 lbT!!xTipBu9IU C  קjwBT?KyJH"x'U3?ēg餏T7Db;vIXE9p?{% Uht8ب+/ N]3x< {vE^2;M9H6g`<4vMBe1F^lpEnLGַxU\MSZ=A ׽X:gQvAZ sgG>^:Cp^V^q=Os[sbnm&F&LjȨFcWoa'rLE[ z/ri&k^7sKÃC6ځpe@,\n!2zhEH\WtƄkea9k1$ȰfYu|c?UI8wQ5k!w Q]« x#籚kk|ii4 l#r|tiR>|'4nQܳ2O Y[_`쉵H:tV'W|i Aًcߨ%P;e00 w<6{Gm1plS˃W7" Lcf֍H&A8aJ? on.da3 IbägY")E2jFU[Cu4xa x>E_nlCMiʘ48تAo"S|Ry+/}D<Ȱ" vN۬qgxGF &ܝyn{âq>lA\,8`^ۭsooqY_z.G(*5,ȑNBxe[e+,( KKdV @۬ؿRV[s06L#۝bkO$ЛŁ U20aČd2"DUz$ -"Fzʖ'b W5B%}H>8@Q1+ʪ TsjaoƲM5oTOs\x&ld'hTl y2eY]ه!)OWne[yϑnķ5l3'EoS6t Eer90԰5Ss_}1)Mj+BD@إ., Oi7>A2jo[*d-t;,EE?hBP- 5 ,U)͆6&(hһ[ {Yqp[$6w.gj/ZE#\&!jP<>J~QEËoIuRBN v>Q$q<^.Y*5YbwgQ6EY$˱A3i \;fg۸YMΤY';Y?| k (gZzjl/\U 9S{0 +FJܮYvι:/G^8o{'UzIߢrx\~OV20Q+v`$w"mN"ä=FM d c]bmYI ׊)M25QP%=5WQ%OI0$0pLGİ=A՜{C-1˾Efцm X=K::}9IYKq]|*΢Ty/fՌ_H$D`~lP|K`?+ʈ²2yCLv;)-ǰ=Ƽ3zf6GS2)`(D)!i)M +h9]>z\ QB1|joHfW)~/b{TQ~[/ty ǃgf/\ <;ޅ GZC< -`,MqElۤsBf]HOgէ;0Bޜ]Z)DMŗJEsnFmG4@ MW^Ώ={tD F߀?T_:~o4SeMfG~oFqwi6GpЀb@e;~+;\~Ɯg}ݖttO:8d`$S{>~9C"W~.8iOW^4r@+rh$1! XϘ[_~K).6b >RGY|&ȸlC5гߑeu![1 X ]-RfP#^^n(gɏv9V)9寴C(}Xr4N^6W>5bl1W9X}="(Bsp]`k%M뉀>&y\"\„:`GTk"w)wAXaGI7MhsҮ7oMl[:-~L2+I3܀ ׸EE$<=7Odo`1|kH[4GmLb6T@qQmù}dQ~Hȏa˯}y-M`?ܵ9eX) $Ջ[E'' ťZUdRaz* n6y"{A ݛ{7ͺ5*'=[@}Ou]U13+#$CɒG@Ͷ7=7$& 4 PBq;BOub6Z'|<.=?қo.<rm_*zZ"Q;Yۉ'yds;N$J/ú |?ċz!h42\,(#7~*o1ީjRu&UjAgqM#8#Ȁk㙢G+OnEx;c1,ĞNG-d 4Wi^(i δK5;( ؂ls>rư}En99sK>E?ȵR+pH92-FD*ݱպ\o! _84=nhKNz^!~Y;5F'v\:Ɣ&I^Hd4|[:%&@9q#l̈O^)DբTۛg,-X#i?27݇˴̏0Br3 ޖl j8+H|K2Yy?/泠 t"Q8jU 6Xvx.q?1(<ښ#1GRh_){Z.6\'mĀv+W]bjV QKkJAuNڀ0NbUpt _5>0xg+yis6 $W?(0"v#x_<+/QX #N,HɝӈM&Epm8}_|AՃva7f,-\#  w~3e2 Sw2C_ qOiV( ^5*nwi_FeMH"M,EuIO+eb,/:+4b9g߹fqaRZ.S, Wh I.GAYCW2M| ]?GKE_MjͱYq3AZ S(nQ:jNcs۟u-h1Om J/7WwɅѪY6ByjHe*A>A' uezU+m)a7-J޷57:?xaes^0:Uai~E8HsB픎`3inKݠi:]|೴Jm|W;6yK ^qJEDӵ]xDjVtV:`KZi/eugA'3?CܼK~ ZpB6eU lIysڽi0qq)@A*;#/nz *ފ=u#c4:w@}LlOW$wFIwuLxlhqƸ>}@1~(˨=Ր$MqS"w84v Y_b+"C-}1L`潁 xi` p˛_-pǖ4ohSPhɁ=#jߺMY6F5/pU!7- E?ےhkO⿷* ׈v`N^KfJ.]+Z(.5;6gqvwXb6B7B+MTd(bK74TaޕDk3T $b׷d?*٢a,Y)Lm-+^Azdld 7t@ %-C޷HƍU -ogɗAPN8v;ҍWbCR*όC&*g:9瘁cϭYJk?GVw\o$Rv&( ÐúF[?Ffbh(0sA&28A#Ck}DV>XA#ʦ=ôd;pD1f;&SS2_Fl%*-oꮸ2)j A;'ƜcĜM7nwp*,,kUb6Ӈ,?q <t:~$DH0gZn{&\2U^pEa}+21BoҪDt>B{e8%f*7摎89[ yoR4ׁ\وu)muX;VKL)/y-K( xV!Pc ̾ ̑FdHъa]wcJp7mּqsadLAS,ݶ9011v&P:~ W`D)QJ{Tl¥1lwc奍ٴx=B8\m.4kcF2HKYtFl22Ιp2 hxҍfn,8 "]\,dUKaD襕|\TYp|)?u*GA[Dj(F1+[c/.R|޺RrXbAwpGK[0%Li+:FF*Ӈj> 1n3IdeTBOo-pWt`[WeG#7TM=SxPc:O^1OXSZe;RmkMH!Pej*"5jm +}SW\d^rƊ_ ԦVAnf*Z-#Ze ,5OD  k<4 ~QEH (1,Ik^-ܼ@-Tb)NfxV@*cׯujߖ4{\£/F,ipd#f *Kk{%Bb.}2?:$36`]^@sxL[ylIDK xΣb%/ʅu/]AMZmN#VI63N}/9(Uս5%'"}b/k=F"ͽ= ˪c!=}8]Ќ>]>@je['C.0HqX)`+MQe*+Ow9_ÍA?ȢY[0Z>)>oč(.DQ aU-xǦ@LNh`aed<9[[)h(Jy]I<YKc4JI FI%b7E &5b2(RGjr3"mYAQfeNoX.3|.LUN=i5I{i ȨOh3),hkkN9yOZ]bw 8y+o4, W8'SVy:ʿz'gNY ASܦ! 76hW>RKLմ?.[[&#xz[t=P=E{.Paiw 淂E-Jj(CBN*|vq6kjjkv'ga qNu<|jJbRۧ_Z&z/ K|焻snskkP4@8騮*g?nj琵k7w_&j@8vn^9EcCuO @ :9bQqD촦( lʼnuv7ƶ?[:uэRpup{6.E?Gq}ܦ$=чS+ )]DVRuq2+0hȋOySW|y:d}ďX;r"9'|䲡 ]HؾY5Hֿ mٍ"1Ӂfoj.ꩿkStM̽]@""%`2VOi'\dUv52=Fdydž4ȏ@D|HЋQDFeEohb:?Wh'3lJgq^`38—8 CViO&:Jx 8rg2ŎӺv}zexn+ӳmv=_qgEҀ\:5$ZjQN|EV-=ދ9pEx;]3bHj:TtMT瑳 0OT00"t1pS.\7Mό?.cIXH)td׏_DXvmaUW>cr9 ouOgMҐZF/%5/xyJ&q./?'iܳmc v闅Wupp`CF4e׈_nºIx""`نHiۛ^=6[R Q-S*cGtĬK1#N[}v6f2RٝY(RhOHEdo8)* ڏE^A64m_cL?sNH΁:#0֨^fZ«,G{5P{ꆖ>KӥXȶ8bh#rK2~Eئ[򜻡q3RB\z҉5ɴVd ƄhY9 2 67ZY)ȍbSytݾ^O°Do<1P~; c`r`E}CMޗeMэk<6*שLGw>ug/T8k*j1:LAˢC}D}P ky9Zuq1mKu" omLp{jzKjb̼лj]/džDsltF؞rA1ܞ'K:j\.V:&QK߃m.;Hی1#nX8Ӷ!)V`jJs-i |,tG_-39N[$R8nq|=G.yhE^å,x&y=;q 1d~S]: X#xÛ8xfHn{̱NJaՇ;}*WnW5C{ )E+&>deZ, |)+'Fe&~ "B--[Op^ |#W} @DY}ils}W,%Roʤʙ[z 2qF0/gN'rRK[W*峍z|ZmdP/=*Ē"Ć.gϏiHSQv{ o'Vr6Njv}Gq:Ɩ 5 \[&y$1\. /c5(nUс8V$]L '6bry!C\c46A êJ`yir:auy~wR@$ Tḿ=:Z0|,R5ge Dzq6ꋣ[ݽތl|G LnN.tH_IZ溼mw&z%1[ 5m$#O{BxQJlNKZC j !!9A!.p;dͧ2\#\kQе_У›I'<p P3E4pzVITZ Xp()AH::1f:R_(n wP -htd߻sx]c5ۂ>APE2>:7#6ڎl找d |]Te+7f K0Y.\DOwFWQ$;,< [:]u5,HIʈ8da26byNuלTVf}E!5ǘaZ6*4^TzςV)[ Stf]ٓ)J쎁`k19ru:XκƄ{VE^ CGh:JJQ" 9.#vfSiI"lcg"K흏P|~ѴcTw)uS;==4&Uu찂3 Յ*hUFߌ٣[Kˮp<'цtY cL%aφQ> 奕m8_? ׶> ,=ZNllVkSni]1N R"AP|z >Fl9Lgژ%r!J)}'S |a/x| ș sfb_KEʢ7ψMLү0K\ /ND)X|GAt{Kj˚OK:nfB8_zkeE'0% 3T(s͜Jڡ c͂I=16ݺRu`,猁M쭁H2H?pgN  !c>2khf|> FB! 0[}֗.IB^z h*"J/T\, ndf;mN!2m;.[csy / ሐ4dFb{ _P $$Y{ |R#0SJ+g"YѰ pgtk@ƕ>5։YpE ?$5SĜK/M]e( n$<-%mɿ?t&}Ϳ2u6D _cPt7fNfm< #$BKY$bM9e2Bvs3pYR6w@S)6(?1J&tD^.cpLu~~ḋ(pD7bdk'?bd0BNȹ`Lg{BV4-/v140谕N{upL4Ve8|`X,`|T!L/J{8:4B>>6`CŻhueƪFœ Բm(D1͵»^#E1b@mڢӦTM nJ.Ë&$l@i9ѽ8W}#_t-rwF!6ϒX'9*\oػ*߳ Cb)!ʫXYok5YC7m~`Ak ȶVeТޫ\l %6syyPAo,3}/qM -GO7-㌳ >T |ӣ>1YHΓ]ڍӦr|6r\'Ytt6{Ћ\ɇJg3E@NEKˆ.ڬL" _EEՆC ld; ˿7] &p-H!Pѷ8>Ygvl4gB_ uFwCξ62aD>؊VA6؀h,>{geѮ؆ϹPK?4 X0iXw:SLJ4 Za$Ӣ~٨5S#W<Ud=:d]sEPH{,IhW"; -Yq'Gԅwh ɬJ_"RR$ߴ-qmfUN"[^lƽ"^`H8nzNj J9xA942ABI}h0Ҧ߮k͕A plw.p!wXsQY/w 9a tdmS>z`L]cmf鬄0ISݒyhtħ<3jTCMfosǂOVBs9ll5g\UZpo*C@7QjZ=V{;()w:Bw-J]ܐ1m̏lc+~icWs#sY\ {h> P]@&x;!0L-,x?V]e2n*`GpUpCqe^ RT^ArU9b5V .OmgG&kGy2?1ц8lC 2@np> {=+ڄ_MoؕOov+XR u$q+5O]/Ydb:Xd5W͔8uzl~)$pij)̭o3PflWQ@p dNUuEcJqc -S.)dhS]q_r VB/wŹpEMuesאCptf^h+X b"_Ŏa'[ sp|ʭar`;˥7oY}O(eJ(PM72F~DP>5zy@q'qBGsR}S|:0ְ"w " nf\ KJ'K4!̹T_݉,m4خ_\-UR[,Zn N/#cTe7M~a[:0}n~B +X!hfR8)t#l(xz57{3_7 y Q7ZLJTx*Wp/_)CPzUz?zy4*)ρs/;Lʺɟj)28 B.:e{cHl^SZwF.'g 89T̗o} W-$9J!ʔm„3y< $ڨ[ FS)#ʹ!ޜĵlmu/S}Yټ\Ū57 J8,_",PDA)y&SOqVQH`1f7ȱ9ߺ8Pm_Dh;_n.ݞ eLҭmc+c${{@}k -%U,%Ee"6$[Fނ?}b ]dҹ^C],[jl 6tM&ze>*%𑨰5}FSȮVw+vFՙɂ7^`Z( }ɭ1w:r7Q2KИaF5tj3ĀY,s'P ;@'DV_~,cO~  \b9+@w:ƤX]A^sa6|*gθ8?zZwi%`.dѪRL)0<܃V@kE#/. ىߦCtU,@n~gݎz2^ BDIb M>BׅALA-~A2 *D=|"ܢ`jA9oeel_7MjfloC+cdxik2Q'sj&h8pCo泙8d/*7zY i> ,6Ph]dSy0 MRs&>3(|H*Aa}f?#HI`i)qu q|iFcAS2*Qd:pq@eʫ#Aak 4KBt"y'58UޝY} 3d zsGT]W%洌||*^N"@NcWe ]E7vZ>pHw>* 1ܥXWUkh`Ǿ⾟*ɥu5BE:2Tt34Yғ[!|=&Rwf+YMYO]~ԩ; b sl+*J4wzbkj63Hy,лcUN@:4^YO= L =F+0vym4;mR &߆$wm^y.exoBmI.ܭ*ݥնsόEa%bm%PVv$NqP!*s 7inĎo-cEq hYԎUc.49]-ag&(Ud:ـS] r'ÈÃX:bťVGjWLB]Z!@\ڼ]#3ovV5KˮvzķbdRoOkG23K"Y aG!4W-SmM ;>gO{p҇U+6 l. l4wfOÇD(zh, swPd ,t{a27# nAԷRn"O3ӂA7a2?%ci;$r2ɸRDe8]=NI vĕFڶ4𓞁y7Ղ2áuEo~xcv,6pgjFK Ô# +Ўw=| _صV3J}^(#~5,_8W|8N"$w?`s.u/3h[#kMe*2[lġǹП:+{I}N BLb|dds_BJ+ϩJѼH1/.ǽƓ[D;pܫtXK2qJaL4'QDW:u 8Y^(~?;'IMG9Rvb pi8it(dh]f/r-Dݱx/CQ;AH c:K*߃ :r ?aze» ۛ.=OlǪ'apWH±C:mKdlKX l2)f^6Xo[%y&Y Oi(7;T.w6HkFGW`rޮ,\M e.h3w;m2J]1 % [%zA`-t?fc lj*XX11#46A(?V$7ﶝhؘ9dr(:b.h2i(Re PHΊseFb Q7D)?^Mmc3Hr~v"G$UVH䡓]H#GR!9O "&2l*)an BcO`yM<<.J+ؽrBJ1LK%sH5! xm/#\Dy&s!JmjZqͼZ w{xgNw>mb"^T+L'PVK=(ZL-H*jӮhe5x“U$BI ?qqx&(A/;U}8p3w\ HK%g9]HgFCKqikyGПSb(%% h^hfv-, Bj9fc>յPC,Q?>%'9 JJF?MPH6ZQI~IԂy|?3̲Y+50-|a!߶9eyUmOZX̿ /L#`u;?찡p0sO; ~j(F=K:[-'Ņ8|EG7kpt7?=T~7>`3E((w_Ŗ`u68}}OpIIYu@y' xYa|ZpF?m/ِE}6۠@7.1 )U߳/+PgBq=G>ͪά&; TEϻF~M3dA֙2lpRGy"&1eS`^(q0*1([rzO-7Op{P.6NIĉ=t+c:T@6|%pQ,\*EWjl}ÛQځ^om'&-8`}vG5k Rɦbe׆HCHBғ1%?/ZG퍣x>$;+\kֈț Q$A̗`A粃]a'sM7uBS]<"ñh6EJ.%M(6+w*ӧ6HU(eh(.ӏa\׍r.xdJZF e11L)ݞS펩^mRB#Y8~:=P6+2a*IbEG#N,EDžǺVڞZA* E6\vu;ɢ8OZ[X%?C3dV=R<)Ʈ}'2TXxzk˨:vMɚF|_ۚ< O\iSKLaZԑr6oPeInp7dgͺT_URᘎelp˓7 J1v3(Ɍ="[=~XlQTy upEv&+JWiN~f# 󇐗H^2E h̦Y<~ m.a ` &fRGYJwz>C\Mgy>]әjje)bY/jUb{b|0zP /fWSek I{f7)۽ۖC9ȃPM \>5^YJ~4rb\|8n)hb3cR[Xv۽ sr&,歾.j"9B :7Q'n/l&$sNSsVlitBoIZd\xgF6M4t{5B5L͛J]aٷ$35CvJ ǻRfTLu ֣~@DUv3VqI? nfFpVsxhׁr0*u4ޟV>QwLVꫩNo3?$-6vC.Ef -4dnETZ/(3i,IQ{@}'/B95~9+wy~6Γy!TV-uO[ǠʰӈYm9o4&snnE%dX@cB~ވMFȶG\vڸCyS | 뤳W")Tt|a̴Q^{0Ӯ|3t]ON糇i"뻌)v4e +ֵaDl[cWa\pM|UlVq!DەIN#BUYTH+`2yp>5IV˶r)xE4eFBˬ>\o{Yۨm?s0d $Z!ĥ'X!NZyyᐏF 5 YyNʽKo&QlZ3tlF(].4XϴhG AQ֖%l;17OKQeyӚWUm3e⟌5He-@]%|#TFJ7o]8ײj)xYdMD|OJ:pGTyyLhP!NVqC~n9 Y Sֶ,cv:-/f}2v}KIAxcWĘW<ƯӀu]a2 4̭-G:fO<Ք`rm*03b}{E hf5=G|)Ҩ:n96qr!_4Bb8eW2%SGg_8]Q;ZXE1堊慍&bP>޼/%R 9񝴵 ~IJ(F#/_kg@÷ 9DX>)xhO:AxfF/[}9p?vtdM$Ztzڹk]ǴW\ z?p:Hо2.;YN%@Yub<_BCֈ4t̙ڃ/-qf8ke;OEFatۅ(C2PMAnh=vp-n#O\竓ܩG;>tquYp-7:Gֻۛ: Ӓ @'7_]>gZQLC$1 &իގ[Y :?jXwsla. &_WvTb5bMOʖ.<\o"1LFcHs:'ʷ܉ifePs,Kѯ3$ !ϑ%u,I/v=|8t4M=DvJ})rbYsK cDu)r_m[I)Mz-r^: p`]K2~@֥]3B 9|ĤwTFnynu,0]D $F3>7l]ʦd>\zN&~28ގ qU-Z]ebeyqfDVS>FaUqA n3ծz(@@u&"u [.^`H3M?"֖ѳ ;KDxIZK5Ǵx+^a*p\(#5閥:jH ح7^kUCr \@b0UOKm&+wHhҡRlSt=m9Ivc(2'Y2n8D_@MvȽ崣77kf k4ĪZ-"z $fЉ$d*U$/:85 #̐@m ́;> TdE)fЊϞ "QN.= tO2cO L/Qήޝ ŚdTjZr*RFRJ34W]7FH3[N\JSA* qKk5FgA)ډ099(*&ŭD0t>E7@n}p*ki!pZ>yKO k\Dij^F@P$\$Jk&uѤB~!ϗC0Ҩ8xXԶ'W( %!G>F,Y[^-Gm&\ByShf d' HT*D/:aT%KhML66 ezS[ԏ^@AוzqL4jhd:EYA ^̯U::U,i_DFw4'G<#m{b?=([;ϔ썥҈Ll]IHxnR@eCdTV03>d szCL>FdDϚt%rxig]]<|;$W,6HD!׳T FuZϴu~dX|O>pzQ4W#Jл>8=B"#,hU`_ijΕdʹ[4-BC,_ k0.=LG@"J˨搦7࡮ h2:}%pPɨ5qy/${۠cbTsԶܶ:xOz4$,N\Co<&i}^X]0WyhٱJkz  +̓|`³^uc/-}V(XSj< bq4۠o7>"_8qVl5GS:67WzoxmP+qKayvp\ANEw(3?g%&FI¼T dYXzUx yDM~Q:KD~i$Yέ7sۨ XUӇzLy #`xhH2l2Vp [qA35O[ܐ"n9(H m?MHȫ߀4iQ{9Ϥ0:)G nѷ$hy; l*(s J{A2ež(-fh6X<\׉V<,Y,BT=&͈XXW7WS΁V}͍NReٌfϜ֝FԌ^*ތtAX̖9 63ojaZ p2<<z$t;8p|P'As #_4,-'pʵ*y6tL#܀"?mS6R*Tpq?Y'G= rW$Yct~z{Yj:G@L/o&Hjfݫ6=t/~Ogq00]ǬB3pusAjUj~UMBS8 ]BEذR$ClsmO2ۡ[cTRgS 7A|L+Mt(gx0 rk`L.^nw>ykWd!>V ]\ j'y Bc\;=K_<3ޟ)a6xH>q-f˚{1Fd^'0j?+%VXӽWrbIyوDwy EzawľE{{E_,z,c"B;v!x'b&WAhǓ*ؗ#Def>r1bw06G02y1A"N P wmT. g㷆πDIV7F#!SeqWqBVBQ ـ i:)3ʒLd9 Z6Vf,G_muZ}CIɅ$u^keƙbrhVRV 1i4Ww1DZ69,/tȀ(+<^DncS'owgi(+ٰ[2DWU5 ̍ E 8BJƥFBPSrg|\6إߝq3B^˼ /,|si簔CqG`X[{{ZN]ҕ籅nc*`&abPȇ&$D~/㯛K$mw{jpkj+;NH F-  f˶o~BS2Ȁb8;"۠0\K5ם$0Lw~ dZGuX|"8Mz0!P,.5w@jfCYc^1PVKsciHM_e*LW* Y"i0-;3Qb9&]kn,s%r$bCp3ٲ]L|d94q~SW#'pkpj9lA# NB/6 0fW ϥ]jrZ\FH)iX (=]'|!lRT]7ͷ7ԛ36?dưW9攲_%S쟛& ,jCWnD{c#HCi^ S@6hvY7cPu wl:!ڹr[MG`[S5 ɰwyXzZZT 2fȞ|a/AYFx%{,Uyz* vXr>8v,M:hj݋S wȂ=_dЋ7=|0pE /\vvnT$V -\88NfƀDd{ :>(D"qMWqH=+Г[1H7fm/Hܽ94t p@%@:SrgOQǃ=WUGVpUpH_ro}Զscs߳>ҺE訣،?ʎ&w+Iv8δ[f_,>fN ၅)tHtD K;JwS:|hxX(bpY)}V]G%p{-~1 b&A P`fzITܰdE:`` eKP70 t4N?L6ʺVU+oE:"ٹ s#m7L=TcxV6" :RF4aHW2seL-vXMu<ΗlH{'QWǑI,Z}JJ1;D' ΟvMvn74 -Ĭ*${F ONS;4p0쌘Q-b-f(g U׶m>B!K/WnŘ qog7-7;'Ɂsƒ=c<2" X{;eXaF%z^ϓɍ2`On%Z/gdbF!w>|o3l~ndf@QFZpb*lKhaaq4}gmDퟢIfȳ[l46 o{ʃ5fj>F$ʚՌg~&/;~~L@+H/=,8:26><;3Mo>JY&)LЍu;e'tgDם!Mqzt>8@*29 `IDfݚ7B9fv%2a|*pb  '=_YIpgf#[` 3ai)|%Ey&EaSc{%g[Q_q,Phī;!^Ʀ5=qd%B}` @A pZʬ5N%Ԭ dEC p B|=$IAIO57'JVHC8;IJwgL=sم Xlk"}Xl1_^Cʊ$9d/n)[َa*-E!KW!`e <r=RCp?E|_zbHA0a<</{90AI>Kr xtA>zHoKHX\F`pϒY Ba'ٿOq~L9_3S{iT`!:Ɏ9En}M '~`"N5ɄY\Ԝ8h$Rt Ÿ rn^`zU qmOcz 3K"4rl>ܠ2tmDgc7U_-[wHDs2'l]SUV@{Xm?nɴfYBK̇M߻Vx+R{<?r¦%▄HHgKMҭէ+2z +w$lLgJejӔz;p-ػ}g&4Y^*ab/uvS=} Z+ <)=yP>+Pyo@ %^^>(.DT-N3㎰~2D׼ j.CcQɛ/=R+]/8I>"NJ;/umi_ Jլ*1+>~~TWXvF P)5%PFcUCk= 4m꾂}ozڥ>#.Y_OԓIBT*M[ Q܃."π2j.)QvNUUg$!D  V;]Rq@A.lϕLb.,tci8*"6ҶI>Dւ 'J9SvC9_Hz>`9$vMcj]@s2O%{ٚ=qZuI;֘}ǞnH܇S@RSޕrOJlEJ%BWVr^bϝ )ZM9e @NRK` ;M42A{PFJvfJ㾀FidAaH0+Gk˰l!{}qe;T.1o M1YXOcɯg-R\p22hDTQoYȊ?Zؗk q݇*mp*[|Ygӣ?*5k^V@'+;vmKN%'|IQDka@3 ZHNU"k5ɌstâFH?IG3,*wW-'\C^=/A|H*ɜA\*UǺQt+.ܑ)E!J5Nե"%B!' t\y`Gیs p*V21S]L4EӐ:wAJƫzS ŗ<}mXmP?5B#a&>}@~~:2LPx]bBɭ=o8Ж[<8#a3s)zca6 s0}j@eN:t^'A[K'rtҟ  RC 9KN͐jQ "+۪ yXj z-z{RdMiV8uCj@W|̪rq1UTH47$+smh wT<$tcm-RZ"WX 9]u\> [xc? {SbB֮=~{\lPJ˦^l 1 `M;G~;G \XȺ?W)h^8m[dt~4֐@lveJ j3/l@% [¹,ex׮`USNݕؐj+{Qk,S} _'=OYo/?ylqu*Fb'8Be!7tX/ r%,]#/j] \H e彇~@;H$;ߣUgR N&כ*}vIp Н{nSȷZ)eTf}CCf-az䈍*1sJI vdKxż_ JT؆>}v/ ^M8;@Drlf'kŒRh#8RSJ>uV0k)cM2ވXD@~mc}l1 kׇƻj,dʍ25$Uޏ 8u>;Z8tvNXsy2;#Ʌmio50UҶlGWva2}3;bZRPZ_{`y(] $Q %rb`fŪZXXݓss\xv2(]C#k2k}HoPUJQ!{`!֜g|:\mD2y)轷 /^Oh eݭqrB0Uk mfڠTmΥKNĞ%Vi PvrR3%W.uHpl5 ]Y^ lҤOOcM>@ nW%TD-*vUVh% D _qšQo>bdtq'}9 UNuv3S.T1!6Cit', C'~GLM`;s\xm:yC"6HpSHX:C~Why1ͩr^,;vM}t佱>i;_s61KA=I'ٹ2*rFhY|"}s)Ne{ܣNC(nOn(- d! I[8F>lXʢ љ[]X=@uUIJ[cY_¯J!\1]zk7ku4Z3}XkR֛Sa r8ЎP6C:`n @;-0z)&!Fs JX b;&<%ՙQ瑔\y?Iҹd MyBUx԰<2g]P YyAaVx OA'"rtNGG.YA; b9eWߕQC>@B?b3#{F*Q" /QI)>#pPcQyPcE KK򥘝GqݼI> eL75)=mx !@@ɧRM7>mu75[c҄s`lc#VQrG6#,"i Iin)q%9id:mrkF 8Cil{AW:C  B9ݒL^բL)ڛm$u K|J'R>X)Tڞܧ>Hrw,%:/rQjx ca!Oͭq+*AXv(2H&<)t˟^7#AȾݝiVt9˞tFb|vn[9EK Љΐ5or^:KǸ[;h8`;"}](`̲%de9;?u3X)Ҳ)9Ȁ}!aaVVV6 $mK#q 9A{+zͯ et,4f7t3"$ſ1Qy-M;Q+0]L߷u$2탙o9x uKQV.b؂PO[d$Zbwԕ#Zk֢܍OHll\_+Qi g>Sߪ(+%щ+ĕX:`~0y"OKD.PYcs!t sB=\otK;(ϯVz9l/lA鞺)?V@!i>Xp%-MNUh6sW \Bv ۛg$ɦzߢ}1/i")T{jm:?gv F,-wmX;xf*{ICyGM56#[( 5RMP̲턈%:QkZ~4P'3_+e b(B 8`3Cr.Koq8 ea$GdA*sqHA0@G|*g4օ^b.0S$[Bm6+|$)`%WQnr^kņә"\l(5H?v 8nypɂ;Izg\AVyo3 l rj6{-i?`dQ}Bw?ٴ}@"I&)K( Ȯ si~:ˆڦc K$fq@2Jd`g_fZjzۖsێ-~}YVpTޛO:\3:k|,`H6'f)^:ABsj9K4 bfÕV9|a|Saۏ7VSÑdeA湥z15dd#N-NHPUlu>vJd*ˊ7W2N`Zx_&v~y?ì97 0#b-@IL1<ԒP TzA1ՙm5K/Ȏ|P# U+<0g52 -l;jK;%,7Z '|Q̌՛H}+h_q0Nlr YGǮ|WUKS0k(!Zx[;mdq 7ɏ.Üٝ->E+Lp$Ro߅R*4 cMUgK5W</ɬI~*JU8)ұM|0=^Ad "~S">u2ps]-pɕUBcfaLI6*Nlp /m,OWp׺ c9o$ى).`Nž+p*K 61pH5O试Z5>h6~#4Ёy#l`7fElހcӚRr P{hyZIh10fta2{w)S-_m!j'11s-exK@A_U Q)fPcFhr{?t*DZ1hUn{4qORLQڠO&G4 薽*NֺIY߄Y7L>\MBG; :JH:땁us9}‚OxAIlъa'kfMǰue("TGBTkʂo{4Y1/ t߭qrp!4aX9΅Dpx\V:X/Q/2YC6ǭGFwdJh6KR5Xrnێ.HF&wR5k.+g^V*`