libbpf-devel-1.2.2-150600.3.6.2<>,LhFp9|,B{=mK^9AX&6z7X.agQץt?^~2at.rVP< p plng-tFy𫑓=m?Եr g䕸hW$E_8xRUk"n2Ο@o6vg "W_b#53Y Tz#;AP_Lc CLcbbq kteŮ&n` A8Oګfu_o3h/>>J?Jd " ? /5<   D  T0T  ( 8 9 ,: FCGCHD,IDXDYD\D]E,^FBbFcGdH$eH)fH,lH.uH@vHwHxI@yIzIIIIJClibbpf-devel1.2.2150600.3.6.2Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.hFh01-ch4c`.SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxx86_64NLs9I E${! !?qkA큤A큤A큤hFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFdhFddd1674fee7c38d4f90f8bd38cacb0eca8c1fafc02d4890e078ba8e2c481e417334f8693c88554b9377dbddd77efaa40113919b3245fe5a517160492e21f409328f64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb7cb679c3641e9ca8d0c317a13dcc3553985fc975cdc3678413b6e1547bbbf6a7e320a7681c18208003b15c222707f55584752ab1665fdaa8881e7e020885141473b036a5f154b2d5a9eff74e4adeeaefb649291fa151a830eca2177d39d2a410e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50324ff5032adf45d6cf35aeb15e8335b8b8b509d5f63a43dcc1b2ae345d623284856479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8ad556d599405c7c779b8eda644bfd0b0610929f1140734aaefa961dbb972af14a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6ba95c0b514ddb2996af399caba5a312141b227f36dd91f7e0d08573282c9beaa6d78a7039f0c5e1dc558d775f8f5d353408122b4524b1f8517e888243622fa39500c7316ba0e2d30f5a95983aa7bd5f816aa9c94cd45eb6908168a44f22b76bb6847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.2.2-150600.3.6.2.src.rpmlibbpf-devellibbpf-devel(x86-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.3hFfLd8dP@ccFcjDc< @bc@b1@b)@b%b!@aaQ@a(a@a@`@^(@^6^r]?shung-hsi.yu@suse.comshung-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- Workaround kernel module size increase due to BTF deduplication issue since the introduction of TYPEOF_UNQUAL (poo#183503 bsc#1244135) * add 0001-libbpf-Add-identical-pointer-detection-to-btf_dedup_.patch- 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 releaseh01-ch4c 1749458906 1.2.2-150600.3.6.21.2.2-150600.3.6.21.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:39139/SUSE_SLE-15-SP6_Update/63c249027fb7d2f24e9734f071edb4ca-libbpf.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRR!&l\=3Jrutf-8adb00ed6c6799438fe94c42cb62d6050f152ece6f09b7ba3dbbc7a8effff4806? 7zXZ !t/B ]"k%AK37i2Ϸ=P+8O. x-R=`WiN SN7wgΨlŴPjI1Yo[fMdяnS<>j.'@<ܶ1c tk8*m"B\IseÈJA$~gV_=Mh Oovv^xZw[+Mr}!Fw`ǐGf= WbԜr4dƬ!j1 ֭8__{<98!Q%9'3&C#\8*uDyf%35ac&pU:@06\Fg& 1d,N&zH调LȆ9ϙEL7&DCH{D; omCojcIDžK~"iHSwX/j"^ד'D #E~GM|d5d`ujO~*Ō?L t=i~n(WnytEǐAfD~Obg{t[=6gJzk48wЖ:=2aMZ8XO@-) 6ρ u ze{z c9U{2,;8&s\f]*g4gu ךk; w,O଩8r\5q_THIna-e/T}f.\00NsEKlh|ǬX_uy"Q*{IS1j?|m-z`>+KЌ 4Dg# _>^.)o ]g惴VY֛ I%$2#Kpy8A h4_f Vi|'̄gp{̙bt(bʿڧ.v@N+C? YMslfZeP?3F>JHwS݉KVePY-AqYKԞBwAA]&M4QnrGAZ]%eCz\~~q^94Bs7_\3^dIT䇵p@Գ"=Nܗ,1HwxE37dS 1E=K;P8?.-RHAK^1ƒ5iݧ-Ҏ Y:B,&p*JYGxNTWnw'6rV6倞ո?߸0sӯ[ZC1/Ykc!MJ56Dd}v"떊󗙑)[@ActYs7YH[5\٘7Ý3.AYܺŠddN'V'oqċ;tw`TǞ^JTzw;p%}/q[ )]5,kAXL.HYԺ쁑5#۫fa.ϊ'Aw@xWoo?9US-Hxvu4$7(vN"{5ti/aia7c6dņ _85F.-(2.\OJvc:K *Ilk Ofs?o0~'3씹ҮؘB/ˑea8&3H_l.@j~ht z䫹_e I٢Un4ӄeczˆ72e\UsaFca-Cڱ#oyڢ3@S1@iJ0G1TXuvlDwR]J}QIl7nSK6s.]NRq<=;?LT^3v` ܧ AK FJd9 brQt F[R#a2%;~.cYXGwNm+Ͳ)V6x 7ו<^r21H~âTa &6lm WOhU#^OrՐu=3.;y2W1y`gyzȾj?-T!ٚ+]ϫG9'6J\>LW(SS"vY:isF,Ⴙ*@ MwD6AӷnƏOe놰a.C*^֨2PwiwHM 3anf@ ixs/L!V_ZAyKN?چUy} GwWD)+qH*"0V7A?Xu~%*\P75lrȾ eIȾ1Ֆ:㒄#G @]k\w.KPݱ%~i8ly}oa'@t.%j*1`@ 03hc"ahpZ;TDj!H u"v/j#Eu)SUoYnuC~`1gTKe&L",?a/IsM0̡l@x=#e~І׺$1_tTJSl+Ա% ceM@Y>ȩ==sxi0\F_2Snwۑ+gB%נrٝדڛ[ a|L6 pZp+<8Wr$e^uM󋨰jT꧉E3Uns>mehs1Nu$Ɏ7W)4T~Rt>^TFP` n $Ow0o}|o<"%] ѹ&qW]9/ͽVOb}ѣ|!>\/tIX .d3f cNba-C[Lp(N-cUeX #⯑LtL+ Cy§{4k)H7(_}Qf`Xjo΢*ABf_6`;Kҙɶ 3暒a{umm81ĺka88oh)Y$\&pdG'D4|bT yl ,ai gM|7T;C k&I;]zh=ɒ4.E8hK4DNIDfh#p\ ѾYj ,$9ͭ9u~+Xi FAZpi([U͛,*:jޠ;+Ӹ[#h5Ul:syf? 5Pq㯙L~1TJtOdmtQt`}M'j7x]1 R3@f jj vM!#׼NF#1{4 3pϦUie4( aŸ%d+X&Y8u1kڑTУS\f<@ [? UzE~Ǹz[] (; ^ f+a)`6&U~ @pN H[f#/= D>?_/}͈Ű\*8VĬ) Nz%L6BYM-d6+9,srC-uy{Gdq[tJy,!B㵥_pvF׻d(SD7Z| )/}D,0K/DO$fIYZȾe.Jtˬ9p:e X`6hwSZ5LRNxZ_Y;OTaNrAϷ~Bx KRμ]΢न,䪥gٻӤ6'DK/Ҭd7sZ"RwE%O;uXz5"<B g`]km/Vx_V q[5T ZP]$\(-z^UQ**H!y=R{f| _T9D:k}KKx$L'. R~dYN6|sW;1E- $V8" ,5@uz5%&X~гҰ z\M/pk73Zu3hEK/ǛM!w"0m n2,kUsanXeQ~3ncX}`.,Y#b}^ia-Gͩ:U~BuURee4ڒm!!ЖJnѥXǎLY(PV 92Mi5h9l<_iS^@"z9u/L )ʺ%+`06HtZ5Y\e}dg8f$F,JE3 լO*i΃6ȉGsfQRȇ!MrA]RQ*N_+o٠*0d^ո͹܊wm/Q,W_&s9)BkΨGJ 2 y{-^vitE ҋFBwQ3bnӺ[(醂X2#Gdi Q<U08&Eչ\(;j~ߋDs? TCTw@05'l&xg_2T=4zE+͟Vi<9?IOwUBUNvi,0ӧl,aWBBb!^XG!y9g? 0<},Sl%@zL';W}Hœ\ 4_WC<=]O#ӷH^ww!>p %dzRV >aKvADjk +@do'eI:..6"\_/W*nt?AB \u gwDV)JCx+a.J)[ƲLtӄO󷣖OPJg/Ôs )2pLXUl9ͬݯLj.5-4bc@a3o{z n{8dӍjbRT@59|-)mXcn{wm)0v3mp{(x4(Kʩ$87'f.ړ>#g:YHy?+7N)S$~ h!%dYȜZ-wũy&b7\F`BY8]>e^3²hG}nע_Ed,*wʗś3ҥiTI@Hj-L/hI`k[RHv4I | FeyF𕟑o8II$?Yycp4~ɹ[T"q-<%Br %Ax4KvJ)w4QЁ֒(v@"(+ıPM}"d(9m]5eV0M#4)T(B߈_Wc5#2Wf^x2eB *KMd> +CUi#N\gF|jq$:+HO.VTFS+CL%rWfsU(/K[,%ki0:\e;VZG q2\wL]R3-qcy4@Hɣlcx) 7>ZS^ uϨh?sSrӊc.FGZF B0d. od?2Bfspumz* >Rn9Z0CA60/trIOdN6aN -R1nFb:eJcb8zM#IBǷ[P˂Ks&"e[9|3Hx'^" y-AH67h Z>"im"=u:EɈQN @/^cjbgu#}05Yُ&2X624sTjݪ̜ߓrXXɽ4M@ TVő (@ߜ+oZUE̷>q>vp'xmSap(ٞ]hv̞\X  Gyo V&"W`u5P"}_>Y@|IX]ļ₻yCWNO0gDޓ1}GAnfG_1f^]=]Vi+z=渀P-HRduwʊ-nW ^~*d Fт5؀[7ӹIQ{Գ!x0-{ ;EB3A/x8]QOFMC'py_7x8_6R74td>@rj?I1PkU^uKuH#7ѨBPbNpٱ o"^Iz_61? d-eޮa }g( uu&qe%^'&Ztݡvff`@XY|+]Js7`wEY`!;ٺ`u:1O:.'害E6oȷ[*!|R?'Lt~|z/B-f T^fTW ܴ)q8mJLtqxo7og;K}1كdN+ґΙ fRu=4(UAu1/UB/GFaTwX9@SZz0- ᭸]y p="GzcC㯺ǣHO蔛FPAǼYhvz讧VZkO.4:Z+ݛ$8yW@<o+6YβDTge-&㡾a HFd>lYJ ʫ`#XŒ xdMvCIR_^sҽo91:Evl992p.˨qz!ٻ׭M90ND6lY '>|}R"JyҔ`#vH`)*= SyI­I@"LYI,Q>0Ѹlْ('S7f,N{!xk(9jPUI $WT,x8B `ɓN_Gy[jDW8lhal}4F(w:'GL56V{3:N!@`H5 H*Z3cF*uӴeaWGҭFڨsK>~_L}oznfs(t hqKPG$Z! :iU$6u[ҌZ,bjk6.GD>[|]ޫE}F!* կRvV9P0º^xDT5!/'Xϫ*WBޖW1(ϙ̵4㏮UasA^3/@=l *,zR䱒v= S#ˋCJAFvij-|Bjytu(lN) R1 |2ꅓAfTPLt"bθ).&x"j[v'z6E0>GcJ /iA J(s]Ov6-\+K=k]*= '+ Iv4Rd'P>?CuV=ltQJ[\N*%XG 3|qq,I3X n껯 !regq?{vQ8ͩ89o2`1QYRiB{GgnGe3 ׋)RVe0 ,\lF<)boAh+EЌݳ  䊀>S}A: ;Xe~{[]ԇ ( 76FVȴy3$F E.\`4۲;>ZeFd=.s-9OaW6z]Q!3UF l~~{y4yQҽanx!y` u)+ݕ!x?`_v?z55z"}St1 x'}MIC|F+5oX΋w;j/5YN"Ah7__{Y]=3noi 00 џz+7=NT9i_ELjxzaQ(63z\!ܭ.~&pjjj$34ϩy"kuz,hJ^ *^EO+`r&=jcۄ>teߩ>W袨 pT-߸ݎApy=/D`V[Z>pխM-U\N+ps+M` K;<;FҀ[~դR|d œ40-x"B FX>QX7"TZ F9@>jUuKܾ}v1B(N5cDoa{Y8W[Rsـj:U,nxɆ xN@hv<սdf Ltdhn`SlXաB8/X))naTy'$+3Qnƴhr%Z:,y qźanH8Ѷķ]Eg FrlG2=RGE9gKZ0+LWR'K#bFƍz V[QhITk"Z01d!q\خ?*Zz/W5k9B  Pʠȸ|qM`mPUყ{xT0H<}.KdJu)Rp0Ɗ\$.xNٽOh'ً?R^mRXк[ϼh JŐ>m@gy]-譺[rl7q5T"o4,эf^??jHT3HNQ,ꞈ#5@됃ի t˽/nyJP늏3f٫<{dZ1i& oc/r=I1{s;]<&Yﶝ"+IRO1m$T"F!R#_} H}7x^ZJȢ# -.Ա?}^%!҃5iL; L -91ruI[F~S׃L YtȆQfˋ\!Ul}`]! a009q SMoK ;*ړ;ё+9 oZoءM7|+J<-ƥitP&pEs w%];>gi !58/Frw|d V;)vTt>+0I$*g0_ ‡$)Sx`@Xwlj;QSJ2B|A JL mh|cL򧅯bQc 1\A0.ş=2H~)cg)M~xƦ [YơʨNt1h21ŻB͔N bgfNYY ㊏YWQzƹcʪ}*  tsC >uԼCn:xݒ>##Z.S_w*;nX QkT+fb(RM74Ã+{}DIf)cye>M߉Sx]o]:@Csg;1HM0Zb a)򽫫h%b>Zߡ9;$( ,j[Jb z^ qA'W`uK-~p]4\.o \PΞTDDiܷhTbΟ|=R)# MQlqs)1d3)/2]?_Jaw-]@sbS~*A_sm>F-)Y92}P@&!l%#Ea:z"䛓%%}YH`ύE\’0WOs}W6#X [éZlqUAq4{HED\0Ϡ[NM@t0'lŞ(ҙ{]],Gw=V;XD:VSî%2IXlgl0ٶ`C3< eqr; ~e=9JYo$v/$g\%a^.VhHiOĆ)K(OT}q!AC_&FκM߬*i8?ARvϕ>QeXu`W;l0nK V>": OCU#!qx%(Q*ylzfѼӃ5'U#V=|EA5w '?y@N`2M{Q^냝!ۭ]XfFd&iC 6R,]xSnw!׬}@n%GT5AWM:1L 29]o, Vdcn4- *aD = Ѧ 6&Yqb FT>O3(obW֛LYywk ?F{Y\Ph;F#*% ݟgyhWogٯ{##-9JKGXz-߭4ʼn9ȓq7x^qqwzJ.h DucWXhoWkX(FKn1>;4R.&^#lqr <ݔ5ؿ1ry7}C Z}Ȋ:1hI L--_H1{x" ϬA̎t|'36l=?XGsK!a(`i_3hnI&;[PfiAl!$΄":<22RrL џF@o쐁aLk~(*G2#F謋ӞflGZ(w/}8>DcWY]ZNQb=yz3w73pF=O ~"ГݦO+&p ʒWKn{Ʀe fl!r\Ǵyo.HRb:?kR(I`Pf+<[z߸Sr1V6"5N\j XVtF. &ԟnT{qI`=|l[>T6Zʣ|MPe' bu6 >'~cg|F+ {YTrz`?ko;XJX7H kh3!iΤƐ-M T gO7Hݏ\Շcr|p7{ם{"rK42CIe^N ,8P)lO > ˚v5Ԓ$5GM%0@뽀'mE "Uݲ?0`~ul5n &zWw bU{cUWdLG@Wagy<3?>nxJɱZ].٥G޷?>&1|{"q -aBQ2Fx~7Q.ag$%E3ycsIy`av?VTt7`?h2$f1[Pv7*in "$IE+z' ws%%>iۉ{^]:0"~Ʀu !(#I1KKwC_cFi|dT(S-+R)י6v*wtI߀LM b$m4vqax"p_[Ѧ)Ezt!TDU\;Uէ[فp#{5@*{hYMQAZuZabt.OEcޒa9uh:xR [P_lu"hFNf <0WAI,3pj4֊K/4MG ʲ@ND p/7"=)F+ޡ}+4 rj!Kqh͵=$z 4}xSz!{(gSl0[pm-QћzAl^us,^@_S,Z3ɫA+ c̪p.NحHT[=k YVY?mQOcs]QcN_O 2m ; Nvg^T'+ǘc2t9 iXhywobBO03X񶃶m3\ҧbG=~ep"2>]Vɓ{()"o PSDt26 05N=e]6(XhsǻTWP3aLƓW]{ɒ>H񻥙F`q6H{ #չHnpu8 %P6C[n$0A672M'{= |t Jw۴:ch'Avq{!5w4`#J9}3H>+fHNAطGVg"M?./ICז.m9\%UJ^lg-K-VPn$9!@$RHƵTe ~yKg#)jP~Yڡn'5Jq3'OGՎqy|bqm 8$4E>C90gٻXhQ54F#HS@x1+}dnZgS`갏C' oqK'LëS D"A*4)}%cɿ2x@0]$EgcRUI$5LBZ_l׆&MYFtNO1Ȍ2KM1ݸWIܮ95akW!}x VZY\! HMmhSz60 ),\?NGhD.a2YU.nH)yq uyT15d=1sT5pY5.0زOK6/z сA68W)/BEb $c5JjjA}ke\wˇ_o*GPp Q(RMNEM"t_QYħ&E+ZAYnF"bz!0"fML SpVڅ7<)*bUTdϲJ hz NeKnG %pMrɳs/]kR,YFr#K %[2vD2Z4~,Нܝ\C+f߸m?F[DZw8B 61o^?~]jp2bB?}LX (Z'km$4n8ר$G2Vt =nhԈ̒RJV ۶r ~ L4b#8f=v[Zck[1/GG"-AnS2| [R@y Ri W`\# %wƳ D+ f5Mao9-"n-;V"8VYh֡sL+M (bG,ۼUKkh6萚ʐO(irp.`QG=5  CK'8bqd(=sv > %t/[z+5E7Y|Tw)La6`?jpA~ì`hX bmƈ w;t*r3 P O5M-Iu2D5BYKU%`ja}ƼuǎQ!9&Y^|\4&9,~Q雲_"kB+*Ӑ Ϧ/P9?>jE鷬@fPꏨW5D?}MԈNѲӖq@ᚣFYk=/#g\Q=-&/i-Z?? ٺ!6 E;T(EaKc՛@eֳ8Y RԢg,B]_Tע%{D}ۀ~ QpU *[w++'Zʹۍ:St6XޔqNkų<W˯2%P,?`@m!:z$9dV=œ?ߧRyt}2e ;ce̞)yn-iPQ|"3Z} 5xWh!P1%09&@iub# dIbAu`xT$kCg LJ5A/H7(Eh=țF!] ťE57-A44QLb>osH쀒J!NhjYk0#WN%/Twٲ O2tƞi3U&+oYU^ss`+Z?# :Щ#m kMd~QK"Z49AԲ D{qrTl^3~ѴZmkBKm\yB98M-xejGӥ7% : @0cw$YS x>7`O vC48y&gT'm!KF|QINeKT 4 )'{QT&r)C ÕD1 a^T/<:qyYݬ]/Q_!:ʔw~Lp׶zgZ֮8ygut+Ӥ߸wUctދjymk Kl&dԗT#f}Yl؞hZAў7X%r6y;uG? l%` bsݘ#?7fs2m<`<0G|e%v7dCo}gvz&%IPΏ:nJUt}qӍֹ}U-8aK!2XJz!s9{Z@PGS6FQ+d-Gxe!rUp n^K7K'G4fiQl_n %hgiL=G5RڢX&-2,Ad#%rpX2mFuܴy$ +K{jzQ1o|G vjR{#='#bZ\W(/3ԻEѫS6{<7 CTUomq$[9&!'(GM4k\k!&e9ǿ+Vn+}3Nˬ~ʝhz^RAoLqm%/ISJ6mF)&D+ a #.*ޠnkn:;~AMNŤqjϽ]j@z.CSMUeɂ_$̿Fi⿷3'C1ې3͈mU#}HG:s!k@ };Vw48v:i)1#G 9W.̒p!%1:2؁xO$`%4fŲPhŬ eZߌkkZ@#Zat Yg5nG˛:F:X:x@T% h t;S@Y_eaB_Sۼ玂H!4y ڬL<.QOY̲B^\߮J?EFZ;zo`WY]e+ْE>w΢8Pk='Ż *qT|(4l?%t2)^=A>G R,lY@D̫HnSby?@5jH6ob)Bԅx:FZ?po)h&Gh_6DP?*8'{Z2g1eMF_ BI\<'uYޜ@2dc' d}Ťeg !#/b~ |5/G Aljr㘧/yQ̌ 6y+G!tYa$(HTy/gڳ%@9Z NtE8 ̺Ջkn=o=k L7,EI@|Td_OǑ?.-V4(D:#,)1vP+Y,8-wίB҈a/÷ k{+ OmSrJ q SЛMoY7t=/LV̟bVZeKVV24jiAy8pC 1.GGU88 =H>dN Oޘ8 V?|Џ۔_<}S%`@ b>$^XJLl %$_ܤ/\\je.l6}-ٓqٿFh)?%k;@0N+ے |RFKSm֕bIh1g(9c-u0Yږ!\YW)oAg7@@N2ksv=),162ER'->H#%Z|7+ri(M@w*K%@g61:F,OT^~TϞzٷaP v 9>BK>vOs)C*^:+YINzJK"0b^K[`?(S2`6\zKC J)Ayq9ro2^{Uq{iKԂ?eF ?aME<q 9JM"&>XuGF&U[T\MD3<'T:9PfDq_e|J<)ǵN+6>Hd^%TਔHO)IǏ6,߹Xw;fut͡h&.0raTf=hU+^?, ay[6: ;`pVu'05 ;]oE i! IѕU3x<|[BDv AI?T{< X@U^@ 3Xfw,$:-Zns:tWRG`AP@Yʭm#[U ,0|)zq Ku-<]ߙ& 9NÐ$:2aO*COE9 ?] zIΈpRBZU?" t3! k",ލ$^4YB`fRE3`b~t.*hh6Vj]ktS/Ax. .b`ZJ0j?r8w8D{M2c77d.],`)JSяsǰSh:7lp0xh5dA7q (s-EUqϸY~ARYJkmuW*LPV<ٮ~ ]"(`o`}c)N4ZYl%ddJ\gQEo@׿- 8 7f<)[>c`K1B&$k|&#/m:s"-)hL2(d W&Vrug1%Iʴ8عI{ ce "r7b;D[J-[0GD`L_Nݚm-Eg=e{T"*9CGKvHƏ4;-.a1Znb6lNL п](;G92;"^!ZlScJG=M f ퟠފMp_U往H7Mt 1QKI?MO}@ G.be؛͑h6IJ _ -K J mnS7!lg׹?@4Jgo=V(*+7iҵ H]_q}Kqzt` z˿`?? z5to7cI:,/>,Rqg,J agBJ+򁰬? ~__.K*m+Wdzuw~Z]ͷɃO$s8mM)&lht^l?:zu,F@Q}M˟̉^1OTƱaݾx b WZke#uN AzM S/gϭ۸5`JP 5oYv{>$Be}>nT@caj$ba5"ѿ&9QE=4 c R3R*',8{0"- gW@k~vfPx_rCj /oF=vceحXP37yMAFDm4A3\}fPWk7ÆH[l'feKCBf:P5|2U+8<ޘr~hemX3;Lt _<*?^d#݌A*C=ҠK[evԍ`hz.x"bX$"ޕ"p O9ֲԊqW?j+xȸ5uI.3$9砏Eqv\U(3HҬ4C T Mؾ!uVGo8ǓUNHu`{T6/9LGNdt x?!lXfFhse˯+lÀoU_ WY}TKp`,FvTrKd5W.Y-%Zj !fiP:|DF6)5?t¬z{y'e,p"ۋ ^hR#]_cH{rTh.Shf B, c\ƺP>46lܥpLYsKknYtk>3+*~Aׯ.3͂g#f43jV#sc'6OwW ѡO1g8 XL;`ןy68QpHa)`EDG$IS/bLp)=wvz⏚ 8,S6IL`ө.n^1i;T>Kd! h95f-cxU¥w?@!Ԟj(sUtQ*V-Ib@=;tz7qLDgJՀI):\u>M>P9!U=K~l|NeHeX-m,*eZW JBnT. _o\WW~J֔{N9b;k")˔%~n/BڥbWdS0֙ɵIӫ}VH]tF鴍.m`,|@t{cqfm\}!̳Im#VA=\񆆮zi*]y\N:=p i`l"0f1 +@-{yu4$!QMRl5Gqa3wq6k ~0aÌϝO4Ɇ(< [1wC_s ~8sw+5 ~w̆sBQR\!'?#S_?. \gۊPsTuU;*!5yۢy#Tp43 .ͨ~C۴[o.lGhP*`G-AwЋS?|6\MfQL\[mѳE']EKOL28/FݺBFr8X"b^~TحM?\z_#tXzĒU_"^pXYo ThlI`K|[d8ߒŞB*b{MXcVm`))JtZ1w 讶av=?Gl</rNR:iqla8܆%-*'=~;)rpҸUX{5. 8L `1\eN@r2J8|Åh2Ne"kH-z ߨr{.w^OikL@ҏ=::eUDy{Wq$-j#ܴƄ6~J7yd=հ7LDYsxB cںn(g#z-žyhſc h1 "tG=sχ>ɖ1Uv!ݮ q'on1+O> RUϫGt[M4sktW)#WǠ n-єMqͤzOs%UF6Rxy,=rHye":"'ɯ'b(q$Z~(M< VhRuָ;iժX;ռwL,<2Ȳn;qdOfz[s_5JI#n{r`[Q֍*k%NZE!8yhlwa{x ^VS3k|L>'!D%Jr&P+*״@OEl-oj5~RF ]VLEPwy\zHبC q(= TT9e'aأSo`f3B薓tXQF޾y]*m‚0FuQ?,BJ0ӄ<2?HǺ$\RNV6a9nW>9hdd>/in匟/mEv;-<ƥt# [k(X?07yF[)I'pJgLfѵ3L䆤?\*:jd!+mϱ.Hknᇟ6zi*yUR'"Hy/x?B ڨ'xJzL&j*~'C[>ˎB$DfMYC)W {z}';S>Y$& 6F 58]NwKQ(RR*9/dQm-KF9Q˚k0(P_X^[a 6{B\)]ydlʪš{>*^-,J|9˽L7v$&) *8 .1 KQlrpDö{hމDvX/_MgMZ'349'd(GT$@b’`18Gܵ/B}!ϞK ܎N~;y\Ј3.ipc6!`;Lo3xG1z(42{],;l%>宁*˄M8{ IX*,yòFn&u}.ٷmi&`=.\R"Q~&>kOwVs䘴z+)sI#IC ?h*T8͔ƎSeLSjw`@\B6 a4c~"6=m^&R`8JT,o>@_Z!Ⲓjy+GN~3Xejɲ={Yd'@ v*,PY\h-7D_ `nwpS˝ `^JcD- C/sEOC(t^d˜*7tĞVG]SW٣^,hLIi69!nwyjʈ17?/s܆ဖٗxi!b<z%IJb JDz4X%$&5zrOtԙBL b\!Jf裒Lwo VPեiЧ'ojލGRaɢJL[5,T\Emw eq# RD b@*-#`zȟY^󸲅hXU1V7LUßQ 0g$=D*ar,/'EWSe&|N8{G^1 1wQW:hLE25:+yz`R1C诱Dž ~;c>+G)l}lM|1 Tqb(1>3i8PeH{o݄VrORu(&M{9و1:1kT"`šr283ճoU+ޯ'm$ܠaR8$/w,RQ{3Ƶ}n] NFd!h2,fZI r fnj7!%bŐ0P9}w`ufvXj.ޣo__mdM!!تGp)VRZdM{Z3E*?XyN~Q:6Q^fn5C)fKzߋG7&J~Dt>2" E\d +~9ONrJRAQ׫}46Vx/e96^XQ)HW2" xXD_潐;pv6`<u>u:v$b۫Rw*Rkx ́FhV}~݌ u,qK'I%L Hn'/v<{5[z71G)4Pc~H`pM'H(;+f4|ee7ʭ bAu:R2z^ `a9=DoJz-ήT~X04vtJ:Ks¹iAI-GBky&D&Qòi8?,;\/"JH$HoPXa] 'A?-Bg6B,|NFߔH~'brErيhԷsKo"}N}Mvt/CjA$.6(zռ[gXv[atU՞ i.Fm'O5e*! TaA\c?sdVncyF7KRK?Vj/b&U^cց;*Wdd*{=@ }[z~AyQy1QOՁ-ߕިlW|A!H-5ζGextcNf%e ^>k-""g'BdK oՈS֥flKMmEZ r %T/hB>p/2IQ6@[Ul2)3{ 7r>۬C>/8VDeQn7]6;e,d]B?M /`Btå%q6ybx!!@[=H_p8qWfu%w0qvO0fx䝒xI qEЉP P$я1I]fs}7%Ii֧]ӂHD}AK@xvz$v3\\4&)׃ɠůw\A9gpejL8J#4)W ̇eBf!E&|+?R 5{au}ܿi75q!iVMfJ'<*ɞGQoz̆t/Ճ ݫ>Z(N=E_65:jp]<4O@ji*dZvwV]InT:|}3:ViVt5D'rVGD_MDMpO{邃$5Hhu5rYuT*aU㤎bS}#,݌HRJOӪRJ 㾴2k!ќˆ5dN(pgҌ{sJ |m:gO8dls!x} FhYlI16p+ sXq7G3\Df9d+i#Aڣ@W"{ֳ+}t03w/,[;~hL/ Vn_tk3 mG2E9:P(=Q*#U9.Mߕڪk3n*QYہ/h0C!`I]%W#oLTkcL鵁Zݝ=\;+@ >]yaQ`_g-TC"RV]z-i%!M%ѝ{B.wΟ)/Lg-Z;ER}Si}r柭jǭY9m=g n#UAMۡm@ f}aoU  p t% YZ