kismet-capture-ti-cc2540-2021_08_R1-bp154.1.28 >  A b|i!M@eee+ƒ1"Y@*8=&AMv2p>F?Fd& 1 X$(48U^o     ) ,05:`dp(89:FCzGCHCICXCYC\C]C^CbCcDdEeE fE lEuE$vE(wExEyF zF(F8F<FBFCkismet-capture-ti-cc25402021_08_R1bp154.1.28Kismet TI CC2540 (BTLE) capture helperKismet is a wireless network and device detector, sniffer, wardriving tool, and WIDS (wireless intrusion detection) framework. This subpackage contains the Texas Instruments CC2540 BTLE capture helper.b|hobs-arm-11hSUSE Linux Enterprise 15 SP4openSUSEGPL-2.0-or-laterhttps://bugs.opensuse.orgProductivity/Networking/Diagnostichttps://www.kismetwireless.net/linuxaarch64hb|h8121b62ea9a25471423abb34d0e534d69383f47c4d30a2f44a0d91dcff7a393drootrootkismet-2021_08_R1-bp154.1.28.src.rpmkismet-capture-ti-cc2540kismet-capture-ti-cc2540(aarch-64)@@@@@@@@@@    ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libprotobuf-c.so.1()(64bit)libprotobuf-c.so.1(LIBPROTOBUF_C_1.0.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libusb-1.0.so.0()(64bit)libwebsockets.so.19()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3a `;_@_v@_$_o-@_gD@_^ ^@^@^@^^f/^^O@]@W{@W4Martin Hauke Bernhard Wiedemann Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke Martin Hauke ecsos@opensuse.orgMartin Hauke Martin Hauke Martin Hauke Martin Hauke mardnh@gmx.deastieger@suse.com- Update to version 2021-08-R1 Changes and Updates * UTF8/Unicode support in the UI * New WIDS alerts * Kismet now detects the VDOO RTL8170C exploits, and "funny" SSIDs that attack Apple products. * Small tweaks and improvements * Wigle CSV files now encode the Kismet version in the upload. * Client names are used in AP lists. * Initial support for environmental sensors connected to Kismet. * ticc2540/2531 udev rules. * Minor revamping of websocket timeouts. * Regex filtering added to the wiglecsv converter. * Quick copy-to-clipboard buttons for some common fields in the UI. Bug fixes * Handle URI parameters more correctly * Don’t spin on "Loading..." in the datasource window sometimes. - Update to version 2021-06-R1 Bug fixes * Another huge change to the threading model. * Fix kismetdb_to_pcap on older kismetdb logs. * Detect version properly in kismetdb_to_pcap and query the tags field properly on older logs. * Handle db versions properly in kismetdb_to_wiglecsv. * Detect version properly in kismetdb_to_wiglecsv and query fields properly. * Handle nested WHERE in sqlite bridge. * Handle nested WHERE queries properly and detect malformed queries in the sqlite3 bridge. * Fix kismetdb_to_wiglecsv Bluetooth. * Handle the nested WHERE for Bluetooth devices in wiglecsv correctly. * Other minor bugfixes to errors, terminology, etc. - Update to version 2021-05-R1 Changes and Updates * New mutex and threading. * Multi-core packet decoding. * New 802.15.4 phy. * 802.15.4 is now decoded and displayed in the UI! While many devices report the default PAN of 0x00, it’s still a huge step forward! * New data capture drivers for the Nuand BladeRF2 with Wiphy firmware, the nrf52840 802.15.4 hardware, and killerbee 802.15.4 hardware. * New alert UI. * Alerts now have their own top-level panel and are searchable, sortable, and have priorities assigned to them. * Fix Wi-Fi on Linux 5.10 and newer. * The Linux kernel changed how netlink messages are fragmented, which broke how channels were indexed. Most likely this would show up when you had a number of Wi-Fi interfaces plugged in at once. This is fixed now. * PcapNG GPS logging. * New custom blocks and attributes in PcapNG logs for GPS logging. * Shift to officially requiring C++14 . * Support older libwebsockets. * Support ADSB HEX export per-source. * Fix datasources in error state getting into weird loops. * Datasoruces flapping in some error states (such as devices being unplugged) could get into weird states where the UUID would flap; this confused the logs, the datasources UI, and other spots. Properly retain the UUID. * Fix datasources getting into a no-channels state. * Some combinations of errors could lead to datasources getting into a state with no channels, and never being able to get out of it. * Fix Wi-Fi pulling WEXT legacy channels. * Default to WEXT IOCTL legacy channels when netlink fails or returns no channels, resolve wext channel frequencies to channel names. * Fix several thread contention errors on data. * Several objects were shared for serialization and not properly protected, leading to subtle corruption or outright crashes at times. Those are now removed from the combined APIs or properly protected. * Better error handling for TI-CC-2531 and TI-CC-2540 . * Handle soft-resets of the TI-CC-2531 and 2540 802.15.4 and BTLE chipsets gracefully, so there are fewer errors and resets of the hardware. * Add Bluetooth and BTLE to Wigle exports. * Adding a /&censor=1 to the Kismet web UI will censor all location and mac addresses (to the best of its ability), making it easy to take screenshots. * The new webserver broke CORS negotiation. Fixed. * Smarter handling of HT/VHT IE tags. * Fix error timer initialization in datasources. * Don’t accidentally kill other timers anymore. * Add new WIDS signatures. * Detect CVE-2020-9395. * Fix up HTTP header connection states. * Add fetch device, monitor device, mac search APIs. * Fix eventbus websocket errors. * Expand buffer sizes for remote and IPC capture, this improves stability significantly on some platforms. * Many more smaller bugfixes throughout. * General improvements and changes to the REST API.- Update kismet-fix-build.patch to drop build date again (boo#1047218)- Update to version 2020-12-R3 * A bugfix release which solves a possible infinite loop until crash due to how GCC handles C++ templates differently than Clang.- Update to version 2020-12-R2 * Fix improper assignment of system endpoints to the logon role instead of read-only * Fix broken implementation of legacy TCP remote capture on python-based sources- Update to version 2020-12-R1 Release Highlights: * All new ASIO networking model + Kismet now uses the C++ ASIO networking library. * All new web server implementation (drop libmicrohttpdd) * New role based REST API * Remote capture over websockets * Huge RAM savings * Stability improvements * Higher performance web UI * New websocket APIs * Better location averaging * Improved channel and signal mapping * Improved 802.11 WDS handling * General improvements and changes to the REST API See https://www.kismetwireless.net/release/kismet-2020-12-R1/ for the full changelog.- Update to version 2020-09-R4 * Fix a false “login required” error on the datasources panel.- Update to version 2020-09-R3 * Properly show messages from datasources * Properly show error and status messages from opening datasources, which previously were ignored. This should make seeing errors opening datasources much easier. * Fix bluetooth capture on some platforms * Some platforms / kernels / setups appear to not enable rfkill. The bluetooth hci capture source erroneously failed when no rfkill information was available. * Remove 221 IE tag subtype match requirement * Remove requiring a subtype of 0 on an IE221 tag for matching the manufacturer of otherwise unknown devices. * Fix potential crash in datasource panel * Fix a long-standing potential crash when the datasource panel is open in the UI caused by a race condition with the constructor and callbacks. * Fix race condition in launching datasources * Fix a long-standing race condition which could lead to some datasources not being opened properly or their types autodetected properly due to a race condition with the type probe code. * Increase precision of some doubles in JSON for GPS * Found some legacy serialization code which reduced the precision of some doubles (double-vector) which would cause GPS to display with less precision. * Don’t shut down messagebus processing thread until Kismet is fully exiting * The messagebus service thread could shut down before Kismet had finished spinning down, causing it to not show some of the errors causing the shutdown. * Fix moodycamel fast queue for gcc 9.2.0 * Merge fix from cameron314/moodycamel to the fast concurrent queue library for compiling on gcc 9.2.0 * Add new device locking API * Add new device locking API for internal range locking of devices to better protect records during updates between threads.- Add patch: * kismet-fix-build.patch (revert 3c8f8d83) - Update to version 2020-09-R2 * Save more RAM! * Fix a very silly error in kismetdb_dump_devices * The kismetdb_dump_devices tool was broken and printed out the JSON twice, generating an invalid JSON file. * Tweak how IE221 manufacturers are derived * Look for some specific AP manufacturers in the IE221 tags, and then fall back to using generic 221 manufacturers. * Fix packet RRD in main device table * Fix the packet RRD in the main device table not scrolling properly * Generally clean up compiling and squash a number of warnings during compiling * Fix a bug classifying some devices as APs * Some devices doing an inter-ds communication (like a chromecas and a phone) got flagged as APs when they’re not really. - Update to version 2020-09-R1 * Kismet server auto-discovery * New SSID details window to go along with the SSID views * New “MAC censorship” demo option in the web UI * Split advertised and responded APs * Significant memory optimizations * New optimized internal field building * Optimized “multikey-as-dictionary” API * Verbose output on remote capture tools * Expanded ICAO databases for ADSB * Compressed server-side ICAO databases * More memory control options * New greatly simplified JSON generation and parsing * Support for non-packet scan reports * New event bus extension to the Kismet helper protocol * New kismetdb_to_pcap tool * Configuration flavors/override system * Packet rate graphs * More manufacturer indexing * Optimized internal map structure * Lots and lots of bug fixes and minor updates- Update to version 2020-04-R3 * fix a possible crash in Kismet and associated tools when compiled with GCC; there are no other changes.- Update to version 2020-04-R2 * Bugfix release- Update to version 2020-04-R1 * New web-based UI with searching, device notes, realtime graphs, and more. * A REST-like API * Expanded support for non-WiFi capture types * New remote capture * Massive data set support * New KismetDB logs * Multithreaded optimizations * Kismet will now take advantage of multi-core systems, both on large servers, and on small systems like the Raspberry Pi; * Live packet export * Packets can now be streamed live via the export endpoints, as a pcapng stream of all packets or with live filtering by data source, device, and more. * Scriptable alerts * Alerts can be defined (and triggered) via REST endpoints- Install plugin alertsyslog.- Update to version 2020-03-R1 Bugfix release * RTL433 changing command line arguments * Extreme memory use compiling bluetooth_ids code * Fixes to kismetexternal python code used by rtladsb and rtlamr * Fixes to handling “weird” rtl433 serial numbers, like 000000001 * Fixes for ubertooth remote cap * Updates to the kw41z capture code * Support for multiple phys on a single interface * Fix for buffer size calculation which could impact gps handling * Smarter error handling with channel tuning failures * Support for CORS cross-side negotiation for running Kismet behind a proxy - Introduce new subpackages * kismet-capture-ti-cc-2531 + TICC2531 802.15.4 Zigbee Sniffer capture helper * kismet-capture-nrf-nxp-kw41z + NXP KW41Z BTLE and Zigbee Sniffer capture helper- Update to version 2019-12-R2 A bugfix release for Kismet 2019-12, R2 solves a number of quirks which were quite annoying: * Solve a race condition in Linux with interface naming. Due to how the nl80211 layer handles interface naming, combined with how systemd can name interfaces on some systems, it was possible to have a race condition when Kismet defaulted to kismonX interface names, resulting in either errors or Kismet ignoring one of the interfaces. * Solve a free on an unused pointer in nl80211 vif creation. The new vif creation code doesn’t use the nl80211 flags sub-message when there are no flags to add, but tried to free it. This could cause a crash the first time trying to open a source, but the second time would succeed. * Fix TICC2540 USB devices. Some systems were very unhappy with the order in which the USB device was initialized; now it should be fine. * Work around the very broken RTL8812BU driver. While we don’t recommend this driver or these cards, due to a HUGE number of issues, Kismet will now do its best to open one and get it into monitor mode. * Much smoother operation with very very large numbers of sources. A side effect of the vif naming fix, interfaces are now initialized and opened one at a time. While this may take much longer to open huge numbers (dozens or more) of interfaces, it is much more reliable and much less likely to cause Kismet or kernel problems during the initial bring-up and firmware load of interfaces. * Minor output text fixes. Capture interface and base interface were swapped in some messages to the user.- Update to version 2019-12-R1 Bugfixes and performance boosts * Remove OpenMP/parallel processing; this resolves a massive CPU burn on even moderate numbers of devices. * Fix logging bug causing export of all devices every logging cycle, instead of only modified and new devices. * Revamped python-kismet-external using asyncio to prevent a large CPU wasting IO loop. * Bugfixes to the Linux netlink monitor controls to prefer nl80211, find existing monitor interfaces correctly, and to work on devices that don’t support IOxIWCTL iocontrols at all (AX200). * Switch to std::unordered_map hash maps for O(1) lookups whenever possible New features * BTLE packet capture and basic device display, using the aUbertooth One, CC2540, or nRF51822; * New SDR demodulators for ADSB (airplane) and AMR (power and water meter) with no external dependencies beyond librtlsdr and python3! * New ADSB mapping UI * BTLE support in the UI * New formatting options for ekjson to simplify export to other tools * Device present/missing alerts * ADSB geolocation * Detection of CVE-2019-17666 RTLWIFI vulnerabilities- Completely rewritten spec-file - Intruduce subpackages for the capture helpers - Add kismet-rpmlintrc - Package systemd service file - Remove obsolete patch: * kismet-2011-03-R2-makefile.diff - Update to version 2019-09-R1 This is the new, MAJOR rewrite of Kismet! This version changes almost everything, hopefully for the better, including: * Web-based UI allowing for much simpler presentation of data and compatibility with mobile devices * Standard JSON-based data export for easy scripting against Kismet instances * Support for wireless protocols beyond Wi-Fi, like basic Bluetooth scanning, thermometer, and weather station detection with the RTL-SDR hardware, and more on the way * New remote-capture code optimized for binary size and RAM, allowing extremely low-end embedded devices to be used for packet capture * New logging format which can encapsulate complex information about devices, system state, alerts, messages, and packets in a single file with simple tools for extracting standard formats * Pcap-NG multi-interface logs with complete original headers, readable by Wireshark and other tools- Kismet 2016-07-R1: * nl8011 support is fixed so finding the vif device works again * full 5GHz channel discovery works now * memory leaks in the drone are fixed * some ncurses compile bugs are resolved- Kismet 2016-01-R1: * force validation of fcs by default for all sources * support for recent autotools * fixes for crashes when alert backlog was set to zero * fixes for failures in some VIF situations * fixes to resizing windows * fixes to GPS averaging * fixes to Radiotap changes in recent kernels * add WPS state parsing * handle BSSTimestamp parsing - upstream sources no longer signed, use source URLsobs-arm-11 16523204072021_08_R1-bp154.1.282021_08_R1-bp154.1.28kismet_cap_ti_cc_2540/usr/bin/-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.opensuse.org/openSUSE:Backports:SLE-15-SP4/standard/0c74eac82807b782f0219f790c0a0011-kismetcpioxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a5231dfd65da8db3dfa430116f12ee0648235c95, for GNU/Linux 3.7.0, stripped RRRRR RRRRRR{Q#)utf-886a8b2df6bb055868d5373eee3214b32d90d7d2dce190fb9c6c69d36429593b3? 7zXZ !t/s] crv9w Wm% 2;N+~ŒuZ7 ͪxsiv_ 8v.s&Ǚl! 'u0[~إ4)kEAɞ)ggJc__՝tKk|Ccib%ytJBk᜻~ZڦQj2rߎB "a8|mqj B[" n.2O$d ޢeiaGѠ|R`}tu֡Z 5eKCS|flcr sWY' aUz( IBJMqY:S2&6&`j %V0VdZIDsɄspj;1{U?%xļ&ApVU 0֤|@&4IY+J6Jy6GPbꡰs!35qeȿmmz\Hr}3 IfV*޽\[uYxfOSE ,}pC>t!34ݸ,PUdMei\a{ [I(1ߋ*#dȢ{_ AzZ_=p:~%Vi ⪝(|j5 N/;pFs2z4f +$J¨=0t9v>ՠ\]L4*Gc2{Cl m2"󴨩I`yM$~O̫S3?P/2' R˰`:Np*&a.cƍWvTmto׮OwELM`ׂxQسanƅ=|J7"ek}5|}$gh$9rGٕ͎3Y> 4U|֎PWw/Q9AU$8&ɌϤGN,K䥰"m@#oXt>($:5 &m(iiU{&I3d6ĚUn|%!\#7_VݲP)z u6B./jّ.5 ?_UuKFow~kDӒGܽGsH;{bOm s#=HBPŹ[>W`_ /ReV㩱c8ʯ?8T;X<[ysƳ;0Dׅ3qcx X> zʺuV ǻ 0&ԫ%U(?k&+MXSy] ;Z)Oc ڭS"n/` 9iJ+g5w\e|4w)U|aj =^a&B}t i+˝O`@Ul&8lS`2PaZ3ibu(&,;llW%@x)^.pNMцWӺW5{f]E&"+{c8z߽{ڃ c2Ns[[Q*Ehzll@3 }CB>Z4zo'/6.&D oM$KiSe-g 3EHZ 4MJ %' eao L!˖A7wJOXe=CĻoIxYÅq` N3EbE43@j.֏U:V [ 5ՎDX<( W=v&ɗAb#眱vUg! l `Z2tNÊ+ZD< \}y+Ea Wqِ}w Wxu&lP YeB,i(>9\dyXWeN/.Hjyc;H ؉%թtZ WʧC7įQRzw+fPQI'hciC'6;̛Avc$[7/ֆȥgC֯靻F`5h54дKj>j+pVPꎯ2D-PMSI@sD9V? 3æً^#O[ʉ1}~5!)Cg[ zDqhe"(S R&+?`U\ רlq]uH2%$jVI"z6;7zg #?t!(C:6WԳ "t4+Be .yI߉~Xi r"2¦`oh΁$ia[1tPbƴќ(ِlt#ieL:>ppũy9UJ۰<[wyK}#"`ni< {gQu8h 9Ofڽ7" 5U}A2فä.@$VEB4½v ci,x2,p'_cfa\Q}o Ш.Jk ,V2k[2qU^.c$Wj窲-0Цc^3tOB\ق\ "NrMZ|-iLSؗ婝y2f=ôPe_ު L)' P.=R,OsЏg}"nk{) NO Jl;0gYҝ޴FfǎH§Y l ƹpmF:DV&Q]%1 :@7(jRA$H(]xbǴD@[TԱ&7Aҭ;Q.‘˜4ԛLyONu`ߗ|~+n?Xz=ҝ @Xk](왋0cu6⮧p>Y9u7t|ʕ/u}e}VK@/ ?vKYwT߉{МlKJ\xT}Ib1-!Ec0"TNtk%2)'8eF%ΙX[D036K}p`0ծ5oZ`"W/o|ta/q"37_w w8I.LQeٛk`8 ^fre9?z;Z6ZCr ]\W|seꜿ~o5phbQ{~:=uޚ]i-CUTcyCtq/9s;t}S6,`".¡>įҔfGѯFƆ8-6yxqw$yĘc3xj0XS(Uj>v5>PB3㾢/u9Lg\ d,3g{}>p/=/u?*m*A)Uo魲[8%TkONb?S 煬I@sCJr>aX[dIOAFx:v[+*NpbYU+>:eZ2u]sjALus Y vK:׵.<Պ> rn1 ZZ8샌`)1iiqTM1 9Zcƙ}f_`=09IIY(U5O ib"X$ ~I|xBPuMlazw4WUAC9ge@[ 86pOgN1sf}AzWM|\1Q(  "E{O3aIll\Ydf KY7`2m>ZvV|ڥ4{<8Jx-dfA()jRྻF{zzW1] 시ICuzs끯#"m #$v,!c׼f~$opԀs2H~oՖq{z|HNҸq 6S ||@y0Lf Җ"~|+|ԒӔEr|9"/]ʰ~N(H]\czu:K(7}XÂn7Do2&tվ]!*ޥO4vVl6MjDVzU/Fc1cXEb}ʮ~ 웯^#v#ZBU}jLL |j#C+}M/fܢO*y摖=HNG(2EOQԘZz2lJK`W!\i'uTsa {t3Ay[\L;5yŚTHHY]2!N]b.۰w42ɨ;S}$0 ko~v$%d`kQmf!CNz)ORcU$]LJH+[Cr~nWrftGPISfgDBiRO#b&bظvKFѸX-{=NSF??:0'a1˝YE[87Nrn۸#|[l 2p$~]L_qTjUW$3 Ԃ<{;o Ldhut\ھ rYllnԿ0yBܐu@ j{ V N<J@^'uZBH0fͱ{X-̊{;͠S|Y>nVx&INLg'sgC2B^!D˫#5GHyx',5ԣ8o=ԩ/jzJku.VK^XeN`sO|: >s[A Pgi}fFؤDnM0kуhs!EK<uלl- K=:cQ&LmmhfDwkәs,9l@eM̽ 7U{ "E6Bb}r]! <2{pЅlO؊Nܾ2Za| f_npYK 6y;契/u \pbNU0@q^YVD'FDNt /&_kjgV37ȏ1+omrBk|zjH= 2O2E:?k vz۠JU:91"& =19~$ǰpo䅌e*8:RB`$"RIR Of%F<]!--̬Zg'/9+?!Y.!lCghiRjH!A&P]FZ]]O2y@ec /w۩/# ̮>RH !J㯑LϒYxE\=KQ䫕c |ֿ'0_JysU\do\o) uN;$0>5c@ U0"V-|k{oX}*A,U K"<.R )෱ VQ{x$c5R;,y| Yg 3gFO?ESۧ#҈`ru2]JrRRE0C zvlrL@=mLRvs~1Ь uQzLR~N~ 3]}rd D,vICڶBz7 !~uUhyTjA1[r@.shs }.=?f=Ѵ] <Џ{_8!COЫ40"1|IQζ̫_|˗NJW& o^ǼY>9,N'5K:8Ub~P7WhJV@n/lY2PXwĸ]G>ړFWTи1K}lE1AOFf.`U$|t[-&&;o hyj1Z?kr|}/!0sR6M/λe7:3F:=F6a4Cb!]On8YɠB`K$ qDfϐD;(] Y\e C hA^9ökc hdCj$>.H#*yݚ 4M*$#ze.c -z-;2 t6Znv`{SDJ[0@OLxI.mMJѕf3b^;6!Z4qĪߺ*ge` }~Y^;)%crG?#v$@˨0DQXt{+×:ȀݦM!x56%; Zz/yAUj"@dnt;|V*<Sa+PȎiAeg'Dz;3"SHMasV]_ H6@A:eLvoӂ&:E ;˟tsK6  )\SfWY>_>W%<{b>u<;LݱɊ yvn4t{8Dz;HFf76>E ?VQ h/ p# h]%LA:clV9] XF rQT?Ow*9AFW#XFd?Mo^T«rlyll(cͰsVFG8 bNqz*,3mHV\&myZ3^GGw]Ӆ C5:)L%||28_Z9V蠹 : $nRGcyZ`['Sj0Q=o3ϕ\7n`x&U&ǢnījuX]ׇ)faQT'0}'Nn碹}.&4[<řv" BV|hdL#٨MPGa daН?}zR z;&z-5(T#,YR3FTe"2e(+?vg,<0Xv h)l ,5tjbE@ͮUy+B 2PGof 0)"$$=!X]J-M޿}Ǎ6 $JC$lV$oXj?99@lX 8t}Qɓ\b]D Ʃv CL㰡:r<{?ZΈMB{U:R>>wOը[Q݅Y^$K0Ԫ>qb '~_.4ﲠO3 b vF(sv&9aZ]JZ;[[B1*{s9K - TB%l{؋Lpg uVqbhbށ "a`a+5}Ж@٨-Kw T~8=,i|6ڼ]= ސ '|CPnFknE`]ד6ASڵ h5~kg*,GwUb*vn1#mr"{/"D&gOΌY0=M) /L5CBia_x"LIj"‘sf Jb)E'q^+CKQy{yp41BÙzF[2<( ?3&;RN'N5ɟ|.[ǔگk8'SC\zh<}M];S~(_{?)]y3DbP w|~99]3UxBJ2@Nk@V0Tz1"{2;Lwal)@ #s#}۞8]=[#_8bf01@<%Rpz@3"cMv?o-,+kf*o:{;CgZvƨ]oS cDi{rIm%QFG$}.l6CY6k:ԅd ))ʃd̊}"aK37r (rWԛ=Ei$[? 3SENĭRi DQ'UI4ճ^| λ/Z/8 \^4;Fj* }՜jp/Z !8_iAxS|Z~~#eޛ -;i((LsD 8+q勷||HD\¿8,_H~0md"ƢN'iZהY5%g1u^&2fL`&4"5jjVg8˔"׍V.]ߐ8FOW' G埴J;NV2tI7QR<>eh^{-jO~6hG-Y19g46A"Y`#dV-5"r"YyVQkT`m{RĹZţ90T;g^Bvcɕ^Ht9[`WJHBJL\o.Džd5 cR!0o8Y ʽV .I)JC녶8ՈfX(CP 7ؤP@}\RO[pJxi /H`^~)O!E7_K4Y7HJ!eyBи/>6:`2\Zs56!9Z7}^&֠\6p:ī2h5 3F(hZu]gK9' Dد1 HXZ׃_=ş)ʁcJdЏ|F8u7 9C qT,hfh-l U]:r-wel;EWA!xv R5W1ھX&RTyG0g/C2)/PGKC7dt:-W͛L*u*s*KP,tpajTQg7 s[ym}pdpEo?iOI߅1d^#nj?izzsHU[TxB[ ؆Ѽ블X rNcZ  b%TKEȥg\5ۜ؀H$ ෠kb9r H N2'y wW i$mS5_UZ7E*ՒX8(r%09\=X94@@?y{*N,[25TH5=ɗNе4miYG8oҘ]Vu wVh& Š}-eL ן#G:+u'ΈXAk+g%ڜhgC;1$>J.E`[_NRg;w!,-7n( @蓐˨S[HS=XN0b_F0QL=Bqí ІXU@ wpSX%B킷jt׻w1IniLX`ECxUc{=Q:iiRnT_A;P2MT>.T뼏c2 LE" wՊJ"Y,}Ku|\p'-z@f eڋg8J kPaT0+ 5l@S@6?m:ˬBAed P1N͕[rGO2 ?\.W&',gy/kngGZײ8Aˠ7I[jۈɵQ \klDӯ'ZF-Wu*I,wUez־L'{,^`YD9f\ÿ\j0w1',(> 6,>p hY|lK)B/=>ٶ 㶡V[knúgfL S-䡇s崝&-O-$@;E[NMcV /|Dwĺ5DŽݕ934[srVxYi]v!< yc[OCmA] ţ0U4GRwX3KH}B7E[ nI[Y8^90^G8;wMCڙhnVܷ ֒3  72?[m;Fnofr:Yx-EIeR)2-7>*h8CӒ姆;O҆ њiUލ>n_K K l: 9YDbkѾ՚1TMT-oF) )HW_Y׈)/|ys'TkR.ԇZ$hGڹT}.r$cEʻJA/ Sle4B0)>ͯ 6e[-IgttdCv(ԔR/U-JfuaRKxomL#lD,~54R;OjM2f~ ~=_{ecϹ~S5dO.2o-Bv=2Hx`4 kjs?CI$_+bSV5nVIi Fv:ˮ+>Nvnqhr>s1ƹ~iZgVؘ~w0b 5#uW|mL%}vD|U`9CAwKHz"GEVX<چV[X\kR5ϙ#fRJ9f|E'\4iZH gd. R+|:ıܽܦ;S7`;)i UK\ZK>A*T RݛGRૄaĈB[E}g(Z7܄LNBcd63a?ah3u+cK/ɜ&%qcnG^pe|}eG1I_gߐ}^kjV t >c_v.qfI&P362iuǧũ[xLCIiv$oc7Vʏ#Z)cLdlhkɷnSrWk1L/',vjdQX7!sBM}ؼJat9ʏ n}6b, HDC+ !ġP9%0L*8!%%j8O*Ƞ㜇o Dئd¨QUׄw'icMᳰMEyrU"]"=Q<>M0{5R"慈r'ŌVeLe_\OQ9Yb'\&Io @tn#QD>u9 ^nu SS}u" IuBu≌"85kOŒ~!KΆ*LeH(dR_uP!ە h^G]OYYpfp=#P&8Ʉ K\pp,[`q a0R{8U/ٜ)]Gٷx~ #yQZ1z]~QTbt/Jrb !;uWx$ a!b}<FfmCȵ!CNn1+E3Bk\@ jwvD0+.N=EAc:`0Fýw)5ͦ+sri_'SَK 'R6BXP TOn=|{g;xfAo瀾'lWxjo/ NN0kwZMK(x ոL_Ƞ=xHU'A"(R[A0L)?9.YjSWDP=~$lJ$)1en fmOS\G?|j+LV!kבPB7rql.(`u?lj,c ~J5_/kZbgTi\4ݑMnQE]uxkז_,՛RDh\·VR X&i55zAUNd)G1mWꗄ.JXmSpwԬ!ïeSp#oɯم.;dD,9w? W&Nm\,GFƨ=͠kt8=L&(zE:+t*#ϲUj#y/O Dёbj6UJ~M%'t~k y@l"dH>ۡL 9ŗb$-D݊4ܰ9҈GMDgtBu"I864b'2~H͞PqvU[̺p>]ݿGXҙxvZ?@ƗR6[t$]lo_me]5Q=0˓7i*hς>w=/1ͳt,j_Şd)}Fhz@\IIR;{gJ<14ņ CkTXbޏ+Bĺgݖ0lnRh$) GAհ@K:q`QKy'WABǼZRq3_U"bXenrX<ԲcL3L?Ii++N0,{q\٠W]}G9~ʲ06'2ǗJ#OX24Y'?R\R$U"fC1pt*8 z^{ edgAr!T 8BQT ZB5Օ$MZ&Zv /8E 5>z,23KP_9 !4Rٟ0 s|.lgFh @@Q]tݚ7dc^'K:čXƘ>Vtɤ;Hj;qENVl!f.5OYzǙiđPrT%{ތ\Yd`$}shAU ֻpp1P:X*>{J57ؘ)O Ke:e4’x tN%𡰁e]Y,xS.e ]2$ Mi[ ⟂8!s rKLjk|W+OX;G4bQXlgq_Wًəv "|[G?^RHJfo'Fh`j'3u1V&Ԥ!r&WU& ̰J¿>{=xbP eH'N^!v(z3*Pm@]j̡%ʶo7 QZ7z@+մBMԏxo۳qZ:~=NBqwvi[4ǝk&[=J:@=NS!j WF)1Cbd4bHQ4F6<򚶝 2怽@j:0K0;q ukod^_&)i1M,=:}-BFK1::X0k Ee#XТl4=/ȳ}ybB0kI4.}˟g;Z1CMAY&ut_ hcf ; VΆFu}`K=<5?lC?/b>L^5Nq!Λ;fbe\[ [?!yS*D{kvSq[ʷt"^HI:-կ! zDqw eCQA57QDN1HP3xXC+{~2}Y{LX $dsjHg2'Yցa[6DF ~zόO${Κ>vnlɜ{zƁo S>o8@PҊX C<$Y^od8Mmb[d6>vTOR4o^tw>APx۝xԽ=F^.T;J}*e;V*pmsB4m)M} ^yQH/ĢemO M]ɬ3pA*CU۪/dmFT 1JǁMg=Z)hfhcz8zw3'L9]x5ުE#0% Yy%v?ӡG${৕j fru_ 5nOY/+K7sƛoSg)X}\- P?nM b!b-zyf9spxRnߓ_1-tW\#ПFvF02%*D*ɋrF-sIVARo"磳ڦ|1CMeC&nMm(xShnbC&aCYl۔Z#mI݆Ix/&?َ`?jggUzf[ |,,Zi7oeBӺVlY6]G+Z9Lu!¯q!Hh>93`T% Y+̓xMsvS0/ZE]E+ Wx{M![C,d63 ̒n6FR#VU ᗱ^W b_S=GXve{ZKWv f 9t&RI 5.؊F6NN9d+e(sR!d;z^V \.( #P#y,E>ꜽ춝)=`56E%,/1"ۆxGKW@ !^>Jsm5X{6F88+l(Y|0AAhbE><^\FmXr:kx@&f +I;00]sʃyqpV߆bcAi 4|{v ΅AБ-[ ?{iYfRbE@G~אi6WO-lQV aߖ,_RR!I@Vpa)3i2"n=l݃唋{_\Z;Ă7mhP | /na_ǩ U5uXԼNHoҝI^kJ4=q;P6Fitc^wm4 0(S427)'5Ӑ(m4qhYuﯶ;RJpQ"TOg~a&4eW=Λͨ uG 4~TX0$ǷKwďkb*7!NYV9ݿr.1 xy{w &]q_N{r eh*LMbb1 o2bGFigN7YO$'Zqah2$} T6wkM2,t_hbJچy{~KB3+ç@kM*Dj`AMD9d/j/JIyJ(ɖnFq kT$`T،!i ΒXZ%ޗ?R9WTX:ȩ_e5c@ZS oPUP!v8e<  6b A@䐊KȯY])M_h3YqHO8Pِ-c𼼂f67Ht3E߭f Qr 6j;28Tu1hArLAUu2KҎLn~!Zh5d$~ҭxr_U%;RB&B$kC\[g [Yt㨵TrM DD&}/@);v|6c׾k37 ؒ?q"hcxNxX3#.9.E6;.7h %Cqr"~^ƒP$_mTQ1 ᨬ _# zWY&un `=YȂs=5nUmOAGޑ$;v5VܾrHG (ʼnJ٢kQ:l]&"+~0u;CO|7" ZU{~cT<"$(9M4LU7~S3؇"B2;/'ur{8ޣE"ϟ_/%OESpp&Ӫ8 ]P5 v7<n1 bΪ$J-<+LC~>kRcsΤֱSaɆ]qOQuNAخa\ +Pt~r@ }Kj!H0pZ?i]6]j;e.,3'` 5!|0]@4<i{GVc9X)uoJM閻eI-U9YQ┱^lW]z{) ~7XQp4vI)Jq7'C< 6Kq5;Vy ad$fjYtޫ꽜z… '"^g mHN4+KW妨E|iOJ } yt9[dNY-bFGVZ+MʭMf\[ uDs1G$N$W[k SjW䠛n[B[R. "+R;}9MIJqjH$#u\ݎi{[rp\{ ''W\Z 5nX1Jw1劇zOE3ίiSJY\pr8 _-ӿꔎARw -OLO~޹\;0SV`?w|F@s2pvIՖr3E;-/%p)A3"x0q lvY75xoh/[)kXl}+ǹ7-42`ArQZ1O*£~7$uB0r/Qim82=OZHF:r%2 qYth;)kSX!b(+wm*=cQc#q*L }P ( G ^3oH*6y+f*P&\j,)` PNOwLn] duOo,O0Sڡހ#f`gL܂lZt5rEK?owMĹ+ۈr وL?U cmoNZrޘ`bR\j] T+v^k_'^=b C NY.v?Aٷq>NozrU2Ć-1HL^i G֩F2 b' !#RAJ/rPӒE Nn#ܺBFc #^ %jR47"(Y\4L<ha2RFwHJN)3%հf;)2G1t9} ~TDV|Nw懷ON f2laAZ5%.TNy1Yڸ]P `Z0rDi{ #_u\|a]+wt1uW`v+-/Y$*I*,Tgf̡ -|_D wzU A@[6a) F9nJV'l 3d/"\<ރnl6N`$<|<ҕJN:-IyM 7&JhЊ&-H\V1?gx EU6VUznҁBx6x"RT*q|uV5Y}"4_}tf2+S(+ՓDm4L*q?ncC2s"3Hb{y%~@d|ǝsӊRdb?eG bW?y{"(H/X?N):X]]7`+sCZm%=Kݷs':h[f[= uJ; *Ծyl іv2 vՍ=gTWު`J9kdzԄg qݨJG}/m1xev'}jKIܐ-(_B$£I]Wf&|yAE?t?3WzvptmRx giKxD"0o(|Oc$},!MKX}ؔD0w FCp:ee5 aV&x.OXJ)I-,8Bf"ajeT]r͍e:#5<؞05O?QsJPу5h0MʮJٝy-Č9QR^ݪdbtlk@{?`ò',ZE~#*_^;U~xf*GRNbxϰ$zQg[?^GknHWf:OߜTOywTbzB U"Mg|VruHZO1LsBmz3PYLlSg(ӆɿ +FkCH]IBʀVFZ5)59aw Xʙ,nuf#9M{tLvH{J,"2gDE\Eaʄ0փ*&r:A7ËrZ-̲B2(6.bV9Cs׻M>(|8B\A6+SI[_T d2q2N%>봓D5]2j$!3Ъ;v9:A(gbA4 ׽ܹC^U(;@gb+"iLnYi!H區!yQr6kM;&_.{nXjhcs %pjv1́aҿ-M~C@9JZ^i6Yf!x#RQw!D2ʃW}˯gM$퓌3h>UӪsV (`]N-sZ=XHrc U"lT:bA:`Q^ >ča4P`ɉNN+т`OKPI #[`4pkhaw@ܧ[~,jP.%}gnho eaZ#o9:Fpn?1]B& ay)~1v4%HPekŜƇMJl G4ï$l+^. &c1+SN B0\;AMu0OQPAF0)wJ|S9x]~!\W?Η~?땸(&<-c8]Qs3vHu|n' KZ0rf8JI/ZB`Ȕ&l\𺿟f?RKɾݞʖEI7YS p}uId)-׌#-=Me"ɛ_tIGՊHΑKkw;F~-i|lZ{)q][ ER*-ܐAg=LweĬIp%X%n.SOT+ǛV\1k'kk(f? \6x6, E}]Knء ء(z")y–KiYq\D<'z)2VQN&n6kF EN'JkDK~]]Z9r/f e)#k1d?$WuP2vC&Q]k?Q6TaVIeҗ=CSQA>sޒMjbHfߐ(gI~w9h}4@6 ۬u$qw+;^o5yj[dKD<,{s)0Ԁ :X+Ӥɣ!6Z Z)}HG'9UZT`$bjV1Bkxv(7c "StZ%5ʤluy-eIn]QÇ].ZGj!8GD_VІLg7S 0jd- 6BtTG)l|_Ѫ9.m1(ޝJY!kI;3)7K _ {"L*xҤ2V!_'1d]P0o! A~>jx2DqA bKb ܫ5粨Y#'El3[+6d8\gv{B`#\I6-jzx醍͟Fa>GN?e%!ʆ7?7eЎ:`#_9Cl^r%%m½@2 xjx P=HKрE/qDx2$"R@ўgKdkZJ-2۹|W,RR3?JڕӶj0P'{V5z ˭ 9CV6ok.,x[@N&\\ P:}"3^jGx@&Ѷa wcXOVQ8^Q'%(gl=P\gx5P)Zo\ }{a֘=ޔݙB1bIUzJ>ؼ3 J ŹJ0ɍߧV˟)L[}F܉܂ :sSىADV!isQaꢧ6l㍍0> \r Z!FlbRە[}&r`Hi1RZ.ݵdJu|Xزv<˚<-x~hQ?m}sw0,LnL^XT&U|0kn_-\ZiMPO=:~ǎ(R(yAXC%A ˢ87r ~/09/&eǿ߱SSEBPQg"S@_B_ym cČ w%Uu\X*>c4lj߮M, GoөG.kuyqgGR, 7 WW=KgJ<ݺ6hñLX-T( (fj"|qH`E-Fm)~[^VDhRޗai}J}qi.uʠDZB\ 3g1%\eONn Oʭ* .".tU!ǜ_ q۩F;4lݕ`)_]wk &< !Q?Q"mEMa_7%1O8E4-FV maJ)rJ/y_urDF> +;}$ !;ZBܪUUʱv 0)Oףr(_vRLb'+D@l4 g-r]tߣ9x Lrb;F!]iwAzVVܲD#pkwm?ˌ#]'w~S?͘m%]= ˣוXʞ,xF:G{djy[Kܰڛ p R/<}5s=q'XnLq+?UL"撮Tp@2i )C Tcy2bCo_!,<(stۨ$Xp"اqᬜo<,w4jp>ږ"s*0=|A!o)!;,5lߏi%q# RB p2S Ae!H5!ʝ ޏ/L,k%_z vVz r*MAy 1FPK Csj+rrpW6Q)fYj?{L+,f89:0=,?=pte\?'46iʱmR}М,c;ٽCa%",/? jwG]q#'fa~YJK|BM 29: lbJxE+ŭMl5QExv x45Srz`1pn).^ V[2Fv*)XUhM:`"V[cw{B6dT/1؜H9Ά&[ҸhIJ $b˧RC=.O?3Tf|c?-Ԧ;4mb EB^ \ (Euh6$c8v BHd*Ž!K$R  ;BDV ~`ffk*M!BH$ʺ{*D!)X! x hiBS[_bvߞʠ(7 ě3ow.rWsl4K27Eo;f-:TL SZKT_W)rލk1!fㅚs32+-AI0z)RVeQ0M!]׬װWKyз 0ٿ$Wn*N$*gʩ䲿]AxmO=Y(+mc^>>'b49Fiz`\t 2P/%.J>ΣjYʦ?oɸnDDDϮKifd`i 9 } "yc`y ?#ۮUm\oQiz D+};:Q&gUuXAS@W]gBɺIs` Eov uLPu%V.Y6yEZ$ZOoaRlAz~>!XB8-aŜTxNfSOsP?{U<"!3<~ &ܯL/L>~q2C:[Yi\UZnBOYQ no5NoZϋO=9,&Bhw#x]Eғfs4NkksDEQA`,+v+`MoxaLCvg#B>טx#ٿ`C2Z u6E"VX40PnXo/t2zx&ΈSWfSJigR16o@(3+H"$a稺,3,rRbaL:[sv:Z7I9DQsr9kI$yT2` jj\̔[ /R@. LDAew7,0d2\I0F3Q H~a{9}Я k/`Jϣ֍fFFbu@9yۛAwk[]pc IbGG?,l8FdQC ڈgvS%95K^L:l^o`@1urLL`HÉ"v)µ@qa=x輾"fJɥUr5Y<$G>kEr} rNmзW $3}xfeBr/st` gkOlE\ښ654&}U :W3l.E28>Lޫ ұ7MQEZ,J0^|?߅{ γaُA/9J8/yWW8b9koi-A QqgKJ|Ɍ`'sF,{ʿ7()B_})s$7|c>W̮ 6vrL.gQKh\ҩ?\Nk b 3f+ߛ8H2@԰L=:1ܲNzS[Csc9y+uaӎZ[l%NF"˿c G.6p6% 4+0ה!sحTۭpJDW%RݞfWj <)}/4}:T"A$"Mq7bK0'V2(h Vͬ{( ?XuUn)1u8m8͕ɟz&s8xtVk W%V tΥ/B{ f>շ51e:YAsUipa֗+`{9,…Z~Zn]yH6ME0WwSbDt8sn\丠hiv5sWܮC|6_|`q[~βu%Y: Xv; 9d4ޣoCUx]-\*>e:$Fescazd:5Ir V\j. ;\JC`AVNίF#x`G=X,IcA]Kxiv>+zu3%}EFJQA#4yT/ (1B>|tU0 YrZWOHU`tqW=jE@*zԬ jwp3bn1~xY wY<|Ghruz2{ >Rq@XR2}vq _SڹF)PTtȓ/}>}SEnʄ#]CdMzmcax}"qGP<6bxx4.>~r+B=6X?TSAFpO0Qs SV"jV8(76y|I/īu!\@{p o.I?ᒪA2tBBC3Iy(ug{;{H( yEqjFg?vc~QS0 FX.quH}@ip€|LK杖RyO8!_t=uurTRͰiNkFr zhy"ʷ5&__K/ȬHugBtN !&ksօ=uYCbId6aSM Pp'|u.;R]F[}DqaI0S/pja)(sc҂L} .7 A2 B ~T[dYlEbRX!~G$1TAkb0 hFЇ)'z4R-9+K'G.S 3l5%Lyk̍gخ`_zt)R | A.&|_/]مyV1KSN@F6}&{mtQA5IYsuhb8'+K9ȗX&> 2t?Ye䘻X54%ѧk?`1'q.S$mHh#7!ff"CU>AU?ͥ7 8"*Bc.4E>.zP0OTY+޸p!y*@g)##\Ӱ}Һ4䅞&oCU$X1GMrQ,;gL/yPj} u1ւ)ɡ,:G.X+g 4Ia0Qî=f e q}33IXD%(ٺ 9OFm$jǯS.;1H|? U>cZ5t/h@ P!M7oAacDŽU(#f;lO ߙ* 9jV{S7s($M" SRӐ&~6t(tԣÍt<l+yQx@?t2&|)jPCjYWhI+A $)%hWd%t{1cq=47+UWgOWUn92]Mo!7mŧ IQ# !ƞ#ϏnNxw^p܄lhxbRhxo+B4GPm%DufNeEw;lQc"a8E'̀oDW5wBNqmDy&_(MйesP¶{,Hj+b!cR|(@GkKZβJmib!ԓ҉*1:ӗwNtﺿL ,)M;QEl9ads;^vTps:/qA Ū`)k$ۦshR^.['@AO 8~`x#C>Fޗ^VdY4k63yxcAe},m&frhb=-iq?tS؁.W{%{e-} x ܜj:8:l+\iߒ'm.<oWԵRYyyK=4>" Mʼfix! ɦAsVq~iMѓ[ M74'rf$O ḵI YZ