libbpf1-32bit-1.1.0-150500.3.3.1<>,qTfL]Bp9|@# YȧBur%1\1gpSXf9aJcP`."鑰V+uh\64><?<d # Q ?EL\d h l t  0( 89`:>8G8H8I8X8Y9\9@]9H^9db9nc:,d:e:f:l:u:v:w;hx;py;x<LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxx86_64/sbin/ldconfigfL]BfL]Be76334983313354cb63ee5999b0c4ae981ecd689bdba2cfa9009110dcfa97c38libbpf.so.1.1.0rootrootrootrootlibbpf-1.1.0-150500.3.3.1.src.rpmlibbpf.so.1libbpf.so.1(LIBBPF_0.0.1)libbpf.so.1(LIBBPF_0.0.2)libbpf.so.1(LIBBPF_0.0.3)libbpf.so.1(LIBBPF_0.0.4)libbpf.so.1(LIBBPF_0.0.5)libbpf.so.1(LIBBPF_0.0.6)libbpf.so.1(LIBBPF_0.0.7)libbpf.so.1(LIBBPF_0.0.8)libbpf.so.1(LIBBPF_0.0.9)libbpf.so.1(LIBBPF_0.1.0)libbpf.so.1(LIBBPF_0.2.0)libbpf.so.1(LIBBPF_0.3.0)libbpf.so.1(LIBBPF_0.4.0)libbpf.so.1(LIBBPF_0.5.0)libbpf.so.1(LIBBPF_0.6.0)libbpf.so.1(LIBBPF_0.7.0)libbpf.so.1(LIBBPF_0.8.0)libbpf.so.1(LIBBPF_1.0.0)libbpf.so.1(LIBBPF_1.1.0)libbpf1-32bitlibbpf1-32bit(x86-32)@@@@@@@@@@@@@@@@@@@@@@    /bin/shlibc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1)libc.so.6(GLIBC_2.1.3)libc.so.6(GLIBC_2.17)libc.so.6(GLIBC_2.2)libc.so.6(GLIBC_2.22)libc.so.6(GLIBC_2.28)libc.so.6(GLIBC_2.3)libc.so.6(GLIBC_2.3.2)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libc.so.6(GLIBC_2.7)libc.so.6(GLIBC_2.8)libc.so.6(GLIBC_2.9)libelf.so.1libelf.so.1(ELFUTILS_1.0)libelf.so.1(ELFUTILS_1.3)libelf.so.1(ELFUTILS_1.5)libelf.so.1(ELFUTILS_1.6)libz.so.1libz.so.1(ZLIB_1.2.3.3)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.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 release/bin/sh1.1.0-150500.3.3.11.1.0-150500.3.3.1libbpf.so.1libbpf.so.1.1.0/usr/lib/-fomit-frame-pointer -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-linuxELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=8afbdab729ea960bf1acdd5ec97937a633a59270, strippedthĩoW?ĵ#- #m*Bf,p>I)W$}ؓQN"\zBk:#(@O[ֽT7xRȁYwf 0ol(NwNɎȹa -GYe`|t*X,~YgQFA/$њfU)JA_E LfΩaca9Wנˊ)b~wR,re.K BjrRhj8"438l8[#Ry DJu燢IٝI=G]Y2}&_"N E:Lmdd=5d%,&l+-O7҅L2z]7rRH2a[tʄ2Y$, ~{q'b+ZRO_bc]q$il F6(J+Hѓ\"V7RH_=YP6{:5j7}/*hE w t!1s[gw+e -FzO'd<¢6-COXxy4DlN1&yMBçn@>dSN86χ&!^Db';7gВ)kτAL lDuv?"ʏ%πp0G uv/'l-A.U4T~sGJ~o^6{#<DŽTjiu=lW)=p$M >I ~v$]_Gs(72w:)T$ϛӐ<{Ie.$1HIQP1_`khR]1!g)o.H8ʦz>S\[?4(*D#ylcœ!uB6E>^R Af4UŦ!|,7Cb頹 5BTbPa 7EmEY}B`>0YM [mlY!GK'(!t2U1wfԽX/IavK}gu8tu$C ĢCArZxS/]:m+ @b8STƖ{ W F|+LHdR~lGk/LW?.պ/tzu6fy[Y5"!>LJ d!EG6W3٤`꾵Xָ6 6qS(JiE2V3 2#_Y_ݿ8 Oc쁚D=Z =k y NgIsOū3FD=쑋^[·vb{[22!Gp*@^xw"]HK.t}sl(h` ,9TBՁXt)0p{,{̒<,0I"='s؅3s~_pUYg7)B%9Gǹ &dBzdƑf Ȳ?ɴa4~4=k䜞v! lSB:%lAi8%K\GجI#pZ\3ɸTժ v Ŕ1$F\! 6'q~xP&`4h}~3$#>_mzu',wAh@n]M).je"g[3w"Id:C43MJhDR)\icC g EDp!te@`^^"#\@|:<3Q>@s0ƣIX,Rߙ!Gkro0r̽.MFN J0T}g4}GGNfl1r cL>g.T]v9&~5˚B_TN3|!Oaq`7_iEҘН w`کm,N9'r? )gh~IK*Qv~0Pf".vH3j*!z~p*!5Ȁq"Ncbg{,("Ror@[W!_;͛,"t/@>3a. RXHJtԭ| 5B/ E?яrҥƒ0NQNQ˄Ob`2~%ҕUe#mx=lb~,90<@].Ϙ a3M-xSb2+R΢|H:X rK- Oaa)QZeg LV;^uAj%njxȵ$b=% KL\c9兒lKU ]0sJjru=m41wⶣOÇ!dEaba{v_o7I#n%JkyVigo1;_NGdrC+6b-[ZhSr8 T-&;l:/ٛ0ʯ fŇS\WHv97K\ALɘ3ʫKUu*'c1ts.،%hا`d(0 #Akg!ie([{L`D!yPbUsӳ/n צ9wTjxg`mgo?j)\Pn \ӆF0 /b(,t"7?ϝ'dvůNf`3T[Tk& Hl&_dlxxc /|MM>&" 1}(tݭZ<ʉ=w^/Z#p&&UZ#˼ AHX,BT Q&t ]:e۷୦dn;'6K\u4c=4@ [mhy"x jEҷ#HEve;gRݖSR~63$T#i|mfxٯbqW\d$PڞPT2xEfe}"Xx5|#d}Zxpn}D.VR(>lZ&P䅋7dPb5QcHe l]ϵi~Q1Ooґ..D4rgZZM{*$Kz /P&1IBM (~|Nș=ݒubi2R9>S9nY` ATzVnc_wfPס e&t 9+F7 M-}$,۠c[L ; |FOyNLM܉/q xڕ 7`I17Ă9<Ԁڜ Jwo vze9b4y9$ڻ =W3?RmCj44bH 'V;gZXk}ÓX/H[ ]07l(N:LhVa.Q`ofpz{|_?>>1mu6e:eLc 4mg??x ȵE N}Jŏ ӃE)"8|!&ޡvP}ࢠ|ig݊ բuu*˞}>n] 3H)rCi՛ nf2¥t '65? j!;s5y߯o/y PIc%J;=!I\/;+ϓE3z,~DS~XUwQT`}޿Cπ/^L⇆oh44BfN[`uwfwNB{Dh?px25yN?PizD6EYȸAolvhfha;5 vҟm(J,6<8*E4rQ&J%/1ljVe"pY$//#w; r ȈVٓy:tQrIQH?x6rX9QDX#0~ԡ B s}f \!MɚPaKmi~e'g^S06ɱ]2%qlT'.YjQnEs?; _)M[rεS_G 3cH7$Ɵ 2-Vb49&7čE )dϗfla&:ҵePb#mN?P})X/Ѓj4xNX:LP!v$o) G sf%D4@T!r\Iy|LqY2&"]MkƱ7er9.r.Ō)9)K?/P w[u1hrc=WJ(ua1_nܨbuzWz?+ɒ.*cM&wG=ݔ#\ 0&,۴7Sogp|A#rJi0'ɢṂǞԴ.~=< Pm9<Ǧrhf,F%?R^xnArތTTDAnkKmvd#gMsKڡpNND*!=$rBj ƺr0s Ohw] ő`trgMfW9{|xoILn)#[w[zUvYgƒ)2&x$<.|[q @<bec:o'^MI,B|^tC?溅UźYibǤP#算๤!➵mQهer®+ƶִaR}HΊ# >BUqQpO^.![D _DJM0`"9 .%ihgROPP6/7ǚN[Ih^q*CKc[7e)OvӼNBjW*BM& T ҺsaBcEm TfcU$N&꿬xYqxVovu<4نcɔ,7SݱqLH±rYCcZZ\j:Ә<uF{bYn;v({:4 f,`g N ]hM[E!~ik8WŞ)T*΋,Nׅ`! ¥~z8J05CgS d?m9d!m 3qQGv|ʔ\`{;_SLҗhVT艂lM΁T]. ǣKCX3CMF=+'3",COX3m +K&s*Z6nnIhYZj{t>XoʮT^b s{Bcޙ S81&lE'Q?goPP4)5Ͼ ޙ.-A $=ט㫁Rq_pm ?ɢ^`a筡wc6ރ eȠ2k7u^Zlgg%q^fmfɝN1hq`w!2^LFSG)+]+v]GmY/5IA8).)P꣢­: @w謈]١\ӸW ꓻ6;UҘৰ6Zf hla<ί W͜ Xή*9pwl0-z/Z/搉H+0ӽ<ܓj&2QQ2N~ڝ J@@7 ֻK>)l d;]f>#6Q~)CO7U39 H^V-GLZ3fSZ! PymIޙm'/AOEd!=dT ɵ5/F0; LܺkЎ; (j 4Yc{0CeS$T͠2U Ijlx{^ӳd98,"]b̓AcpL3\2g4@M] @d6pVK|E4u>MOJ ɤj*t6;~yݕ~܁?&7|)Ӏ.͝gB9N5FF&bRXK=O߱tbD?6/Wcu^b7G"Jއ^B b( (hl]O|?,~9WܶqrOp0@D utGn(K9h 0/ rF>¤0?*_*nj:LfWҎN(gG%x:>s,h#) k[ho CP*ٽLϷCk6{DpZ/5O%uoj]ň]nrz3ޞ]CX2sJ}fn9#@sXt" #N !KW ;_$2ZE{&HLWOO8/29-Bִ1s =@ OСL5I`cpʒ!=WeQŪ2PufgƎ!:/F 0gqi ^?T0_PĎ YM8),NR ha>/g?#*L䞮m*Q"~rxh?j<.4!jDxU C<O9{V͆u^l}&uVG>?Ίp6I$-~+U<'ZQ탰vkdWc-EI"*`+'+eramN8e }y9_](4G)+CjH}ȁ0TYpjƒט̨c`?:R`(A~#j" h\cj:˗Kk \!xbNCwFʉ4+O)u+U@1=(ҬٯYH6,u*U@/ܩRz ˈe#?ŻR>iN߈"jSDʿ'\͍ xMz- Рy4gubjd!g^+}t?:E8 ersˠ]cO?Q5tEffR[_5f'38_I=(2z^v1KO@ګrE\'$=J!TOVGz:,#Ge *ӖNVRǝAWN:9c;F33,.!D`i*M|?BidD]Lb 5C~3b)>u,( I/0J a䕶6<y[)R7NO(e/Vn8(ޟb)QX7/26燃5Ge!'3A ]X LeHK2F[C=b'\q;?:խj J.9ٙ,x}lC-4^֨M'(Tg(IYtB3o[ |+qLJ>^O ⩢ "h7ѩXd[xG(u+"5<9ާK88VV,61m j,`Y9 YZ