libbpf-devel-1.1.0-150500.3.3.1<>,fL]'p9|yMy` ]2r_a%ț?%AtL%ea9``L?]gT -w4~C% l,;s+o)|/d{<<^0f1SHRKדUl%\YbE vƟ<}!OKW)QV΢DC>cFg8G'L5҅39M5M,EۭԻRY#èS%OÓ>Yc.)?߇Q״=y >>A?Ad " ? /5<   D  T0T  ( 8 9 : F;NG;dH;I<X<,Y<8\c?3d?e?f?l?u?v@(w@xx@yA(zA8AHALARAClibbpf-devel1.1.0150500.3.3.1Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.fL]'h01-ch3bASUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxx86_64A#LZ&nI E${!~ !qkA큤A큤A큤fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'fL]'cVfL]'cVcVcV2a23e9331fcb79c6e49590378f8fb91c7945c887448bf2e057f682f992158df37951d21f37e0f1e6affea5a2849c883b94e539886ea3cd0e1d5e30bf8241dc8a64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb3e4aab7a422319392972c75caaa6b5438bbc478466c7273ea17055221bab90a0cc7570f3121ad4b94a0d835ecb71f2c1883a4f9766c864ddf1b0e136cdfc7d05372e36702d3021859ed9daa57c6c356769683d6f442b211446038ff970701de4e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50337099a4b085c09cd9570de1145d90ad60144cdada69f4c23268ad2e16ed2802656479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8e0a85fad1ab71453b9738cfe059aa3800b17075e50c01e5a86ec75de43a25a05a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6b13b913cb8e8e0e98ed5830923cfd22e2dffba50281af8dcf27e0ccafd0e358309a7b427e4d3821688f73d5f7c9e2930058042b8d8dace2c3dc94b5297d3b8fdeb3e014c62b1a26bc6142b875674568fa913b10a0506dcfcf1768d600271ad5d5847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.1.0-150500.3.3.1.src.rpmlibbpf-devellibbpf-devel(x86-64)pkgconfig(libbpf)@@@    /usr/bin/pkg-configlibbpf1pkgconfig(libelf)pkgconfig(zlib)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.1.03.0.4-14.6.0-14.0-15.2-14.14.3fLccFcjDc< @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.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- 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-ch3b 1716280615 1.1.0-150500.3.3.11.1.0-150500.3.3.11.1.0bpfbpf.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:33986/SUSE_SLE-15-SP5_Update/0cd15d3dec476d582fd15a7dc7acc38e-libbpf.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRRmP/Q-w;utf-8bedd7a830ecaa439b1957227f2ca7fb560e348fdc73e6ea14f7749588db55f85? 7zXZ !t/'x]"k%AK37i2Ϸ=P+8O. x-R=`v0U1J5EUz:)Yq8p-|;JsW r3`\ 햞vj =ݩQ7̲;7&xqKa`In[Nu-=\]xk޽vkgdµR+lIUoPy0:=ȩCw;Z\d|"IzyvO`JwG̏hu E;b3A֢mDE8oĝmjH֤*? ɵiJ$S-Ffۿ]. pRަΥ'<`6oq+J,wCcmޤ!+ݺi!EQqAPy])M&+hj?ihL@Td\c/:?A*͂v_62jv.Z}oW |1n#yQHy|c?+)1nLjO^I'"΂ Ol좵da1-W{!+ ,V÷9h$ӬHAqg3,l-0q h-.ڥ)a9PH:aKJ~QY A\ZGU** _+áI`͖S~8T'qN+%軯Bm %L6ѵ+TpQKZi3oMԣOPN=nЍ]VC р8N\Z>s]q;'ǟQ Y#qJPTzB3T`lP<=+ڃ+"zvϕ^&]FMD U FHXȅp Fe8ڵ],݌IWO,8I 8Y@9JT |@~ٔ.-yQ*lڴz͐1o*y1^n&>{KJet: {os7o9"c6H͂.^.D a;PM-V^_۠4B˳HٸWi2#[iB`h<&QAR` f =i o* JS[ߊ2$zs}JՖ&QPj#RpI.1 VPꛡvzu9sWxtkSa3# ʲRE<)zsS[UVkfsb/2 f S0gfKJodRݓGŭҴ{("ub/Q, RIe8o6W&e4E0438p>{J<)L،igvFljcOXeqa6СzhN8Ë{4FƬ}KeAፇYڊ_ 8†DBkǖeلk V%9NzeA7D $tb5O;J n#`#<@MúĎvWhIQ8cO=z;-JRJQV3"L(J܃:25%?)3&\ll ^&թ!@Ieq';Hw#r_,ULH\$ katΖ0 HpA%(t)_tw_epEIё3 zܝު1 hx=5.i}x0@O= 1A*O!*lFjlyqذtt6`&}gW*}M²GuMOZ#TR4NRFm B6XJe6xLFyVY ,r~mm%?x:6`]Su1+eY81 mNaȺ"abU 椌۲|r>uFZOMGCx>'O7@uo}[*#r^H:4?s( :aqԞ d=܏64$Yo[H/@m_*,^0HWjn")V ?yzp{O3sO9u7(K!թ+?'`i` )7nN@X9Bd|uok~28*ddz(N :ܽߘ鰯9[qD.5*" HuU((S |y(;*T(l4=քW!F?.Nű8LTLxvq)(V3u< ˁGZ̊ix{2``{KNq~9,k   &BU۹GydjlDz4_qP/uV`Fu/U=yG Өk}'J M.D" c_p/L-9 ̥h Vn7n z#9bδ[\_~o|Q´ۛq|0pűX7'h1~wOFfacBQcp Cz61,kӺΡqX|A%SfK%qN .`fڹyJ6h q5˶Gmx#; gkA[ݮV%Yal=xUs+XYLj%B` R5ɠHlX toz7M19:Wuf`ax@tb2{SE3ho^kelcCk ~Z,CŹ*EYEmH|Z $w,&v2cP* *Q+ h\B F2M}8 u;BYgM=I8pJSZf=ٽ_&UYSnZiP^!~4d_°*7C>'H`n~cf/L,ɤ҄$`XYp<2bLj(|YjZ9fCeMV /zOz*5mSgfPIw̳Z\v׏)$ZF1|+S]3;㊹YI@ͻgZtso=NK|sDY;um~*0y}FY; ou~PyWa.l( .+4מ.CBn mdbur:mTI:-'E!rn.~ Yq[gmN2U%{bԔ,:}_]GtƏӿ`n 1?.JPHFbI>[ExΏY}fg8jں!i/a q\1*TOsRQJGzr^2C7Rc3%ΡKrb5_PIzv[ ݆٭oq&ӆIvw0ŷ{ (Ɓi(VMϗ@+Yŷ:55&Uge)jbLmDZFe}t1 %f:, bH(Ę<8QX#O4IR{xF .Lqx ?:x ~u1zeT% zYCY%)ޒ}zi"x%~b]>9z߭ sHSTop+3- !8AkgwR4͂>Yfs,7W#Is4Җl_h1P/6o\K]]tyI/( ֤ؑ[i]MT>rwlR! ޸,´j# W̫t5uAOiHdբ>ˡhS7RB(׹&6l)Vvkd@{5=V0 n5JHiܔx.t6DqaM{1JSK0@p~o^JGՊt-cBc#b- ̡;]j5+ӥ%.$c'-JL5BV,qb=Fu˨tۅ0忘JņFrEWs+  >8m۱ OsEZr\t(36.3{}K?$8N#3NT˷DX;ƂyuUɘ2Gl–V0Q*V^FCn(1jgPώ xg:ĝ֜"7[Z)ޝ}H&5MW5U :i֟/mo(t * \N"+ Θ=dѬrHfmRI{@^/ڨA!pבmF U=_ը%-eW%偹?R=]sxsQs¹E1枽 *遫sō~n<E Su?|5ڣ+3c HUdMgr/;,}ұFPO<8_2]c>h~.wy!9y3:Mchi b /8Ѫ'jkY21q\gSP[bfQ X 8Jvnv]a@)n:}C8n@zF T/ E FWt*re+Jg7;cng&ϰn0in:L#$4%*݂>76\(Xþ`Ah(+͆j actS {u& 4ܨDc9}eĢyCGJtp##a6:F;粻߾J#'m#L"ʣ{ jOp:T,I OZ<dMަ')3IZW)Da(͵rp,~l<2y\,ؘb#`6q'l4%y6p'v씃A6tvR ; v\>3D!yz4U@Z0GǩTGi+S,3m +M`xo̓S4Ǿ'Q 4 1{_8-X,П XW{?D9=1{7db5+zC ( mjj s;Jg{ؽxOt=}(~ď1hMaPdRu#5Rk׸;`r\7UeN|v4)x&Oh_Ej_vNi3̎zmz9ҠUGŪ@ׂY孜Daێug`bt5Ȥ13"k>4]KXم-WRcQ,kd6ccdi,̣_*c,ƿ*oY8J:9b19TJ4~g\Z}0&1{ǿWlp|7nt':x5.'I`GiޘZgOt{Ȏsːd2ʥT@&$SÿZ\6c힋rQ[FuȮHƷ|t;]xI-*C1({eW͗Lm价Q b a"@}4T3NP]v>#G[G-07 ƓK mk:Q28I12R5 E趖|tO5U$ m`7C=V]UpsƆM¿'Vk3k\vaҎgÖ(L3 yWאQ{Sbv8peE`^Y(|ce\L6o9fߴqY%gB4fP:\&qWX .=m6=GmwWO 7.slvTi>-𣟭6'N&_KLFAMC}5UgԹ=:LA{Oo9n&+8y^qV߱tWd_K*j)?^/Brz|/+LbS{6Uc(LvʍHcWQ3 2.HL} R#L*DC s=g3/XlӰڟ戍3_i`<mvLrs q ҸtyBr-4p)36r#aD^|sJmԊud/g"uU l1aP%{w1t//[WJJ$^74 rPn)J*u}PY}"}LЙ:8#sm m';MJaDZ),c³$BLRJ4f>)#(CZ;S JIoWTV@I LUcg FB/h[$zɅtD[`(I*I/P M < E~p٣(cWld~ϷKN`I!8^J>t|X Pd2b.%effC!Zߙq y f#y&e3F-Z[91fشZ ?y9KÜIs beDa?AsO-xķHH٭#K&c8~h+ :-p =yҁ}J>ba,XڂQ/V~G5BxKհ9I#VehͽePV 3wt9hn&-НFTi>'8(jaҏHci}՟03% |l}#_|r)*V\ԩQk<% #sqO{d#r az7_ܨ72`<3bdO_e3Mt )YX2 sJ -5}mW?m.E-ISVXDo>'jį̵ 6; -!?` Tf'Ng˹,,<ہS.rr=% ldv8$!jSVd!RݍO(iFivOxEzi>`o(jCRLĽܻ.c2ȡeCy.{TNNՃe%z_m*qV&[@x^p9Uo3\ߚO=W>ج!_Ym^7EQt832JisxP 9_KVʭhʁ6quO)1d펆,4sGx{,.b0oL]evـ(qjH++q5m$mnn,"(Rt$iEeCdajIy :MY|vB´ZFʧ+,rūvu\(KrKDx<(883[J2 k2zx$n|Ӹ͎*%Ԕ YQWsv іV y3Ƒʪc`3L_ |< !])y?MNuVrR B"h$M XW\Qu|C]AXvϋjaO DWQjĪɈjE׎b^VsOv)v}L- #4yVIkRug?;]-7;LN$ګr/(p͸ȟ ?b"ʫȄۊרχHjr\0z H˗{CE+g-gY+*o( 4+>T}fF8@;R0sFZRB {Ȉpf(%Z׫Hc&>, o";s "].ŋ]_l$|Vq;e|28\&\ 9ˆxX:ݭxޫL # aJ)"T] Ay6 wh*pJ4b4F@7qR]p 2=` tbtGJO}cQѦ& >^i-$AvNxZ͉WhLrv|vՐ{"i`Swxy}83j7{h:PQm#D.~ üCKqzSBھ@) ß7C岯)uHJ'ӭq[cY4&]̜5IA]#X-J )yp2 Mli2gO\^MٹSuR$rȀ#C@ };(ۥs~=-D+viw{:c ԎLT嫊gH1#?/gQ-?3kQ{AgPLkG E*\ x|g)*f5,SKTز?OIny~u97ihm^]'鏈򿠲%5!XۑhJ Hw}]X Bc$kdK5C;QO,6}K<&h0IIe 0;{/[' Fd b9kl1DBm /$db;,`$5KC˲~l%ZX,Q]b":,eLkJ=#@|٪Sf1JJ Kké SgSn_f(^h`_+-ԾfhEs_yK>w2τ8Muѵޖ+0l9?GJIZ8MZ?8ThiIXxʎ$<@hLi!Ԃ!68fz&"c?Nh"ԏ'aVK鄝Ue&5v 5,3Uji)}@٫Fp!DCF=-q|ix[܃ Xj+||SXx +{x*Ā2Vt@bacojoR`+[{OBVoO&%kS::Ps 5&.1.ZNk-ېr) }#nC v1V?S_ˊts +e{!SR:Sr6l`oFn@zo`H_f\*=ǞXx"yq9YF 3 f ~$?J#u`bnׁɊ$iІGؾ.>X]885=_\N˰N֦uՇ,Yн:PM;U cuWItxmlXC01P!0Lq禴?D@n.@򋸶g֞&lj ͒G~zq/'{Z`ro$`Z9"F|Qe0Jt4υ0Pw86ĶX:D.ǦUn:r\6>jЬ6@ɪt̙KE/{(jDл=Xͷ FD(Q/'=o\?+x*F;9Ul&"Ҕj1L :c'5G#3`7ZKDUPAJm#tu5P[62]PuqT``P ʟI;ik0إVЏj@5!y:VUҕCq pJ$y IWI:TwU);؄,l09qPA2\_e-~l=CֹgZVکўΓp]OoBn0 s@ Y 3Qߠ)iS> ?!t M=acyj2G 7(}׿ݥ5TnSQ[&1&RkF0t'#_ oܣnUuqCZr|IjUFm܄p t*pm1Y󆋤G2a O:ȭ )ztq#ծ |D~(=T{(&t%Mɼ.%=Hp<~ͣ$Cpbc'Tc&Ta[T2$ƎD:Ǻ0-gSZp>ʼn/ɡv6jݤ*uoOK"(?Ez?IĀ-joP/$7h1FpWsTǚӗŢIE2J*,z^" vk^eu# 莖|tU`0N/| eWrJމj}=YlxpI7w@mATLg/ǫF%&Q`IGU0cF:.Y. $wΨ?y:hPlou| pB-"tCKqT/X䩌$e tl>\YQK@&NB fzНFH։@5!x x8O|8MK?I,FE,gK`((dO.n#XK`@ګ ӝo|Z54&= ?[ɌwI9rV%IA$~Y+x)3(I`` pǧ)a3ozғm> F` GGVA{0JPe!21m#8yYO#՜.^P}*[U]*ȨJ]u>/SJ"0n{c cJBz@*`^\P;eK&C@~NP-!DDI?{6-X=8lۑec:[@lbL1f7FU}9泠ɍ7+&T?nܒiPl!h!8w:=4뫘i<䘧ʽ[zdCڼg2| ?n+⊠WVuCxa& !HF0k0Q>Lc-vNNi*7"+i#C#˕%:@ ˠw+s+L6y,~~;|wAEj 6l)$nI3+MFEnGDC؄QfheT\ )B.=꟞r6:W bX[JqPT=A\^;R㵵 ۾L罻Y 7&.-c%6Cn)k>OIvnSut}[^䀖av'߾ qp  ݲOtq?HE|2T݅>IzS&oarpfޝ5bRIJޖՊĬE /|#\LajU/71O[yW1( Nre7~$Ǥ VF;Z!LU HTB"~L&\m{h%b{X7]Rg4yHĀyq_ULb@z]ҦEYϊ1zvzJ17Єחlm֍r|k8{J'z 3(cA @iAIm0Xc`> (dž? 1]v~?Z法sL,8>@Jg،@k(mOcOEgs EQ*b=˅^дGMvp*P A?G8=?BR_N*lc˥ [&ՍZN^]MOEa; Ǧ Bsfi8ks?GfRi<*3˨W鏗%'"2Jx<0_+) {V >jz:P4jHIp~ s+NYфVkyr4/ ANՉ:E=32jk N" 0g8~GKmUCoe]ERz0ܪ:—+? b~}7ސiʡ&Ti }CgriDA]D[ >KGd.5_cM|Eq͉VŰ0}m{F[4Ͷc~B)C4| 4] u6gBjm7T}.I@TٷHBȹ{$-plm 8 +7E_\U| 6skn͘e.r ),}m>qEa9rZЛ/V]i:s TˬgyYTzЁ KG*lA;~._1]|&;C8ῶF(T-\v]Ym$DP nLLTRn]*j8"5I3N}>턢of FQ22iN |ΚrȢ$e7k nl3)v9vpHk;0=~,ƭy|6|[`bsc+. #Zk*~:"5R2 kBm85XJtnX~T-$ʷު]"||&Y8%;71z%[UMJ-V 2ynw-:TȖg()2?R l$IHU/e .˜zCs t5-|=ӒAg t\8tfaopVS=n_)MM? V0ßQs_K+1I:#Q2yuLwxL> 7I}2i!x 98ڋR:FEzhx'*vث dT"x9 >sp]1Dcࢺ2nFY_{\|`Zފ5O[*> ь8PɆͳ?rWD8gY"ң8 !:EE1L^9 "2ͰmGb,w'6́v/E ԧʆӹzEOh0>h|yC_Ud3NLu)P7:MB q23; [#OW0KT+ѝ>dfQZm eS)}MlgrIh>gAu.SӕQսA@rg @BbУlyvՙsx?In4)|nw7u%pJP XLҪ 2 '7q)k΢'/u>tE옩 ZU\v++0͟?Pa @I [ZFXݟ `Ym?„^#w.,$l̼WVrN ofXQ8#JN}(]V;JX?*tq 2uϰ\*ҧ#(чÌ!ܥ.KcI,d:hq~yҲtlPj΋3q#L ΃,ym1B1ü$oB< QD]dz8AIh_ B \h.'(-?;i!t-'q^R\Hcmn Լ/+%?uCȁ_dd jw"* gIgR[(ZdAZmYhERlv]r#`:P#AMdUKȚ%<UuT kr Q*RAIU2q/R`w" 9Eau[+>H"2w {fzɥt@B6 Ldaja'2=Z9rLh|[˷myOU)HMV螥ҥD{cK(\T CN']_AID?OCjpװ:ܘL]Muqfq~`H3֛4|ˉjN9ybqrѿ@ 2&v 6{<|2[X۠[ 4UbMwR{]G`uݺЫ r ;W5;lXM jPvVGT¼pe4~䜡xBqs a!#٧-.ZDv2fF2CjMQSiJi}JzLMOa*4>vkL94fWAn|}7$"-s6 JtLv!pm筄=6\sɘr!C69r%5̷) YhD\z׮}F)0՝$ݑ>E9ބ贷YZXlY(xľB5 |ⱉbB6f@X ,{\-L}a%]S}˻@ж,DFd]:IXexd$ݔJȃ}[z?"wSqƷ|^ ON{$Vp4]7 9gz{F>}qa_Hv0}@/\"I8z,Ppu5ʚe>"<YL+,Mn$~E5&GQi&%q!"mUxҿWIJ`\ k32eƱ*Z 51iE-&QyPzNXF"T9ј2x0QA@vĞt.J ԲKSia 8`a^عR /Z~>h!'ՀDmlKA7)zRu eL^k-RqO n~N VTQ+Yuz+Ƨ3Cɾ [0KrMW+.q>'K#"PfЊRqaA䔣rRװ8Yϕ E"%egh?L.ە|j` !Tr'"VVs0"3KE4^K6ל%V{'ԝ9g$X$AץK;n2)[xzUVi8 'T}bz2:@jW3'M,2U'@Gg(n[s2i(:I(}V4l@ ܷ'z_GmzDWv ُshX74ߐ|/! @}8o#\ЗԔ tVa2}4R=|UEx37i }P3Vom ; FwT°9GO#^~ R=tU񆎾=w82 /'Oԇ2sI*[,<Qab=96]]7zYRaIQTV`ƻbf 6Ywɓ׆(QC/zZCTv:olh{ĉf-n!ә`Oc[>[֪ tW9q C7 lv % ڇ\N6U=h{>WՈ!MZ/szʰ[e ?EXvJ [L}^ ;/$fkR9bo7M`F/8nlc_!}lAx+i$xZ;75 `qTTȰ ==ȡgbb8'[kXZ >-7@i[u#3[bݰDeCOhOkUby CsbYAv𘢢zX xa\^@xr~y>q81Տ.[ XN9xhϭ;S=WҐWXJM[A'-SB2KelnQ?=G^' X5 j|2 `5na$B^b{kD=Nf%w pmH^(K.!ԁ KTg`=gT^858iOSdm P-Բ0R3IWQ/~7v1jEBqk85Q@)C;M"\F}2jxS5U]Q"ߚuqc%oupʆfsBqLZn*֩M4\Og\y,p6>._i ]w٧Eæ? ?X0ܩ:lvF\MP Q|ޤ^r@fL1tʌߓ( >.:dIDF')\8S__:PNj#! 3B*QUUGs*;$q5j\s1ǣ1SkHxfA'}1kAԆ@r{,UK> ԡ|2{]hKj9}*OETv́U-(4:4G/\ȃ?0"2fqiziL$". khų HIs_ӟxnMTAIFsx02p>4ѓS4{Թ3yֻ.! -DVkK2}b0dI0jR A!SyToڋFD<ע/vFL[eJ޵2Va2JP̯#o|H{Yv;6Nҭs~*z9Ga&V.K j5ȓjQ@LIp𰝮7z aŬ'bwdH7(|6V,MޡW$k;R~8eW}x tAu*J3-4 'EjOv4ξ-&FCY_ԕ,\CǟLdcY6MϼiE@d{㤑"S{zH`cMX0SK4MmtrŬhwIf}O43=KAw;4њY$V{Q:ppT}PV"0Csi6WT%U.S,=eDwy 觹K^T(JPy" l “3z"L(٢fbh3cuQH=Bz ۴ r3~:M5'cR%JI(Q!s?orLr^s|!/r!5YFKٕ9në"YI$/)&Iw/ aR]÷vymĠk=/ f>È Ex{VP-Hj]?r$vkq'?uL_Hֹ팩ݨ1u),qcEq{`tȾ9ۮGxӋ/|z1|(8jO"ue]r=FVbRF%BM0XM>ߘ4;tn) kn~Z#Y+Wi=XKI )>~LpPzZtg7z/󽏳GO 1ju &*onp WMO%['TJC75t#eG{̄ZO$'tmR$.pW$'yA[A0,.Y9z fYR Q&^MO2{K2XgHg ۤИƌ>&^{ c:}pN,%>+]htn8JXR3l?y(pw؜|r7$mH4 Qu_5Ju3:GԨ&WEɼ= c@wJb.wvP7uM(iĝjFZTEeSp{`z+`[3TJ49X{.M3$I^ȉ0U/Qhm {=wI?syZ)]O)X(!օQF=d8a/u'HOu3Y'E9Wtp̊{fGOW9M]ca{Q1_CHZB_N٩_ T% WGpmjPt]Gb+%c ͒mQ]ke5+~x<ٻur#m@!^>nxe-j#(\}Yqq sqiP޿rQ%30*1oɾVЦ)'u)bƭ`:@3!%,񏴉N ][9h`=ߪ qd)E&$Z?hhlt"k  kTKVd#z`;\]׌/ $mt >S9RqU~H\PeT描fuA 9&><;z#;@b_r RWKjRLQ@ziV>?n:&5z˵Y+N> r_5D٠DjW|eKhs:QEJwƷCn|.gi`ֶۮC%Q2/3 Q9D[c5eݺ{ÔtEDanEqWWF  Q,v`վQ j0`d)?WzZ&n].L;2S5PJpA=3ֈ Li,2M!>;Y߸yಓ-5a`ua:_W!i=&gM&K!Wo*u8:!oi{1=ZK s9 :WKOj"P(܊Uq TD oOym K6TCq %G؍⮊d=X3oW'y='wuhE(9-լR,#qF^;%7Psp>6ly22/7/E~]a;r" ipt*xX^w+‹(DL2AbT ڢb\4sU`sc| ̘Agc*"Z)1Tn2L)O=fvZTw}r4lD;ZF^W"9wX&h Kb;$BS2BA%Y]򭻅K