libbpf-devel-1.2.2-150600.3.3.1<>,֐fL\p9|-QލM㪋e}:h` tOaUjnfXŀ\9S0/1OW.DC7Q^{ JM!{/M4>q̤޿n"{O5bKIAhˉ}9LJ%Y[@t)mޥT=j(w3Nqh{|ɬ&ܗ4uޖ؍w[IiP’20Gמϧ,,OZuB͐~l*in&.B.Z>>I<?I,d " ? 39D   L  \8\  ( 8 9 0: FBGBHCLICXCYC\C]DL^EbbFcFdGDeGIfGLlGNuGdvGwH xHdyHzHHHHI(Clibbpf-devel1.2.2150600.3.3.1Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.fL\ibs-power9-13`.SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxppc64leNLs9I E${! !?qkA큤A큤A큤fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\dfL\ddd1674fee7c38d4f90f8bd38cacb0eca8c1fafc02d4890e078ba8e2c481e417334f8693c88554b9377dbddd77efaa40113919b3245fe5a517160492e21f409328f64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb7cb679c3641e9ca8d0c317a13dcc3553985fc975cdc3678413b6e1547bbbf6a7e320a7681c18208003b15c222707f55584752ab1665fdaa8881e7e020885141473b036a5f154b2d5a9eff74e4adeeaefb649291fa151a830eca2177d39d2a410e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50324ff5032adf45d6cf35aeb15e8335b8b8b509d5f63a43dcc1b2ae345d623284856479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8ad556d599405c7c779b8eda644bfd0b0610929f1140734aaefa961dbb972af14a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6ba95c0b514ddb2996af399caba5a312141b227f36dd91f7e0d08573282c9beaa6d78a7039f0c5e1dc558d775f8f5d353408122b4524b1f8517e888243622fa39500c7316ba0e2d30f5a95983aa7bd5f816aa9c94cd45eb6908168a44f22b76bb6847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.2.2-150600.3.3.1.src.rpmlibbpf-devellibbpf-devel(ppc-64)pkgconfig(libbpf)@@@    /usr/bin/pkg-configlibbpf1pkgconfig(libelf)pkgconfig(zlib)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.2.23.0.4-14.6.0-14.0-15.2-14.14.3fLd8dP@ccFcjDc< @bc@b1@b)@b%b!@aaQ@a(a@a@`@^(@^6^r]?shung-hsi.yu@suse.comshung-hsi.yu@suse.comdmueller@suse.comshung-hsi.yu@suse.comdmueller@suse.comshung-hsi.yu@suse.comdmueller@suse.comgmbr3@opensuse.orgshung-hsi.yu@suse.comjeffm@suse.comjengelh@inai.dejengelh@inai.dejengelh@inai.deshung-hsi.yu@suse.commsuchanek@suse.commsuchanek@suse.comgmbr3@opensuse.orgmsuchanek@suse.commrostecki@suse.commrostecki@opensuse.orgtchvatal@suse.commrostecki@opensuse.org- Fix null pointer dereference in bpf_object__collect_prog_relos() (bsc#1221101) * Add libbpf-Fix-NULL-pointer-dereference-in-bpf_object__c.patch- update to v1.2.2: * fix a regression in perf tool caused by libbpf resetting its custom catch-all SEC() handler on explicit bpf_program__set_type() call * fix possible double-free in USDT-related libbpf code, which happens when libbpf runs out of space in __bpf_usdt_specs map due to having too many unique USDT specs- update to 1.2.0: * completely overhauled "Libbpf overview" landing documentation page; * support for BPF link-based `struct_ops` programs: * `SEC(".struct_ops.link")` annotations; * `bpf_map__attach_struct_ops()` attach API; * `bpf_link__update_map()` link update API; * support sleepable `SEC("struct_ops.s")` programs * improved thread-safety of libbpf print callbacks and `libbpf_set_print()` * improve handling and reporting of missing BPF kfuncs * `bpf_{btf,link,map,prog}_get_info_by_fd()` APIs * `bpf_xdp_query_opts()` supports fetching XDP/XSK supported features; * `perf_buffer__new()` allows customizing notification/sampling period now; * BPF verifier logging improvements: * pass-through BPF verifier log level and flags to kernel as is * support `log_true_size` for getting required log buffer size to fit BPF verifier log completely; * allow precise control over kprobe/uprobe attach mode: legacy, perf-based, link-based. * fix legacy kprobe events names sanitization; * fix clobbering errno in some cases; * fix BPF map's `BPF_F_MMAPABLE` flag sanitization; * fix BPF-side USDT support code on s390x architecture; * fix `BPF_PROBE_READ{_STR}_INTO()` on s390x architecture; * fix kernel version setting for Debian kernels; * fix netlink protocol handling in some cases; * improve robustness of attaching to legacy kprobes and uprobes; * fix double-free during static linking empty ELF sections; * a bunch of other small fixes here and there.- Remove requirement of linux-glibc-devel >= 5.16 for devel package- update to v1.1.0: User space-side features and APIs: * user-space ring buffer (BPF_MAP_TYPE_USER_RINGBUF) support; * new documentation page listing all recognized SEC() definitions; * BTF dedup improvements: * unambiguous fwd declaration resolution for structs and unions; * better handling of some corner cases with identical structs and arrays; * mixed enum and enum64 forward declaration resolution logic; * bpf_{link,btf,pro,mapg}_get_fd_by_id_opts() and bpf_get_fd_by_id_opts() APIs; * libbpf supports loading raw BTF for BPF CO-RE from known search paths; * support for new cgroup local storage (BPF_MAP_TYPE_CGRP_STORAGE); * libbpf will only add BPF_F_MMAPABLE flag for data maps with global (i.e., non-static) vars; * latest Linux UAPI headers with lots of changes synced into include/uapi/linux. BPF-side features and APIs; * BPF_PROG2() macro added that supports struct-by-value arguments; * new BPF helpers: * bpf_user_ringbuf_drain(); * cgrp_storage_get() and cgrp_storage_delete(). Bug fixes * better handling of padding corner cases; * btf__align_of() determines packed structs better now; * improved handling of enums of non-standard sizes; * USDT spec parsing improvements; * overflow handling fixes for ringbufs; * Makefile fixes to support cross-compilation for 32-bit targets; * fix crash if SEC("freplace") programs don't have attach_prog_fd set; * better handling of file existence checks when running as non-root with enhanced capabilities; * a bunch of small fixes: * ELF handling improvements; * fix memory leak in USDT argument parsing logic; * fix NULL dereferences in few corner cases; * improved netlink attribute iteration handling. - drop libbpf-Use-elf_getshdrnum-instead-of-e_shnum.patch, libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch, libbpf-Fix-memory-leak-in-parse_usdt_arg.patch libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch (upstream)- Fix out-of-bound heap write (boo#1194248 boo#1194249 CVE-2021-45940 CVE-2021-45941) + libbpf-Use-elf_getshdrnum-instead-of-e_shnum.patch - Fix use-after-free in btf_dump_name_dups (boo#1204391 CVE-2022-3534) + libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch - Fix memory leak in parse_usdt_arg() (boo#1204393 CVE-2022-3533) + libbpf-Fix-memory-leak-in-parse_usdt_arg.patch - Fix null pointer dereference in find_prog_by_sec_insn() (boo#1204502 CVE-2022-3606) + libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch- update to 1.0.1: * fix inadvertently changed struct bpf_object_open_opts memory layout; * fix btf.h header relying on struct enum64 type defined in kernel UAPI headers; * fix NULL pointer exception in API btf_dump__dump_type_data; * remove struct btf_map_def accidentally left in bpf_helpers.h header. * All deprecated APIs and features removed! * support for syscall-specific kprobe/kretprobe (SEC("ksyscall/") and SEC("kretsyscall/")); * support for sleepable uprobe BPF programs (SEC("uprobe.s")); * support for per-cgroup LSM BPF programs (SEC("lsm_cgroup")); * support for new BPF CO-RE relocation TYPE_MATCHES; * bpf_prog_load() and bpf_map_create() are now smarter about handling program and map name on old kernels (it will be ignored if kernel doesn't support names); * BTF_KIND_ENUM64 support; * increase tracing attachment (kprobe/uprobe/tracepoint) robustness by using tracefs or debugfs, whichever is mounted; * new APIs for converting BPF enums to their string representation: * libbpf_bpf_prog_type_str(); * libbpf_bpf_map_type_str(); * libbpf_bpf_link_type_str(); * libbpf_bpf_attach_type_str(); * bpf_program__set_autoattach() and bpf_program__autoattach() to allow opting out from auto-attaching of BPF program by BPF skeleton; * perf_buffer__buffer() API to give access to underlying per-CPU buffer for BPF ringbuf; * bpf_obj_get_opts() API for more flexible fetching of BPF kernel objects' information. - see https://github.com/libbpf/libbpf/releases/tag/v1.0.0 for detailed changelog- Update to release 0.8.1: * make shared xsk creation network namespace aware- Update to release 0.8.0 * New features and APIs: - support auto-resolution of binaries and shared libraries from PATH, if necessary; - support attaching by function names (only by IP was supported before); - support attaching to USDTs (SEC("usdt/...") and bpf_program__attach_usdt()) with initially supported architectures: x86-64 (amd64); x86 (i386); s390x; ARM64 (aarch64); RISC V (riscv); - improved BPF verifier log reporting for CO-RE relocation failures (no more obscure "invalid func unknown#195896080" errors); - auto-adjust BPF ringbuf size according to host kernel's page size requirements; - high-level BPF map APIs: bpf_map__lookup_elem(), bpf_map__update_elem(), etc that validate key/value buffer sizes; - bpf_link_create() can create all bpf_link-based (including raw_tp, fentry/fexit, etc), falling back to bpf_raw_tracepoint_open() on old kernels transparently; - support opting out from auto-loading BPF programs declaratively with SEC("?..."); - support opting out from auto-creation of declarative BPF maps with bpf_map__set_autocreate(); - support multi-kprobes (SEC("kprobe.multi/...") and bpf_program__attach_kprobe_multi_opts()); - support target-less SEC() programs (e.g., SEC("kprobe"), SEC("tp"), etc); - support BPF sub-skeletons for "incomplete" BPF object files (requires matching bpftool to generate .subskel.h); - BPF cookie support for fentry/fexit/fmod_ret BPF programs (bpf_program__attach_trace_opts()); - support for custom SEC() handlers (libbpf_register_prog_handler()). * BPF-side API - BPF-side USDT APIs. See new usdt.bpf.h header: * BPF_USDT() program wrapper macro; bpf_usdt_arg(), bpf_usdt_arg_cnt(), * bpf_usdt_cookie() helpers; - new bpf_core_field_offset() CO-RE helper and support bpf_core_field_size(type, field) forms; - barrier() and barrier_var() macros for improving BPF code generation; - __kptr and __kptr_ref tags added; - ARC architecture support in bpf_tracing.h header; - new BPF helpers: * bpf_skb_set_tstamp(); * bpf_ima_file_hash(); * bpf_kptr_xchg(); * bpf_map_lookup_percpu_elem(). * Bug fixes - netlink bug fixes; - libbpf.pc fixes to support patch releases properly; - BPF_MAP_TYPE_PERF_EVENT_ARRAY map auto-pinning fix; - minor CO-RE fixes and improvements for some corner cases; - various other small fixes and improvements.- Enable building and packaging of static library. Explicitly enable fat LTO objects.- Python is not used during build; remove it and help break a cycle.- Update to release 0.7.0 * legacy BPF map definitions (using struct bpf_map_def) are deprecated when LIBBPF_STRICT_MAP_DEFINITIONS is passed to libbpf_set_strict_mode(). Please use BTF-defined map definitions. * ability to control and capture BPF verifier log output on per-object and per-program level * CO-RE support and other improvements for "light skeleton" * improved compilation when system BTF UAPI headers are outdated- Update to release 0.6.1 * Introduce legacy kprobe events support * Add legacy uprobe attaching support * Support uniform BTF-defined key/value specification across all BPF maps * Support kernel module function calls * Support detecting and attaching of writable tracepoint program * Add bloom filter map implementation * Add typeless and weak ksym support to gen_loader * Add RISC-V (RV64) support to bpf_tracing.h * Deprecate AF_XDP support * Support BTF_KIND_TYPE_TAG- Update to 0.5.0: + New features and user-space APIs: - libbpf_set_strict_mode() allowing to opt-in into backwards incompatible libbpf-1.0 changes. See "Libbpf: the road to 1.0" and "Libbpf 1.0 migration guide" for more details. - streamlined error reporting for low-level APIs, high-level error-returning APIs, and pointer-returning APIs (as a libbpf-1.0 opt-in); - "Light" BPF skeleton support; - BPF_PROG_TYPE_SYSCALL support; - BPF perf link support for kprobe, uprobe, tracepoint, and perf_event BPF programs; - BPF cookie support for kprobe, uprobe, tracepoint, and perf_event BPF programs through bpf_program__attach_[ku]probe_opts() APIs; - allow to specify ref_ctr_off for USDT semaphores through bpf_program__attach_uprobe_opts() API; - btf_custom_path support in bpf_object_open_opts, allowing to specify custom BTF for CO-RE relocations; - sk_reuseport/migrate program type support; - btf_dump__dump_type_data() API, allowing to dump binary data according to BTF type description; - btf__load_into_kernel() and btf__load_from_kernel_by_id(), and split BTF variants of them; - btf__load_vmlinux_btf() and btf__load_module_btf() APIs; - bpf_map__initial_value() API to get initial value of mmap-ed BPF maps; - bpf_map_lookup_and_delete_elem_flags() API. + BPF-side APIs and features: - support for weak typed __ksym externs; - BPF timer helpers: bpf_timer_init(), bpf_timer_set_callback(), bpf_timer_start(), bpf_timer_cancel(); - bpf_get_attach_cookie() helper to get BPF cookie from BPF program side; - bpf_get_func_ip() helper; - bpf_sys_bpf() helper; - bpf_task_pt_regs() helper; - bpf_btf_find_by_name_kind() helper; - usability improvements for bpf_tracing.h when target architecture is missing. + Bug fixes and compatibility improvements: - improve BPF support detection on old Red Hat kernels with backported BPF patches; - improvements for LTO builds with GCC 10+; - pass NLM_F_EXCL when creating TC qdisc; - better support of BPF map reuse on old kernels; - fix the bug resulting in sometimes closing FD 0, which wasn't created and owned by libbpf itself. - Remove patches merged upstream + libdir.patch + libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch- Fix LTO build (bsc#1188749). + libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch- Depend on new enough Linux headers.- Create libbpf0-32bit needed by libdwarves1-32bit- libbpf is now a separate project, stop building from the kernel (bsc#1188419 jsc#SLE-17288 jsc#SLE-18805). - Fix LIBSUBDIR + libdir.patch- Add python3 as a build dependency.- Build libbpf from kernel sources, not from github sources, for consistency with bpftool package.- Reflect SUSE CFLAGS - Do not bother with obscpio if we are fetching direct releases - Remove patch 0001-makefile-Fix-install-target.patch seems to build/install without it just fine - Update 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- Initial releaseibs-power9-13 1716280535 1.2.2-150600.3.3.11.2.2-150600.3.3.11.2.2bpfbpf.hbpf_core_read.hbpf_endian.hbpf_helper_defs.hbpf_helpers.hbpf_tracing.hbtf.hlibbpf.hlibbpf_common.hlibbpf_legacy.hlibbpf_version.hskel_internal.husdt.bpf.hlibbpf.solibbpf.pclibbpf-develREADME.mdlibbpf-develLICENSELICENSE.BSD-2-ClauseLICENSE.LGPL-2.1/usr/include//usr/include/bpf//usr/lib64//usr/lib64/pkgconfig//usr/share/doc/packages//usr/share/doc/packages/libbpf-devel//usr/share/licenses//usr/share/licenses/libbpf-devel/-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:33984/SUSE_SLE-15-SP6_Update/fc35553e658afb5b81cfa75f5cea4316-libbpf.SUSE_SLE-15-SP6_Updatedrpmxz5ppc64le-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRR1kpzcNlutf-8110535c48ba831948339eed52716dc3741b8689e47f3c89c02f10b7fd957599b? 7zXZ !t/H ]"k%AK37i2Ϸ=P+8O. x-R=`F۱d9Isåaӏ"ص̬R@Gߟ&&z>Ix8H<'8v .Y5ӛ.Rc+1e0M K=I4)12wn%ЖYk = 882O<_>x?!xc{ TZM>LMu>0J%XjT6֠N=ޤ&ו%x["GqOQ&$׵}ElVK.GS F.37"T Q* ,O0BBLh ftˎK*D(<.1JB17ZnH^^d&;t{b4cf3\ØSKp|=mYd_O7䬢N*?8u'XtgdQYbq;b~A f2:gdr:tC7n<=mjNhTzM L<zfnС tsZ:sP@JAoDˑAsڧ?,9]㡠NV띏<gH*s6|cYDVϽ2 M9`:jrgB<-" o .7Z6HTV%R|9 | 3~aEp7IWĴ77P?k_Evh\|IG0gNQ12#RKRv_QH9dK2AkV_7Jr _/?9 z6(vx e{rwQsS7r^F Xơ[pQeؕxADs\xqX۳ח'#N(s"7wqnYp_h''@F;+)2W*@un%JȵUP٦S;etMǭW>`7LT?q H~:ǎ#<čE16FOFz\gT Fm"hո#t_J{ @ p=ĵެDEP3_1ݶcM߲J|[# $ޔ%weыEƎ~%sp3݃DlK-WY^4XXI%zf^v.t2vC t2SC- {TFȪ, D\j1|8\%bg]"5d4OWGjJbB_6]tFd#]TtSk3}f Y:DQ,ѧI6s݇1PRĚ۾ѡmVBX3Mzs\zI?#OhI{:(h;*ii#1Щ7ٚz+1ՍT'fA >t[w!=)j=b1SYjQQAhA$֍poY]|d_+"6 Z%@ @Ih!Zx"W.*8ld~ö',D?;WEȉH8@ ϯs+W|J[}\>5wb:ѢW.*Z !-Jk!; wB qf*$6ThI@#NKLPy3 5Fgj`zXnmduz\#FkXA Y ?Kk65['=Q _B4WƉ Ad Vls ̦{x܆w [ٸfK6 DlJ{/}k"Ϝ OĮPS±b!҃Sbr_M".8l"/p=جã/uDsJP r)v0W܀l DX`4U>/*CULl z=SBL ZY[ m~XfiR wcמȏQ8AUp#p#pCV+LQ^>d;<6ӕd4_?1ԝ6yf׫.=sreū?Ⱦ ޏ,X/*n"`'S#y~iAs]@)>*kRG0_z_C!   m#lIw`m ô#~8U)xaޢ\m-CMe%Hx<(k~0Gl?3ɐ+>S;3Xi/)+}d2~Wڶ/c0]L0HK^bh̰IlU yalan'n:4Շ^Gya`+.GS,Kp7W[%MKeÎVlh1z=G# w,o:*(0CiƇ_=:5]!-{6lv%3jQaN2\i;pw䝁fWVdK!Y{%-oJ(ABI$l`1Z9 tq |_J,g8D~V>-YHڈ!ylZ<$.]S2q2դ{^SY\qrھ*w'm4oq|2hD4Au^B5 ,sӐY&[AUfȮf%ݙiӌoS=q7#!vĨBQ7+뇵XŐ6$.x©Vv6UPEp4K媐Ƭ'||F/+j/_d֢_ !%.EoЂ4IyZwݶ|;TvY:g`n|"mSsY EuJ 3,+s1bOEpn:^F]~^ xړ:gY:y'>#YXЬy;R.'~~qeL h i ph76:!W(RxiC/\WsUܰ%c_CZIY+eř}9ZE>lM''8V╇cӖJvvuEë*i3\Pjxe1޼Da$29#Pܙ, iy_޲C8Vrw=N/S!a3\X/t~ҡsx߀oJc :Y2NG7",ʭ t'<} +]u%pp%ni!T03|pRtʨͧ*x1ID)is`P.ꙹ+YUI4)CϿ=|ວ 4gOXWLKȄgŠQLFa|–(X +[LS^0"RN ^_lK6 xx 0u|w9Ԝs,K!K"e l֘;\ۧxvFȑ1oԱj|L6br:~tnyJCFL?.csB?is4iZ۸:$B$ $Gꗎm@9vP GD^6#@>fHT >*ڝDQ5Ƅ2 VLOUYC.F|?W+}Qy~*uzr H:u@D&Ȗ[Ԡ4y+ǰ^i9."(Qh%/Rq#E&c/9qX usOvOH%=@i(+KD]CyjRMJ6"\Q:z %S"}8:To63}/fL~0t6 yp5c W)=E*-Kp984A%f'+k|mṿt<5]׭|HcnCt¢3OJ c1 \&wOc3tC֎~̭TOlŶi>n"6އʑXwN@%IeKHK6'$œWT_pplqV֓$抷?c|E!\uV \Jr{-S |"j8XF~n_9yflD`:Jv-*@z(bG @k)5qM:7<6J/&nApzV6 ?Q9:)ٖ/Sl%],jD$7kVvW7Ep5xU35Ej-c'WB$ xΠBQE wpAQM'ko<6G:[I lY+ݫ8SЦ3ja*50~ׇ̎` 0.cc0 PłܢW+xn`XY4J^˷=$e% Փ>UzgBsuFxd"^Um3b>l!B\3 #YC.'pc̙IAkY0,Rp<{\HRa;u|nd}ƴV&m3lY;~G%BN7["XT\FyBW7y8dOEb|X { ez>(w0Zke ]<tH-'<67r*-1͈i v\ser7.@ta^挎6z)w"xȷ抱*7o[(e<a:@7Xۛ1{i񂊭- &b?KIrXAJ7Vod^00 _=ͩBt \J'5=Qƺ%+d"3$( ,+7S\kMp[ϗ֧5/qX#~2o {L}= P GllYE! rGn=ڣ8{y:ѬoCDRb:LZ]xUq!p#ȑw#GcyjgE_Ve!8-$=(g6K=5mŲ%|lُgMA IjN2,F}ɒo~׫pd`Q-n)l%P|Z1Ex?3kԾ[g=Sq GЙdWݝ -!/< j% +D^G4k-PD8%Z{P^$Y-@쓺!hqe:9%͈}l?ZO[kM$5#J,(dSJC#7i dž9aSN[DeF#srs}U(E;R&'qr!O?iV=:)Xuqv@`h:9M} CB 1NWI/?t:b=&X(;MZ{J3ϞZ v1/5q:`R-h\ 3(CM9!~2JLX~ନyyaI{= T|M>{3vq!uVXCe>&o#"VFz0h]7D u,>r ?et- 's6 թq3\6J]ۺΌ|f\zfQc8(;n|%vn̓(olX,?|V !Uf"RkIaw7![e ZREsG޿]BK.m{%NC, ub|*h?ZoJڎB5җOBH j7ԡV }If"=~&N]7/ d ~Mëaz@ƂɝF&Uq @ʯ SNj=/Jkr|DXN̒hHd3JKII+9nD.7uRρh^x./*'@A5Ai]SڙZ_J@^FmgݛB1<&rfMNL*xI1lIXrl8Wfv Q7NF 1ϸjmeXm RpkgwL5ƏIB#LN~kgZC>~i{l'KHc9.c:jn|I;,w)>5y^êUGM4hZHfm}V:Yl_vU=1<@ nbCzMu (T%I/bʕ6V ]qPAh۔0QϦ9 ү7'Wqɜu1jev@@scAc)*w~% n̅(?0|88=JUu!.Z0@5峡@m~J ]g](k:%+dXa5!W?;}""._bZܖaa. 6b-tF^ O-㝁>WE4pӝ Ohˁ!bmx]r?Jko3'2@CjߊͦنF M"lCcŮk(ANe9(ٿT&(\+e1Q% qhɎzn7d{ θdFE m\2o1{Fթh47{iR^9%̷ ~DuM}nOTiMBQ=j &ΜiL>LW=8R.mא{[62>(RAqȺQiQg5l[AtxħP#o8ȚRh+cI"0-T'<ᙯH$3BL\GzG5 ~|`dJ'zmithS6 =vTޭ~lqI(lat"TMQaz Z4y.=#c-;êīa36*?8uF˕g۲䅐S]PABm0?+\%$1:(u`>"#~(U.N D3݁n`̵ݮ\rFZi@LDઊA`qK+vڰvM>z ի3䎾Fp"lASMPkG EJ3~> D'QO⦋фib:j|[+gyҹׂ~(&+l>:؀֗Ր@V1_~1k' jV-6F#qZaI)I," &^6g,,3+ѲㄕKwCWqLos?;fE/Z,5Vd5ձx|O.A>֛Z |q'Xy!&dʟֲy}?K $"1x;7oAi"{Apȳhtʵ>;#C F/d?,8Tg4(]:9_ZS>6gGuVDK[ZgHT|#K6ڮA&6#iPEBBF`PAxv!y)&@s۰ ˗\;Nn7݉2KLn^u0o1G$S `+̓ڞ š.2hjhư * +x,Rp̕'`艎W0 "Z_er+?0"JXܟnՒ$Txn&}ZEc&])֫~pSS=• F6 /q<8,) a!ؚ$*u;. k֋o?y%$-O|צ% _8GJX:#/lY](rxt_?gGrz!;'% {^` `hc1O"WY\=ÿIƮX8i\jI 5.s~.0PIt:'W70ETG^گJ'W_?}< #$^Q/uсngȭ8V1è0p.kٝ<^iqw$hNxU:@ؼ_!) ar=3@Q^Yl[V"-v]w*RQ{3sgEܱ2G :B|l MhMrR.`ܥcEiF/L#?UCYuȉIO-7 ~ B f>hGŶf-R60h3uf,5 ڷW#/2BT%&Dh$IcrK]NPv-nYi|.d Z1fD[uXqQMgPVx}}?%ow 4=T|wEĕM0лouxiS7х{Fܤw8#4="Tg$-o*)'1du^.uFC(ēhC@))l}"o?Ǩ22>"JemqnYj]AaKX`њC&aQrQ@@lQ͚I\o4FF,\w]TT"3C<=f? 05hh֍Dl .дKd K sMXh?0VI\o].Qgj䐂G <\2x~tUc)l3Y?v #@|~Ba3ڂutq]٥Jx9la3K#sirCҿw(S_W",;\3G,:>o(3qrkfωBQ5AȝNfaXɜF3 S Eg_}-tKMAVcE;n@f$_zN1I?is9, =N"?qmi wخ:&%Ϙ}ԴT@BpԀL~Fՙ}͖&MiBryHi_ =jC3Evb'ԣ}`gdًE7?T8nվ$<1)֗R{~Tpmn2ٙmM,mGVvԃ~/ H0?\D4vfE;ģSsx1viݭIU!#=$q|Xgh WdBu:5u71nbAMɷFە1N6xHbqNd`]@BuI CU_%7C32`9ңʑVa F t츾T@WiyXaq׈$JAۮ`j`5h{ '+ߴ7vUrg@Ydҋ&Fi(O6j-6X1 65orw* JGX3 (-bC Dh_zƄqc zMQR hNO=DPv,Τzb)':(KLwї \,) I{\3~ !>1[L2P^!lMz7Bڷ7Q(PETx&cĥt#▐C  RM;8 ̀v#|4>G.ڥw *74Ap!`,8 ,rч(Q:O*p\ 먲pY2'93j^;!|6*qYKG!_^ȍ/2=Kw%J Tvzkn1]V@ &kf3r'u}Ӵ^;(c|T9UK,2u^@a[ &&RpwC/-3cT"CB ur &YUn6vibDYMAKϣ^/o4m[+BN9ZF {\Zy9습҈Nv*Qt3 ~'HhjԼH]$i Dq(ہn6}/v-+86 g pA?'&:/ѨIqvߨTv}N)w_|M85$re?rrnz|Hi67tj[e^/K6S.R⡁ 󤢌@g~f5-TB%LD1Wt;241¦t.\\2O<20zJƩI0P9T꠆븖%3Օb)B[ ϞՓaNJ=Zm8*?neMp>K>eԦ+`L-e`cX2﬇',xA&at0S'ʸ\d]^I[mU`ߋsV4sxm pj>ϼM.nDch=H}ET¹atEDc9d8>a%b݅.\aU?iыA 78j֟7H!w z= =Gf@v2DD.nOY+sP6xXy_xP9/oA#fn1Iح c j >;{-Xb_hM˱PZ%Q5Z O@םv"23s23M2O EgR9E<DU[ջ_֔O|!I3_Tm학; _L*JM$R49~)}Èk `xY p5x_0sX"cL|ۑr\FAZ,s;F^7AӺVb{+GSAxm fWn`+PA_$7-췹K7~)zpD( Iyg2cJ4!A%yނn!cEG5Jy6]RF;zn3c?͉㽧j5!etVEw/D5'ù{JY73#hڛfRګV1rk3<5Ө匯!xIf4O5r~1TMZrHnk_퇐⡇*F?9ǒ}q(i!hl]c9 hA1Mg5NZ UI#8X!v?Y78ĸV1GWN!|p@P|EpN]@p(`} J@>47 Al|HOT5@0sT\M0`FlSz܅'V*'O#ZD2:/yb Rm*}İ̴ïm:\l&fI|=~ڎÓE/" )kRCʗOE!=/N ˃jSn?c*S@b=Xl'|;R^^WI dLA3%Q T,9Hc냍v.۵۲߭Cػ祛V>J9 S6$ՏmާjѯhŢ},+J޲>A4\^c鼫Z|kTu\yPcÉU 鈏KTs@dOWx՘P5WCDZX:),A..n{wdE}r7sc[].AW\rdMg Ntf%k#N*v;)}$^a9Qм~N[/ra3f-@,慳o,mExEHi{cfq }[SMn7i/I&WpOt$:GDVA@XzQesKirq 0V[-QVX]] &CGh=-X#l拹mw֝0D+"f{"\^+l5ؾ ?a @\ƻPzzi0$a2T(V,V}Ƙ%2|ЁaŠaȸŨ00`َMx7ˉ'!F]J-0W LS%rNzd흈SM+rV?901cˇDO0${Ejr :]gs lU}T+K6N^0VZ|lv"V88rkd@XǁSɐlcq$XtG%`Ǘ Yz)C5%໲ᴦƺ]) ')7 ǃ^?/F[_9|(H#޴_xr2&:vo-CZ%AgrWtY*U\,xǰsm[ cެ@G1w! 1vty#~If 5T. 'JuЅF44&`X3zBF2 MB߼/g.Vd`85~.}ǥBK|$T*vo"ן(#f~[Mwβ1Z+ ف wrҬEH#y!x^̃Oɾѓm I5Wq3=6 x\c9OD_Mg]`GV}o:0!Eܺ,TܯD<äD{u- W1jb#ڕ5mZ%N9{󝢟:.)ZT+~ $҃]ns l5S!1b?ゐm4RlJ쾆. _kۖW酂vȠhU2/1۝.ߗ9y%0d W,i0׆_99HfNbo;djg57˶ ,EUx&$+*n7… 8`F!+xNjSKZ1pW(b);HK .6"JU\bl}"N1W%ZrR>'|m}I;0ׅR 8bEXw 5жATzas7MqD6R+8:0ʿo!\6Dr‚޺ZL%dc`7W#JSSڱtlX}{GIq=.HuK`lB:~obS 赒)j}vk1lPӣ:P!-(f.ը̳{}ZhxZI­أ&9GM(UaK!NDxf?gZnfO9413`hLMEueC\~tbŏ0~*}%d>2VX'p>RJS)vgVI͂2YGV <Bʶ(BASoGnJQ[6nltM*DZn[[eM ͼM}c[Y״+QjC/뗠$O\S!k"LXӸL-e5kT#Lv<(rSE_0E!fW{KjA'1XٜN *> AvCJ?6MMh<ܶ01g[ 4l2u7M+rSZa&Gc(J 1stռUueB΢◫a!:pJTHR&tbXwB"t< L-hh#G@NՉŦU4u@5&AA s$7?=WW5Eс%Œԡ8bk~ŒnJut3]*97`}C572Q#gulK 0 =(".%Qb^9oYe #֠w $3L,EzQ.`sc/<҉oRȽ(@~xU.xw9ΌKz C3z;]ɡyᬇi#4 _\( -ҕ0."U-Rqmmpv9u^ -,ߎkF^G_ԡT}L=܁Ǖ~3..Șo-S\[DC sz_ M\?!$(MfH]1Ci97a;i`/+QDf@0(1 +!ݚk(E>V23}kQbAV ר to#u' ,=?pջpS{w1xm4i&CpcVP$Bb) }i4#5jNT0F=b2'r۔V@W!&h"uqIҁ!$,   J*zHx)pixg⏛.<#3U27rbk)_B{᳚PKe'z*#9aNŇu z"(46_R"r|5H2,b c6OwQ4#? +pzR-Cx:|5HUN?t]j渚n.hP{ d6Ҝ#È UEqa~;>Mgʬ>({i *"06Wo|%X&l0~&c;dchȪeO9M.^ ;24vfsF& @}<(̤SI+탅P HNk.btÚpJMMoP^nAy 4BR~_#E,tSlPq~l3JOʇ"8I<LSLd D"=2u]OˆTE[ŘS:wpQkԖ9D\k,_Ԯ[ Rljzvݭ*ɬ@2T^"tP}Ӕ4Yczԑܾ`s#GJiAj'si$.![IkMmS!SvxΈ%We9gB|1w{ehd]OA/!PjZî?b;!A>h 18 L#n$ΉS%9)$:! pApPT\a GӣfeJjn"b.bP%^㾔lm +(d|Ě?mc~01.6DŽ5x`\\NYrlAe>Ov_W Q=:%(͸7= zDM952:'".l's☟?׋} TAG=p=7lfP6EĆ F9.c1'pQKCE淝 jry32[ibZa^|";O]n[wjmgHq94?Zl@hZފ/ݫ*"cn]<>^C/OkCf!dL*YE>B0234YmӣָQ'k^ SV@ϔRѳ[$ijeB&:p~V.G1كmy6'n3{*AH6,{QYCENxu(Q.TuqcƬ1~oR`ZX5 ^gzCӈG[/G"AXScYmAEVBGu`Yx c`~ Skl`ۖ 9bl{k"V&γ%&Iv\oHݒk¦ ?g2wbK=@GsD7kkKzyO0B)v㕬:LAJ?̤tO좩<\%WU>GÑxV rUϊꭱI-N4>ZRKd@ ,| 7:cerh._+AOUV|;nznjcQ!*`! PHZP +$XרE4u/zZ'|h.]bzk䇍| 4.f{(u\)YJ-Ȝm(m9`Xްw`q*Ѧ0K{ۆ}o父٧btp Җ']I Ox8@csP>ọ3{(׀ Α2k#1Ј 4lkqsߋAT2jx)OHb,AzglRE2(xg9x _V-qdL+ M]ʔ{`jXU~\h<#_IGcڻ9Ʀ%sB Ly'A6<6!Cp{ 7Smj^>ωYEDrS=eK ;q^߂룽`V\MTik}![JBNK,~+D>ĊneȢ@E'83j0AAn9)رX}IR. ?҇,ۤ,y%#qr*Fgr$X,??WLJ8+21I^i^^;7My(U$'yj2L5JGS\9{l~DGm*ֲ Z e 8%.9q|qq?5eeְOVR"0]|4ǧY<7~w")* 3ٽ#E&p[b῎|r@\#t hDQEؠ *(7 .TZŴ%*wQ5S8\-| BmFZKEjL®|`gbttdXL&e Y;ɼ=0s(!^VDJ'(Oڧv[F`L۔\DX^ۅQyEUgQp}!S~ ^z1CSw1GךOn-yM p*𴑰svN@ =^M?;٠d|g&{.`K l!: ^Vg*G` E.~OcJIڐ"f gSܭc޹t -bUh=Vư}[g'GUaF$3Q[z|lDbWNҶwjȬpk\J ]z |;7bپ+u9Sѭ?9*\H]"4Pގf"vemS}jl1RieCSx8m5I]#SVs4lذOŧt^Ղ/\\2("֟O[qTkxWzzU~6ZRH}/,~x_^m*@j#gK\rޓSIɌ\ s *}p+W ܸ9XbVK#1O?T1ˀŹN#(sijS` Z^LYxFkQfS+Y$0JyC;{2$l**E;LWTYy۟#[Loݝ?H[> oe5E|YʪE/>Y}`hBThFޢa'okvlh+)Cߤ݉~ruTo %F<wtS@SN˒6d~:7T2*p-t1!7QF|5xea#k$T)OԻ וQ$8w8?y=6֊UaEgnd[JyDc+ƛ#3 CP,Y Fl#ú8.ۿ CF}s8Ue %թyKN\2 a-3giRؑJ5@Jdpg4ChYX7 8oƐeW^A}l Wb M=ϔ%_̂Tφ1K}ͦE]TpXchVr*Bǹ]^vl_s0{s"fb-C$u)wըV)ټ LF#S;nxrǥɸQ xną+xja &ˀQƼ陻Fgי:.^8"S1 3 h ;M~wciU\rj!..7>wuGi+*Xe^Fҁ~<{6P[V׎l~j<"&M ګ]*ckO%3Tԋv]r#W@|_ \D@0æitpMCn%kGXx=`;.xKo =_ʼm&0PiϤ]j{竌RijwIm# ".+/Lqy?d-s/)Ư3VQ] t?=E6'>hۀ#>;S28 LA3cCq.x&c3݊d8|X34~-g "[6g7%#)fm1VP=2vwh}PB2Ѕڃ2q0|x{Ѹ` {ڳ/1 ؇Vu'`cI>&7M$CMS*W!=)̺͝4zX.ڢƒ" -M.5+:?mdGkߵ[UMo> D\QOc݈oLCwB:DL*=T vsN={xKnԙeT dgb<}I@:.=!.$u)*]. YL=f6Q>{eǧ6$Yf,o;.P΢FӚ*?gR`<?;R@%YjjV$1WZ:Tm em@ Qgj9~1Oc_3H( 㹾 B~lO/ENVNw0Efs/+|:(ULb|OV6Q6]|ja~{V15rHOJ%fp&9xM/llЀPm:C`ö#9Ű0`r%XPC6Iy)l-ݳB2~:o16,?~,t̖$0|q ,]wisK*3Mw+[7L 4MN2Ք忨 e=V[Ge>dXW,mט`8\Xn'[Ts,2KٰM:=WKRo7`4(0k0I &tvn{^Oۃ.!%M|HW+dRF{"LW0g<-G"%"gƙvݜ8 :~eab = )ɀFӕϭb{QE4P~Ud(>6 uD:uwհ#;]֯=s e ror52T Y{/gdn`! [@{~)2|_~3 O8V.6IYa(M!6r<8O4*&q\O̹_merFDBI9ЙNnƇO+#ܩ@t$hv+P&}PՈZ?$w~o):Z5g>l (5‘`¹8kQf3m*ëO7:m }C0WĵnPŏʑpns_ %]X¶fcryDQ56ʤ4Ggk!ӆj}zᜲc6 ϕ-ڂkqO4u5#1qKnG) A ćJK֦"ݘ>W\l<3v&H 1jnڛ0K]~ B?VsTع'HE;K K$/;M3)K3)e+[hIAvTʔA%˴b|Go"HV+Q_K4q]˃gn?~"^j\ax0U3D7bzXU@&tyeoѾ cߵhL}#$}{`H#[,t-qb`MmF)%rb0.'00^׆J`!~5y r1 :k5~PcxY0R&ӹQ"D&]݅_} 4%W1gv\57T:Rڻ. I>J4ViJ~`} )dCR)D$#U6m w^!@ 5j`^2_MT*7BބbKM1+U:7<*ow8ʈ;ײoQHp~2ʪ/B2_|lh(& 2 7[f  I1۝qox4owUH{ћ9Z'lcyԒ*eoL"0shNfRSB%cenD\ VcE GT쪲kg^_@e&jeH'*$16@쿱-y}]kyF(VAGDU>ucDGSKb۶Ym98Q6NhP*cRA[al zpcRħ .P)x^9bU\707恚-Luiw=p 6bǨ@"nYM*fnvKr<{1T?LA*-gZq(FW{b _ O\3=Pex[GQVKھ0{{3K kAuMaT-͙ bL)+f7jȢA/ؚRPu<7#6<|# l%Mq4S@_酫?*.ع"suˬK0졨RU7qxRt@v#t%D򓚣/WM kΰyd =!q5v%C^9doxRj -8^Y--1J8AY!o}3=6hi鐓VąX~dZ!TXtsK|.[g"6"+l⠪<FkĿrESМ'9@}^a8P:6'}|Nx׀n(@{²NJoIlu0Gbuـa6R7%A#a#R6,RqXPArم|NnM8W7Z# ˎT6iڐGSu)>֙mIjWTKPEo+BN=TEp 7F՛0 B'̔vSYJ ADJpm%6 I"h8!\/6 7D:efh?fS'NL=Y-o1@vPi[2嬤<㞜c`.hL + Hձᑈ2;Ҧ>Sʰfn/,\M95ǹ1uz)qO`uIJ5BkFԱq&݉~#^;#6VRԁf ajIJxfqZТEBsCD^W0~_ӷonC n-{d)V.wZA4 -d¾ܳ+p{yR"<*Z&XԟUEtoXpCc;ڊyGZgRxHΐv#+zz||*Qѐßκ ۖf5.q뀷R?/H*byq+ 6xxmx= ]v_vl48henqDv,Xna:J>"FΆu RK+}jY_G'e({ GC庇 [ީVN+_uzL Y37Z3 ңk0t)H(̴h)͞ =+b1 H"P&-i(#ބ.j5-L_aכpq,gY g8כ^O}J)E~Xd/ fLM'3'aiX*KfSe Jh[̙YӒ,4aMK, ‘ C7P YZ