erlang-dialyzer-22.3-150300.3.3.1<>,\c}p9|iIAK-a*m3 =Yߗ/"J -8fC!TUPuvG~wNk5Xfڴ2+H3 5k4X ߈e-l 3rVpdҁ:8fkGKA*&ʕ;z FĚӴ[q ΅/ #OyzG#O,9e$qdJ`5[m1RHwD@j2(c_m!>?1&Qh۝>> ?d $ N|       b     @ d   D ( 8 \9@\:|\F7GLHI<X\Yd\ʈ]^KbcΞde$f'l)u<vϴwЈxyxzѰ Cerlang-dialyzer22.3150300.3.3.1A DIscrepany AnaLYZer for ERlang programsA DIscrepany AnaLYZer for ERlang programs.c}s390zl31KSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Unspecifiedhttps://www.erlang.orglinuxs390xPP`-}lZ`P(T^hdtD= 24W<p,AA큤c}ec}vc}vc}qc}ec}ec}ec}dc}dc}dc}dc}dc}dc}dc}dc}ec}dc}dc}dc}dc}dc}dc}dc}dc}dc}dc}dc}ec}ec}ef1828c748d260152a650c6908ded9dd88c56f7855caf5a8f343b3dcfb4476f2ff1828c748d260152a650c6908ded9dd88c56f7855caf5a8f343b3dcfb4476f2ffbf6ac103e4e4e5ec2e75deded2bf92a30f202a0c0e2af442b5bc7c68163db54488ac9b08f99bfe753929b3b2bdd088a989352423553091f8ccd338a4c7eba21fb700383a5ee7e4ba42095f2de8d082935d118e48fa32715395c52459235449a69fcbb6dcd180be7567cc2fcc3ab8a926cc80874f8c04b4190a563ac35189a9932d82451ff8d2b3f5616021b7fbfe56194754be0a1424ebd7b55fdc077319370b8b453d11c17962ccee56d6684c16847cedee8d514db89c552c6df7bb523c57855238fa4e10e2224717bfdc29dc6c5293533ee5238f62ee72a8fbfb923ae94a372b118df964f8ac37c2d1bee1aa5fc26e1fc9e7e9a5abff46f34d396d660ecf4e2676b9fb448530ce9e8b244199be0382ebcddbbb6a03d84fbc98da535f5da00a593f35680eb27a698f0af13545f0961633b7de191b0761d9fbb5bbdfc98a0e13477a1947c8191c2c2cf3e02121838f840c00b5a76e7b323948d3b7137e13a22d2b9111ef58e5157b1a4c8957a1a386ecccfd7695dff7d1d6dc6f68178524a7fe99e4e7f43c659aceda42b480ab600c5a805354d400b41c4c9ff1936eaec4fc1130b63715123c5de68894960f1df11b956ccdf3a2eec4970fe2410c1421a23d2cfc0650f9896dc2ebf9091c3d6369ba29f49b01bbf337cb0a95a2e6344729311d0f107eb1665b755f9c48bc294a8ccf8da144630f72131321a67287efe8dc584b6ca634e3d65c4c24fac6a5240ec9cce04137558af7730d61cc3d13d792d22ecbec9eabfc2bf3f365e81e2c9bcd744518c82306dec83c1eb2094a7646851ba51139ad37c7823e96fef2ac1f4c18ee5e5b00d8965be3d031eb38e9f44000c8f20c1c63bda4da948864b548b3633a939f5490b84d22a5e37644be25bb4dc2bb5a5606638dbd939e00389c2be4bbfbdb35a6e025b50eb9b2c46c79e7cd5c00137a01d12cbc6d0d494c439ec1faae9c184b93af781c0d109dc02cba425e7c98a88b1cd4506f33a01aa6e38c2f07255efbf98f8f479da2cf91dc34b466d9d20161253f05741d39365e7b61442a246c8d43c25f18ef9816991bc1dea3904b804641b41b16a45d04223c2cc1ca2ee0591b0b4426c7d6870376c1b7d7f4cdafb9887235c../lib64/erlang/bin/dialyzerrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrooterlang-22.3-150300.3.3.1.src.rpmerlang-dialyzererlang-dialyzer(s390-64)@@@@@@@     erlangerlang-wxgraphvizlibc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)22.322.33.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3cr-^{G^\@^M#@^G@^=Q@^8 @^*@^!]f@]+]e@]M@])]@]]b@]b@]e@]>]@] ]/@\P\@\@\@\r@\N\@\+@\k\\\Yz\J@\*\@\@[[[%@[<@[[t[r@Z@Zs@Z@Z@YYo@Yo@Y@YyYYlY YX-X-X•@X@XVz@W@W@WoWgWc@WA@WA@W(V@VVV$@VrV2 @V }@Uݪ@ŬU(Ub@UU>U@Ug@UG_@U#T@T*@T_W@T_W@mcepl@suse.comg.santomaggio@gmail.comtchvatal@suse.comg.santomaggio@gmail.commatwey.kornilov@gmail.comgsantomaggio@suse.degsantomaggio@suse.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comdimstar@opensuse.orggsantomaggio@suse.degsantomaggio@suse.degsantomaggio@gmail.comgsantomaggio@suse.degsantomaggio@suse.dematwey.kornilov@gmail.commatwey.kornilov@gmail.comopensuse-packaging@opensuse.orgmliska@suse.czopensuse-packaging@opensuse.orgmatwey.kornilov@gmail.comg.santomaggio@gmail.commatwey.kornilov@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.commatwey.kornilov@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.comg.santomaggio@gmail.commatwey.kornilov@gmail.comg.santomaggio@gmail.commatwey.kornilov@gmail.comg.santomaggio@gmail.commchandras@suse.deg.santomaggio@gmail.comdmueller@suse.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comrbrown@suse.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commeissner@suse.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comkruber@zib.dematwey.kornilov@gmail.commatwey.kornilov@gmail.comjengelh@inai.dematwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comkruber@zib.dematwey.kornilov@gmail.commatwey.kornilov@gmail.commatwey.kornilov@gmail.comro@suse.dematwey.kornilov@gmail.commatwey.kornilov@gmail.comkruber@zib.dekruber@zib.deseife+obs@b1-systems.comkruber@zib.dekruber@zib.dekruber@zib.dedmueller@suse.commatwey.kornilov@gmail.comdmueller@suse.comkruber@zib.dekruber@zib.dematwey.kornilov@gmail.commatwey.kornilov@gmail.comledest@gmail.com- Add CVE-2022-37026-client-auth-bypass.patch to fix Client Authorization Bypass (CVE-2022-37026, bsc#1205318). Patches gh#erlang/otp@cd5024867e7b and gh#erlang/otp@6a1baa36e4e6).- Changes for 22.3: * compiler: A 'receive' with an 'after 0' clause would prevent the optimization that can avoid scanning the entire receive queue when matching on a newly created reference. * compiler: HiPE can again handle modules with catch and try constructs. * compiler: Fixed a bug in bit-syntax optimization that could crash the compiler. * crypto: Fixed potential memory leaks involving calls to the crypto ng_api. * common_test: Document incl_apps cover option * common_test: The ct_property_test has now a report function for results of stateful testing. * common_test: Don't hide error reasons from user * stdlib: Fix type specification for uri_string:normalize/2 that may also return error(). * stdlib: Improve error handling in uri_string:normalize/2. This change fixes a crash when the input URI has faulty percent- encoding. * stdlib: Fix minor bugs in the Erlang pretty printer (erl_pp). * stdlib: Fix the Erlang parser regarding consecutive unary operators. * stdlib: Let calendar:rfc3339_to_system_time() crash when the time offset is missing. * stdlib: Implement uri_string:resolve/{2,3} that can be used to resolve a URI reference against a base URI. * stdlib: In gen_statem it is now possible to change the callback module for a running server. See gen_statem's documentation for change_callback_module, push_callback_module, and pop_callback_module. * ssl: Correct handling of TLS record limit in TLS-1.3. The max value differs from previous versions. Also the payload data max record check was broken, that is record overflow problems could occur if user sent large amounts of data. * ssl: Correct close handling for DTLS * ssl: Fix ssl:getstat/1-2 to also work for DTLS sockets * ssl: Correct internal handling och socket active mode to avoid reviving TCP data aimed for a downgraded TLS socket. * ssl: When using the host name as fallback for SNI (server name indication) strip a possible trailing dot that is allowed in a host name but not in the SNI. Also if the server receives a SNI with a trailing dot send an UNRECOGNIZED_NAME alert. * ssl: Immediately remove session entries if handshake is abruptly closed at transport level. * ssl: Implementation of the key and initialization vector update feature, and general hardening of TLS 1.3. There are cryptographic limits on the amount of plaintext which can be safely encrypted under a given set of keys. This change enforces those limits by triggering automatic key updates on TLS 1.3 connections. * ssl: Add support for TLS 1.3 Session Tickets (stateful and stateless). This allows session resumption using keying material from a previous successful handshake. * ssl: Add support for key exchange with Edward curves and PSS- RSA padding in signature verification. * megaco: The documented function megaco:get_sdp_record_from_PropertGroup/2 was a wrapper for megaco_sdp:get_sdp_record_from_PropertGroup/2 but did not actually exist. This has now been fixed. * megaco: Test suite completely reworked. Add (timestamp) utility functions for debugging and testing. * erl_interface: Fix link error "multiple definition of `ei_default_socket_callbacks'" for gcc version 10 or when built with gcc option -fno-common. Error exists since OTP-21.3. * asn1: Fix 'DEFAULT' with 'OCTET STRING' and 'SEQUENCE OF CHOICE' with extensions. * erts: gen_udp:recv(S, N, 0) corrupted the internal state for the socket so after receive with {active, once} it always returned {error, timeout}, and wasted the received UDP packets. This bug has now been fixed. Reported and pinpointed by Alexander Petrovsky. * erts: The atom esock_atom_user and esock_atom_kernel was never actually created. This has now been corrected. * erts: Fixed bug in socket module that could potentially lead to scheduler deadlocks. * erts: Fix bug causing VM crash if down or stop callback of a NIF resource is called after the NIF module has been purged. The fix will postpone unloading until all such resource objects have been garbage collected. * erts: Fixed bug in ets:update_counter/4, when called with an invalid UpdateOp and a Key that does not exist, causing ets:info(T,size) to return incorrect values. Bug exists since OTP-19.0.2. * erts: Fix potential heap corrupting bugs when a process calls a BIF that blocks other normal schedulers and then writes to its own heap without the main process lock. A NIF running on a dirty scheduler trying to interact with such a process could corrupt its heap. The fixed BIFs were related to code loading and tracing. * erts: Fixed bug in erlang:list_to_ref/1 when called with a reference created by a remote note. Function list_to_ref/1 is intended for debugging and not to be used in application programs. Bug exist since OTP 20.0. * erts: The prim_net nif (net/kernel) made use of an undefined atom, notsup. This has now been corrected. * erts: Corrected the valid range of the erl command line argument +SDio from 0..1024 to 1..1024. +SDio 0 was erroneously allowed which just caused the VM to crash on the first dirty I/O job scheduled. * erts: Fix a crash when attempting to log faults when loading files during early boot. * erts: For socket, not all send and receive flags are supported on all platforms. In order to (at least) simplify testing, the socket:supports/0,1,2,3 functions has been extended with send_flags and recv_flags items, which indicates what the current platform can manage. * erts: Add a "full featured" version of getifaddrs in the net module. * erts: The options busy_limits_port and busy_limits_msgq have been added to the BIF erlang:open_port/2. The busy_limits_port option can be used for controlling the busy state of a port executing the spawn_driver or the fd_driver. The busy_limits_msgq option can be used for controlling the busy state of the port message queue. * erts: A socket "registry" has been added making it possible to list current open sockets. * erts: The counters managed by the socket nif has been extended. Their "size" has been increased from 32 bit to 64. Two max package size (for read and write) has been added. And four accept counters has been added. * erts: Add gcc option -fno-common to detect accidental name clashes of global variables. * erts: New dynamic lock checker that verifies locking orders and detects potential deadlock bugs in drivers and NIFs. Enabled together with the old static lock checker (for ERTS internal locks) in emulator started with -emu_type debug or built with configuration option --enable-lock-checking. * snmp: A simple supervision of the snmp manager net-if process has been added. Also, a way to forcibly restart the net-if process has been added. This could be useful if the net-if process hangs for some reason. * snmp: Misc documentation corrections * mnesia: Fixed a timing issue in uninstall fallback functionality. * eunit: Backport of PR-2316: Strip control codes from eunit_surefire output to avoid generation of invalid xml * ssh: Unicode problems for ssh_sftp:write fixed. * ssh: Changes to the internal api of the experimental ssh_dbg tool. * ssh: The new functions ssh:set_sock_opts/2 and ssh:get_sock_opts/2 sets and reads option values for the underlying TCP stream. * hipe: HiPE can again handle modules with catch and try constructs. * hipe: When the return value for try/catch was ignored, the native code compiler could crash. * public_key: Add support for key exchange with Edward curves and PSS-RSA padding in signature verification. * diameter: Add the 'first' tuple to type diameter:peer_filter/0. The filter was added in OTP-17.5.6.8 and OTP-18.3, but neither release updated the type specification. * tools: An Emacs warning due to lacking type in defcustom declaration has been fixed. * tools: Improve emacs indentation. * tools: The cover tool could generate instrumented code for a module that would cause warnings to be issued. * tools: Fixed generated fprof analysis format to also handle data in maps. * sasl: A socket "registry" has been added making it possible to list current open sockets. * kernel: The DNS resolver `inet_res` has been fixed to return the last intermediate error when subsequent requests times out. * kernel: The prim_net nif (net/kernel) made use of an undefined atom, notsup. This has now been corrected. * kernel: Fix a crash when attempting to log faults when loading files during early boot. * kernel: Fix crash in logger when logging to a remote node during boot. * kernel: Improved net_kernel debug functionality. - Changes for 22.2.8: * diameter: The possibility of choosing a handler process for an incoming Diameter request with a configured MFA was documented in OTP 20.0, but counters (with {traffic_counters, true}) were not incremented when this process was on a remote node. Counters are now incremented on the node that configures the transport in question. Introduced in OTP 21.3. * diameter: Transport options differing from those passed to diameter:add_transport/2 were used in several situations: when starting a transport process after connect_timer expiry after an initial connection attempt has failed, when starting a transport process after a connection has been accepted, when sending events, when returning options in diameter:service_info/2, and possibly more. In particular, the following configuration options to diameter:add_transport/2 were dropped: avp_dictionaries, incoming_maxlen, spawn_opt, strict_mbit. Moreover, any service options mistakenly passed to diameter:add_transport/2 were interpreted as such, instead of being ignored as the documentation states, with the consequence that outgoing and incoming requests saw different values of some options, some were always taken from transport options, and others from service options. diameter:add_transport/2 must be called in new code for the fix to have effect. Introduced in OTP 20.1.- Remove conditions and support for openSUSE/SLE < 15 - Remove not really needed service file _service - Convert the dependencies to pkgconfig style ones- Changes for 22.2.7: * compiler: Fixed a bug that could cause the compiler to reject valid code that used the is_map_key/2 BIF. * compiler: Fixed a bug that could cause the compiler to reject valid code that matched the same map key several times. * compiler: The compiler could crash when compiling a convoluted receive statement. * compiler: The compiler could crash when a fun was created but never used. The compiler could crash when compiling the expression true = 0 / X. - jsc#SLE-10913- Changes for 22.2.6: * erts: A process could get into an inconsistent state where it was runnable, but never scheduled for execution. This could occur when a mix of normal and low priority processes where scheduled on the same type of dirty scheduler simultaneously.- Changes for 22.2.5: * erts: A process could end up in a state where it got endlessly rescheduled without making any progress. This occurred when a system task, such as check of process code (part of a code purge), was scheduled on a high priority process trying to execute on a dirty scheduler. * erts: Improved signal handling for processes executing dirty. For example, avoid busy wait in dirty signal handler process when process is doing garbage collection on dirty scheduler. * stdlib: A directory traversal vulnerability has been eliminated in erl_tar. erl_tar will now refuse to extract symlinks that points outside the targeted extraction directory and will return {error,{Path,unsafe_symlink}}. (Thanks to Eric Meadows-Jönsson for the bug report and for suggesting a fix.)- Changes for 22.2.4: * ssl: Enhance error handling, all ALERTS shall be handled gracefully and not cause a crash. * ssl: Enhance alert logging, in some places the role indication of the alert origin was missing. So the log would say undefined instead of client or server. * ssl: Two different optimizations did not work together and resulted in the possible breakage of connections using stream ciphers (that is RC4). Reworked the implementation to avoid this.- Changes for 22.2.3: * ssl: Fix the handling of GREASE values sent by web browsers when establishing TLS 1.3 connections. This change improves handling of GREASE values in various protocol elements sent in a TLS 1.3 ClientHello. * ssl: Correct DTLS listen emulation, could cause problems with opening a new DTLS listen socket for a port previously used by a now closed DTLS listen socket. * compiler: Fixed a bug in the compiler that could cause it to reject valid code.- Changes for 22.2.2: * erts: Taking a scheduler offline could cause timers set while executing on that scheduler to be delayed until the scheduler was put online again. This bug was introduced in ERTS version 10.0 (OTP 21.0). * erts: The ets:update_counter/4 core dumped when given an ordered_set with write_concurrency enabled and an invalid position. This bug has been fixed. * erts: A process calling erlang:system_flag(multi_scheduling, block) could end up blocked waiting for the operation to complete indefinitely. * erts: Duplicate entries for [socket:]getopt and [socket:]setopt in man page. * stdlib: The ets:update_counter/4 core dumped when given an ordered_set with write_concurrency enabled and an invalid position. This bug has been fixed. * crypto: Constant time comparisons added. * ssh: Fixed that ssh_connection:send could allocate a large amount of memory if given an iolist() as input data. * ssh: Safe atom conversions. * ssh: Constant time comparisons added. - Changes for 22.2.1: * erts: Corrected an issue with the new socket api which could cause a core dump. A race during socket close could cause a core dump (an invalid nif environment free). * erts: Corrected an issue with the new socket api which could cause a core dump. When multiple accept processes waiting for a connect a connect could cause a core dump. * snmp: Its now possible to remove selected varbinds (from the final message) when sending a notification. This is done by setting the 'value' (in the varbind(s) of the varbinds list) to '?NOTIFICATION_IGNORE_VB_VALUE'. * snmp: Its now possible to specify that an oid shall be "truncated" (trailing ".0" to be removed) when sending an notification. * ssl: Add missing alert handling clause for TLS record handling. Could sometimes cause confusing error behaviors of TLS connections. * ssl: Fix handling of ssl:recv that happens during a renegotiation. Using the passive receive function ssl:recv/[2,3] during a renegotiation would fail the connection with unexpected msg.- BuildRequire pkgconfig(libsystemd) instead of systemd-devel: Allow OBS to shortcut through the -mini flavors.- Changes for 22.2 * http://erlang.org/download/OTP-22.2.README * Highlights: * erts: The Kernel application's User's Guide now contains a Logger Cookbook with common usage patterns. * erts: Numerous improvements in the new socket and net modules * Standard libraries: common_test: ct_property_test logging is improved * Standard libraries: ssl: Correct handling of unordered chains so that it works as expected * Tools: Emacs erlang-mode function that lets the user open the documentation for an Erlang/OTP function in an Emacs buffer has been improved. Users will be asked if they want the man pages downloaded if they are not present in the system.- Changes for 22.1.8 * http://erlang.org/download/OTP-22.1.8.README * erts: Large amounts of quickly executed dirty work could cause heavy contention on an internal spin lock. The spin lock was replaced by a mutex which behaves much better under these conditions.- Changes for 22.1.7 * http://erlang.org/download/OTP-22.1.7.README * compiler: Fixed a performance bug that caused repeated matches of large records to take a very long time to compile. * erts: A literal area could prematurely be released before all uses of it had been removed. This occurred either when a terminating process had a complex exit reason referring to a literal that concurrently was removed, or when a terminating process continued executing a dirty NIF accessing a literal (via the heap) that concurrently was removed. * erts: Fix bug causing VM crash due to memory corruption of distribution entry. Probability of crash increases if Erlang distribution is frequently disconnected and reestablished towards same node names. Bug exists since OTP-21.0. * erts: Fixed bug causing crash of VM built with configuration - -enable--sharing-preserving. Provoked when a sent message contains both a bit string and the heap binary (< 65 bytes) which the bit string was matched from. Bug exists since OTP-19.0 but has seen to be easier to provoke since OTP-22.1. - Changes for 22.1.6 * http://erlang.org/download/OTP-22.1.6.README * compiler, erts: The compiler could do an unsafe optimization of receives, which would cause a receive to only scan part of the message queue. * crypto: The AEAD tag was not previously checked on decrypt with chacha20_poly1305 * erts:Fix bug where the receive marker used by the runtime to do the receive queue optimization could be incorrectly set. The symptom of this would be that a message that should match in a receive never matches. * snmp: Agent discovery cleanup. If there is no receiver of INFORM then #state.reqs in snmpa_net_if keeps on growing for DISCOVERY.- Changes for 22.1.5 * http://erlang.org/download/OTP-22.1.5.README * snmp: Application(s): snmp Related Id(s): ERIERL-427 The agent discovery process has been made to work with snmptrapd..- Changes for 22.1.4 * http://erlang.org/download/OTP-22.1.4.README * compiler: Fixed a bug where the compiler could generate incorrect code for a 'receive' statement inside a 'try'. * crypto: FIxed a bug if the erlang emulator was linked with a very old cryptolib version (1.0.1 or earlier). The bug now fixed could have triggered a core dump if an unknown cipher name was used in crypto functions. * erts: Erlang/OTP can now be built on macOS Catalina (10.15).- Changes for 22.1.3: * inets: Add HTTP server error logging vi logger - Changes for 22.1.2: * erts: Added the environment variable ERLC_SERVER_ID, which allows multiple compile servers to run separately under the same user. - Changes for 22.1.1: * erts: A terminating process sending distributed 'EXIT' or 'DOWN' signals while terminating could end up in a state where no progress at all was made. This was triggered by a distribution channel that the terminating process was sending on got busy. This bug has existed since ERTS version 10.4 (OTP 22.0). * erts: When communicating with a simultaneously exiting port via the erlang:port_*() BIFs one could sometimes get stray {Ref, What} messages. Where Ref was a reference and What usually were the atom badarg. * snmp: Made it possible to add 'extra socket options' to the (gen_udp) socket open call (for both manager and agent). A new option has been added, extra_sock_opts, which makes it possible for the user to add a list of extra socket options that will be appended to the other socket options for the open call. See the snmp application config man page (erl -man 6 snmp) or the "Configuring the application" chapter of the Users Guide for more info. * compiler: Fixed a bug in the bit-syntax optimization pass that could crash the compiler.- Changes for 22.1: * kernel: The type specification for gen_sctp:connect/4,5 has been corrected. * kernel: Extra -mode flags given to erl are ignored with a warning. * kernel: Fix type spec for seq_trace:set_token/2. * kernel: logger:compare_levels/2 would fail with a badarg exception if given the values all or none as any of the parameters. This is now corrected. * kernel: Fix bug where the log file in logger_std_h would not be closed when the inode of the file changed. This would in turn cause a file descriptor leak when tools like logrotate are used. * kernel: Fix a race condition in the debugging function net_kernel:nodes_info/0. * kernel: Fix race condition when closing a file opened in compressed or delayed_write mode. * kernel: The possibility to send ancillary data, in particular the TOS field, has been added to gen_udp:send/4,5. * kernel: If the log file was given with relative path, the standard logger handler (logger_std_h) would store the file name with relative path. If the current directory of the node was later changed, a new file would be created relative the new current directory, potentially failing with an enoent if the new directory did not exist. This is now corrected and logger_std_h always stores the log file name as an absolute path, calculated from the current directory at the time of the handler startup. * kernel: Support local sockets with inet:i/0. * observer: Fix bug after a user followed link on a pid from an expanded term window. * observer: Improved dark mode colors on Linux. * mnesia: mnesia:add_table_copy/3 could cause a deadlock if called when a new node was starting. * mnesia: Transactions with sticky locks could with async_asym transactions be committed in the wrong order, since asym transaction are spawned on the remote nodes. To fix this bug the communication protocol between mnesia nodes had to be updated, thus mnesia will no longer be able to connect to nodes earlier than mnesia-4.14 , OTP-19.0. *** POTENTIAL INCOMPATIBILITY *** * stdlib: re:run() now yields when validating utf8 in a large subject. * stdlib: Upgraded the ERTS internal PCRE library from version 8.42 to version 8.43. See http://pcre.org/original/changelog.txt for information about changes made to PCRE. This library implements major parts of the re regular expressions module. * stdlib: The bug with ID ERL-717 has been fixed. The functions io:columns() and io:rows() only worked correctly inside interactive erlang shells before this fix. These functions returned {error,enotsup} before this fix even if stdout and stdin were connected to a terminal when they were invoked from an escript or a program started with e.g., erl -noshell. * stdlib: Fixed handling of ".." and "@" in wildcards. ".." would only work when preceded by a literal pattern such as in "a/..", not when preceded by wildcard characters such as in "*/..". The combination "@/.." was also broken, and in addition "@" in a pattern could degrade performance of the wildcard matching. * stdlib: Make sure ets:fun2ms() can handle ++/2 in the head of functions when called from the shell. * stdlib: Debugging of time-outs in gen_statem has been improved. Starting a time-out is now logged in sys:log and sys:trace. Running time-outs are visible in server crash logs, and with sys:get_status. Due to this system events {start_timer, Action, State} and {insert_timout, Event, State} have been added, which may surprise tools that rely on the format of these events. New features: The EventContent of a running time-out can be updated with {TimeoutType, update, NewEventContent}. Running time-outs can be cancelled with {TimeoutType, cancel} which is more readable than using Time = infinity. *** POTENTIAL INCOMPATIBILITY *** * stdlib: re:run() now avoids validating utf8 in the subject more than once in the same call. This validation could previously be performed multiple times when the global option was passed. * stdlib: ETS ordered_set tables with write_concurrency enabled has got a performance issue fixed. There were no limits for the values of internal statistics counters before this fix. This could result in that the data structure sometimes reacted slowly to a change in how many parallel processes were using it. * stdlib: The ordsets:union/1 is now faster when passed a long list of ordsets. * stdlib: unicode:characters_to_binary() could return very small binaries as reference counted off heap binaries. This could cause an unnecessary large memory usage and an unnecessary load on the binary allocator. Small binaries are now always returned as heap binaries. * stdlib: Display a more meaningful error message when a bad I/O server is used in a script written in Erlang (escript). * stdlib: New feature ets:info(_, binary) to get information about all reference counted binaries kept by a table. This is the same kind of debug information that process_info(_, binary) returns for a process. * stdlib: Corrected ETS documentation about the behavior of compiled match specifications when serialized through external format. * tools: cover would fail to start if two processes tried to start it at the exact same time. * common_test: If a ct hook is installed in the suite/0 function in a test suite, then the hook's terminate/1 function would be called several times without it's init/2 function being called first. This is now corrected. * common_test: If init_per_testcase fails, the test itself is skipped. According to the documentation, it should be possible to change the result to failed in a hook function. The only available hook function in this case is post_init_per_testcase, but changing the return value there did not affect the test case result. This is now corrected. * common_test: Add ct_netconfc support for NETCONF 1.1 (RFC 6241). The 1.1 base capability can be sent in hello, and RFC 6242 chunk framing is applied when both client and server advertise 1.1 support. * common_test: Correct lib_dir paths in common_tests opaque data structure that is passed to ct_release_test callback modules in functions upgrade_init/2, upgrade_upgraded/2 and upgrade_downgraded/2. The incorrect paths may cause confusion when debugging although it will not cause any incorrect behavior on the part of common_test as it is currently not used. * erts: If you set {linger,{true,0}} on a gen_tcp listen socket, accept a connection on that socket, and then close the accepted socket, now the linger zero setting is transferred to the accepted socket. Before this correction that information was lost and the close behaviour on the accepted socket incorrect. * erts: Sending ancillary data implemented in OTP-15747 accidentally left behind test code that caused all UDP sends to fail on Windows. This has now been fixed. * erts: In the socket nif, used invalid flags when if-def'ing for supported TCP flags: TCP_MAXSEG and TCP_NODELAY (the support function). * erts: Fixed memory leaks in experimental socket module. * erts: re:run() now yields when validating utf8 in a large subject. * erts: Fixed bug in seq_trace:set_token(label,Term) which could cause VM crash if Term was heap allocated (not an atom, small integer, local pid or port). Bug exists since OTP 21.0 when terms other than small integers were first allowed as labels. * erts: Extra -mode flags given to erl are ignored with a warning. * erts: Don't loop indefinitely when --enable-pgo is given to configure, but compiler does not support pgo. * erts: Fix seq_trace:print/2 not to raise badarg exception if label is not a small integer. Bug exists since OTP 21.0. * erts: Fixed hipe_flush_icache_range for non-Linux OS on ARM. * erts: The fix in OTP-15871 was too conservative and disabled the offending load-time optimization in some cases where it was safe. * erts: Upgraded the ERTS internal PCRE library from version 8.42 to version 8.43. See http://pcre.org/original/changelog.txt for information about changes made to PCRE. This library implements major parts of the re regular expressions module. * erts: Fix race condition when closing a socket while using {active,N} on Windows. * erts: Allow more than one -config command line option to erl on Windows to conform with other OS. * erts: Fix so that ERL_FLAGS environment variable does not interfere with command line arguments. Before this fix you could write: ERL_FLAGS="10" erl +S and erlang would start as if +S had been given the argument 10. * erts: The bug with ID ERL-717 has been fixed. The functions io:columns() and io:rows() only worked correctly inside interactive erlang shells before this fix. These functions returned {error,enotsup} before this fix even if stdout and stdin were connected to a terminal when they were invoked from an escript or a program started with e.g., erl -noshell. * erts: Do not use named label in ethread.c inline assemble. This allows erts to be compiled using gcc 9.1.0 with LTO enabled. * erts: erlang:fun_to_list/1 will now escape the module and function name when necessary. * erts: process_info(P,binary) would neglect to look through heap fragments, potentially missing a few binaries associated with the process. * erts: HiPE is now automatically disabled on systems with non- glibc implementation (for instance musl). This is because musl does not provide the API's for guaranteeing that signals are delivered on the correct native stack. * erts: Fixed bug triggered if a process is killed during call to persistent_term:put or persistent_term:erase. * erts: Add units to all memory slogans in the crash dump documentation. * erts: Fix a bug in binary_to_term that would crash the emulator if a term larger than 16GB was to be decoded. * erts: Fixed bug related to an exiting process sending EXIT and DOWN signals to remote linked/monitored processes. Bugs exists since OTP 22.0. * erts: erlc can now automatically use a compile server to avoid starting an Erlang system for each file to be compiled in a multi-file project. See the documentation for how to enable it. * erts: The possibility to send ancillary data, in particular the TOS field, has been added to gen_udp:send/4,5. * erts: The net module has been split into 'net' (kernel) and prim_net (preloaded). * erts: Socket counters now works as expected and can also be extracted with the (new) info function. * erts: re:run() now avoids validating utf8 in the subject more than once in the same call. This validation could previously be performed multiple times when the global option was passed. * erts: The un-documented function erlang:dist_get_stat/1 now returns the real value of what the distribution queue contains instead of a boolean. * erts: ETS ordered_set tables with write_concurrency enabled has got a performance issue fixed. There were no limits for the values of internal statistics counters before this fix. This could result in that the data structure sometimes reacted slowly to a change in how many parallel processes were using it. * erts: Optimize the reception of large distribution messages. * erts: Binary matching and functions like split_binary/2 will now create heap binaries when the results are small enough, reducing the chances of small sub-binaries keeping large binaries alive. * erts: Fixed rare emulator crash in instrument:allocations/0-1. * erts: Ports could pass very small binaries as reference counted off heap binaries to processes. This could cause an unnecessary large memory usage and an unnecessary load on the binary allocator. Small binaries are now always passed as heap binaries to processes. * erts: unicode:characters_to_binary() could return very small binaries as reference counted off heap binaries. This could cause an unnecessary large memory usage and an unnecessary load on the binary allocator. Small binaries are now always returned as heap binaries. * erts: Improved erl_nif documentation regarding on_load and Erlang stub/fallback functions. * erts: New feature ets:info(_, binary) to get information about all reference counted binaries kept by a table. This is the same kind of debug information that process_info(_, binary) returns for a process. * erl_docgen: Update the documentation build support to handle FOP 2.1 . * ftp: A possibly infinite loop when receiving messages divided in parts is removed. * dialyzer: Allow native compilation when using Dialyzer from Erlang. The options native (defaults to false) and native_cache have been added. * eunit: Handle get_until request with explicit encoding in the implementation of the I/O protocol. * snmp: Fix various minor issues related to Dialyzer. Mostly these are dialyzer warnings, but there was also some minor bugs detected by Dialyzer. * snmp: Fixed a dets usage problem detected by dialyzer. * snmp: The function snmp:print_version_info() prints various version info. For each module a number of items are printed, such as app vsn and md5 digest. And an attempt was also made to print "compile time". This used to be available in the module_info for each module, but has now been removed. * snmp: The use of the deprecated random module has been replaced the with rand module. * snmp: Removed use of the deprecated function erlang:get_stacktrace(). Instead make use of the 'catch Class:Error:Stacktrace' feature. * syntax_tools: Add missing calls to erl_syntax:unwrap/1. The nodes concerned represent names and values of maps and map types. * wx: Fix a driver bug that could crashes when allocating memory. * erl_interface: Fix bugs in ei_print_term for binaries and bit strings causing incorrect output. * erl_interface: Fixed bug in ei_decode_fun for very old fun encoding format. Bug exist since OTP 22.0. * erl_interface: ei_print_term() now supports printing of maps and funs. * xmerl: xmerl_sax_parser crashed during charset detection when the xml declarations attribute values was missing the closing quotation (' or "). * ssl: Handling of zero size fragments in TLS could cause an infinite loop. This has now been corrected. * ssl: DTLS record check needs to consider that a resent hello message can have a different version than the negotiated. * ssl: Basic support for TLS 1.3 Client for experimental use. For more information see the Standards Compliance chapter of the User's Guide. * ssl: Correct solution for retaining tcp flow control OTP-15802 (ERL-934) as to not break ssl:recv as reported in (ERL-938) * ssl: Enhance dialyzer specs to reflect implementation better and avoid dialyzer warnings for the user that wants to use TLS with unix domain sockets. * ssl: Add support for ECDSA signature algorithms in TLS 1.3. * ssl: Correct error handling of TLS downgrade, possible return values form ssl:close/2 when downgrading is {ok, Port} or {error, Reason}, it could happen that only ok was returned instead of {error, closed} when downgrade failed due to that the peer closed the TCP connection. * os_mon: Fix disk_sup to ignore squashfs on Linux when determining if a mounted filesystem is full or not. * os_mon: Fix bug where cpu_sup:util() always returned 100% on systems not using gnu libc, for example Alpine OS. * ssh: Fixed wrong type definition for the daemon option subsystems. * ssh: Fixed a possible SSH logging crash if there was a problem in an early stage of session setup. * ssh: The documentation for the modules ssh_connection, ssh_sftp and ssh_sftpd are now generated from the -spec:s. * ssh: Internal cleanup including removal of the internal file ssh_userauth.hrl. * ssh: Removed unused definitions in ssh.hrl. * ssh: Removed unused fields in the internal #connection{} record. * ssh: To get information of a connection_ref() from for example ssh:connect/3, there was previously one function available namely ssh:connection_info/2. This ticket adds ssh:connection_info/1 which returns all information. For daemons (servers) started with for example ssh:daemon/2 the function ssh:daemon_info/1 returning all information was available. This ticket adds ssh:daemon_info/2 which returns only the information specified in the second argument. The info of connections and of daemons now also includes the item 'options'. Only those options that does not have their default values are returned. For a connection also the items 'algorithms' and 'channels' are added. * inets: httpd - Accept singel LF as line terminator * inets: mod_esi will now always propagate the actual HTTP status code that it answered with, to later mod-modules, and not in some cases hardcode 200. * compiler: Code such as the following would crash the compiler in OTP 22: [some_atom = fun some_function/1] * compiler: Compilation could get really slow (in the order of minutes instead of seconds) when compiling huge functions. (Thanks to Kostis Sagonas for reporting this bug.) * compiler: Fixed a bug in the validator that could reject valid code. * compiler: In rare circumstances, when two clauses had identical bodies and guard tests that tested a single boolean variable, the guard test for the second clause could be discarded, executing the second clause unconditionally if the first clause was not executed. * compiler: Fixed extremely slow compilation for huge functions doing predominantly pattern matching. * compiler: The compiler could generate unsafe code (that would crash the runtime system) for map pattern matching. The code could be unsafe if the matched key was not present in the map at runtime. * compiler: Correct code using try/after could fail to compile when using the option 'no_type_opt'. * compiler: The compiler could crash when compiling code that called 'length/1' on a binary extracted using the binary syntax. * compiler: Fixed a bug where the compiler could fail with an internal consistency failure error when compiling receive statements. * compiler: Fixed a problem where the compiler would crash when compiling binary matching in a function head. * public_key: Support Password based encryption with AES * public_key: Change dialyzer spec to avoid confusion * runtime_tools: Fix dbg:stop_clear/0 to also clear trace events (send and 'receive'). * megaco: Fix various minor issues related to Dialyzer. Mostly these are dialyzer warnings, but there was also some minor bugs detected by Dialyzer. * crypto: The implementation of crypto_one_time/4 is adjusted to match the type specification. The spec and the black-box behaviour of the function are unchanged. Some details: Both the spec and the implementation were correct seen separately. But with both of them combined simultaneously with crypto_one_time/5 which was called by the implementation of crypto_one_time/4, an (obvious) error was detected by a Dialyzer with more thorough checking than usual. * crypto: When using crypto with FIPS mode enabled, the digests were not correctly handled. * crypto: A memory leak in error handling code in ng_crypto_init_nif is fixed. * crypto: Fixed the broken static build of the crypto nifs * crypto: The Message Authentication Codes (MAC) CMAC, HMAC and Poly1305 are unified into common functions in the New Crypto API. See the manual for CRYPTO. * sasl: The net module has been split into 'net' (kernel) and prim_net (preloaded). * jinterface: Replaced deprecated with in documentation.- Rebased patches: + 0001-erts-Do-not-use-named-no_cpuid-label-in-asm.patch dropped (merged upstream)- Udate -ffat-lto-objects in order to properly build static libraries provided by the package (boo#1142645). - Use %make_build macro.- Add patch 0001-erts-Do-not-use-named-no_cpuid-label-in-asm.patch: fix boo#1142913 - Changes for 22.0.7: * compiler: Fixed a compiler crash introduced in 22.0.6 (OTP-15952). - Changes for 22.0.6: * compiler: Fixed an unsafe optimization when matching tuple_size/1 outside of guards, which could crash the emulator if the argument was not a tuple. * compiler: Fixed a rare bug that could cause the wrong kind of exception to be thrown when a BIF failed in a function that matched bitstrings. * compiler: Fixed a bug where receive statements inside try/catch blocks could return incorrect results. * ssl: Enhance error handling for erroneous alerts from the peer. * hipe: The HiPE compiler would badly miscompile certain try/catch expressions, so it will now refuse to compile modules containing try or catch. As a consequence of this, dialyzer will no longer compile key modules to native code. *** POTENTIAL INCOMPATIBILITY *** * dialyzer: The HiPE compiler would badly miscompile certain try/catch expressions, so it will now refuse to compile modules containing try or catch. As a consequence of this, dialyzer will no longer compile key modules to native code. *** POTENTIAL INCOMPATIBILITY *** - Changes for 22.0.5: * inets: Fix a regression in http client that causes a crash when request URI has no scheme. * ssl: Fix handling of certificate decoding problems in TLS 1.3 similarly as in TLS 1.2. * ssl: Hibernation now works as expected in all cases, was accidently broken by optimization efforts. * ssl: Fix interoperability problems with openssl when the TLS 1.3 server is configured wirh the option signature_algs_cert. * dialyzer: Make sure Dialyzer does not crash if the formatting of results fails. Instead of crashing, an unformatted version of the results is returned. * erts: An invalid value test caused the socket:setopt(Socket, ip, add_membership, ip_mreq()) to fail with badarg. The same for drop_membership. * erts: Fixed bug causing VM crash when doing textual dump of a process containing an unhandled monitor down signal. Textual process dumps can be done with erlang:system_info(procs), trace feature process_dump, Erlang shell break menu and a crashdump. Bug exist since OTP 21.0. * erts: lists:subtract/2 would produce incorrect results for some inputs on 64-bit platforms. * erts: Fixed a bug in the loader that was similar to OTP-15938, yielding incorrect code for some inputs on 64-bit platforms. * erts: Fixed bug causing scheduler threads in rare cases to block spinnning indefinitely. Bug exists since OTP 21.0.- Drop priv/obj directories: boo#1140404- Version 22.0.4: * http://erlang.org/download/OTP-22.0.4.README - Bug Fixes * erts: Fixed a buffer overflow when binary_to_existing_atom/2 and list_to_existing_atom/2 was used with the latin1 encoding. * erts: The runtime system disconnected a connection if it received an exit/2 signal where the recipient was a process on an old incarnation of the current node. That is, the receiving node had the same node name, but another "creation" number. The signal will now just be dropped since the receiving process no longer exists. * kernel: user/user_drv could respond to io requests before they had been processed, which could cause data to be dropped if the emulator was halted soon after a call to io:format/2, such as in an escript. * ssl: Correct handshake handling, might cause strange symptoms such as ASN.1 certificate decoding issues. * ssl: Fix handling of the signature_algorithms_cert extension in the ClientHello handshake message. * ssl:Handle new ClientHello extensions when handshake is paused by the {handshake, hello} ssl option.- Version 22.0: - Potential Incompatibilities: * gen_* behaviours: If logging of the last N messages through sys:log/2,3 is active for the server, this log is included in the terminate report. * reltool: A new element, Opts, can now be included in a rel tuple in the reltool release specific configuration format: {rel, Name, Vsn, RelApps, Opts}. * All external pids/ports/refs created by erlang:list_to_pid and similar functions now compare equal to any other pid/port/ref with same number from that node. * The old legacy erl_interface library is deprecated as of OTP 22, and will be removed in OTP 23. This does not apply to the ei library. * VxWorks is deprecated as of OTP 22 and will be removed in OTP 23. - New Features: * Support for Erlang Distribution protocol to split the payload of large messages into several fragments. * ETS option write_concurrency now also effects and improves scalability of ordered_set tables. * The length/1 BIF used to calculate the length of the list in one go without yielding, even if the list was very long. Now it yields when called with long lists. * A new (still experimental) module socket is introduced. It is implemented as a NIF and the idea is that it shall be as "close as possible" to the OS level socket interface. * Added the NIF function enif_term_type, which helps avoid long sequences of enif_is_xyz by returning the type of the given term. This is especially helpful for NIFs that serialize terms, such as JSON encoders, where it can improve both performance and readability. * The compiler has been rewritten to internally use an intermediate representation based on Static Single Assignment (SSA). The new intermediate representation makes more optimizations possible. * All compiler options that can be given in the source file can now be given in the option list on the command line for erlc. * In OTP 22, HiPE (the native code compiler) is not fully functional. The reasons for this are new BEAM instructions for binary matching that the HiPE native code compiler does not support. If erlc is invoked with the +native option, and if any of the new binary matching instructions are used, the compiler will issue a warning and produce a BEAM file without native code. * Cover now uses the counters module instead of ets for updating counters. The new function cover:local_only/0 allows running Cover in a restricted but faster local-only mode. The increase in speed will vary depending on the type of code being cover-compiled, as an example the compiler test suite runs more than twice as fast with the new Cover. * A simple socket API is provided through the socket module. This is a low level API that does *not* replace gen_[tcp|udp|sctp]. It is intended to *eventually* replace the inet driver. It also provides a basic API that facilitates the implementation of other protocols than TCP, UDP and SCTP. Known issues are; No support for the Windows OS (currently), a small term leakage. This feature will be classed as experimental in OTP 22. * SSL: now uses the new logger API, including log levels and verbose debug logging. * SSL: Basic support for TLS 1.3 Server for experimental use. * crypto: The new hash_info/1 and cipher_info/1 functions returns maps with information about the hash or cipher in the argument. - The application otp_mibs has been removed from OTP.- Update to 21.3.8.1: - Changes for 21.3.8.1: * http://erlang.org/download/OTP-21.3.8.1.README * erts: Fixed a buffer overflow when binary_to_existing_atom/2 and list_to_existing_atom/2 was used with the latin1 encoding. * ssl: Correct solution for retaining tcp flow control OTP-15802 (ERL-934) as to not break ssl:recv as reported in (ERL-938) * tools: cover would fail to start if two processes tried to start it at the exact same time. - Update to 21.3.8: - Changes for 21.3.8: * http://erlang.org/download/OTP-21.3.8.README * common_test: The test result when a hook function fails is in general the same as if the function that the hook is associated with fails. For example, if post_init_per_testcase fails the result is that the test case is skipped, as is the case when init_per_testcase fails.This, however, was earlier not true for timetrap timeouts or other error situations where the process running the hook function was killed. This is now corrected, so the error handling should be the same no matter how the hook function fails. Related Id(s): ERIERL-334 * common_test: In some rare cases, when two common_test nodes used the same log directory, a timing problem could occur which caused common_test to crash because it's log cache file was unexpectedly empty. This is now corrected. Related Id(s): ERIERL-342 * common_test: Two new common_test hook functions are introduced: post_groups/2, which is called after Suite:groups/0 post_all/3, which is called after Suite:all/0 A new term, {testcase,TestCase,RepeatProperties} is now also allowed in the return from all/0. This can be used for repeating a single test case a specific number of times, or until it fails or succeeds once. * eldap, public_key, ssl: Back port of bug fix ERL-893 from OTP-22 and document enhancements that will solve dialyzer warnings for users of the ssl application. This change also affects public_key, eldap (and inet doc). Related Id(s): ERL-893, ERL-929, PR-2215 * erl_interface: erl_interface/ei refused to use node names with an alive name (the part of the node name preceding the @ sign) longer than 63 characters and a host name longer than 64 characters. The total amount of characters allowed in a node name (alivename@hostname) was thus limited to 128 characters. These limits applied both to the own node name as well as node names of other nodes. Ordinary Erlang nodes limit the node name length to 256 characters, which meant that you could not communicate with certain Erlang nodes due to their node name used. erl_interface/ei now allow the total amount of characters in a node name to be up to 256 characters. These characters may be distributed between alive name and host name in whatever way needed. That is, the maximum amount of characters in the alive name may be 254 and the maximum amount of characters in the host name may be 254, but in total the node name must not exceed 256 characters. * erts: Fixed more bugs in process_info(reductions) causing it to sometimes behave non-monotonic. That is, a subsequent call toward the same process could return a lower reduction value. Related Id(s): ERIERL-337, OTP-15709 * ssl: Missing check of size of user_data_buffer made internal socket behave as an active socket instead of active N. This could cause memory problems. * eldap, public_key, ssl: Back port of bug fix ERL-893 from OTP-22 and document enhancements that will solve dialyzer warnings for users of the ssl application. This change also affects public_key, eldap (and inet doc). * stdlib: A bug in gen_statem has been fixed where the internal timeout message could arrive as an info to the callback module during high load due to incorrect use of asynchronous timer cancel.- Update to 21.3.7: - Changes for 21.3.7: * http://erlang.org/download/OTP-21.3.7.README * ssh: When an SSH server receives the very first message on a new TCP connection, and that message is not the expected one, the 64 first bytes of the received message are now dumped in the INFO REPORT that reports the Protocol Error. This facilitates the debugging of who sends the bad message or of detecting a possible port scanning- Update to 21.3.6: - Changes for 21.3.6: * http://erlang.org/download/OTP-21.3.6.README * ssl: With the default BEAST Mitigation strategy for TLS 1.0 an empty TLS fragment could be sent after a one-byte fragment. This glitch has been fixed.- Update to 21.3.5: - Changes for 21.3.5: * http://erlang.org/download/OTP-21.3.5.README * diameter: Fix inadvertently broad monitor that resulted in gen_server cast messages to hidden nodes from module diameter_dist. * erts: Add missing documentation of new external tags NEW_PID, NEW_PORT and NEWER_REFERENCE introduced in OTP 19. These new tags are planned to be "activated" in OTP 23 when distribution capability flag DFLAG_BIG_CREATION becomes mandatory. Older nodes (>= 19) are able to decode these new tags and send them back to the new node. Nodes older than OTP 23 will however never encode their own local pids, ports and references using the new tags. * inets: Fix the internal handling of the option erl_script_timeout in httpd. If explicit erl_script_timeout value was supplied in seconds it was not correctly converted to millisecond units for internal usage. This change fixes the handling of erl_script_timeout in all possible configuration scenarios.- Update to 21.3.4: - Changes for 21.3.4: * http://erlang.org/download/OTP-21.3.4.README * crypto: Fixed build link error on Windows. Unresolved symbol 'bcmp'. * erl_interface: Fix handling of Makefile dependencies so that parallel make works properly. * erts: Fix erlang:open_port/2 with the fd option to correctly cleanup the pollset when the port is closed. Before this fix there would be error printouts sent to logger when the same fd was reused in a new port. * ssh: The callback ssh_channel:init/1 was missing in OTP-21 * ssh: If a client was connected to an server on an already open socket, the callback fun(PeerName,FingerPrint) in the accept_callback option passed the local name in the argument PeerName instead of the remote name. * common_test: OTP internal test improvements.- Update to 21.3.3: - Changes for 21.3.3: * http://erlang.org/download/OTP-21.3.3.README * erts: Fixed a bug in seq_trace:reset_trace/0 that could crash the emulator. * erts: Fixed bug in process_info(reductions) causing it to sometimes return invalid results. * kernel/stdlib: Fixed a performance regression when reading files opened with the compressed flag.- Update to 21.3.2: - Changes for 21.3.2: * http://erlang.org/download/OTP-21.3.2.README * erts: If a suspend/resume signal pair was sent to a process while it was executing dirty, the receiving process could later end up in a suspended state indefinitely. This bug was introduced in ERTS version 10.0 (OTP 21.0). * etrs: Fix a possible deadlock when terminating the ERTS caused by a dirty scheduler not releasing it's run-queue lock when terminating. * xmerl: Handling of character references in attributes are fixed. * xmerl: Normalization of whitespace characters in attributes are fixed so it works when character references are used.- Update to 21.3.1: - Changes for 21.3.1: * http://erlang.org/download/OTP-21.3.1.README * erl_interface: Fixed two bugs in the erl_call program. A missing initialization (introduced in erl_interface-3.11) which either caused a crash or failure to connect to or start a node, and an incorrectly calculated timeout which could cause failure to start an erlang node. These bugs only caused failures on some platforms. * ssl: The timeout for a passive receive was sometimes not cancelled and later caused a server crash. This bug has now been corrected. * ssl: Add tag for passive message (active N) in cb_info to retain transport transparency. - Update to 21.3: - Changes for 21.3: * http://erlang.org/download/OTP-21.3.README * Erlang/OTP 21.3 is the third service release for the 21st major release with improvements, as well as a few features * Highlights * Kernel: The standard logger handler, logger_std_h, now has a new internal feature for log rotation. For full information see the documentation. * SSL:The Reason part of the error return from the functions connect and handshake has a better and documented format. This is a potential incompatibility. See the documentation. Refactoring of state handling has improved the TLS application data throughput and reduced CPU overhead Code optimizations has reduced CPU load for encryption/decryption, especially for Erlang's distribution protocol over TLS Now supports active N * Erl_interface: Support for plugin of a user supplied socket implementation has been added. * OTP:The HTML reference documentation now shows the OTP version where modules and functions were first introduced. Versions of OTP older than R13B04 is not shown in the reference documentation * For a full list of details see: http://erlang.org/download/otp_src_21.3.readme - Update to 21.2.7: - Changes for 21.2.7: * http://erlang.org/download/OTP-21.2.7.README * erts, otp: Fixes of install/release phase in build system. - - The source tree was modified when installing/releasing and/or applying a patch. - - Some files were installed with wrong access rights. - - If applying a patch (using otp_patch_apply) as another user (except root) than the user that built the source, the documentation was not properly updated. * erts, kernel: Setting the recbuf size of an inet socket the buffer is also automatically increased. Fix a bug where the auto adjustment of inet buffer size would be triggered even if an explicit inet buffer size had already been set. * erts: Reading from UDP using active true or active N mode has been optimized when more packets than specified by read_packets are available on the socket. * erts, kernel: Setting the recbuf size of an inet socket the buffer is also automatically increased. Fix a bug where the auto adjustment of inet buffer size would be triggered even if an explicit inet buffer size had already been set.- Update to 21.2.6: - Changes for 21.2.6: * http://erlang.org/download/OTP-21.2.6.README * erts: When using the {linger,{true,T}} option; gen_tcp:listen/2 used the full linger time before returning for example eaddrinuse. This bug has now been corrected. * stdlib: Optimize pretty printing of terms. The slower behaviour was introduced in Erlang/OTP 20.- Drop unsupported openSUSE versions- Update to 21.2.5: - Changes for 21.2.5: * http://erlang.org/download/OTP-21.2.5.README * inets: Fixed bug that causes a crash in http client when using hostnames (e.g. localhost) with the the option ipv6_host_with_brackets set to true. This change also fixes a regression: httpc:request fails with connection error (nxdomain) if option ipv6_host_with_brackets set to true and host component of the URI is an IPv6 address.- update to 21.2.4: - Changes for 21.2.4: * http://erlang.org/download/OTP-21.2.4.README * erts: Fix bug where doing a gen_tcp:send on a socket with delay_send set to true could cause a segfault if the other side closes the connection. Bug was introduced in erts-10.2 (OTP-21.2). * erts: Fix a race condition when a port program closes that could result in the next started port to hang during startup. Bug was introduced in erts-10.0 (OTP-21.0). * erts: Fix a bug where polling for external events could be delayed for a very long time if all active schedulers were 100% loaded. Bug was introduced in erts-10.2 (OTP-21.2). * inets: Make sure ipv6 addresses with brackets in URIs are converted correctly before passing to lower level functions like gen_tcp and ssl functions. Could cause connection to fail. - update to 21.2.3: - Changes for 21.2.3: * http://erlang.org/download/OTP-21.2.3.README * compiler: An optimization that avoided allocation of a stack frame for some case expressions was introduced in OTP 21. (ERL-504/OTP-14808) It turns out that in rare circumstances, this optimization is not safe. Therefore, this optimization has been disabled. * erts: Fixed a crash when dangling files were closed after init:restart/0. * erts: A bug that could cause dirty schedulers to become unresponsive has been fixed. * ssl: Fix encoding of the SRP extension length field in ssl. The old encoding of the SRP extension length could cause interoperability problems with third party SSL implementations when SRP was used. * ssl: Guarantee active once data delivery, handling TCP stream properly. Correct gen_statem returns for some error cases * xmerl: The charset detection parsing crash in some cases when the XML directive is not syntactic correct.- update to 21.2.2: - Changes for 21.2.2: * http://erlang.org/download/OTP-21.2.2.README * ssh: Fixed port leakage if a ssh:daemon call failed. - update to 21.2.1: - Changes for 21.2.1: * http://erlang.org/download/OTP-21.2.1.README * erts: Fixed bug on big endian architectures when changing file permissions or ownership with file:change_mode, change_owner, change_group or write_file_info. Bug exists since OTP-21.0. * erts: Fixed bug in operator band of two negative operands causing erroneous result if the absolute value of one of the operands have the lowest N*W bits as zero and the other absolute value is not larger than N*W bits. N is an integer of 1 or larger and W is 32 or 64 depending on word size. * ssl: Fixed renegotiation bug. Client did not handle server initiated renegotiation correctly after rewrite to two connection processes, due to ERL-622 commit d87ac1c55188f5ba5cdf72384125d94d42118c18. This could manifest it self as a " bad_record_mac" alert. Also included are some optimizations - update to 21.2: - Changes for 21.2: * http://erlang.org/download/OTP-21.2.README * HIGHLIGHTS * erts, sasl: New counters and atomics modules supplies access to highly efficient operations on mutable fixed word sized variables. * erts: There is a new module persistent_term that implements a term storage suitable for terms that are frequently used but never or infrequently updated. Lookups are done in constant time without copying the terms. * ssh: Requires OpenSSL 1.1.1 or higher as cryptolib under the OTP application crypto. * ssl: *** POTENTIAL INCOMPATIBILITY *** ssl now uses active n internally to boost performance. Old active once behavior can be restored by setting application variable see manual page for ssl application (man 6). * erts: Add a new pollset that is made to handle sockets that use {active, true} or {active, N}. The new pollset will not be polled by a pollthread, but instead polled by a normal scheduler. This change was made because of the overhead associated with constantly having to re-apply the ONESHOT mechanism on fds that all input events were interesting. The new pollset is only active on platforms that support concurrent kernel poll updates, i.e. Linux and BSD. * POTENTIAL INCOMPATIBILITIES: kernel: A new function, logger:update_handler_config/3 is added, and the handler callback changing_config now has a new argument, SetOrUpdate, which indicates if the configuration change comes from set_handler_config/2,3 or update_handler_config/2,3. This allows the handler to consistently merge the new configuration with the old (if the change comes from update_handler_config/2,3) or with the default (if the change comes from set_handler_config/2,3). The built-in handlers logger_std_h and logger_disk_log_h are updated accordingly. A bug which could cause inconsistency between the handlers' internal state and the stored configuration is also corrected. * ssl: ssl now uses active n internally to boost performance. Old active once behavior can be restored by setting application variable see manual page for ssl application (man 6). * full relase notes here: http://erlang.org/download/OTP-21.2.README- Drop crypto.patch: isn't required anymore Reported by Gabriele Santomaggio- update to 21.1.4: - Changes for 21.1.4: * http://erlang.org/download/OTP-21.1.4.README * kernel: Fix bug causing net_kernel process crash on connection attempt from node with name identical to local node. - update to 21.1.3: - Changes for 21.1.3: * http://erlang.org/download/OTP-21.1.3.README * erts: Added an optional ./configure flag to compile the emulator with spectre mitigation: - -with-spectre-mitigation Note that this requires a recent version of GCC with support for spectre mitigation and the - -mindirect-branch=thunk flag, such as 8.1.- Pack /etc/init.d/epmd only for systemd-less cases (boo#1116009)- update to 21.1.2: - Changes for 21.1.2: * http://erlang.org/download/OTP-21.1.2.README * compiler: Fixed a bug where incorrect code was generated following a binary match guard. * erts: Fixed a rare bug where files could be closed on a normal instead of an IO scheduler, resulting in system instability if the operation blocked. * public_key: Add DSA SHA2 oids in public_keys ASN1-spec and public_key:pkix_sign_types/1- Fix instructions for changing address for epmd.socket service. The ListenStream option needs to be completely overriden otherwise the socket will be started with multiple ListenStream options and it will fail.- update to 21.1.1: - Changes for 21.1.1: - http://erlang.org/download/OTP-21.1.1.README * erts: Fixed a memory leak on errors when reading files. * ssl: From ssl-9.0.2. CLOSE ALERTS could under some circumstances be encoded using an incorrect cipher state. This would cause the peer to regard them as unknown messages. * ssl: Correct handling of socket packet option with new TLS sender process, from ssl-9.0.2. When changing the socket option {packet, 1|2|3|4} with ssl:setopts/2 the option must internally be propagated to the sender process as well as the reader process as this particular option also affects the data to be sent. * eldap: A race condition at close could cause the eldap client to exit with a badarg message as cause. - Changes for 21.1: - http://erlang.org/download/OTP-21.1.README * ssh: The key exchange methods 'curve25519-sha256@libssh.org', 'curve25519-sha256' and 'curve448-sha512' are implemented. The last two are defined in https://tools.ietf.org/html/draft-ietf-curdle-ssh-curves They all depends on that OpenSSL 1.1.1 or higher is used as cryptolib. * crypto: The typing in the CRYPTO and PUBLIC_KEY applications are reworked and a few mistakes are corrected. The documentation is now generated from the typing and some clarifications are made. A new chapter on Algorithm Details such as key sizes and availability is added to the CRYPTO User's Guide. * erts: The socket options recvtos, recvttl, recvtclass and pktoptions have been implemented in the socket modules. See the documentation for the gen_tcp, gen_udp and inet modules. Note that support for these in the runtime system is platform dependent. Especially for pktoptions which is very Linux specific and obsoleted by the RFCs that defined it. * ssh: The cipher 'chacha20-poly1305@openssh.com' is now supported if OpenSSL 1.1.1 or higher is used as cryptolib. - Changes for 21.0.9: - http://erlang.org/download/OTP-21.0.9.README * compiler: Fix a regression in OTP-15204 that removed .beam file metadata that some external build tools relied on. * erts: As of ERTS version 10.0 (OTP 21.0) the erl_child_setup program, which creates port programs, ignores TERM signals. This setting was unintentionally inherited by port programs. Handling of TERM signals in port programs has now been restored to the default behavior. That is, terminate the process. * erts: The fix made for OTP-15279 in erts-10.07 (OTP-21.0.8) was not complete. It could cause a new connection attempt to be incorrectly aborted in certain cases. This fix will amend that flaw. - Changes for 21.0.8: - http://erlang.org/download/OTP-21.0.8. * erts: A process could get stuck in an infinite rescheduling loop between normal and dirty schedulers. This bug was introduced in ERTS version 10.0. * erts: Garbage collection of a distribution entry could cause an emulator crash if net_kernel had not brought previous connection attempts on it down properly. * kernel: Fixed bug in net_kernel that could cause an emulator crash if certain connection attempts failed. Bug exists since kernel-6.0 (OTP-21.0). - Changes for 21.0.7: - http://erlang.org/download/OTP-21.0.7. * erts: A race between termination of a process and resume of the same process via erlang:resume_process/1 could cause the VM to crash. This bug was introduced in erts version 10.0 (OTP 21.0). * erts: When tracing on running, in trace events could be lost when a process was rescheduled between a dirty and a normal scheduler. - Changes for 21.0.6: - http://erlang.org/download/OTP-21.0.6.README * crypto: Update the crypto engine functions to handle multiple loads of an engine. * inets: Change status code for no mod found to handle request to 501 * ssl: Correct cipher suite handling for ECDHE_*, the incorrect handling could cause an incorrrect suite to be selected and most likly fail the handshake. - Changes for 21.0.5: - http://erlang.org/download/OTP-21.0.5.README * POTENTIAL INCOMPATIBILITIES erts: Fixed a bug causing some Erlang references to be inconsistently ordered. This could for example cause failure to look up certain elements with references as keys in search data structures. This bug was introduced in R13B02. * compiler: Fixed an issue where files compiled with the +deterministic option differed if they were compiled in a different directory but were otherwise identical. * crypto: Fixed a node crash in crypto:compute_key(ecdh, ...) when passing a wrongly typed Others argument. * erts: Fixed a bug which caused an emulator crash when enif_send() was called by a NIF that executed on a dirty scheduler. The bug was either triggered when the NIF called enif_send() without a message environment, or when the process executing the NIF was send traced. - Changes for 21.0.4: - http://erlang.org/download/OTP-21.0.4.README * erts: Fixed a crash when matching directly against a literal map using a single key that had been saved on the stack. * erts: Fix node crash when passing a bad time option to file:read_file_info/2. - Changes for 21.0.3: - http://erlang.org/download/OTP-21.0.3.README * otp: Build support for the erlang/corba repository. * erts: Fixed a scheduler bug that caused normal schedulers to run dirty code. * erts: Fixed a bug in erlang:trace_info/2 which caused the emulator to crash when a bad argument was passed. The bug was introduced in ERTS version 10.0. - Changes for 21.0.2: - http://erlang.org/download/OTP-21.0.2.README * compiler: In rare cases involving matching of binary literal strings, the compiler could optimize away code that should be executed. * compiler:There could be an internal consistency check failure when compiling code that called map_get(Key, Map) and then updated the same map. * compiler: In rare circumstances, the compiler could crash in beam_jump when compiling a floating point operation. * erts: Fixed a rare bug that could cause processes to be scheduled after they had been freed * erts: Fixed a race condition in the inet driver that could cause receive to hang when the emulator was compiled with gcc 8. * public_key: Fix some of the keylengths in the newly generated moduli file in public_key are not universally supported. This could cause the SSH key exchange diffie-hellman-group-exchange-sha* to fail. Those keylengths are now removed. * stdlib: Fix a bug that could cause a crash when formatting a list of non-characters using the control sequences p or P and limiting the output with the option chars_limit. - Changes for 21.0.1: - http://erlang.org/download/OTP-21.0.1. * compiler:The compiler could crash when compiling a complicated function that used the binary syntax. - Changes for 21.0: - http://erlang.org/download/otp_src_21.0.readme * Erlang/OTP 21 is a new major release with new features, improvements as well as incompatibilities. * Potential Incompatibilities: - All Corba applications are now moved from the OTP repository - A new Corba repository will be created https://github.com/erlang - New applications ftp and tftp, moved from inets - ssl no longer supports 3_DES cipher suites or RSA-key exchange cipher suites by default - Erlang:monitor on a primitive node (erl_interface, jinterface, etc) will no longer fail with badarg exception. Instead a monitor will be created, but it will only supervise the connection to the node. * Highlights: * Erts: - Enhanced IO scalability - Support for usage of distribution controller processes for alternative transports, routing etc - compact instructions on 64bit systems for code below 4GB 20% less memory for loaded code - Rewrite of the efile-driver with NIFs and "Dirty schedulers" resulting in faster file operations non-smp VM removed - link and monitor optimized for scalability- update to 20.3.8.9: - Changes for 20.3.8.9: - http://erlang.org/download/OTP-20.3.8.9.README * Fix a regression in OTP-15204 that removed .beam file metadata - Changes for 20.3.8.8: - http://erlang.org/download/OTP-20.3.8.8.README * inets: Do not use chunked-encoding with 1xx, 204 and 304 responses when using mod_esi * inets: Add robust handling of chunked-encoded HTTP responses with an empty body (1xx, 204, 304) - Changes for 20.3.8.7: - http://erlang.org/download/OTP-20.3.8.7.README * crypto: Update the crypto engine functions to handle multiple loads of an engine * mnesia: Fixed a bug where the bag table index data was not deleted when objects were deleted.- Update to 20.3.8.6: * inets: Change status code for no mod found to handle request to 501- Update to 20.3.8.5. - Changes for 20.3.8.5: * erts: Fixed a bug causing some Erlang references to be inconsistently ordered. This could for example cause failure to look up certain elements with references as keys in search data structures. This bug was introduced in R13B02. Thanks to Simon Cornish for finding the bug and supplying a fix. * compiler: Fixed an issue where files compiled with the +deterministic option differed if they were compiled in a different directory but were otherwise identical. * crypto: Fixed a node crash in crypto:compute_key(ecdh, ...) when passing a wrongly typed Others argument. * erts: Fixed a bug which caused an emulator crash when enif_send() was called by a NIF that executed on a dirty scheduler. The bug was either triggered when the NIF called enif_send() without a message environment, or when the process executing the NIF was send traced. * erts: Fixed a bug causing some Erlang references to be inconsistently ordered. This could for example cause failure to look up certain elements with references as keys in search data structures. This bug was introduced in R13B02. Thanks to Simon Cornish for finding the bug and supplying a fix. * mnesia: When master node is set do not force a load from ram_copies replica when there are no available disc_copies, since that would load an empty table. Wait until a disk replica is available or until user explicitly force_loads the table. * mnesia: Allow to add replicas even if all other replicas are down when the other replicase are not stored on disk. * ssl: Correct handling of empty server SNI extension * ssl: Correct cipher suite handling for ECDHE_*, the incorrect handling could cause an incorrrect suite to be selected and most likly fail the handshake. - Changes for 20.3.8.4: * asn1: A bug in ASN.1 BER decoding has been fixed. When decoding a recursively enclosed term the length was not propagated to that term decoding, so if the length of the enclosed term was longer than the enclosing that error was not dectected. A hard coded C stack limitation for decoding recursive ASN.1 terms has been introduced. This is currently set to 8 kWords giving a nesting depth of about 1000 levels. Deeper terms can not be decoded, which should not be much of a real world limitation. - Changes for 20.3.8.3: * erts: Fixed a race condition in the inet driver that could cause receive to hang when the emulator was compiled with gcc8. * erts: Fix bug in generation of erl_crash.dump, which could cause VM to crash. Bug exist since erts-9.2 (OTP-20.2). * ic: Fixed potential buffer overflow bugs in oe_ei_encode_long/ulong/longlong/ulonglong functions on 64-bit architectures. These functions expect 32 bit integers as the IDL type "long" is defined as 32 bits. But there is nothing preventing user code from "breaking" the interface and pass larger values on 64-bit architectures where the C type "long" is 64 bits. * inets: Enhance error handling, that is mod_get will return 403 if a path is a directory and not a file. * kernel: Non semantic change in dist_util.erl to silence dialyzer warning. * ssl: Improve cipher suite handling correcting ECC and TLS-1.2 requierments. Backport of solution for ERL-641 * ssl: Option keyfile defaults to certfile and should be trumped with key. This failed for engine keys. - Changes for 20.3.8.2: * erl_interface: Make ei_connect and friends also accept state ok_simultaneous during handshake, which means the other node has initiated a connection setup that will be cancelled in favor of this connection. * erts: Fixed a rare bug that could cause processes to be scheduled after they had been freed. * ic: Fixed bug in ic causing potential buffer overrun in funtion oe_ei_encode_atom. Bug exists since ic-4.4.4 (OTP-20.3.4). * kernel: Fix some potential buggy behavior in how ticks are sent on inter node distribution connections. Tick is now sent to c-node even if there are unsent buffered data, as c-nodes need ticks in order to send reply ticks. The amount of sent data was also calculated wrongly when ticks were suppressed due to unsent buffered data. - Changes for 20.3.8.1: * inets: Options added for setting low-level properties on the underlying TCP connections. The options are: sock_ctrl, sock_data_act and sock_data_pass. See the manual for details. * ssh: SFTP clients reported the error reason "" if a non-OTP sftp server was killed during a long file transmission. Now the signal name (for example "KILL") will be the error reason if the server's reason is empty. The documentation also lacked type information about this class of errors. * ssh: Fix ssh_sftp decode error for sftp protocol version 4 * syntax_tools: Fix a bug regarding reverting map types. - Changes for 20.3.8: * erts: Fixed bug in ets that could cause VM crash if process A terminates after fixating a table and process B deletes the table at "the same time". The table fixation could be done with ets:safe_fixtable or if process A terminates in the middle of a long running select or match call. * snmp: The Snmp MIB compiler now allows using a TEXTUAL-CONVENTION type before defining it. - Changes for 20.3.7: * erl_docgen: Update makefile so db_funcs.xsl is a part of the installed application. * erts: Fixed bug in enif_binary_to_term which could cause memory corruption for immediate terms (atoms, small integers, pids, ports, empty lists). * erts: Fixed bug in erlang:system_profile/2 that could cause superfluous {profile,_,active,_,_} messages for terminating processes. * inets: The option max_headers operated on the individual header length instead of the total length of all headers. Also headers with empty keys are now discarded. - Changes for 20.3.6: * crypto: If OPENSSL_NO_EC was set, the compilation of the crypto nifs failed. * crypto: C-compile errors for LibreSSL 2.7.0 - 2.7.2 fixed * ssh: Host key hash erroneously calculated for clients following draft-00 of RFC 4419, for example PuTTY * ssh: Renegotiation could fail in some states - Changes for 20.3.5: * erts: Fixed a crash in heart:get_cmd/0 when the stored command was too long. * ssl: Proper handling of clients that choose to send an empty answer to a certificate request. - Changes for 20.3.4: * erl_interface: Fix bug in ei_connect functions that may cause failure due to insufficient buffer space for gethostbyname_r. * erl_interface, ic: Optimize encoding/decoding for pure 7-bit ascii atoms. * inets: Fix broken options handling in httpc (ERL-441). * ssh: An ssh_sftp server (running version 6) could fail if it is told to remove a file which in fact is a directory. * ssh: Fix rare spurios shutdowns of ssh servers when receiveing {'EXIT',_,normal} messages. - Changes for 20.3.3: * sasl: When upgrading with instruction 'restart_new_emulator', the generated temporary boot file used 'kernelProcess' statements from the old release instead of the new release. This is now corrected.- Update to 20.3.2 * ssl: Added new API functions to facilitate cipher suite handling * erts, observer: More crash dump info such as: process binary virtual heap stats, full info for process causing out-of-mem during GC, more port related info, and dirty scheduler info. * inets: Add support for unix domain sockets in the http client.- Update to 20.2.2. - Changes for 20.2.2: * mnesia: Removed a quadratic behavior in startup. This change implies that backend plugins (if used) must be set when the schema is created or via configuration parameters before mnesia is started. * mnesia: Bad timing could crash mnesia after a checkpoint was deactivated and reactivated with the same checkpoint name on different tables. - Changes for 20.2.1: * ssh: Fix problem with OpenSSH 7.2 (and later) clients that has used sha1 instead of sha2 for rsa-sha-256/512 user's public keys. - Highlighted changes for 20.2: * crypto, ssl: The crypto API is extended to use private/public keys stored in an Engine for sign/verify or encrypt/decrypt operations. The ssl application provides an API to use this new engine concept in TLS. * ssh: SSH can now fetch the host key from the private keys stored in an Engine. See the crypto application for details about Engines. * ssl: A new command line option -ssl_dist_optfile has been added to facilitate specifying the many options needed when using SSL as the distribution protocol. * stdlib: Improve performance of the new string functionality when handling ASCII characters.- Update to 20.1.5: * erts: Fixed a regression in zlib:gunzip/1 that prevented it from working when the decompressed size was a perfect multiple of 16384. This regression was introduced in 20.1.1 * erts: Fixed a memory corruption bug in enif_inspect_iovec; writable binaries stayed writable after entering the iovec. * erts: Fixed a crash in enif_inspect_iovec on encountering empty binaries. * erts: zlib:deflateParams/3 will no longer return buf_error when called after zlib:deflate/2 with zlib 1.2.11. * inets: Correct the handling of location headers so that the status code is not hard coded. This should have been fixed by commit 2cc5ba70cbbc6b3ace81a2a0324417c3b65265bb but unfortunately was broken during a code refactoring and unnoticed due to a faulty placed test case. - Update to 20.1.4: * inets: Fix broken handling of POST requests * inets: Make sure ints:stop/2 of the service httpd is synchronous * inets: Honor status code returned by ESI script and modernize "location" header handling. - Update to 20.1.3: * diameter: A fault introduced in diameter 2.1 could cause decode errors to be ignored in AVPs following the header of aGrouped AVP. * erts: Added zlib:set_controlling_process/2 to move a zstream() between processes. * erts: Fix so that schedulers are bound correctly when the first available cpu is not the first detected cpu. e.g. when using "taskset -c X..Y" when X is not equal to 0. * snmp: The recbuf configuration option was not propagated correctly to the socket for the SNMP Manager.- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Update to 21.1.2: * diameter: An inadvertently removed monitor in diameter 2.1 caused the ets table diameter_reg to leak entries, and caused service restart and more to fail. * erts: Fixed bug that could cause a VM crash when a corrupt message is received on distribution channel from other node. - Update to 20.1.1: * compiler: The compiler could issue an incorrect internal consistency failure diagnostic for some complicated bit syntax maches. * erts: The new zlib module returned a data_error when inflating concatenated streams, which was incompatible with the old module's behavior of returning the uncompressed data up to the end of the first stream. * erts: zlib:gunzip/1 will no longer stop at the end of the first stream when decompressing concatenated gzip files. * ssh: Fixed broken printout * ssh: Disable aes_gcm ciphers if peer is OpenSSH 6.2 which is known to have trouble with them in some cases. - Update to 20.1: * crypto, public_key: Extend crypto and public_key functions sign and verify with: support for RSASSA-PS padding for signatures and for saltlength setting X9.31 RSA padding. sha, sha224, sha256, sha384, and sha512 for dss signatures as mentioned in NIST SP 800-57 Part 1. ripemd160 to be used for rsa signatures. A new tuple in crypto:supports/0 reports supported MAC algorithms. * diameter: Add service option decode_format to allow incoming messages to be decoded into maps instead of records. Decode performance has been improved. Add service/transport option avp_dictionaries to give better support for dictionaries only defining AVPs. * erts: Upgraded the ERTS internal PCRE library from version 8.40 to version 8.41. * erts, kernel, tools: Profiling with lock counting can now be fully toggled at runtime in the lock counting emulator (-emu_type lcnt). Everything is enabled by default to match the old behavior, but specific categories can be toggled at will with minimal runtime overhead when disabled. Refer to the documentation on lcnt:rt_mask/1 for details. * lcnt:collect and lcnt:clear will no longer block all other threads in the runtime system. This makes it possible to run the lock counting under heavier load. * erts: The zlib module has been refactored and all its operations will now yield appropriately, allowing them to be used freely in concurrent applications. * erts, tools: Add erlang:iolist_to_iovec/1, which converts an iolist() to an erlang:iovec(), which is suitable for use with enif_inspect_iovec(). * erts: Add new nif API functions for managing an I/O Queue. The added functions are: enif_ioq_create(), enif_ioq_destroy(), enif_ioq_enq_binary(), enif_ioq_enqv(), enif_ioq_deq(), enif_ioq_peek(), enif_inspect_iovec(), enif_free_iovec() * observer/crashdump_viewer: Reading of crash dumps with many binaries is optimized. A progress bar is shown when the detail view for a process is opened. The cdv script now sets ERL_CRASH_DUMP_SECONDS=0 to avoid generating a new crash dump from the node running the Crashdump Viewer. * observer: Add system statistics and limits to frontpage in observer. * public_key, ssl**: Improved error propagation and reports * ssh: A new option modify_algorithms is implemented. It enables specifying changes on the default algorithms list. See the reference manual and the SSH User's Guide chapter "Configuring algorithms in SSH". * tools/xref: The predefined Xref analysis locals_not_used now understands the -on_load() attribute and does not report unused functions. * tools/fprof: When sampling multiple processes and analyzing with totals set to true, the output now sums together all caller and callee entries which concerns the same function. Previous behaviour was to report each contributing entry separately.- Only Java 1.6 is supported by Erlang since 18.0 release- Update to 20.0.5: * erts: Fixed bug in binary_to_term and binary_to_atom that could cause VM crash. Typically happens when the last character of an UTF8 string is in the range 128 to 255, but truncated to only one byte. Bug exists in binary_to_term since ERTS version 5.10.2 (OTP_R16B01) and binary_to_atom since ERTS version 9.0 (OTP-20.0). * inets: http_uri aligned to follow RFC 3986 and not convert "+" to space when decoding URIs. * inets: Added new option max_client_body_chunk to httpd server to allow chunked delivery of PUT and POST data to mod_esi callback. Note, new mod_esi callback implementation is required. Also correct value provided by server_name environment variable.- Update to 20.0.4: * dializer: Fix a bug where merging PLT:s could lose info. The bug was introduced in Erlang/OTP 20.0. * erts: A timer internal bit-field used for storing scheduler id was too small. As a result, VM internal timer data structures could become inconsistent when using 1024 schedulers on the system. Note that systems with less than 1024 schedulers are not effected by this bug. This bug was introduced in ERTS version 7.0 (OTP 18.0). * erts: Automatic cleanup of a BIF timer, when the owner process terminated, could race with the timeout of the timer. This could cause the VM internal data structures to become inconsistent which very likely caused a VM crash. This bug was introduced in ERTS version 9.0 (OTP 20.0). - Update to 20.0.3: * asn1: Default values now work in extension for PER, so if you give the atom asn1_DEFAULT instead of a value it will become the default value. * compiler: Fail labels on guard BIFs weren't taken into account during an optimization pass, and a bug in the validation pass sometimes prevented this from being noticed when a fault occurred. * erts: Binary append operations did not check for overflow, resulting in nonsensical results when huge binaries were appended. * ssh: All unknown options are sent to the transport handler regardless of type.- Update to 20.0.2: * asn: Fixed compilation error of generated code caused by a missing quotation of function names as part of an external call for encoding. * erts: Added missing release notes for OTP-14491 ("performance bug in pre-allocators") which was included in erts-9.0.1 (OTP-20.0.1). * erts: Fixed a bug that prevented TCP sockets from being closed properly on send timeouts. * erts: Fixed bug in operator bxor causing erroneuos result when one operand is a big *negative* integer with the lowest N*W bits as zero and the other operand not larger than N*W bits. N is an integer of 1 or larger and W is 32 or 64 depending on word size. * kernel: The documentation for the 'quiet' option in disk_log:open/1 had an incorrect default value.- erlang-gs application has been depricated- Update to 20.0.1: * erts: Fixed a bug in gen_tcp:send where it never returned when repeatedly called on a remotely closed TCP socket. * erts: Fixed segfault that could happen during cleanup of aborted erlang:port_command/3 calls. A port_command is aborted if the port is closed at the same time as the port_command was issued. This bug was introduced in erts-8.0. * erts: Fixed implementation of statistics(wall_clock) and statistics(runtime) so that values do not unnecessarily wrap due to the emulator. Note that the values returned by statistics(runtime) may still wrap due to limitations in the underlying functionality provided by the operating system. * erts: Fix performance bug in pre-allocators that could cause them to permanently fall back on normal more expensive memory allocation. Pre-allocators are used for quick allocation of short lived meta data used by messages and other scheduled tasks. Bug exists since OTP_R15B02. * runtime_tools: A faulty encoding comment was added when saving trace patterns to file. This is now corrected. * stdlib: A bug in proc_lib:format() introduced in Erlang/OTP 20.0 is corrected. * stdlib: Fix string:len/1 to be compatible with previous versions. * stdlib: In OTP-20.0, the behavior of c, make, and ct_make was changed so that in some cases the beam files by default would be written to the directory where the source files were found. This is now changed back to the old behavior so beam files are by default written to current directory. - Update to 20.0.0: * Potential Incompatibilities * ERTS: * The non SMP Erlang VM is deprecated and not built by default * Remove deprecated erlang:hash/2 * erlang:statistics/1 with scheduler_wall_time now also includes info about dirty CPU schedulers. * The new purge strategy introduced in OTP 19.1 is mandatory and slightly incompatible for processes holding funs * see erlang:check_process_code/3. * The NIF library reload is not supported anymore. * Atoms can now contain arbitrary unicode characters which means that the DFLAG_UTF8_ATOMS capability in the distribution protocol must be supported if an OTP 20 node should accept the connection with another node or library. Third party libraries which uses the distribution protocol need to be updated with this. * Asn1: Deprecated module and functions removed (asn1rt, asn1ct:encode/3 and decode/3) * Ssh: client only option in a call to start a daemon will now fail * Highlights * Erts: * Dirty schedulers enabled and supported on VM with SMP support. * support for “dirty” BIFs and “dirty” GC. * erlang:garbage_collect/2 for control of minor or major GC * Erlang literals are no longer copied when sending messages. * Improved performance for large ETS tables, >256 entries (except ordered_set) * erlang:system_info/1 atom_count and atom_limit * Reduced memory pressure by converting sub-binaries to heap-binaries during GC * enif_select, map an external event to message * Improvements of timers internally in the VM resulting in reduced memory consumption and more efficient administration for timers * Compiler: * Code generation for complicated guards is improved. * Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2, 'a'=>3} will warn for the repeated key a. * By default there is now a warning when export_all is used. Can be disabled * Pattern matching for maps is optimized * New option deterministic to omit path to source + options info the BEAM file. * Atoms may now contain arbitrary unicode characters. * compile:file/2 has an option to include extra chunks in the BEAM file. * Misc other applications: * Significantly updated string module with unicode support and many new functions * crypto now supports OpenSSL 1.1 * Unnamed ets tables optimized * gen_fsm is deprecated and replaced by gen_statem * A new event manager to handle a subset of OS signals in Erlang * Optimized sets add_element, del_element and union * Added rand:jump/0-1 * When a gen_server crashes, the stacktrace for the client will be printed to facilitate debugging. * take/2 has been added to dict, orddict, and gb_trees. * take_any/2 has been added to gb_trees * erl_tar support for long path names and new file formats * asn1: the new maps option changes the representation of SEQUENCE to be maps instead of records * A TLS client will by default call public_key:pkix_verify_hostname/2 to verify the hostname * ssl: DTLS documented in the API, experimental * ssh: improving security, removing and adding algorithms * New math:fmod/2- Disable global PIE for erlang, code is currently not fully ready.- Update to 19.3.2: * erts: The +Bi command line argument of erl erroneously caused SIGTERM to be ignored by the VM as well as of all its child processes. This bug was introduced in erts version 8.3.- Update to 19.3.1: * crypto: Fix a bug with AES CFB 128 for 192 and 256 bit keys. Thanks to kellymclaughlin ! * erts: Trying to open a directory with file:read_file/1 on Unix leaked a file descriptor. This bug has now been fixed. * erts: Invoking init:stop/0 via the SIGTERM signal, in a non-SMP BEAM, could cause BEAM to terminate with fatal error. This has now been fixed and the BEAM will terminate normally when SIGTERM is received. * inets: Fixed a bug in ftp that made further operations after a recv_chunk operation impossible. * ssh: ssh:daemon_info/1 crashed if the listening IP was not 'any' * ssl: Correct active once emulation, for TLS. Now all data received by the connection process will be delivered through active once, even when the active once arrives after that the gen_tcp socket is closed by the peer.- Changes since 19.2: * crypto, ssh: The implementation of the key exchange algorithms diffie-hellman-group-exchange-sha* are optimized, up to a factor of 11 for the slowest ( = biggest and safest) group size. * dialyzer: The peak memory consumption is reduced. Analyzing modules with binary construction with huge strings is now much faster. * erts: A received SIGTERM signal to beam will generate a 'stop' message to the init process and terminate the Erlang VM nicely. This is equivalent to calling init:stop/0. * kernel: The functions in the file module that take a list of paths (e.g. file:path_consult/2) will now continue to search in the path if the path contains something that is not a directory. * kernel: Two OTP processes that are known to receive many messages are rex (used by rpc) and error_logger. Those processes will now store unprocessed messages outside the process heap, which will potentially decrease the cost of garbage collections. * public_key: New function pkix_verify_hostname/2,3 implements certificate hostname checking. See the manual and RFC 6125.- * public_key, ssh: The ssh host key fingerprint generation now also takes a list of algorithms and returns a list of corresponding fingerprints. See public_key:ssh_hostkey_fingerprint/2 and the option silently_accept_hosts in ssh:connect. * ssl: Move PEM cache to a dedicated process, to avoid making the SSL manager process a bottleneck. This improves scalability of TLS connections. * stdlib: filename:safe_relative_path/1 to sanitize a relative path has been added.- Add missed scripts requires for erlang-epmd package- Update to 19.2.2: * mnesia: Fixed crash in checkpoint handling when table was deleted during backup.- Update to 19.2: * stdlib: The new behaviour gen_statem has been improved with 3 new features: the possibility to use old style non-proxy timeouts for gen_statem:call/2,3, state entry code, and state timeouts. These are backwards compatible. Minor code and documentation improvements has been performed including a borderline semantics correction of timeout zero handling. * ssl: Experimental version of DTLS. It is runnable but not complete and cannot be considered reliable for production usage. To use DTLS add the option {protocol, dtls} to ssl:connect and ssl:listen. * ssh: Extended the option silently_accept_hosts for ssh:connect to make it possible for the client to check the SSH host key fingerprint string. Se the reference manual for SSH. * ~40 contributions since the previous service release OTP 19.1- Update to 19.1: * erts: Improved dirty scheduler support. A purge of a module will not have to wait for completion of all ongoing dirty NIF calls * erts: Improved accuracy of timeouts on MacOS X * kernel: Add net_kernel:setopts/2 and net_kernel:getopts/2 to control options for distribution sockets in runtime * asn1: Compiling multiple ASN.1 modules in the same directory with parallel make (make -j) should now be safe * httpd: support for PUT and DELETE in mod_esi * ~30 contributions since 19.0- Update to 19.0.4: * erts: Fixed a race that could cause a lost wakeup of a process that timed out in a receive ... after. This bug was introduced in ERTS version 7.0. * erts: Fixed segfault after writing an erl crash dump.- Update to 19.0: * compiler, stdlib: New preprocessor macros *?FUNCTION_NAME, ?FUNCTION_ARITY*. New preprocessor directives -error(Term) and - warning(Term) to cause a compilation error or warning, respectively. * gen_statem: a new state machine behavior * mnesia_ext: plugin of external storage solutions to mnesia * crypto: uses EVP interface in OpenSSL resulting in generally better performance and support for HW acceleration * ssh: performance improvements, uses the new gen_statem behavior * ssl: enhanced error log messages * dialyzer: the support for maps is very much extended both the type specification syntax and the type analysis. * erts: erlang:open_port(spawn, ...) 3-5 times faster * erts/kernel: Experimental support for Unix Domain Sockets * ose: Deprecated application has been removed * webtool: Deprecated application has been removed * test_server: Deprecated application has been removed, use common_test instead- Do not suppress errors from useradd/groupadd - Orthographic/typographical fixes- Update to 18.3.4: * inets: Handle multiple \t in mime types file * ssl: Correct ssl:prf/5 to use the negotiated cipher suite's prf function in ssl:prf/5 instead of the default prf. * ssl: Timeouts may have the value 0, guards have been corrected to allow this * ssl: Change of internal handling of hash sign pairs as the used one enforced to much restrictions making some valid combinations unavailable. * ssl: Create a little randomness in sending of session invalidation messages, to mitigate load when whole table is invalidated.- Return diameter application: as for 18.3.3 it is distributed under APL license- Update to 18.3.3: * common_test: The nodelay option used to be enabled (true) by default for sockets opened by the Common Test telnet client. * common_test: Fix bug in cth_surefire * common_test: The ct:get_timetrap_info/0 function has been updated to return more information about timetrap scaling. * common_test: A problem with stylesheet HTML tags getting incorrectly escaped by Common Test has been corrected. * common_test: The ct_run start flag -no_esc_chars and ct:run_test/1 start option {esc_chars,Bool} have been introduced. * inets: Put back unused module inets_regexp * ssl: Correct cipher suites conversion and gaurd expression.- Update to 18.3.2: * inets: Add environment information item peer_cert to mod_esi * ssl: Corrections to cipher suite handling using the 3 and 4 tuple format * ssl: Make values for the TLS-1.2 signature_algorithms extension configurable- Update to 18.3: * New statistics info about runnable and active processes & ports. Call erlang:statistics with: total_run_queue_lengths | run_queue_lengths | total_active_tasks | active_tasks. * Time warp improvements: dbg:p/2 and erlang:trace/3 with monotonic_timestamp |strict_monotonic_timestamp. * Introduced a validation callback for heart. * The module overload in sasl has been deprecated. * several bug fixes- Update to 18.2.3: * inets: mod_alias now traverses all aliases picking the longest match and not the first match.- Update to 18.2.2: * ssh: The authentication method 'keyboard-interactive' failed in the Erlang client when the server after successful authentication continued by asking for zero more passwords.- Update to 18.2.1: * Due to a bug in the handling of paths on windows none of the following would work with paths containing a space: ct_run dialyzer erlc escript typer This also contains a fix for HiPE enabled emulator for FreeBSD. - Update to 18.2: * ssl: Add configurable upper limit for session cache. erts: Add function enif_getenv to read OS environment variables in a portable way from NIFs. * kernel: Add {line_delim, byte()} option to inet:setopts/2 and decode_packet/3 * ssh: The 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384' and 'ecdsa-sha2-nistp521' signature algorithms for ssh are implemented. See RFC5656. * ssh: The ssh:daemon option dh_gex_groups is extended to read a user provided ssh moduli file with generator-modulus pairs. The file is in openssh format.- disable hipe on s390/s390x to fix build- Update to 18.1.3: * ssl: Add possibility to downgrade an SSL/TLS connection to a tcp connection, and give back the socket control to a user process. * ssh: The following new key exchange algorithms are implemented:'ecdh-sha2-nistp256', 'ecdh-sha2-nistp384', 'ecdh-sha2-nistp521','diffie-hellman-group14-sha1', 'diffie-hellman-group-exchange-sha1' and 'diffie-hellman-group-exchange-sha256'. This raises the security level considerably. * kernel,stdlib,sasl: A mechanism for limiting the amount of text that the built-in error logger events will produce has been introduced. It is useful for limiting both the size of log files and the CPU time used to produce them. This mechanism is experimental in the sense that it may be changed based on feedback. See config parameter error_logger_format_depth in the Kernel application. - Removed erts_fix_unlock_status_lock.patch: fixed in upstream- Rework wxWidgets BuildRequire: fix build for Leap 42.1- update to 18.0.3: * erts: Fixed a binary memory leak when printing to shell using the tty driver (i.e. not -oldshell). * erts: Fix a bug where the standard error port sometimes crashes with eagain as the reason.- add erts_fix_unlock_status_lock.patch to fix a rare deadlock in erts- fix RHEL/CentOS 7 build- update to 18.0.2: * Fix processes ending up in an inconsistent half exited state in the runtime system without SMP support * Remove unnecessary copying of data when retrieving corrected Erlang monotonic time. * POTENTIAL INCOMPATIBILITY: Change default OS monotonic clock source chosen at build time. This in order to improve performance. The behavior will now on most systems be that (both OS and Erlang) monotonic time stops when the system is suspended. (changeable via the - -enable-prefer-elapsed-monotonic-time-during-suspend configure parameter) * Fix erlang:system_info(end_time) returning a faulty value on 32-bit architectures. * Fix the trace_file_drv not handling EINTR correctly which caused it to fail when the runtime system received a signal.- update to 18.0.1: * Fix a rare hanging of the VM seen to happen just after emulator start. Bug exists since R14.- update to 18.0: * new license: APL 2.0 (Apache Public License) * erts: The time functionality has been extended. This includes a new API for time, as well as "time warp" modes which alters the behavior when system time changes. You are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it is a scalability bottleneck. See http://www.erlang.org/doc/apps/erts/time_correction.html * erts: Beside the API changes and time warp modes a lot of scalability and performance improvements regarding time management has been made. Examples are: + scheduler specific timer wheels, + scheduler specific BIF timer management, + parallel retrieval of monotonic time and system time on OS:es that support it. * erts: The previously introduced "eager check I/O" feature is now enabled by default. * erts/compiler: enhanced support for maps. Big maps new uses a HAMT (Hash Array Mapped Trie) representation internally which makes them more efficient. There is now also support for variables as map keys. * dialyzer: The -dialyzer() attribute can be used for suppressing warnings in a module by specifying functions or warning options. It can also be used for requesting warnings in a module. * ssl: Remove default support for SSL-3.0 and added padding check for TLS-1.0 due to the Poodle vulnerability. * ssl: Remove default support for RC4 cipher suites, as they are consider too weak. * stdlib: Allow maps for supervisor flags and child specs * stdlib: New functions in ets: + take/2: Works the same as ets:delete/2 but also returns the deleted object(s). + update_counter/4 with a default object as argument- update to 17.5.6: * Fix broken relay counters * Fix diameter_sctp listener race - fix build for SLE_12- Update to 17.5.4- fix systemd service files for epmd: * fix stop of epmd (epmd -kill is deprecated and ignored, so stop hangs)- Update to 17.5: * ERTS: Added command line argument option for setting the initial size of process dictionaries. * Diameter: configurable incoming_max len and string_decode for diameter messages * Bugfixes and minor small features in applications such as compiler, common_test, crypto, debugger, eldap, erts, hipe, inets, ssh, ssl, ... - remoce ct-fix_incl-dirs.patch (included upstream)- add ct-fix_incl-dirs.patch (upstream patch for common test)- Version 17.4: * eldap: Nearly all TCP options are possible to give in the eldap:open/2 call. * ssh: Added API functions ptty_alloc/3 and ptty_alloc/4, to allocate a pseudo tty. * ssl: Handle servers that may send an empty SNI extension to the client.- use wxWidgets 3.0- fix bashisms in pre scripts390zl31 1669136565 22.3-150300.3.3.122.3-150300.3.3.1dialyzerdialyzerdialyzerdialyzer-4.1.1ebindialyzer.appdialyzer.appupdialyzer.beamdialyzer_analysis_callgraph.beamdialyzer_behaviours.beamdialyzer_callgraph.beamdialyzer_cl.beamdialyzer_cl_parse.beamdialyzer_codeserver.beamdialyzer_contracts.beamdialyzer_coordinator.beamdialyzer_dataflow.beamdialyzer_dep.beamdialyzer_explanation.beamdialyzer_gui_wx.beamdialyzer_options.beamdialyzer_plt.beamdialyzer_race_data_server.beamdialyzer_races.beamdialyzer_succ_typings.beamdialyzer_timing.beamdialyzer_typesig.beamdialyzer_utils.beamdialyzer_worker.beamtyper.beam/usr/bin//usr/lib64/erlang/bin//usr/lib64/erlang/erts-10.7/bin//usr/lib64/erlang/lib//usr/lib64/erlang/lib/dialyzer-4.1.1//usr/lib64/erlang/lib/dialyzer-4.1.1/ebin/-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:26956/SUSE_SLE-15-SP3_Update/8ab2177fe6a5931aa88eee2e371b3bb6-erlang.SUSE_SLE-15-SP3_Updatedrpmxz5s390x-suse-linuxELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=5d1e1a3796859481d359b2a5878369cfcd288e0d, for GNU/Linux 3.2.0, strippeddirectoryASCII textR RRRRRRR RRRRRR)?W4f*lܠutf-8bd2869a877c684b04617b8ee824b120f26de7520fe9131c1b73cdbeb67ec9380? 7zXZ !t/P]"k%{FG(dqx2)er#+]Wt'LKZ$W߭%FLV%ə\)(NRJѬM#?HdʽP$?JbqFyg*%=m^x _ cͮ!N),*AgWl/Nb{[+%h DCbG5m܀PDZnVrCm0')5PNé![bh*_@-ŵ5&7́bY7#$|k f.y1l(o]\ap'! ?,LtwZR=P5hWuPkB~aO)@b~h B+I_ [=+s{wSt$Dl$oڰSsϮvvqoz-Ub=Q\sᚐN~6R#1-ޚ~A^NWW%Ӥc%4nw }\(_H,9i6Uw#}#O(T!^w|}Qn;%u̺ZgP1C01 7@E.x:tP/>fq MLl: 褓.mU(7YAj2E^2[!'LF0;7mUnW7-jD,+vYW1OU|?LZ.I:uk3@3.K-.k2Zśz7og ~˚iDK3 uKh`=ؕvA 2F6bm us.ԁDD I(=W|sFN1osBG\Ne껣aQxڕ/`z9>u))m3sGx P, ]Ӌ0ZMfJ8\`>LQ:"ɿʽ[rqa A.=f}7ș[2M oM<2AH"8ʅ`wcfJ'mNWtm{/Y4JLX0,96lM93P56}&4:Ow&Xo0 q_X(>Y!nN㪳 0nלG%"trgpv7ٗ*s/C/ja k5 .Qn5Y"J} +[DАN GI]dN:;+q3cV6ao$YMqVƪ"J"세/!\µ PyI!8\Ѕj>Ni E09ޜD@#l>W礁I}s^S|< ML|QPN'.9D?L`p_ J&}\<};K2N+9aؠ5]jvѥh'⛨s,sD,* }ytG$Yq#ȿ waJ }2~Тn \ũEC.ђt߬B]$vyY2d^ův3,Xv35`* BX>9HsWtI2-BjBE~EJɘܭd" ]D9mEJacΙ)9ḛæL%yNɮM烼&y|6 N/ţմz3D@(,Y〿O;J!pZ!/Z,wٵyKM?nY2tl[jL2< !xJ %0 ]zd1D(sz8H z8hS _$%vlKƬ]hg6#ZS0P\az{ QRPrF ΉIzњ7l~>{0 YƜ^@5Me&^2qLjplIfÃ%/B*~P!G4׋oD֛}N&.$g2Zu庹3w;5@ Awиv;m,ZI[0bDKt15g+3y=ZAZfacH dXw2W 13@7ٽ "[Ck*\ҫÍJvHzEJF@8.dяL \wTӿ2LR#ҚWֺxEpAc4ȕzW;tfv3:]*ޢ$t<ŀ#b-$a5; OY(܈Eؠ(e3+_A[cުE`,+ S;}F67pS Iqb| x@'Ey]M^o}$O& OugtEF 4$AatSz%2dl|9m2r N!pPD@ex܃5 EH&O_mV\3C &wܫdY'zFE}s(TY)+ZuA]&ffj>e97\闍VHrpחܶMYJl 0xb}0`=j2:3ktj1ڛYW}G8OˍY ϴԙhMj=@#Wm\, il ZBb)ek7FgCcbb ~K1پ8 XYBn!GK4h-(o*!`YLdVh4X58DP/2&vҨʈ1YLB(Ljd- (dHdԈAژiAG(gHp蛕_f(((_wƌoǖ#:V\0+ɱa)F-3ѡ̍ U _Z2Ap#3Mk(Ɛ]h0=-'snť<xau,NRwMZ{Jֻܺ  ` I(2U9/3b0,I?{|;ғ}~(Pypu L'L;AŸRyhĎ\H{0* hkDl%O ˡ~Iv7 mzݡDډ{,0Ii}sUP.f* )ѢxPHV{̉?N  ~dF]ZC&- *# 807Fekg1nxkj4? NQ;|N''f4Z"Z`ep |i ;CdQ5afp' H2xJ'yogs A7|ya> մWrDDT~{3Źзr#^ J 隆2]Th U$00`(ʂ`k;.$wKWtQgl,DwcɱDK\摄yllE[B0x.?q\gփ͍ {A\*i:@59FheEQoY8A \8ג .\XS XF 94iG>=`nYEoQ M@ί^?dN8Gu5ޗCf7Sa m]v #u%R3|ܞX ˵2g;.?^+:o%U6ҩ=kw"e.-M!wS Kọ|PY>9gEx+kj+1 X6x$!!X(Ӥeϐf&JY4;r0B֦7EJ):8~1 aAXd8:`BP耇}uLbkLS gW<=.zWʇy +XEἿ]Gh%yC Pm_0bcj9ih\f^AY¨^3 i>2'NwĬ;G@aYǮ29^Ʒ:f1g o1L0'0Kq! a`( =uY`зq䅫^3[02gċ9\{8J >ҵzӍR? Bq2k|KT=[‹*.CϮ](g-(k"a'w hw!4p= 9ӌ]ä0_%I[wYhr&"Kor!U {nHiO KxxX\g{;([0H"+vC=AR z1cf)bɏ Gs+@.,[j!lUxDsLX5;7]H}.ES#us쵒bɆ*}F;(so[ǨQc >=v~d^F=z(&Kug+r835Z<JɧDH^w]DQƪt!)5z%)I?H tWi_렼M6*1AK3晀=K&Id_CX0;|hb/ ݞ I&ރ2q97C:mEZx\CEP0Ey7)@)06)A w͛d-;v'fq6YY]~5\ XQȇJba]24.lLx -_RVZkk (|NB0bU˳SU&ռ$.H&Ota` C D LD^%WԢQo~ F;/g*MD㤅j<hY3v/^?x&38.4ԍw,>KX\\ tx zKs(a;٦dTО9K Hn67a6AR덮RqsܳS0NL,6 @_ܒωL]i.EL*Re[֭V< n2Q;X ֙I;\KFkap'C7[$krtOKg9KG*WCd)6XЄԫWo`͔004/Km1cVĝA?s`;R7nL2:|WWI%d7-&VfmXߗEvF힃~=vaXtR+Kyc7 QFվ61S;~߶RH/Jkƹaw=|)6ٲSݍ"ّhn1YCгIjwbƩVOsI~Iҽgnr88}J r]geG܏KW.IXqFk{nvª$?6/#<&k7#D.3- v|ER?=pb1¾EH Hxw3]c6uiH;j(I/چY wJ+x}q4k$TXXZ`حvI 9s|6K4<s23fcq_Qf8LxrV)2aUfΩ(y[Q۳dv_–`sf6f *Ꮵ:?7aQ797 F; ϷšP,2p5 At)V.-Œv1 1ȦYagޭ ` 2qnKה%? +d0bfG=;CֶAemKЅv:gbfnp$&DZK,:{tذ}:AQ-[gZ;GM&Cx6yZ tHSщ.|뎗8k#7LVŻF'*=ZXvWTiόx ˌ8f5,'P[8oA]w37ZyS)O9(S&sZS.k zN072Rc{j(>v(ɠ]Aw;{bZ¡nި~6N ^y;C kW3dS7ވ}(5ڭLkrE^p!2?`; 6w2LG^95J1ڭRusoVҫ/W4(ѱUzJ7,q"7Lw8f5:]ްj. b_Ij8VA/YFBk}r7TvEVRW7щp._|uWp-gV!- utόz_\>كWjXWuF$L3C9.ї\x$)))e3G7p 9&Kl$q;^~,,J^!iG+M-Ц&¶&y`< w*!yj WhZ%u& Z~g IVyעN F~,cPn5((.I ǻYw9l[&5dxut}N 9 ^0V忇B^w9ͨ>Q86j3:A#p: r|;jaQdƭTˆ_h!T4f_쎏 N= ؉H@A.8.]27BXȊNEX6:vna=_-.H {JZh#'Ngˁz#eGm °*PDo}`K8\;o&Z?mUTB.cT=WJh'W.9+Ϡb%sfzC5s!f.%i!¦aZj,&V`l|"eؓUb`"(xnv |Ur\*8ࢆ*n3ahќCP?#f=3ސ\ *ul6-|> H_cwWf{r>wjFUAK.a>hLJ1Bؘ`!u KKl6IQڋ{W YoeE:){AM||Bf}t9!XlBZ !mpCUE;9mX;d\&(cNl3vԞI{UG!|u\NX$ e[`?r `wS4/ ~sd{-NH JG C 1vh] kw4+fhwF4,]`0N^]=sՉ(QAs4nZ1Oā+1;oT]L02I) !s.O C^wZpg8i/ >ANiݒ>EMd>*Yg(/`10Q rx6viv M?) b&Y,GhS,oQMlVɞL|u2pSOg؀ߴ& rF p$ k`?afɘ%śq/l.s>.S0Pq8k|v`o>:qvxYS+id; ;(j""fo1?8"Žxdn.R%2R"-٥!-JJ@E؞q@t{<EW7 '!_W=wH6d:TyC)q#*ЅE\.T$wB\:Qb{vJpņG6rG;!;] zv꿓x?d]Ơ}gC,]s C$T2*.FE 5ݧ/55s 2e%7GUDT(~/a˯ 9+W(]+ ?IG 4Qgț6SYŷFB3r* › B?~ke ޼lNO~-(,gQC2= O ZA&S*}zzvaDe^ Bs^I2mѷ"[Os^3X#/ Sxv5/?}ry$cfXY$Kb7X%jJ!mg2 e/y,6NO:c)?;!lA$D*蠻RP°qە4EMrn[kaO/[&v,K\$ux9P9ck_#x&^1Xz%d"p]!%\|`Mzg&#;|1YDi\ [ s(Xj^~P0׈mXMLVn$Ȣqiv#e\jGTOᙶCؚ(яpn_bRZ6w-4uAJN A-WDl=l"lv*={ Z{F+TWYfsumz ,7cyhn`Nh n=,-a={hh;A/٥A^qo(2ɬ 3Ddywy^5$H}ߎ>C˘-[.'7Qf ]Xkcz#_:~{wn~\s8iPQD%y(/6;x?lIֶ*_nܯW+%Nv ݌j^_w&_ y<8τyo J`a= r>s.iVp#REW>PXN|:ks|YrNH(wKs`]d-o!X*OPLKHn zLa:M@8^J0=*\KqDd ބp+O0fX)ԼE)2 Ƞa{y8pVw74ѸTr\3 %2PH1bڢc@m+QOLO>B.Ѓ?A1e6h`O%QF|:ע{łe6]8[藲KuC,qJeڅn"l)} O%2".SCTx|Z51TzHʠ Bd£e=Ԝgr[+ٻ1kx'3bO%|2dYxK@) 1 ءˇ7 rgG!l5++Yfd0ѐR!e&bۋKK57vʝ&+@O]U!;:|#x{#5[LXw<1&RJa`%]k}]! |JhzE6ԏo\{pADsD,!IE"u4ݺ*wyĿzn" {&>D0X$NfAcl P >ppo#^>wń.1zb"^b}+cr]nѷ9V~(z/qG~9$Csl"E0Hɮ`bbL.s֟h8h>@ ߢԲVb+y.(9{Dzߚ5t$.JFzd!c:XJ^Ͼ:ְUң{_KfO9Y9~ l +ؙo-dK$z:8z>_DSSFUIZd% XQТ9~HG%31}]xok(I_)lF;)D2,Lf`jנG!WfXȩ.L~LkJ;'W+]G*`YeNRy[zF?$_ALl [XIXT?0<9ᔑP?(_7++/ڢ9rC2} 903fFKz@,]`-A93;rs.ա$ uØ0sezM\+ix4_䦬a&؟Zcsvx*_x^J"ۿroX4ֆiYDR*Փp- QF9@!a4𓢀Nm{tGC3BQC8Ō}RvfL6ҩ Fݤ9?5}[@taoN.k!gH?[CB:x<EߋqD InAJ>{S)/0Ocjkjb) G  rՖt !*W)UF>;8>㖽?8Ŋk1vh0n[[a3Bv'v $] ]4 >owb,JR`G2oA/)[x1}3׌K"Nz".`^nÖtC^UnjbA[OJuL ? S,NѠmszx ψavd_y _c:*m3V2üztb+v{bēdDZ?w,1@׬tSF>P葐͓7%peTw`ď's3 & (8g֛b+jWǦ{H-Ǣ=H+`>CnG\A%l%3-3ۡ} _rX9G@䢺<|:Y&UjU?I~s'8ƧCج Xޥ '؋YDmߒ<7%YaS“X?%h]",{ugHF2v ']H^B#KAprswM3A kʢxئ[ufֽ~}D7KLw5g$x@mSK*JIYGȔ6TY.h~.}K{\lZ fƲja( or-+\¤K㍟78<(A&7tpK;D]uWgST^l(+77vb1 #pUo]NۯPQ-j/P Mܫ$iHRZ`r7L91N4|4/A+XCX)e }+[h qUR^&)nL%gb%/z.֬oq{9C׎U}!Y}% a9OV )ʹxoM'1:]ۗrکA-_'ac"Rݢƴq.ʯrzBK]OJ^? 6T(á%HKܪ*&X?oʘ5m|O~mPhX< oa!m-LY㥦DZz{ǣ 1Y^:Eo ݅Fw?~/̕G`J@N J56U ;sk7j\ݗ7֏, hh+vZFGbО-JS[; < fc`.:(/$;ӇL?DIL:S2ҩw呤ȠU7s #&P= 0ŔBs{n1$p^BCᅰ1 e( 9p|Z5d:k9V.vs-T%iG|Αv&|R_`ۧѻh8i C{%zJY%:~&;%"`+?<}f3^KnS'Y3)۔^Z|!WkY0=HNowUȪ7pVb!/nn`7pk&v/nsRU3:gW3&kM m޸x8[LX D¿)ZPD9ļ֬ 3֨)n\\;ITxx֞Z,rzO#4ߥvb:$L*_!oFDߖqւ2X l%?:xC x}RJַXȮpA[5 G2)"C]h5`y&8nD仢[jh(.[k4@n0{(lxg΍ei/5-Oˋ>aCdyqtD>%B^0>u ܚxwФ^4DǣT^"0gE>C X'3L)ـSVuq.[L 3>Agx uֿkkPކ=K-榞q\?q$21}1`_eE(Ϲ5O {J-IzٰF]k)]6,(ӜE==0_ ݇"lXɑTZc^$ϵQTj7\M9`.lG#P@OZ?hjyɠydvs݁ȗf̿L` y@7rz2 F*+े>t#󦍈D2_Y}6枾Ú+WvpT11.I~aZ;L1xoB]StAЈ_E{|*dVS;Hw<1S#V;A2̯HƎ>m Tc|]f_!7ёnp[sfЉw{$R.X3ׁ/7G XT2 ԥњ\F_A; ؼMвy_p,~;aLO`mE/ښS(QN-l{F0 -\YOIcDl`Hs3Yj#2"Xߵ MAdbc5_ YOvv)91`=ܳ#Iޚj3t!7{i36oFnm$9^q.%vDo$X;viRfG/WVs`l̆ן_]/S6W\36y\4={D׎EDRO.Mw'!f 2qJ ^EnVZ!*9]5# $Ҏjuwل6S %T\3Š鴋F7dvx@- dqeTYmj|ֈ&E ZNj;dl1Vv.qNOUĆh!RHMQ!ċ} F:& *(>Ajno%3W 2[UٲJ\Q)мgf   cq {ıCn5e-44 >G_RX!f连'e :,ƚF\d< T r^1QRÃ/=CL9cO9>/IB$ 58}FrcfM}X,cq%͖tMAʛw=o9.tI3_&e9aG os.Rfƶ/Ί8y?{ :{dFwZ=vuuoDIq]^#GM?c'A XӒ#LG11˚d=6LɛKELC \$Fjzch&3zy)q=5AsGf(و!sjaO2 qoP y4jhFQx}@j*Zѽ%7:2۴Q I[#Mj%ncCu D ǏN4C?oAQ~Jsm&e'ӈ%i@ /T=a-%*>JI{ȡG",qzфLx+Ն/S@uyWc*M&cL;2 ̀֍n/v_x\0ǿW ^2/ݷo+u}"ZY'z6=\;j+~ictU`vWLbZZbpE%#@]b͹H$fUyně32QRX-DxxL 2HR?ѻ@$SVa{#,J8@KSp^T jJ[|%O |ܻǁ1PrB0V.PiҖD^hMpm%.,H]ȰR۱ys6w,9po!i\W6Q`@O(|նڔk՜KVZ4 ~ZRSrcM(j,'JX2;Q׾9oxDKگӇhkJ:Wbh=AT?KFYE!(PT;ZG+1GBB1 Y3tkIvW*ADزȣ]L(cE*S ME ˕v=䊒lR9d#68 [WcR4Vp]hsX <2}~, :`~̶XI#NE‰=BuRI0fZeEQ􍐅Uu7A-|\گx@C(wvZBDXr0N˿$.B&KQ~i\ԛ]iԝGO !"ԔK]LzWٕ K<5^A |mwʽ[0N>}ўB3*pc<( h`njcw21rS'1Խb 3Ҥӓy'ȹwi];s&\pO|Ui l.^>?)x/fG7B%jEpmۼ0GC%qYETAR؜6Co:fةjl'~6`C<>fZ"SUUs njĨtΡnY 7L\\ž|RA ,*u_0SyRcTihHQm<}(5R co$Fg =1ۋGS;i(UWp5uU(:O&WWC3XfLB]5$=V3 |B7>j ]@E|O51Q&O /v[*42^ xd-ցk)jG%./::26Ǝӕ5S( q,`s :Qҽ0R |!fk (Td_cDbN4v=EJdŻ0ւ$Ca$Ϗ_'ņwgSx{dovKY:H]~;ն_ ֘7mIa[ Z҈8;k!bɘ 惠JfT$ XW}aȄ/תiHk u842V^Q!"lEViŏ~kSdZGŒN=)`D/y LA|HX?*2՟iz &e w 3 L| a(Zق6pnPQEy;y&rQ|c/#7WU5tlnZ$wpf6;s)ZXoZߏs"Ɍ n+}=)zC[ ANMar x ^I[*˼KecGu+hү^c1hJ;>uۖb m!4&4 Un`uK0 KXv@"aiI2*=~JPPedY$=BLqvtSB=8Uy=?ZLa~.a'{ZvAׂk|5 ;~5!Z/~37߄KkdQ($9;lO 󹅿O8 NJϷ\?W5N )+d7UTn!|J'1p 뻭@+  9tdB0! v_]" "/}[+P}/ñZV@n\''eqATq`i H(k!-^`GL̛pS`k9]2ZS_2H&%DIUn+_]w~*'9ߎIW:eBf#OLv+:lņ0˛]>\]$=~D܈ ^\0OKbE>EjoHvI Eމp'q p(s{{I{\+Om;X$@I { iL[aYDڵ}Qw:>?x a݁ o)p@E {l|?2/:r{ ΜY<DV9?5,фj֢8ѵ.V#wX XN!üHF a x^L~iP|O/tұۊBS\[= =֘ ,񭁖،l5$s˜w!sKWoNziu]_&Fí0ӇQZllc5+p:}QYz{,BRS\q7Ք J<'7J.5~xiS(g *_?~F c&' SO]zڲ#Ӵ$ lwRhc>Rژ݃pz\ P)[=C\WS¡%|2F/Qtʫфa&Y#;ܪݛeRUkk9c3GI덬Jm vCM^v=2TolA\?7H`ҟ%^ϣsB᪄濐09DpR* : ktBwA|fXH#I0f_#nxFK K<5ivl ;*V9W-`,̝DqHD\ ikbZ73R=663KL, 1CWNw|/"G ?Elِu% Z,+ j썧d~)ۖOd┝kU3gQ0Ġwۤ,ntv"+ EX~Le }ˣɫj5Χ֘}Y/"[\mu?|k-G.T98gPn ;zh\%! E<m\NY .p{wikT19K@.ir,B%'>W7Pk 6,~JTA) ע&H)yī mb#>XbَBpx{ :2]8GEm~ /FB#$a"\T6_,nv}X;{?_/#(Vk.a+ ^^k%v/ ?xj}04]oV3&qWhT/ ujQYqI 1}Jn%j\(/ ()>p) lI9]g*u- mCdt :=_2Њح '&9 v1j3ߣ40*0 QF*͔{ߢҋɱ ޗIa<6 o67uBȣZf.*(J`|שt'-Mc3_ۇϢ;< .RrSv,G@[MnG( Y08R^tuדs-A"apnbg[/1w}ԅBfv,~ vFBԜҍO?1eeet 5 2(.6fEI :2ٺ6 >'|57O!K:%DP}=~2-s5Vz4[@p/v+X_HOѮ*MU1#)VpF*|ጂ H2ֹ,nM;PYrA6uOtSN,`N>6 "T TQVh*U~PY9" [u"Vmj#ۯ Ͻ<&,'҈C؏|KCq"*c~5Q6yq M|w4'=0ΛF6@"a#)qnxQ7Y^DiicmJ;WAR?O}r'Qf;W—8],k3۽'&pr0C6=Y^kL 'Sߒ|bv *X[y+ԇ`,hpu$sL#Fg#RzN辔uI2cvb;8yjAn]h, >Gtsfd[3}>/ꐡyZ7zo {%!A ;\T!d>(".2"ҝ;f.O5&#-/H%dm.K]}®?ٝP$`aƏeyPv?ċ DN&֏*yf3%T |JTbܗgۗC_5sHTܶ9@=l%eݾzь21Ed[@2SIB1=u0|Fbŋ~1J&NIP[7S֯E" 9TC5?Y.|~Uqv* R3PdJvQbGGǫCIKN5Is$Yg`yj/ ,7.#A E'"%uSpyJe_(Zf2M#.$~7Kп(Z&7=R7M(c)JTztmְ}Pw3+ĆG6+{B :]u%r6&ؐܵMEؓɮ/DH^/MA}w{b IktFH<- b#Kiupq @Q#z"D GmzYpVVI(2@įta],"/qNϰƔByrӚz4~1k~;1aL_ݴ2A(LtvF@hXAT8j - ah8YӔ >\~YTs_8Oϧ1@c;Gx)[ekHW/~,>*<3P qa($c)5_sdŠϡQ-ar@x@Ԧ]Rɇwa>nu ݧn^ԗ\D5S"" r4=;ӵ##U{OPA}aRVC@ՠФ֏1S.i/ A֗0l_u#UuXv ү$Y3Z;<\G(ZqOh@x`)ڒ[uM O\@eάL,>޽so;:a=`s~qJU59BOŻݦ9n; s֔Eu )6%ܓD'!fwU3UOE9 2qؾ`-ۏ; YAc*U!WTV/KҿNnΓVg:JUMf鑕ϥ>qSs;9AW@q?e[wf{o~l^ƛL~ Mdl>8goPUMG+g=[y-cOL#q=YAC_jbj[k}Eh^,ι0yk)Z XEͯɫ +4DiȺ^ }Y<5xd(2ΛID7Mmr}j acx ?'g Lڀ jr{&bcэڬ7@Ax`e%Z7*#n eݒ~UC_Zm#kCbW>![%D 9[Ϣ@W흁2Y.ނzн8rL)miJwC[軓pZkLh9﹣"uiDoqYs)++T8 8VfڧS_QBҠ7$DcoL_+҇#}`R2F0&qyKb}~H,GEQ4)r%=wsn W:jy7vVTH?XdHd-g}#LmSq\mc/:CH\:~~vb)a^n>u.e*$G/uH] r*YC݃4YvK3WQhQwDtcD+D_#d& [T|_8;Q:F^} JFT+!U+v'؎:ƇZ8r>l$gOr;SAk2>wWH8{uaKMM mU@99sQLƳ9oĜ֔ߟٱזrQk8>WC\;7vfH7ǺЊ'YNx_-*1^z1S5qyYl$>0KE@sP:4Jcȷ`jq=6A팤]Y켦e7h#4WjO.fSiF(P9-LډHqX]9naXOT4jZj'كU ಔU2;kbi (|spZm p|bmH&vo'f?n0*+`ɲ!\K.lSV[ڣ▌Jҗ ykxZ-_|ezYkt^1٣(k>#Akkz>銌)Yȣ7%hSo^D:+ yZzoGt^7ȟ{/]NP(Q{"TT Ϡ D N/C Ee[o(S[f#N=O'1tBq5RBSÄA:[9בse#S?X?G=-:U֒@% !HKZPML-.E{HriI:[eE$eוX~98楗a¯yd¯FUU5־EDwErrÍ,}8HX3x1/ՑD r!:tkXraa>/ffoNBu\ߋn H\5э,i; `/d!Ağ'jϬo#W$ XH*"fi#Y!g|Ĕrg |؆\<5# wэ x{Q BJyHZ;:_ -sHujS/dZr6m$PJh ufҼEb>>Q &튉h5x5'hfa>]@ RZREmCwA1xˀB-81ހHȻeU'tQ J-K- ^ܟ͑ACۆїn<.J\Eͯk\-Ƃ#me=8 r'x-4s0Kd<D_JDݙ֧;%nB K()d^Ȧ+ipN7)HvnjBPun9mM~G[K<' { ;%n㯈± !{Ϗ{MlԈEM?#>J,߳ /HupBмvo'fC Qڣ(x JfM>jEes,du4~TûwΩRQ@Gdl`BpSkaM(DUJbA'ޛe xzgmC}y8=iX& [x.RTCړݞ *oDC DI/Fej|n*I~Qorhy'{f)x?SMLGv{( OCV9(iCq˗]#hz(xfO.Vׅ- '`& De %J~f:b ҝ<^CRzÂi`t7a}9W C}݋a̡Q㞶6BlFW_M:ӶFٹ%̠PU0 N7]E?] ُ8]ע'VyV]{sѣ4o)+jt<{ɓ=5Qޒ\D֭+!pDіYx^dc h RhV.îg).!V;ǬB3tJ!Of97i~ ГE<7< 5WDo\9nnlpHGG38Z(@_\؅lu3<~\G}O9 tT21w GowzjsF{aܞ=3nד͸.VΆբѱq̝ªLU D@XlIoNa"oj9vZmn{`["hΰ]99Q:VJ !B % ~R7F]a]e̮1"[3#@CO [ 3,udy*+h̀Bca)Pf+gU䖯gd p%eg~K^%d#uO V-iUxO g`r [\[MT]/:Xg%/|bzC=bV ^`9} —o88Q|3nnGцe?)[ ~k M ao55,כx\Ww<~nIe޺+3oP9m])wF;"]!>R;ޔ=_gpUiR 9P;<=2k7i><0=_{"vj ̩iXҿX*+w{AM@؛yJLH{OdڝD Z5nG" 9kdCA  hwe0)% Yɒ6y`O\_@aXaoSS2׏xv,?oWsMl n)kNt Bs%>= :;vAYS&˯? akݏ&7v J[R?DL*+"ۥג4܃ m]LzNRn˙pi3=X^ L|%As8gTk@wC=%GTi'.J )C)NMt*,s; EEm`ϗu`""ehuhtۋ2񯼲o&2,uV.5uðS+~v # (oRyxNWrV AUŁtx+X,aNPXIXAKɨwi:S;zu+B~(t5g;4D!*>\XTӸC./ ӊ04%#&v%i /);eў)aT Uhg+%Bw qMn1wAl̫>ђ,!^T#$;Clpe}^h)f9sswβЭxeQ\?ET'o{zb4ujƌP `o Ko*J*;6[ԒoR?C%m=J@Vn5l ̆; BpHZ]a$5$_E<0q};t8A*p3涿7<xr 1s.9癵\i2*m&/8VI|lCri`Q%[z3ٷ}'bh؉'32j f0@VX# p*xzii-dDć8++ !(gri&.Zj5sHxO7$k 0PO &7lSܮ f8yzvUB ¢(e`Sܖ6$?Jihuuު AQt$PHdpCgJT^jv`\g&Gr.xZŬl!kd{̤r=܍ L 0hsLݷÞճ$ uh;l]^EъFj5cѾɠ}6g-}NLOJͲ5w[*{ L>Nz\줛ܠmoRZk"2H0f&Ö-E^o PkdQKտdTm|<(F4zlH Z~[\(2@ p%σj[”cv7 .*"B*7÷KIkwA&d RN$Ã݆^fP CV?R Fӊ L'}T NU; U 1̋6"ۺdˤ|y2nnL|VR{;Y{j&RmwrLlسHzdU'֧Y)re95^{O뻨*}:ˬuQsv%njnLh$|dSSV7`H6oUod cc&CW~.ɋq&J꿗a\<~0"La'25Kچ~'mls?~oM;ORo\:j,3cvKujvmwWDl}(@,GǴ(D`ޭ`+:ęí#9kwx7הi";MTW3oZi+ `%rsAq!a,Oh9}c1d82"T@-z)bl2&4/J.2 {ž: .Nͻ= ³Y&=t1n퀟[*T)vՅ/"4 Yu`^eRBTAm1FOIiPCF{_ u*Wp 1WXBhJ/z.*HG؇Q6I>wCcOyRmИY{.Bl 5 x"owlXI=ز̞JC0ް[њo/a2`? 1^]Dݠ8gG*3QxGmez8HH#)ƛ"z[Ty +*eZ)taP DkF3h@Rkco?;CzԺE]RNC$W >Bq=gDDHA[%:Jϳ7[([-xRGZ AMJlg֚`9kW(7nOZq~P>Č`}US_wWY,3Pfu0E:$߭v' \ iZ];Rky?[^X0lgz`\sJZS|{~X-,p=5=+繘0=YOPoh¶n1.-ۮ3hq3Azwv 2mE>BS˘ZdmwgVZSHF*T; (v:V,k;rbi #W˻ –x9ϗevs~Гm}9Gځfq1Uu^~El/=~5o֋7Jhv'Ha#T>sPͼY}O GcCUMtR-dͧEV"[vY/Ju,9_]v絼W2l@@r#:]u뉷˺-ӏ(ڻ M T 4N|| 7huPˈ^N.S,ʐ+I4i]QM1Ƣg_xZ%drC, P^eI%-ᜋv^"~9u*!&׻+YX l(E= r$ŤHABȢ0'0Ҍ.mg1}̱_>2lbp+߈.~0z+5Rޥ55bpս(*;XL 72@v_{"cQnS-> }vWAQi1c; ~(8xYV0F~M#Y%x7DpqFXwö1Q9Wz[3K{mV2ud醳fch:X4&SŰ96VV@ ؛?ёpt 6IO]+ d1@z2[l7CʍĒ}ͅ#˅F8hj:()c2F_yJT~eOE2C7۵ՅTuV M7Tu^7uaojm?DߤI~SuĂ= Q;ȏ?2|uJA![9P) Q:wQsY>. lIڢ NGFeKTR8L`bfi[/VRl =AY 3ypem*ȯ FeS eM~1&,g/zX 3~ m!jCvkufW}z]D=pBV:N^_BnqU1sI7$I8U14u톫We#񆨧\D \VREhY*fly`m`™B/]6p5x24[Y5K̵ٕJ,@Ug'Es9F- 3gm蹠%{[d /69.:~2]*~7t[jQ< "Ǘ\ue{` s`lJ)_ξqN* @κpW@7+}r2MgUCUP*mUw N9 ˈ;} zy{ 3j,4^y#sktl}6zN=64H'U8c ~r#Tfl< 8ix6Xkr~]  T:[r<(+-7حa^t,͉)Gt \_xb1z TG2::t'V'.-Zv,|w]rw2V QNKMM jtJEKau.A|LΉI 8/Behi_ޢp 0-gTZͼx p^6<8,1= t : ;ahb9ʉW'ݟ$eOm+2HҬDuE0#Ft8;ŝ~*K{Vq nU24 K(Lmkڌ]YM=:TGσN֚p#[֝#G{KׅGJ_=J5-ڗ}tjXz"8{/w>vor{ѹZ&(JRCMԢibn=А:T5pvTI8:$U mmi XW3L5Ys vw<-tUToSi?(ꮮnwtVij~hkV|SXCOSG=6\đrAA.] 6r$DmG_&̊[TҪGC%_;K4xq"&_6LaaC /jO `&'Ji坋DVl5MĔR>|a]֯$R;Js mXKP_p/SUShv0qu[}E(HEܑT+i|KPF!9nA[}Ț}Rď6BJh9cD5Xf(B7 Bw=:~y%C2ʹeC+#K>)+u.f|sO 2 7՞kodxD 6˥b1&k~QO-ǦH*n0ND aZJ~Z{38f3Y/P~Nԏb՛@j{Hs~ӨhMŁa\r\z)I ? ]wXI$O-V#T?mHZR:ٝjj*yjC)JYHr@PDCˉWL,Ҥ]S|=|~ǎL ^]~"?)EkpH=n"w&ΘĊޜ9YA{q{79!"f#N?9R'00&nK\7c;~W;m#1 "zPu\0 b%Yut{-qt*j&q'x'0&y/,Yh >N^i gk\dzhP$ĵf!p^bWSg}mZRq2{O-ITUc痢<ֻUP\4KUL<'C#R虅zw h3ӉvY` d1r><7wUk_lw|eCĕSuhĎ)v7 _N493+m,Mp+lGF$Z`9fmkj7e/b+Ix* &tg(app6r@3ǜb|n l[@'=Woc{Qӛh9%8X0oGVE"F4hw;5`11NNk4¦05d$QK_Ki[gʛqj._?fS߱EKuCMS.a(Qw=-E棉t3(ҠgW2 &-20FrRwZ]L2F66 im !9wjromb{4]9-Cړk]FmXʬ e^*Ųbyz)⇒򁰲߆ b8, _{CYouAju2puFp>iy]7k*zpyݾ/y(g  #n']}8ƃ`tty O*s!z@NI-ˍXFtDQogilٓegURW q5>WrήW~s- "KI4:O9 صq=i6Q=k xZp4L!fNOJWY"IAzT3 @xx Z<yHUսt[9 mWCy/ SɆPm΀X <[vn}dz֔W++\Z4ْz$6@:0vOxהX4r=(VbQMڊCZW`@$t/gjxM]nf;sDRZJ*ಈ0Czs=whX%!WֺIʅFvl/2 kNj@,- N.*Mx,)+|>>pb!>N9fCjmhH= LQP"%?O4j&Ʒ:k7P\JEg0Ɣl[L6;,P貆Y^D0?5ý*QX Q>"n}ojtrU=r}FKehP`:zpSݹ+䚂GTH -MAcku"3 =ĸ.(CBx#iV_Q1sdw"!iY&ǩ|s ,/E셜Tĸ!~d#w͵|aųO-Ήi3il84;{8i\G#6ʊ,FUG;iq8'i̊\RWJa { Ȇ)Zё-꥟ 6 lO%i0єG{ IƞC[g8{{դM *P&Nп9[Ubdmؐ.cULaJy&w+XSʦi`RMfLO҂~ς&QZ }yܔ( ,d !-EɓnUWܠ5LG^.۾dw¤bNT.Ą\8 +ai : ې3y$Uэmf:^# F.FwUk}0cO緯t=\]aNRmbBR.YZpU3F``8.m-;!)τL;ans;L;SBLSI,)ۏW U2KʳlѿẄ8G#Ȱ|lf=6+IM-n󎕜ɼ񡋾N2љ:]{oD f@ejd_CG(bnrԝ;wA<"k0chB lP ~<iv/a[hxP)*944BW_+߆Sk$܃'-. .,$X6wvUĵv?Brٷi7֍AL?m̩Jps#"{(E5HYۯ H$UCC[q.[uGuqqTkG^XVt:1~w\>-نڌu _N qquΕ{\G7WS Z9xV:8)#y?`޳DV+ns&׍GUio`![$QPʜ-O _uG~(ɾ?bϞE7i׭o*-X1't\|R`cPfe@{yő۟l>p+AֹgmyGdp*}'(* PFZ{ hŖ~O*-Wgm-]`yJjiGߖm&VGzЈW"(2J%`H 㺮!U#%4<1e6#ݦUGֽMЊ& CE HwZ~L=Zղ>Nprͨnx?A>&`v+tjy3Ƥ^gNtYܹ~.x[0 _X_QTWSmBhm200UŃ (IZN: V\C TllP倭Gq> 1=\ep1HSxOHU9I,r;𒩤Y_΁ P unŏTۖBoh`y͝΁('7ax u֪)mmxڋD?%;uPϪ>Mk1H =),ElJTϩ"2w)ȡ* !mvX+-[m <;/± BdYķ `f5 |B5y*E׷xV2tǢ`M^m;7;54='ʙ\p/%l˖c^2(yo 9n sO^}5sfyKزgY2rgQJ+1:!ssJ yGuɭ whxQb% ![m,|4bex(AIz!Dz&OkÀڳu 9}p˾mT;RΥŝ--O*h)/^M8g5h9ȏ:VwJzSqgN# %;ʶxYY"Ra Kޜ:$9n3I,ct I Aq6}n'DvcPӔ1hHz>3Oc{$@{8LA׀/a;乀N)}Rw*MԹ'm+pbjd'}kJR,zM"} N`2)hV$=gْsAjLz{btj_Grha#lm'5ΦCfrh$ @>PkC_OSum=t ;:81NnN@}R5|ף}O!U[`<џm?P~rSRC"FrY8DH]ÕW_k< yxU)W8ZbDjBH?bi3,=x Wl1[#>VP&ZV~L0fӉRw1`o&JL!Mtj. &lF]dxQwkF9VGZEYm6] r%G–KmuH$_ra Vx \ C":o;%ּM(k򼶿ISY[7,wXJb咔:Mp;hg˕C)`"UO$Ї">EdUk~9)6&0=QKy:L`yXa&6OAI@Gv1`f򿵡iur@~lTTfCjRhёW/n->;ӹu_FX$$Q:o>X˚(GjD9yp_``!,t~ YfjlRSƎss[bNxD[n}#YvqH(:'"X˖f1zK$.; ߕ -}M93&S-Fik=j]} J Q-O`Y+Ɠ KY9@k(* }b ϰ_TU۽ƚo֛zэU-Y8Ƈ0LY?y@ʩURzLa: ۊ =|v/cLlᡓ d0_e$.`kGt1Uܦ8q@hylhFDm]R;(v/'(}z˫7:l4th9Qmf~* 6 ~VJ 00Jօz^}SKIBewZȟpGABM{%1Y^0zvmu׌P:cHZǸaifTJ7 9㋓RG2x6utvx;lH0J`fF=g^+r;%a*~j}$GpjX5# SaG?[%qAZDB@!AuQP< \ кja 9 'xߏ%ґ^Xꯗ&;JDA2@kR[f+ROCPx'͝-s)Pg!hK8 A.P'I _M" )s5?i생 q˜TSP!bg `3 s<5nd|"$Qv2;[(3]FLͰdA%%58L-L˵62qsZ" F.`nY'#f9M+=>cP]F|ؚ bRdF*+߅rȿG\;Y6>ӒM)ez,4& Y#9 R˫"7]4;Qv # Q+oфWb}~]U;R WoӅ| 8h]ftݙvaKGM.HFc-l֟jXHr G6A̐AX5>;$ rC:b^`%+!TwIyAdJge2·@֥9P`"^I:)&yI JIy>~BydJ{-obmy ybN}<d&N3ɴ$R$cLzg\B8!b7}NA X:ץH3IˠBmS@@  n|JH7%Xmр|KCj˲w'EIgT3iEkp Y o"~CylмS;f3¿j&oÕY:^ 2 N\B$ n3@>Mxr>[95QJa55WH7VV|+UIN狽:V0j#Cy6%$IDW KIƧ>~S0qVo̍;Ae.O|ޘ\!\i /l*hb<5=W8O^vkndp&톦V#GsoͪJ4a$l2{%=<ArKx̠HmYtNvXml eQԼ8!3,.r\*]6-ǜ _gV]??"ؙ\*l]+*KH nLd?RvnUfX1W){5q9Co@ݢ*{ -`[i;)`r3k-o%y՛m w]ѡ`Z ì}{Y㜂_wH =kKhM'J#plD'?g8qKq!DȸY ~wwS3n)>]_.N ,R>8"dY*09qw]O(LdmfC3|,%\ev῅;Rx#'Ua#]BөVaO.ğOq騹 tJ4k'0VSavp0 _}&#gg8v̤=˼WaQ uAF ي!kV R$/,& STy*%nhKUF"Qze&Y6 W1 &jDifǁ>1m=6X/nUf#ݩ}-Z;7vz\xNTIQX#tQh*:8:7vu97A)eBSU*yQQeHQ1 E/ ߈ , vW <=ۚWY'dL =C[vgb|=vwU>nAځZFd̀ + [g(Ƣݻ$wYcpV/Θжrn+=RHu?)""` .A>hH.>_''_2(٤B5ae "w1+ ljLHwވqP`:9h_!Xz8B"Rkb!l[b py~¤|hm P &bZ\-xI12Moqe*y< "b@}j8s%t%L nQ)Ǝe.Q%g<@)G4R`Ӹ *N]U`{Sa^!]|('d_R?ُ"q脼I7. ,QιdfCCI TEY/%?|&-*B(`=D'q$'м줖'shnP*?-iK"OsN+FL*M[צX-,@\Qsufxؘ/knh|YZh)7ZծPvV8p)*"{Hry}fM-J+>W\Y.TF=/υ w=Q{&C4GK` \ooq$Q1 ZY ~ xPhRJFe?LbS݇@.UNN-Ec{K7![3,Iϼ֜slք@i.H#'6]\5K3ZȺS+YߋHΦּf bl6}FJL>ۅd0(~٭t6ω2Ny y˙_N q^|L5^ 2  6毭` m-zn%"]Z/JXtV57K6}\, 뇃vmFg}yz+o¼W7[po<ݱXn/ Q-kW7 OhaX΋/,aTԃ5X!pQgN г˗[\n9H1}0qVsH"(-ԋ;ψvHc˙2zА-tuB3u:щBmJ]&@Q $q 4C3\ 't+ޝc>3>ַ?Tб܎R] _6gċ⤀ <^2(IVOľM!b/e =3ZϟhM4@9jO(EJPћWJᮇ@%ud /X:%] rkn 2ʰ/*O\jسOpPa:_su mYqic.j5:a@R *T2/Ŧ>H$.^ ӈ$5] =%zo+BMڋjLrMx9_G@<- 8d7](x=nMKȂ Ɵ9Wrruw+|,Np{gۄwLti6" 3V'r&; copw rMt퀆c!2i+-7^}rC_]](E|[BK@G+D]88O~4FqvL5ģP v\;NkCe7.M;3m5@> Fg*1ϊnxIdy4LD %:vXAIFjǢ<< 'VQeYg?'38!QC!B`~v>sk*`G:Z~Koa>һ~6s<$Zl(oEhΙ$]<= H'r߶IՅ0+^KoUT|4TNlEyLCؓ f67 GP=S2JGS^yw[62լ{& *TOnǟ fOy,zez(3 suoE=Lh됪,ۜjs  n80Ȍ,09b_=bLgia({X-LB&!0VD֓uz 2n բgp'y qdžܿ= =q[OY+x2.$9) TzU;59"ILma?V &F^&WMc kJ-JS?5"Hzfr*1:ʋAoK%m|J_<k"a_k /т?ĂL6ĮSv#Lp[1;EBThǼfX_ˠ;@=BZEH%5yi"I*Qtf@H>ӌc*PLj޷sj.ƞtwCa|H3a^}axvm:8!C͆x@ˠ;Q*ί`1WM(^Qҿu1X$AYO*PT1[9eן㜢}Y3FWVb[ijWjsov* oX27U~G$U'JB2']?>t'<֫#Rq4e0@P o;vPp%$}ݕ^DuZÚl W, nb݉g۰_J$Y]!ږ 8#b|S:"{UpTF'8RgL[G S6ۿl>3~ܑ`g7+T_#_7a҉h69?X+/n*q)7'wIؽf//b9\H|gx+6YaraF= d=x-A5Dns0tMkh}+H)VU,2W(|f;וAbaK&"]cw2:8nf֤_H>? ˩S`'cfܾ&^P#id`D>.JW}2a-JVǤeab{8.x OfA3}k_پ1@4 d]dž7o1]Jd@D15@SrR>{~cYKǧ7;aϡ%"׶:L}Sxţ-1JQhp,|dsP[A(F',7tRZUgeҀչTL~tcγU)Yk8~cj򕚔Zڇ'0I=K ,e@%xBPUlkLjiZn9|eG($1Xsq͎НiұsC~p_1hMǍp"e mM[]Zl AU4Y& _D 8ܜ 3,>FZJbƟ͔35뽆KL#qsRxhܼgQk&&8.87]&9l]V,T B2.aˈ /lc6h]LpE&B𪯉n+.G7r,[,s6)owb1V Z$س*P7W_ p!T3%fCVn)K&6Ŷχ)=Ks|5"<i }uI 3HȞX}[џeb ȶ.]Z׌||exM+-"%QN[ځ O6TA| 8H0CxDbnms03.[Rvm):쀄+?K+Ն5թ7+TZTk{7`bdا4a\V`L'= n `BD]]*NфVmhsqQđ'4s}zR; U\A6NBLэ!,tLң0Z>RORlzĻŽY㍄M4"@~ѐ%$VQb3 U&W9 8͗n\0 )c"snq%&@3Xᤐ3x8СϱIp쟸X-FzspTah4KnJ(ܜJf5y1]3[0f/X>&@H/]DlJJRGL>1f`P :O4ù8TƿD}n^\[p/H>jTg< `kwrF J2ʄ-:$H^¾]/8ѴctZZ}MG!Ԁ'DPoۂ x8 Agi'1Wqӓ޶~Oor_s = }yߨ7 Lk32טB4'G#@0(5bw3*f¡&]rlDpL5d-b'm 63mǂqOpCͤs^errNQ3TU86dZ.=[(7SIv5M_l.l@57Lc#2# +t)`N_HlP9).D!I#. mpky[|YTw%F!? REr);N7'#q 켏૷ʴ(lXiV5jǎ7gr'ԛ} 9/fܮ+O%LÌáz jǴio_'pXck6{ EX5GFMyΒEؘީzU ?X k<'0rube\NDJtQh;^ĪWGic13RY!"0#"r;u^$VIwFD77>׋9^qWQyC#'=/N!+$#uڥʘVQ<2x>2>nDht_*S=M Bx{yΠ&)}Xqmd+9`8-#Qو3Q,i4tEJzCȩ&{1 7 RqȝiY"lAr"n6 bjo8=,KPx7yimwo-{ś.dv9DZ ꠝӖ6o~8\"S;ީ+Ihfqw7u)3*Q5X5Vo+Ϳ 6/pbG8DnWhG 1?*xN;k<@$WVxw0w6%S~].z@ڴ T}AkFlV J\"TH\ؾB l Ɖ☔}roGj*vb~ܴ@CDpSJ9e_D\[][ބF<OLJ>ܿiLՄF_ # *F[yC>6(u~jSVq[ T{54n[lf?֋d'% ,\Cwïk,OخNRhOFSGZ.~u?h);̑x{9cm BUbSV}2z!Mq &2ZhA_ `cjw"9%8Y . ?Ё(_WɞOnͽ{qXN.8S*hhz#.1J+ hٳ쎐zK#zxr*;Цg⊗ Z@% c9rj S>}!bvxk6xIS4"tK,8qjQx\ꏥڐI!)gLuA .IrYd.+y. /}ej$KDYօ) > HDaKFM)QR?},jt.l}4q/͑4(>S:D~Uɨ;Դ%͒=uGAA[6ޱtI t.cL#͆4cVہ˵DBK=h\'.D>m3|D_j#!&Q]2WaIlWFȶrJ@\7ti1p>-D-HF{}܌$YꞼL~ai D 1";S63* N?-t's!FPJ9aH?Z!^%K2%2܀33pi$dY-(8X#(:UhY[_JJxy*U0 ORTV5B%Vif[$x)F]lULbfhcH*gZE=](FGf[6[|'FD q(BKן.j$Jw#/Z{XdIA#iX]kz-QP4ޅ>F?|'u_9ʹt1*I 4r1m,pEl+Ve,mxk̞]0GAacn4:jSnWe,šӒ} `XU؂@1sr &}Ȥ>0-Z IrBPT@﹮ׄY8;F1,b-xT{%`&V]%Br5%AO $ܥ7~s{\zdDk | G8yfP c0TF([f42|=E+/zk4BŨc!!001GB3V/͢(q07C(8&~ܼx"qszJA;ă#l1yzK(X Wljə[iKء ne\ʓ!N֮ײp'x*͟uжXvhA ,Gp. l"#{m*#-y"jf֜Ģa3暊ԁ8 5Z58򮔯MGiU js1B;:I5Ղ$m² n 訹#8< oXPNyx$ dLxB/#ӣDOkuUFKœT/Ql}N;35t1#_b4=ӮG8%Sr.xH1DigOQz֪D.2ȌܕkC Svo~S1svR p8@pBo^c/uVlO{QˆB ^(m2ZzK5%6pp65n88՟g6< B&dJ:)9*9af]* #/7;ATNrY +QխE?"q֩dg,yd's#>bl6Ԯ]>4Whl4W)ZxJ(|*˓JMNb#@ͳ\/3NNO8J_ Z,0@.=kJO(  ,FeF Q   + 8Pa`v~ZZz|ut.S-}MIb4(6=ʱ<< 6)7f>; Ys ;JCzq342c~`'(v7E/ {).ޤ(DOM|иUT*%ifV&Bʌm nu:Yc ^>Rkfa^_zE@`sC+R%4mG)>Ef àc5 T )[`'RkNbfrI }c!& ~v F^h0億#ga}E!֊I)a? }J^5rZ8BʅR'Z>рOوT? *b7Ӹ(LE hNa]هKyٓqJn`љ !W2T`AVx^yY6;@c6MT/!EHx[G^O2S!>7&b7cewt%HY3iv1D^" 7\F9>Cm"w>l=b$UX~r8c!֚LzB]-G"BTyU}4&:߈P͂3*>]FMJɢOlG2UU2>}VДdy`$Jf2̔[韦::,+x8@8XbDnС!ߡjbO(2J_)%7[\RկNQU=Id`5g,cy89Ea+6Tw@xt.Y/]t%$2ء%F% Ȧ}Jm8N3NQ{L3Is$-j `'ow:3 Al_ȇEK-c)2߳iB NoqYmQn ñNj=U;CZzh?ԍ/ tB \&*G%}bAEt=ta4D1$>AOl'$k/?8ַAޞ\5xFiGaJ/YdXp%xp5=! ,XTV4_> $Q(Afa5\;# `R,Q?U&S5&_t)e֘8^IWtOcR2|ѷ #Q\x I|=XbR9n|y(_-8Û)bƒR 5cw-}dx~]Ėo/8=@Z+t[\X}btpL_!󐻺h3]`Ùt?U(ZR-Z2PEv$UHnޏJ]"kvE֯4N@`[,n`={~h31Z'u(mK'׵;e1nȶM%@3i#Xaw9P9t=1H'osz;`:lkF H$NW}Xbfd*>'#grϹ>T#-2G';֠}9X:hi&2yG1_@!Tk!4ս@ OG+ͤ mcia=#U-E>;VF=`4{t\/ҷw%Yd.edEo(O ek'KD.|+.pa62 ^es{yi"0BeE2܁6|\osM$yh,~Zyya.Иs%0(Ǡ1`Rbu3+sW'"rYR&^= "3y|)Y*oZdqh_yB1Ro\槒Y| B&Ѣ{L*x&wNrc`}$%rwƎ 7C>/sOZ Qk q߶@ p@%ds$c|?[QkOUhQ0QP(#ǬS r\n u8#.Hf:|p90HcoxLg$0ua#F[R^V  J~*j;snnSZsb͖*.XmL/QL|<'^^e:RQGuYe )Gua'0`%wP̙eNG  89sH1drM&aڡDJJT6X=x,n̯ӚmwM(3t֊Eg.ѪBTa85]: ƍ9Q⢳'.qJS3YXx j NpL[Б9:T:yi hh9c>6 ÐDGV&nUݼoo c.S|qnt'ĤJۓONfzNg#piw)qj4KcgP M@ UEy6Tչ˗qFb+%#K1' vv3Qh@?w HZ݂g84`?cx~kyL"v"k *+`n HW;؈@WƾPڨ dj €)Zp^5er@fv4@k Y6ZZLCRd~[l1~>Q֑!W,M$`7R@qIIZSt'0csI=B}{^p%%m]b˷BB~$FU_7^[^iϤ;*:'#h,,f>Ew0Gh̚x>'ϡ{,a Sr<{2e)uaωǚ63QGe-k.$a(u{b!7)9![؛j3<'?\q|ޫfZ$;%4:XXx⹆mhcq, 9a,8K:6Q+@aފs&"Ьmhޠ=V- Be2wz97NOr܅%Rɽ ދ~%fJt7.x}ӠD}wYjUմ|TݙҺ ×zӉ)*#r'_߮vHb>"N2-,P)gӮa/LuE7 >wZ{u8,tT rYe.rӌ4+"ʃq%C0Lس &ZCI5)S0SD<x(nfX|3 ,f ރm+NC9{Օ[eE$ z~e$z!؀ m;k 34gXHj!8`{rH=V(v51v*=8^r#ٔx2 T@ǰqٰHFs:Z`ȪD{KUG%M@9uv"hƜY)5e}1TުE(\hQ0=4?}>6|Z#;zVL?0!69Ý=i Q ?D۸Fnu9$؍"p͠mɯ`vlqxwJ"$ϰs2" CFD7) JU8#9ߪa77]ʟ;ѪX7BBc,|"#?G%8-!ۆ`i)y{3sSLsj%fw>h =*Gi2t2 $=n]gn4&VuBY/?ezt4,KyY"0fڂ qDk#Z)P}jdNd *lmn=B]0w UT f\zXgnV9r[ |KgV GY?\90wfz!S!RBcN0=dr1SNҐL ({cB* 1h*{hS>MP~'R'q h罪p A:5xv&Tzpc],<mk34h`˕.\=+vwY@!<$a4OBV\]=]|~G{3{*ˢ:۩D;IиtvZllAj6ڽ!3{ t_hޙ?3D^`RG{'FhAV~EA =F&G@>J=4Hv#ɘ߄-jLN b<|Iq;<sssTf"gPYd]h*@|*z(/H8hM1ٽ\OR;G|?wI/ ;nQR}Cii!`!E ]L@tJrA|Tѱ`)c5HD >}.jc!bEM6a%z{2:4.'tE`d`}#65JaT)ζp >kv,]°l#FQ8U\y?IM9ef *QkB[z]3̓wnfFs. P.R$dòOM6}-3_t %&b2~c5ғbeg P3B( $j";7SnNJVP"$zDKwθl]q1|eP$xrPb-Ip~5njH-%:O\~HзH]Xٿ?&\yήu4&jKG6uo*!YƤ/+s|ۏPLF81qI8l~o/ Py=^mZho|jmDVS 4 a?ePy\YGSxwQu2/'eG>f/%FoƿaqHS94^o8*؆Rң_+K̙xMJTYCBߧ!,f9DN@1K.X֞Q(XWrT+~%, _1y]SPKRud73!y|Urŷp]}S۫A Χn:,2ًiR$r0xDS?la|z{9#\PZHhk,tg y, A+c ?óMktr05V mP3NEY]EI!Yr;mlJTp]9M^"A $@b7`۾ҳZb* (^H@rO,f,x~+c.6h1N?lkPDh?\&ةǘT]szE5 4NGn^mG~@Aȶ94bxc1\JYMٲy.+9'=8G]%@,>DpC^ %Q7}ILRxT )K޴ WӇvm(ՈU5T.0M&'5G鲁R9O~e:EmP$+y~ Q{2mwsem> =T85P;eΆfBޢ;ƲvK v/ݠlbpXY>y+ؚѬ~Ws8ɂNTY:v 32JM#yWBbr[7X=Ker: 7]>! %Vϓ&[y:Q 4א>q)O"2 [M@ľD`nzÔ3]HZxB lE{iB:xx];]=5hْ.u0ت:<,xv 07Xo3f s}0{}sߙ:cj5:[/*ˎTAwk}#KNKb!DZMt+=;x9Zm5%唰Er76:r./9zw 83(j,!5>wM;c8tĢyiUV\:Rtԗ^ܖHLÀ'1B_׵X*RZ͵Z B ] ~&wwhDtTtYYӀbP>M 0PMxP.-Kn/," GKo# QD<"@}g,1d5^J"wHD0\ #4㟡wLiԿ X{:cjKgL~T(oK V+ ._bx),eڂ^\Foe,)@@KTW٘hٚyQ T[ ~ƝYtR9l͑=nܗs.+֚\B?xFl Dž]{:z%y]uޣv ՛KǼhp]F9w{z8 r>N?nMwT8!63H?m{O<UB&+~W=agx ? MC)rfYN,xY"%•wYv.Ok]&d؀>_]y=b:7Duxg#,iDʸ%یmV!U::Vۯ;% c)U7ZM峦ddf\hT9܊=+Q~M䩣SI=$ʹI/ ž/bBQ_ c QS_R7Ħ!] 5K `}f)UV}'L y'}t.*w=G$P p%] p+u֯ղl`_H314Z$VADsXhc@Rʇ>T"aJlnxGƬzȇDehD@`Q &!I/e {j=i E\U*IFv 푤o 0`Ǜ%}wF561'oGv6 tޣcG7/8blR筏 \siQW}_9 MC:*mKmߦ0VC8knO|.BS{լccqJ݁{ڋUy/7 [!4 `h @pÙеw|%!ROb{9=I/,x<;#3{?J%r0̓$MCPG`Xr\qN}P\M5g t𣋆Mf pQhM' .zi9`.,>:/QDHصp kDCtF3Z,DɴG_*nN7LԩΖbai4nW>/\mE5n󑜋>݋ .1OLp isթ)[Iq0Z 8| rV8y%-[G%9TAd@A˿5}4iblG|!.@S?)!Aj"uC0%*E>C]zEځ[#؜]|ŷ]>!Y2 FhoHVL%RGư1OߊO?qΡ2U@hظ6i0Rdl/6%Q^1!)ʘѕߺUn F~hɽ.{7uӥW'6uFN;,)4S;Qespc\`KCnD@ؽU`i ]F1l<(e6-'BɮTpiC8I9g [c[oǀ}:E,0߇}px OCƉ;7Qϴ#/4 s>x7#/"W02(J3c3eQE- p##x\W0wAƛ* ssJ|q84Y Dh doy.śdHDIHLbrF7KLg:E%.³\WS44gA NPWT똇RʥwėB}}H dz%Ua>_O@)[ )fTNZaVC"rБ?VXT$eu%s ƺUXVov]"NaWM!EY(\F`xXBB"*" ʕ^ڸ]G5懓H2IG~̦PL]L^jd~#26^LT:]m,^$vʅW*ul([L;}QI!]naw *&㞂}E=N㳭^e/Tqr-56-pͅëh@"k~K'TY'xSكs0 QY EhrG>!}gMݦuQ>L;?WpT|VlSu_9G*U:wEn^+2'T`&ڥ) SVɬ}3t+ȈXUWJhU-|t7ˠn!RdފggxC'`(ò|WLZ*` 'w2oPDuJ'OmSkƣ8 ͣh|\i[v0616MNF 'cc\(rbtWQHE3B3Og ">*y9SEaͤ?@ɖ1#ZG>wMp?cϚT}՝sBA7 ?xR,wV\wNgyn.4@C,ePuwKr&/Ǿ'- A925^[mA0eU#PN`(0Qw- 1 vxk_7M$C{rT~]*98>1^=l9GxU9ZjT];E}R?gxG!F"HR1e[Y=k,uXDs<8$^>zlGFáy7gΪ⊔̖J_se2R1Pi cZo];LtqT\#~`{_fdV c+]L #yN[fXrڈ ]>Of}}cde7C'uc[ׇv9[n; ԪHf?bJESNЮ, W;b٠$mԙ@MB ,=y+bz.b\E .XwXpGuZRJF992$7(9sOqЙpѣtghJiGPx䎺4ʲ{HB1Qo}:}X`fc{!^޵6| 5WBm>q/Z56]" {f1R`P7C:6 G^fZ| b鑽ZzS pДuA~5}u#[&=l~F/tmq紃 C:g`ъ,FFNP`,>:q51M]Y[Ɓ3 Ais!hA}/Gy#@t8iS)wvLˉړ3jbP Nɐ>9%XBCEgCu%3Od=o8U_vjV)( +E*M}zM؅/ t$D M֊ұg1o0y!ǜ+*Hd eJ+v3FDf_E|\Kw(pM_pqM!$de7+a-'?C*{{lOrG#rDr $'ڽDqj4;jey} h)"zvnfX@FUh JwaNVpf9+d^ 9.pit4Ӡ~/"*/ֶt]L]P]z [DЯJn.r18Wh|`S1S5IoXGuB7[%e4j^"Sz|hb)u 42>JZ)2W@{ejG#ؒ<|WaGgӸ4(Z,&!qPb@xp|̧t?[&{^(ؓe ^UQw x:{͊Ժ#*p9.'azkA7< d%Δ_ȥXOBD]*W9pnwNR HoOyֹ֪O2; pi5P8]jWdu9$Xdkk<5+=m;.H \_f#\K-l3zw|% Ζ]e./A6 R`:2RR5h⠚  {BQP…˧0xxҽz_vY0K9r :\P7ѶGP_354.> D,RL{|CPi qrhx3`Y]IJjXAApSc9!T]+ȯ?[}nG暩^{Wx9G>Ax Ƒŀ]Z4ZtGQOZ [dO3dL)ZRIq{iV*G}i]У~Meufyu'3–yK}d8wI,Lۄ&,G'[sw8LErRbe_fњ'YF{mEyc ˶o+ <ۑXmDQ:_ڟO>xe$ł/fANpc{ٰM_m=5ٻ{[ U̫366-gƳheykiYb`|CoNUS(Nr1$/fFR֤`kgST#A»ل7g*oXҩ1B9!~ Z@ׇSj< ;((⥹EWRlA^!a`s1{}nbw j 6*D/ک}aS ){zqG*).mԙŢU`69^,jγ@q]Szo U OY@ݷeRb֚Y @YZBJSDr;'{xlhe=0 5 x bZ? ͹6׺2o-q]'Vs aby?JpJ-4{-Zt -2).YP49H5̽PNNU:[IØa$?$ '"d(-$LWf]Mb k;[Alab2>IbҮ6ע(|&d6Ҁ/LlIRK3cܦvmqT&/lKf-D;bT9aǧVxǴ4R-R{x?q8_ |!'aށIoSODQ!ZuKrSHG:k,pZokِۘJʣm0!mGnʗ d/ 2C_b0YŤEg$|WMy-~9/}MPu*N =>kbx8&OEqV;IrboXnT6$Ϳkm40sqV-R# .8ZSbDMWyFx>mY+fԭ&Vt$v{yiA5@"M3SF;8*R$f)ĎxQLXc A?e)j:4g[hpnY[RՌrB }s)zDup.Qm,~I|HfVE3Rߊī[NQ6 `zzP*g R 8ՅMp+le<2źJ̭Lk32>pR%k@GD3'@@K`K.Js_hcĚ yg<7´>hHrv1H:`Np*dčg^`gW@?XS;YʴS0j')}xcȋ!*X[6&;|Zх`6C"OMon >iL\а\ֶ `rE9Zy-n+v.kVJChKMܣW-ޏw`sWgm2M>e8nt M.?=N,-izi< îG &Th,dI&7טǟĥ O930Vc4rЈ lfEJ|x4 E7ygy$w;]LH}35xb`'d34>@?pe~S;Wyb뮐գS(#bX4U>c׺@&Ӗ+ b\̀ml۝EI--[o}m[ ".&c}ϋ[țib wcMN>: 8Es^`롂@~#J"ýwBa{ p0&$FʳM8e1Xiryz9<1sW] jA$tuWgt&6yD b54Lн[(` t$.xHz$W^!WJ(iQg>쏊j3 U ޅ Rk%b+*HR64ז uSK^WRҼUT=/3q2+w /N̸hiGsӴ@W稵 }* ]Daxed,?`?(,鵡Z{h>*A8>N R] ݓ*ө9F0r/,Q:'qFzv +Gx)} $yZP7ma>Z[PwK COrKVcG('y崬}4sQ~8V[= ¹ NsӕnO  Y4/$ d,m@/x2z*} :?M ک9耲)Ⱎ2]=̥%Zyyg&$:l!O9/O2l)i!6`USd~q_2wP"Q+rB"@l܀뛎i#VG{Jˮz\fe3=+渖cWduwΑkj3<6z1_5,v *X#41%E?$ao¶níΒDk|MSQxO]52cI [݉ !1+H\9U+2pjcV ;81@b[W`&-:fZ@C\'_䩏;;W5+&`DTQ>QhƺѰ<h}r>'l.DG8$LukWVYEYe@q=QX$6 5#/Qd_IT̃4B!m643`9Q&BOionrp}ϣ<"gcɌ4v.-nnPݏ2aB.}NprPzчnMcYc]^ Pd1K*g{ Gus@@s3d#ִ\hD9A#J68n{CsRZk"ܓUƆ=?j2^ۜ1?v4C .vtk{b'P#:+~à?."ﳓґV(Hؘa4~[q, '䀾+1\kIGvAr;iSy1ǥ| /;˵ڀ:)[XuoiY>>Ijh5R;t;lIYίiqsO#3# In 'ZQm3{sٍq/"" j?01,P?Vۓ'e a|y4 ax\{@JzIizhAK{Z"K vMDնXQ:G^b $R&ky=)9>{ #uU'l6;⦯`Bʇ-6ڣfYÏzFɂ>W]3cccvcd#NkPV.`@%CTeA?qHnT>; eE ;cC[Cg\oq x` sNRߣ5u`DW83ޙvA#BDh7;h~ }S{bѱ_1nj'vb_ϑ82qg f,a l*, B ZPX&v?xA$ƃPNS<ɱ5{K\#s S^V]J{:QdpȕƄb@ׄ ØbCGDYZ/USwkІrҕÚ_FAn{UZy; _fEk~N1kO 4w>d<3 T@W kVY8,̃w&metcfQ-Zii afprcR-MRC+4,j(NU܊EgQO-K!Es;~yJzī'Pryhf&d#;UFy`ҖUmtE|A#A:rEz`s맘I-n8KNa%QZ$2EdqL&ǘ5ZE.Yi} .+(Rհ%q?BHUɰ6p`:0j)DWb@r"~nx!tUZۛıx>)q0*ҳPGov hZ,0~جPhPJ5ؖGJ[BtɵС#>ї'>f|m4v10B\F8qY51ИnYjI`bQ=A}/ lPkP,&"mbr3城_&؊.!:ڢs 5rV6uߎ$hDc-ݶd7L6MS_t_]Vz>H W/?K;9k5 AQہKQlsZ m `1DOMů N12`>Sh XAC%o 䩃inJ,?l] >S|bM5aX{js^ JJ/~KsͰ[P"L\ˉti<"W<|`FTГy_Qw?o nOi "!WtcVQP4k*徰4.,ޠ^OL9Jb9@-p5h`4]jf]MDb*J7oF+z; mϥ(.{nnePCVɀi_cj֡Xy-sF۳nǴTUJO&.x6q}>ly`Ble>(+@oh-8]J^ yA݁Fm8ZԸ8;A `c% y7KBgkby5CӱA,Px>?cP.P*/PX-wlAM56+{O Hf N%OOfӄ7x 4Q @J4QTfGKC z8Ҥ %RmM uǞT i W0Ki4;*ֈJC]",FY{Q4C%k{ F &Q:E,DŚztGx%/q6F0-$%}$/!}Y>۩2tL3|ӳ;yeRŌ!;9w̳Z ciA)Eƫ+RU%fyNN~YV0>VQ:h3wRpݰGcX>6 eKNGC9m2:Saf>[$3Rt31 mUtW[b_3qs7܃Nz4GyM -7N|Qww j϶ߙ-syu^}3ȽfA9v%0PԭA0ú[iuI' 4K1c}Ys? m!= p1aŔF!rFnT܎<"GVYw[4M88q-Ɔ@녎;푚DRNܱ+wÉ|v¿K2G z1'FgNjַ"oue,-*lN} u [džpr}Л#.{e3GMIM R[}ZVta[!{$ih-8)~j8БRٗY @ă{p. ])ɱlaEI02`v =w+|Dޠv#E"I=`bȒfߑˠJSzz$u**.+7i%?.wykM]ZA? mWhHডkY>* 1f!~`+LGᄸ ^ݷ%RdͲ&N 2>S/u$l/(@|IGAgIL=k3 24$[xA! FӊV˜^p[Ė6, oFUF,:SSL~ӯOA[dOzQZN؃\^d g3i\}CE%a,@ᙩ3Зh5?0p9~* Jac9r}#b3$̵ZFLp&6֚.FA} Ò+K3%HݗQZ%XHAZi}4wl?H..\U(plΠfUlPo@ t0}W19 ̶*BL6dE T!;?RŊ?xaC5c! r6\C%L+ת,v3TBAI.csXgcOڮ{gP E >HSp)_c" &03+lf$^BJ['KN~o7ȧ"w]uqec0cyKb:T*\"u3Nsڜ#N6 (6Ͳ!dL0:.>{}ڀ*ͮ2t F%14ZF,c@D1*5BƁއDLteA0 @wCW4fb6D''ozF0.)|u٥Rcc2@mug;%B鐦t8*$Vo?T;~Y$k=;GV&[]m:7>oh1"] 5Ȑ>N=[iߝ|M8_|+Pi'BB\eEBV}(1~ۭrxx yPNbhqe+|Cвyĵԋ?CQ4lK1D^(_/zl@._6B{1:&uy- |R]d;smx0 'uUUs–b7yz鳝ǟ sՖD7[c-62q"6# ω0>Od!̣3s/X{)ol8" ^i=z}؜|o&Tzwnh$,Wjκ QcMovz0'5ų< ]?*¼ȡ{dXBn-HL?N}Drk?);R nV %ɐ ǐc[ɛ& wv`HUd1[0-/˴c[XP1;JY+g)6{=J~DMHt C4XrvwSH>9e䐅3?wIW.ǐYX;1頏dǣ?|>:Rd3=fm"֙꣠yig*k}-8x-KTOUdP$6`} s 3p͙#_Lms+n7NK_,<]joqRiF'kY|IW|=%1C2J 1/1x@OLtO)Pۤ^x *GkRQZ}G}w>o)R_;OCwn6,wFjDգp>˰0)%dl^p\i֚U2 тW[ŬL#C `@}BE;Sk P*Vy&yAWvO(K5@~)vzwss|vX)Gd~Z$ƺ~GOA]zUlMBoOgEPcgBJ q61Ԅxt=Yz%X ༳#"f_}D"D6tmfoPaSЧ{[A_E[iLǧX>igDD=ei[,uW_2]lfJdSڨ(yKxӳf74L1*_ԔM`!)u6 ߐfxˤ P3&0T|d$0}_.ra%:fk3;@5|c&lnLj?y0 }4.!_h>z|]duqМA|$ϙj(oTzvS X"qub^, [QYqdj)7R}HYuZoiT@8 i+18XV[>בê>EQՏ/9{;[$ptNSR⧳ 6f[DI~5#2;n1:2^o2 \wU4ս W>9/w`K%TO^Oz?=S\vNkqWv๿*G-\ M(cܿ6=Ok#JESW;\TQ,r#LRARs>8F)Rř ,lUm}jqIiAaQD11V@,Տh @Iߐ&(YsZiZxY *$&XǮ%^D{ X2ΠSx /39`[?cZfzL77LZGsN? B z/Xp#CyKS2o;.uG8#%O#;NwvԐ_Rh}ЪӚLV;}gz{aFkNT۟Sb""gǎJ<o&\@YfۄALc8䧋li3@Zj@lB7dwSnK4tlI'F,z{\Ѻ#YNmB}S `L %B(d3y`)K`~ѯg)w?=:AAϲ^Imn؝1D-D) r[ #);Te2~ή yceG,ZV`K]q&DxZZfQŹey { J(¤ٔ&qh `U@g܅&;ԟ oQSX$O7L儮?9>/? S8%,bhj3O=6B׵`i~3\$~8JH_Qb%hZ?o!u7Bޡ!f~zRK|ˍ=Fg +=*/.\hΝsLT k!B2{zpZC4*Np@ w!&.. &º|etH왎=sz ؅{?΢A;ϩ:Uc6} T+Ō| 2S5mok,Sfo_8&Dd8έDA!2cTG5X2):T _Mb dn"p °nW p8.O%e1ȔB%F­*Jp}"e R,;LDoʢ5bQLJJu'LlF5g@uo-KxxFܓ#X0AfD̰1#6IIfK$ˎNڥiƁ=f+2c(dlMќQ~}=]nfs mx~Y3 wXmXz= r+%2+魭4(ׁ{?ۋӷ_'ᲧGF̊G W $pՀ$2!+We{`;;{}zkx78/חueA{tƁku *"BPrPi;`@!h!Sf+LB_t<0K!1z?=͉``qdC@5?~5x*[9T}* NIro&ş:%#$1#"{GeLޓcW#3-DviQuv39ڛՁђ'.*Hrz"ޅQc 6ƺ&"oPxdKy?Zzjn5.o>klwyaH 6[-1y-^^tY HFOW+1OLKo'2=@+܇LҰ^ *Bwt?RG7qnkȡX6QwAfSq*yquOM)vz78$'",5m9H@`0@A[COtw3=MUjtZ&MwV, !y'ު̞QO ZEQ:0C=PfnOj[5)K-A`bj SW`gHoGAj\W͌PZ&XʠDulrJ?Rɪ(֏!SUft18=h9xxc$A`֘XE0uZRpx`$>@Oq[*f;2o$^XHkl('>YM~eJr0W Ȅx&%pXN*S;VVoCP|̗X #LbbX4=ଝTwn]=›F4T2[@JȆ bZZ]L`\k\m:܆ hu^C5^IDRj{p㔸I)ߋɪGV`BGy|>3lu jm.H:U;x1`Lce,^6X5j)}We3ODjHUd~)&{aO;*֚^hW2} FhPcW* SR֦rJ*_?KݿѢfpI3["?ucqA!-1h\L]OX7T͓_G)x/jsrϷ܋=L MٷagyTJȅWD"CɋaέLg>|&tbIj-7.V܌?7XUp00lClJX[_+O,C!#ZOռz; N`l ~+&`T HӣNt =`)}MzL:R [&ah⋣XfI.b\h96f{Pq;#O3]$R{ +Xk2ޟDzyVY S{ &<{qp-]{8G{8`]5u|?SNY#ed("Ԛ4%ө`\4׭5:L 䆾ohW@' %-b[eӷ݉ʑ n @:^NI^^m~%6>( 1ru$޺Ғz k{I!t 1voP_i ]XCzagŰt9*%-hgr]`Oq 3)J-+XhNe9݈;gM!+ucK%8[҂18s9Aeaulg@tc៱1;XK=鬒讙;3SdU,^uYPxٚ',1pleR)H-JfӻKuHBMLH" l^ِE ;p>š{[}s_m(Ȧ%0VJ8kcݰV WjXyD>Hmiqdsˁbj]3{T Ba&0QERw <riMhVMdKjհS=0$T*P./(A_GMbi<{3mبmV|D(,kr>` /{u1ݚ>߫fmQ]5urԯ0oT6W{HzgL:a`MQ@h+FlGj \7l2ezY(P? {U)&vXN1o} bK@Fq&cð\-7eL3uɱ.|4:$7iiQǢ0y6@cPOgc)Y0ɴrSB 73 ⵒ77#ΚȆ)E;eṕB,`:# q{!b%ן4m A u X(c7ԫE^\!]Q"@͎~2܄W45Ѷ)U:2yx_P$OL#LњlbKeo)]V₫Urwk`O@rqHAԶƁ:jX70|Ux?zovfH)VZd뎚2oF߭//h3 @rQ݄"5Z\ LB"hQ/%tHO.b`/:gă췅-=lEc~e{oGS7pc׳;)CP:nO!(SejJT1eA^M SēAꭘH/vULH@IdPF:*O9[`O.0nX9ϰ缡Jcd9Nw1w3eJ€OsN.@WlD꭬)dpdZ|1tS{P&x"Ai aGXbکjXC B ]6[!/IKDqt6y]a?P.mxk,zwJGmz>VH$(0T K&0E~mB{eNَ`Fl`,W|}Z{.LU(XvjyK=FѰH)U])ݛb"e ro%~R@6bq#&Wo0iR[)e;&E]\YsC] Yqb37)&uZf k( .A\5t3nf*Oqj IGG^bkT\CY[S;LLB1>HN XV=a͌%h,@ +★ʷ*|Um8/Qy0vxj-l_2 ཉ:cΐ$ͥW_0!`[ѬCqV{}:"sLJy%s-U4}./ "$@y?\= ̅5~`s7)̩O={b^cZQ@2:h6;'E jLVʇd6)|j|AR ƸG`+\s!bAsZCd2j9vӘ֬'bFO)I$t hA$|@G}Q2)͸%:H־-CJD9D7j2;/:v1PnR_ aa]PȨ!$"D^儛#!+e ."YQ"o/SБy$ )` 껛?݊kqa `#ccjjϬX'x_2D\n!%o1&4<8%DOb:N"e#3c"bӗp$xR:ZwGTҟY Sx(N4e9F1ᐘvWKw< tmaY8E'f9qk،"ZUF)`!Nå:^o7!%]{jYdbL(\.ĂmXVo\G4rq\0zydftMFӮ;ܟgשP|)O:Jp$Vvy rJeqQ93Jzblȟ2"Aa]1Al ѯ,O^єzZ";O|Bƈb'T DݙƙSg](cޞNwߚf]D$x^ ߠUuiMbXj=ޛΈ]Z0Q&#'*KKF6bRX5Yzvăn {WYsե_/zMx}܆'jcttk_B(o\?~l|l ڬ0ɞʡ.Z!<$X҃jfD{M$k'B uq@z\K6!8>*i@VEʔH}3c49@/ݛdY)w̷1+dr'd?#qkWM&@by4ˍzG`߼JQу}{MRzQe4`e]I-ݓXvIΈie@iV5۬yLwč卸cz7Os!8)cQy*1%(AwmDU q5rLl[?Iue`SD4U.<|@lW=2\a?jo~:nv9TaU Xk _퇣!ٔ`TA$W f<-S1Nһ m7q#s|veRsȠoYXRl2K- kM{1%9'v (Aۦylmwm.bWQ.qdz6ln(:?/0e*k)hEkW0jakCPX,%9Б@֤٥殸.}Ym&e>ihj\F@i-5J  y&uGZ ɸ aиG%Q>:-QR o\l#-<9GW?.=o-1]i&,]P!ΟsKɇȧԅ+\Mڮg_GynYUvD<_+s6$@/'b<qga{,B^IE=t 7o{G 5?*&;bU'dDV_[jD۵xSĕN77yqML+D ;U1_1]y[]XLH1c1D.̥" "9-cha x1#S;cG?׉{>c!qQkXKs#yiN3rPrݹ6i>J>6gbm\>@&OARܡA%Y<# 4,~/KvcCe?R=pW.!cBw3ZF 䋳f 6vb4j!J-7תp}Į v+ B^tconB ;?z sS"6ӗ03{8;>F"ͩMErr KEg=%L#Ƥ KV|y:C͟mhsلO5r;Y -ӝV |a 9DFgeR ݚGq|i-SMi%ms#btY6B[fGhU.gDA)V:uxE ?>~)5M)Yz#蓿]3֤lX>~vQļA}j +:hInT#pVs{U˻0H ֤c}G63E@T(]'I߫>Vݷ1LIҦHL_%eĞq>zHu2?c NSI6eQUX2~+7G7f_I5Dޕ*Rq>7X.*HsKѴ>4NvάEpy!厪B6W<~ګ(zI>)h%p[xI|)[g(MA8IZ7-uj]LD  B}e  "Bk+| ͹Vk :p&b6+{b₅^cBa0j;!o۲3M3ʐEֈ7I"e;CL5_^O'QϩO#]u5R\7T]բ] K*l>eso$PD"5&Ox靋KU^ęQ,sv-"vL "r nf*3/)ƟɭT[r3>nB!~&G$RAYQAJ?C2~o@k1} 9P,?v}8GRtue*%%ԣ'E!g:6)Я_CbcTkE}7]j6"԰P|r̲˳?Hzln B $3 s;\[GütHb%M#5}s>l[p7Ӂ$?r2-jѾ*K}lTN[SKyn}Ly:z'o5VrDGdϯ)h)&l1|Aշk$P9>,Ee"BH1p>juFlIPuË$Wj[ mh\ĔⷆpF^'T9ij7Tp~TOӖ_a_Uk/lr%#A}2]4#y3$wTU> eNhջu2PZlºx$a56n-V]4{:}Le"',DұO]! Lښ8oo A>ubSjL] ^ 6Sb9ҳ1`^MCA(ߺ^gBlB =>jtXDXC~p~.'v7.ssVoarD~*r%HrmU$"5F'3d:f|!heO&Q#1ƎYX E2kaٰHCAK8E Kbh>_Ѩ(Qp0l6ﴩ1y_ܵ=!I+%A}(' ~z\f#hy0pxޕ+DקMRo3ҿ%i$fO?C+tΝgޭhT82$\^&54qiGw x4 Tϕ9!ykg!JMR5uE>;X_(l!To̴IIyjcn00jUR=R<3lv>E+U3ܰ2PǎQLYH/R^P吆aR:QÞ:дRv{؆x1qVScOdX}v&g :rhp |J92o97hiȀ RKu0+P `}` L!Ս8ٓgcA#0Qlcۛ̆zVFA1ArJ|fɝrK[K]Y-|~b/h\ot pn5inCǦ{ 0:I;r1B; n''Rywrԥw[ƤMp$]4 ީ?Gfp];AK^ndAbn2m1)&~71+ړ!OE6F.yc(-@LP+eޖywRvB4F!ชp6i3koS٠ީ<u,Ŏ(ʞB^z3Qϵvb$KDv ppY%5W&HYS}1ocȝ) MIϏVK:-ޒT[]Rh(ڴoG U.WΪc}SRy>_s_88{R hvC!\IUGU1ڇpXܭcSlA#] 6 C,t`!r"w{Ҫ-| F`Ce7UTlqps*Vc2\ pzw~^zN"KAۀ]!2/g>^ Q~K47TZ57z,KF7OGys+zjѠ|rǻ=l[G<56qpE !ןB#lj͚  O$u 5NrrZ[\5~!T <#SkG=.uEId3Rk&Td\kmwx_h7VK>IK麵QZвDz7|j :&=/$ϙ=pZVٚ{PQb^2\J>$i1"?81O郵//f#@ZdaO8v ̒3l%7\œ6_ _*9G&OQ}{Əd">'WvgF4G[ '?8;DOeu," Ex⣐[oCK/ka%>t4}ދD B\3A36@~Lq'\^Bgtp|WB6*>}w5=XJOiL(~qT%1 ڱ7gf֠)壤s!O9S nU(?QbeC&n/TP> fՑ-,Frhe wLfwT4i.FaQI#uMf%pDVy'~Su5e0N!$_Tˁޚ7@6U3P߲|:$>y͵ۈ{㖬ZO QX HTWvd]p‰faBB\PV'[Z^<@g 0 6҇ѧZ}]* A({V@*f=ȕlKRTQC O:G"Ulv\jtqBQZGm|beYcBpwzo7 \ь _fB&T DXOa5ݑAA~%3t7sSrc[ R|y<%Y\x3oCb8Eu*)&9ODSS0D j+;"#"eǀgn"˦Ɯ̓MC2^3E@#*elbEo c=+A_k0fK.#8&NU[elƍhk e .|h-<37kgl S{9-XLa`N"hUi66 &T$Ur /,wc-:H2K%>BS߻`yО9:3]an[7dTfsn(A|AWJQцG6X*N"r!0w -hFMaGp jTS2ѷr?)L2].7TO7}kKmDmMK1,c1}X73Sa0Зӯ,:$ !ܑOA"xCy/yĄ-#.fY AРa3YD]{d(bM! &g{K8Zrߞ=v͖~KJo3jjߧE9qHAt>H 7:͓+[Le"6шSqalz&:#fã`?[p?zm Kܬ4t0Da4.P}@XlZEi`LI\ձi ~?%@Ax&X8DQУE6k`3m&uٺg՘aiפZo x- :J|u~DZ kxʋ@n< d`6sJ5ؚosKsxJvy!YLZ'fbVʱy8*o2~ŲDِ(7((twfeCAkg ?~_v(ũR'K8$< G@s& y`Jo_`TbxD YW p+S$zN> $nQ4d:=.rpKGvg 3U"3KBƢw)=Qg;6xQp\߁T%x>cy_c`%,*S|!vE291^h>I|YlȰe̤nѬDc۵+E>H.(=iYUAeGc0*>;t sQT=Kx^]kjck诘d~7 gk,N6>Uͭz&ZrΪ=zwd XK Ǣ%xA'TǑJ !Jbަ)$ԟQb8h~ L\Cyz{}׏ItI1(yg*fJCFi*$@_J14tiVʜ̟m (^~rD=(}C 5c8EɋJλz}㮡$ *WehYukIM "}ԑH`Is^~M@~`JLD ]5wvO?R@E0n\ARç{&JpmD3P [N*C,{^xc'X8 FUѲQ7_PՃCӽ+c{h7sB_ؾ}{Ef`& 5;2ۉZJ*ʄ _ .;2sd? ~3K~f /VgG/`P;ƻb4 v:X>S}%3m˹dž1NdHqS@ODqx=ycҘAQt.7Nzʸ H|* 76CAx48,n̉EⲄ'l⎁0O@^RpC])]CF>z@&@ȍwaO#s5b4 ?-ml'y$իx'._XYoZ>zy/ÑH+Ms(zat/ܯ|=l2S{^{GCΒ#4*\hZ,E+\bvll\$N,HkxX0@fT]7 1?*%v˔a-˛vP(FLn-Fv۔\3qy_u5>-̾[DĆ`2&U#?|;`j@B5(ub!@{.] *cQ6ۜ+5L*gK\ >O*0O;#F5P,}1!]#Ղ yFiPh~L-;Xqf~IW# k+9O8&IZ6@$At(kBw̳a<+y(5,CΛ4bO&l:75eV6Y@.y:ڋB )*XmoJ|g *wDiES'y_i0 (`%+V)916d+ `mӁV|`1 P}=,b aMH'_vy9fXJ?9?6-|JE&4'WZ%KQEVM&heW`B9NcdQ4.]< TGRs6)=/6,Ab|J}rS !ni-"%Fm-y,s%)Bz U L׭$s>En‹FlyLZ!LwdKqJf[jD`zs!/~}@D DghRk^:0ž= {_Bp%S9ѕSo4>Ov +]Дn7dIj{+)FinMsF1-%@t^FL'eMw&Q}з%'O+y=`~;+R70{LM(fen>yݙ2a0y`G禄9jyODnp>3yxAf¦N-\p;vŲłD8F3;}Z9OȤ#0:ڪ[9%ZGyTďE e,TCڱse+>ks! #ŗ.j=9%fn5CX8Z'ZY `ozP:bҗהQACgI42R }[DrMZj?ȏkfϧyvB fyخt{L{fURQH,Rߦ֞4e׿xp!U۫;4y< eZ!csT{7/ؽț'eQ$T<A#Ã`Z Ui77)6s^6= A]"Y$ç4_MNC4=+R .jCc!>hT/'1B$m,ϵ;T߯špN _];7(]=8!@ }(JxjC{B*{$ַ\K\u8̢"2ifp9ZwWf[Es̷ WD'K_la DxXz}5Vtl > &֮ui6T  ȼ$;Oaؓ}M8MW]ϟ^*/?ێaae@rhcb[Wj<{ pPR %ЁںU7so%TW1'}O:hnb2C"bT\-2o~E1BXC:zuD\ b1i,/A݅H`IIZd/@4dFIyVIJLV1KqGS-L VW땨N89I0EzqGݱm%vIn$Dfپ*lRp+!WssTƶ;[~MVR‡aʮXH$^QA3[o8FpږDJ@J8P͒ ;$5d#OZ60* Ǿ^Wbwk}nε[tyͷ@wK>gpCF8# & B*B;@=<T_+U@FS8v֕ Z7Hc*~CŰ"q: @wDY7Ɔ[3lz 7Z\NrVǔ 2B+ %<$|ReA|o1b)%K=H$aPW>d]xzv W>lJ[Oi3jnR I.#?4Ys!(54*B$\vA-i2~Z%+0GPTdh{s!GHۆRXl-T:d+ !( YcUBͅ{(CN!񮛄,oM^STcPNYLZ>җ=l?$,Kaa܁gGI$ O`H$_P!?3kmR)3בghymٰjX{*N9c5mu6o]K9jyGZfF^I@:g^]!hg2lЇs!`Oشn\aaj.N([V r Rl< TBgےdg7ܴVOg7ץ`:xj8|*D$haq uљnJw_ ꨾-kh\M0׾SVq3xJ[.S=RwEO=Dh+ݏ"p'_Ǎg`jÃ!>9@ףEjέ|)Y<cf/COIuT;+cv$ d#㛔EZ;lqOE /ſDjP$9=}ZSW#PM>v??B?)_xiЯsmW\pXR AG[9;E9eQ Si:n 3e!kUOaʴI)0LMӡ49cJ5Ѷ{tf/916la6a\J'>皀t9 iS {0@r׍lT/O1Iȹg( K}L@vUۍ4ռ҅H|0|M)KhI9liAnQثvZ44t|!;aQ"p.=\Lv}W\UYl_$vhVIOlR@I\1̜;s:>.aZHjY_.U f^/DTU$k՜S'|! u!f!~Wnv[3=Y!Ѹhз' DS]e>.FUhߙa˧^tcx~U<~*RkJ%>H r~F'/%C7=+WtM_srz<.i -\?QK`Fe1%]@s;:!cڇ5$s: #`$BuD@dBkq `ka4yWZ͎ïIIUBкl]w!6IݸbHd˱Bu搂e"Ico[*C.xw)fsֱt7]J;#6ݟP=)ɶ¸A]1jg۝l[nbQ Ƽ5R! LCn Gݝ0[.CTč̖xdw餛i)Hc69hujD6#E6P@"afliKHd(vT彁IJ[z"Hy Ľq4zoL @0n4oiz,l'J_㠴g*!)^>  _6L6e,/ݷw)Yへdh-rkGjݯ5%-3B>ء2]rkB Tly>6G6eDȠcNH-:.i!EVBJ]gpaivy%ThΉo^ZDUS$m@95u*r38ǩK4gMܞ ۅmC Uo.A@d5Vx\]Snњٌ; iÔ 0ã`QMes>5SWOY3jnOi]PStplc&6d ')&A1̧]h^_";Mzr ]1%rOQJb"5u\1%0r<*c1.9\Mk8>O TBpngDO%*:/mb4]Etl-\eS'2=+Kr/F֐1\*&E6J6Fc=C;X酰@ dRD'iz)J/n8rR+Bsgs*8ye0QWkgZU`T7?%Vx?bK|̢ Sq/eAq|Z]2K4۰2+"|;MH.q }=OM".%*(~ t^ً|][YiC7Q :FYk.8';CajUQT&7r'D2Ea,r~I_dM0i$)?/RF%t#rFߑKCVU AMU6,F9?`#N`;U)W`$x7Z–ndKZd=֋}vLc.hB?6 ^HUI YUa?IԜKP@l5J,' "5s ?sɰ`cJ#Kڝ٘o(E,!Tlwm~Zq}nRrߪ___t~I"BaԘ1BIRK&}&! ou! 9)<αȷWΓ7:babf81Ze t'̥jrLy#޳i>"-7Ebepn7`ϕV Ds\ѥN Nт F5zZiuս#%cL8@Q*pޟS-/Kf1Tø.yH i{MmR$@N5=0lͱ&sz`W 5)7Rcψ3= TyB 5gN'Q/ |؊[}X.uұg%+?=|^̯-D;- 0sQDPl@9HCJ=7:hFd!G;ƣVL__sI!ޖ&MfD^AI&PODR5]|GLSlNGO:\J[oP}vBVtY'A㉯2}z W "BP:򁯓b^ 蔬 /.N4|=Oi@|y} t@ DtrYJ 8i4h0'ʧE8itH Ģ.}?@#>ia !}(Y rְYu7MoB\Ԍ\Չ.3c?¯Lv$=:hs gc'@fv W;9<ڡ?ej¨ 56T(4m$%Zd/! JߐxݜX^=2Nl(XNe!LO$-/'*L%2cHa.|4DX~_RjC/}tUq8@qcD"~`g FwצOoBԦ@힐@%᳁*1aϥkVzŦ'rxPSLD4jț)+E(!TŜu|q~(iC#,h8}QY'r{[J}VgU#~ 'OySWCKńw#Zk=1M4{I^GJݝ:/ߝx|UUM0 'wi_-z؃]^ؽo+\;.hi_+TÓL9̝GkadIss]>-51bj챺/o`2O{\E9ltW!.N9a3j(x3I&*YcM:z-9#z=͝xAr)K7_}U&d ѕ/eˡ1rQ_0:=c,*#d){HeI"l1K2\t5tUQA$:gYmvRJFPjeƠi&Y |hyȶ5 0?%yY&G7{fXkl TV! NqJKǭx:.2#rl -zko @nV)m rVcU9_0_rg̒;\N[93JwdϞ?̢iJN\ |հ#+U+Q0R( MXՐ-Q)EB͟ [}Ú,ڴVN_/zz0vu\]1/[QaVhn Wd1vj mlk5&05.e>5&:%t1 P=ϖF$l>~Z>-p"BW!vM3@dI=m#yDa#8V9x]‼Q|l;q{BeDU.܃1vA(ɛV[0+@-œ1LE>e8\4МއlJ:@H9:z,a$I+z)YC$V;ٴpmtz8vQ[u;i'r\Wr?.09QY:rr 6 'XKY8XU(`xkYIԢھWB8x(c*(SqcE-X\/51 *V/},?T@15̯틯0h*Q5;n Mw2/aO6&<נ2omօ\`J˴ uu>c2~WJ=F_iUg0&;Rlj/][ތ (pKIO!@/q=}R9 xSzOf pKorԻv"iok׷//nTUfY3Am  ޖ&R0VE;rx52MxV"Z@cgEsV$龘J0o~V tZ46ЪЎ@٩&biy۹2*"zlS S5Q)dLs YW#Ϭ%Γ)f1uD[ie-`Þ.aSExdQSBZ *S@yaJzº+;W5-S.rx}51+1$<^%;IʣNš|a_)ѨrG#]!&NF;ĸ X>24^{IQ"6`FoJү4e}wRrXGn't<0OA > mzOAyc}bUoD!bJ ֶ0 <Λ]26EOpcnBxqy9Z"48FUޒP2z̚ SkQV%CƯ'PS"c 1FXzN A< ۴7p϶CW3v艔3qE #S,3 }rębLOT"pbɳ2a`T*5O4$7Eú#Aj; 6H4NL}C1 ~d H/\}0{ܲk C E}pdlK lT>l, xHi4wJfD}CILt2UNVP-oޜL3/]VKᯟ ;h[9EU0*>^Gd%[] ԇ-n`G@Av6vr鿟;qf'-|UK*ـAXvΜZurK>/@9js͡iRu~~v\v ܕw)]ΓSzr{aXSl({%Ң4 VΕb='w3G+/'CS)jhŻ CɘgU#7RG/vV+C UHEi㱒Ai.ݫ\MǚWM WݸˤO|R##02g.7B^7K[?p L[y MwR SW1692=!gSϲ Ep\{KP F}PP5n{ܨG)4U# M#b^6 LIèҤ\ZaN2'l08SZERK9عr֘8PȸO87}䌢@ }_Y/&&0`SB)ZؿlC%qcov6± b1]02(NÕfs fMZrcvUv ZS@%%r,j_tIcR+pIAaX] yzb "X gQ]gm+Jo0jSf%X,kJDO[dȧVAMREzXa]dAt pjN ٍrn|DdtcGCC7>T5fj{wH؍愇y7><Gn|s%((G⏡XynԘn|n|qލ#F۽Es+@sfW>ɹ|~uҕ)T)+*ϕ3ݕOՕOC=ͻi$B]3gvFΝKs#uFj&T|sLwXOܞqʭ<$X> F9[9E$φyYHw3%I:~tnlP "f+v>hjuc:lQB^оh}G TFl!Lc11B1ljwpcwFqd{l3j.}<);d%dr ,W~xh9ܞ~mc >?ÍȘhT?74F&\EXQ] o"IF,s/Q/KT$TXXf&1ךI6k ?/FBa4 UI=N 5'X["އ14-ȺEh Hǰy7>cv79%L0Kn/7k RIȘ+&0H?! 8ͷͷ⟓ʟKT .#!]g,Q.2/pNi 5}/(p X)5Z}YZu ڶKrH=) p"M"`iE@ &o>evC? )؅hnS.We,#_Fb7om ,Mwođ$΄߃0)M:u"#qTOQOQrAǗ;!__%/ &<+t$$g4Za XTAҡ$iPv!$3qPH5: ڞ0ɧ*͒+3DuLE\xv@A/]E*/WCt5]sd5*_JSR;齾;&цbX%;&d0mPsE܅R]U&i=GFzz`JêV=WHfه4wd!ЗL,@w($ؽ+0g_?,YH+y5""#NWً?ʗybP}\),,JƶK FąU"% ~?]b?V~,REd?c?n8I@bݚ[dkLO A7 䅏z;Q?d_!i'{iab7yFGBJwD)[d0oPkZp jDKin9hލLn9#0B!jn9( =_'K5h5j *2ϷpSK@Qd\Vȁfh~A "+gfq:(a|$o^:p"Ž@3!8Z cC *AH 3A!hiV9 9Lq~ aaHaf49LCs8DsXi`'`G79<# #Ww'iAarD# YGAI/R:.߅((q-`ܲ [6Q.iՃڊ9hutՓz5yGv&Nm7Ds44g6!& _!X!Ct lage!7l0t5 '>CoJzg >8Ϫ}ŇcŇ]6\s9kˆ.N]Vrˆ '.M7Bs2g]6 + ##tGǜBl5Bc#t+ c#Fyl$H$vc#  8Y'+?RwHIbFnm$u[Y nI6m(mC͒u(FnEO|GaGj6Js9jQFEVrF";ZhaGmpa]IjO ѰC%=ctlv,$Š#'U=Md> r:9!Nk,$8#$Ǐ/yr;Ɨ$Xͷz B B*))!De&~ m>Eq*MLƱGz.NCL(O S wjt4Wmn"IYXFD-"jQ ZGB6QimivUԤLջ3"FY*B*1g e>U=&EGu\J6߶hРkyځ% ; R㶥vvVz]CG϶L[-bTލ˧c~3IFn@j r2{%rVD.4͹<1Q5i ҆4 e>$OmƑőxX+{]Qqqb.~OM66Ǎz#UExLhK0 N4.lVؔfˤAGN4R9Rf5N3'zI9F oŚsXn"nٰd)Vl GHj` |ynJk]iOD\Hy,`GI\f\DY(ҙZKkԑf]ZsTX3/Y\~{#VhVQ=jrKd-#BnѷVٰgH/ ?l?߳ =h94=GEfS^l sj3?RS1z>rǵǵQdH0 _/7n.(;(D3_.*^prC/ BrL}9B<,|'S;%B #^$K'r""$kɝNqwɋH ƋaًMwQ^ I'Uoqq%s Dt^],$bKKXMIcRĤjwtwRNh!I(jOԿ]*7őHmw8})CZK}eeAKq%WcrlYx0q9r!iA7@_N95$h["Ep+x\ApRBi5   5J5J}\$ [Ԛ+%AU*W&**F(H`ӸJKn_[*JWUn|y4D9rh*bRg;nA_J)iaT-CK`e(˱Xnw]O[I!(qziIjJ{;c+2+֖YV&%vJPũXIpDVʐM|+!O*X~pͬ\2 _eU|`@a *=VλJ-X-(]mRjuW{#s_sk5HQ5:e9wAZg؜+͹͹H:xuZcN!YXXUف#g[/XNXkN!pەe]yFnV_o–-A $7 l0DC$o`#yhNX؀ca Qml;/C\m q7\^cZ&lc5îkkkM⯵ ۺ> _^'/Γ*l)pwϚYAcAt'醢$Ք-7z19mѻ]nbץ[n*oLߢwS LbffSlf߿z g[J$?}+ΚrjtR֖[oE>*5RO7/2^ē{_UJeDy{4]~o}|4TKR)I\;G)miC}oF6:zV}MO4j Ub=Ҫ&#"̜pSVVfn+Gs3I֒h%Q[uW' ^`\ M֑E , T"KIp=LB636M!x\ł9mB*DXMV6Ж ꌐ.4-T?ݖzA^-r##N<֟(Iތ<\0P/աH-Ŭőv!{f|-D$v@,vYUI\-t9r՗.-1k7qsU 7*XFh,U}\p|i2^FM`MR`b`A$),OA:KR^R^.d\ H2dd,ε e eb,i1,ŖW `,WIWO'^0#p'T\`++{\4[*?ZDW ,Z̀2 #Xb ^ۊUڊU~mj_-b +gVڊ&VvY[ ٷXkx% &MZX+5k}uP&⛊uLS55i։MźM7@MBMG\Sޯ|k*@ 4| M\|k*)5ooM|F3F؈hQ7M&3MBS e $d@S6M3֛+JUDYMMM Аȴ QVE<UőE0 x6p3w3o3Yn7j7om[Ry[jߖ-&-nvR $@ٷ ~!"5[|wPYt'3)|5;bSN] ػBV5p S[Q ouW!t*\l՗fuVPrfFܦ~m mBu‹&'knPsePW_T%Y3&6yiu6#VHeCnFڮxl#m ݮ,cP{BG{=v {zu>2Vn\3k  @}1m  e&lMcF&HS7\ r2 _3`jfL@bͼV8Ys ?} tEQ f >Dl0`${]w2;cTlvf L[#5(QG}f c}~lԹyp(lv!t]:N -ȳl>A}~"4R3|"'9EA-iu'}( $Šxj^3shClj1&⚽w^^bqݫOgu%PH6}J_ոDjRIkSiXl1k-> N[ET~0H̾C_!}%/GW\7D!޹i}{M,ƞu2[ (@A[BH"f7[n* |=тH"zз$E }Vé&WxPl=u˿|M粀~dC-BڞX(f~k--*(犊 v,'Gh99BAq_99bܛN@7B +V)b0X➀&zq{LU|IMY#g='X\ R9 uθȫ=e&2n KKnP=(=Uݧ׃7+(:n(Y@^ZvCh/G{A3R=W?)k6X?:Dxwn&%Hr(yd&(Ή!Cex"F ת5 YO0jm'ND%sw\G̭n$d$Kt*&(GE镤 O*?6XX/0^_d ꛾'3(\ӧz o 4Y_1-Wiw6k05L. #-8x M#P0GE?Tkv` x^&pg/_~agqSUx|^(`⭟&O)4\Ixto*Y3)&|bލo C:I:dufnxۙ,Ngk"[㛷Yg)Cژ.h7sٴx jNZIcn%*!<ni#@ i ii@nn0̷A3Rޞ؜c;/x(Yq <0ps5:\򭂣s@}l m#L3#-$/oozJsܸ?:&3dvut44 PǛ}. _` <[ U%@|~@fK7JJEAb*|J8 3:yn3z{7z7@AKjd:,61R3&RPU ,KD85:AL B/,_%]Wf_q(zZ;rʍtډJC̛9ϛ`s֥reDuΈ/Suɉx\0?k4ef˸G:qIZ^](`5tક+xWpC`OZYn:y2C G>Y'be] d]:x#j(pvI~0rx:5XhlDd֨D06I+I:kU[ A*G!uy ADoyl8OPJHsӡ.z/YWʹ{gY TkT._V%ѵpe (r>/:#њX)g6Qu@!Cksu@c,:uV}qaa 3 +Oļ1*Ĉa`4_q `޽'%/B]9 +g p|O'(SwAx8 g !<;3h>8A q qDA#2FFF  hB luWP)GJ(G@9D9 JC}:ouSv,MF7-gQ&=k ,b2(k-1ȜqHn%[FHfv|Ǜ T<;(GAr _yёyU(}܆&-L|w8 ."1AF ?(\J@AFMт@I*$|AU* ⫐F ;f Lq:1:$0d1 c,F+13`N)'H0' '9g&' BpN!(p͠o+4+:W J4mQ GZ-HP|L' ($+PoYUUU> T(TjT#5;V5Fu5nղQ2ըAjY^jԘjQw5:4UE*ԂD Tj}TUHW!ToX ^D3:BWAwP$D*g<IioɂUg0NE&y: ?3'(nGKK]+ү @f@d.e=Fu08#dd&/_P$Gy-pleG1z)cYߓelJUޤ|#̭+2%4g`64s:y%m$T&,UIzpHMC'e8,Oa2 {}L6Δ\ѨX},Ot{6&xvr(v_y[5 M4ԸwM 3OM13d:7gkYl7~{fb YvnsOZƃQn'{׺iq<_LGiC䞦7>_Y@wAwQw99Ƽ/dO | Ǻ T?NQk ?=ps6_QP-2N"s|f*y/Sֽrm5Ά^m^FR7l &-}9ll~\#!hiii8O;XyQaծ*xv x4* R>$s_4u~!%'^k|{NTw̷MiOA?Tz.2xؔOa\ao#.Wk-jNwрhş`I-RR"Qj&w+}3.l:t`}T]ff4f4f4E{3"ixPњX6x5'~xU௏}TdQl?`Ǡuy,c+"H[VANè}zᄼ%j/ZV*4m3_Pd\8MѫxUTcX9|BC>X>j@8djx`k726@oZPkd f6mS`3 f 6YqUf0˄6KU^+jjKgL-5K,DKҖ8 Xb,jY%fU=J-`YMx;4xrU' 0[0lN 0``pk6R| kJ=8@ݝ9H9 9sʟC#(?: 0$I II'uͨTQ*wsBR@=)\ѡp=pGm%\OzyP@cx zFgjEY<@k=+yͳ!La9+[ àڍ5s\*n G+p#sz\d<5WԪ/ܝn8 Yy7lB7AgBb{> CX X`L,/(`wfX d0/yo>aPyuNp&+2el>lAt.x&#MDF8xEXgoodo TFAFy#ҼD4G[5cռIмռ27A͛MY&~ڂ$ˊ\Nض)AUǯaG1( G4r3Q mmmfmf}TfJj3OD3&P(`YfJj3%HCfDj3"4o !mHmHm1F6doʷP[(-$9Bik`!hkA ZMZm VVVViv$+ԿJk%qo- ̡-𸽎2@`n[.]Ԍ 1Xn3ېm 6A6A6 sSX۠mT6m'd6mKۨa/ \6m"l l-Z(ͻe^^H^H[HCRRRb![[[dZnalblv"El 73z/z/z/-Xk9$4r"8MidXX_3֚IT$S^o@ڿI{`T,C 1C= %*;Ȇ%a6//SH5IP(Q%:EnR+ҁy]ʣU"!K%KP+X|e [m Z;r2@feI HKWܩleaavzJ] JSU{rˁR![lG-Ng ceEVV4+XVVD ?p `]AɜQcXX dXJU29&V_ ЬL:)(jՁLr F2Sɚ5k@kR>ZbCY[ehv$;Hwܿ0Jߏ"@?$C?2N.39V`e=@ee}4$oX" +Vux;eBny ,:sz>D M6-{8ȁٽQ`>0.AU̵x{]ۙa&& ʼٌ +f;tᘔL 7n<#bam- -qu-au-}Km B]/~x[-6*[Q+wFoɷՖ`F+-oiƿFoߢ/]͗\vsba7 BqjY{]RBu'N`=PV3VX춝@z+2V`N%LMB5cJ}m G)wW+-X[[#>|6`kVu636MOݨ#Ia`Cc>D!K Rf>tkQW1Ǒ 0;1_;Aw;λSrޝD'3չKT'}|WC!T"|p|Ȑ w2$C!>1cp ?+:"=7 ۍ$2tC!OM43*sa.R8p>e|!G ?3T|0}&,+|?cO;~+3PcGFG73HYϐUuӎλnN;v##g!wW:{L{T A )GP`H=![cC"*.^/WZ`~~F)cEj}n\ZuHe>\sHiLϡ!Ğ>A}>>>_z Za~V_#$(ʜ{ %s+oHa^s_!/{܏H//p_p<Xs?~jY̹L\=@680lp@ 68mp` Mh {<,q 9(Y`%jK$%RK,qP>xY =xpH2!D84!jCsMXsA% ?P0T0Uaa85>;=~77@7o|@}w񛀸ERp} vH9"A;=x$ Q 娄ǣA=3S>yPRcաNS—ց2yY SÊ{bWNbɽ A!3 #:mνv;[ '阠K[/{ P$>@.VvIXd4Ŝxh`l06cNc KaK,MM,3*QLG 3w>CAV}:w 32h E}B:*XU.v`J.oc.2WDh+Blڊڊ$ڊVF"{սVD8C(kE"Zf-r"Zbͼ.&#֊Akkf jFbz1UVL(C)iŔbJZ1&-rbDZ1"4^ !V-H+H+H+!K%TY aHA*PJ(g%@Jg%.κ κlusɷ1_]*jFJuE]p]p]p] 'CغlnC7[7ٻqǰtу8K7,ݨtsسv(>iwCJw7N.(]P;tw/ݩiQx?@.^,ViEНVqEHC"*RȥRDm)ȶTT!>xU.*RRKy"J1B9ˢRRK)@ "RK=L @H!n^y{P{Pz{d@z z Lme 2222KLQ(se'9٬2WF+̕a!+C̕!z&I뉘 )0S`'[s6{B{R{ cDЋ Kлw/.}2+݋*݋zi/r2U/꥽^ {i 䂗B^ ۴ZoVoVomo[z;ܥ^fy{S{Sz~dޔޔޔޘ@z#z#C#0G`[.}2݇݇2ևgO/}Օ"2!) 7,_``Ҟ t?H>f7>!8dt`^?p>''9boqv'4?.Qb'u)Ul#;>p2 F[ ɒ' Ac.2[G쾀Ⱦo47$apt #GtOA @G7|#Eq+J?JG:Pr~N[ (I ا"&N2N8ՇS&~*3qiDا4 <-)(jtdӁ%SczA} )3|9C:xeɱsfrr&Ln#=+XEQz:ګ?"?_"2s\fp ( x9ٍMY%@X!(+ 蓩nȍ?3=ǔswlH>b 7F<\ٹ I|`Vgy4M`y1nD=z4?w~otX/{_׾!P;H+8C*ϟ3]t\].s߹DQs$a~N\}sj_Ծ~ED f׻ eFyU8ΫzisʨhCy1/b^Hg XQ/F,] P\u=P=P/U~Fb2DW1m`K :j0}tYK)KRwן@2elh I~9H~ПUx¨3][OP`xTƕ^H_k5w*/+ZdcD[1322~kKd],A B*TuxvXVΌigm }b:X$LӔ "J(Oզ^<הA~.);dp '鰪D"{t*Y88<5 &h|ƏVf||RmB:_Utl :@y ,S1\uX*\*R .5upDޥ&DRp]ZɸT%u8c8| xe<O4~mr=;pPTnQWq|@@VXPSY)fU+olS_pnD))S1i*WqBkzAq^ͫAE nLk? zi-dRրTiy7ca%pOc x''e~P0 ${$d2u5DDa/@{~n;Tt zfA$MT"S T"~2)&NWq {r;݉Nݩ驫jtʝyخju71neVFРQX8O$YflHӕpPTz iקRSdZ&nwAwz}]'26{{}WPqɆpmC*L&S,'t2: 9ń#ߗ_tC݆7FUCa(~=L=Mթm![Mc'd|ӕ92 nehEMC;&xP@kMZQR*J~Sr?(ޟDϰj`H*5pNg-t噎Z@B-?]ZނU2%AуD^bX %)*:R&קƞᇸC8/Äkړ|؇ćtPUPDu"99Rb輏iqGםؑ/`K33*D^sG \\҆Q30>ц1;LAU5lH5-qE{\?$ہcEKuhIHbJ,JuDGA=^;$'TTm"O^f̙JY3uδLX9ry2rYtDG$=oU.4{slʂlT'f $|Nȷgk#]s"Af6lj٬fsq|̅_Ff|TIUȒOOʻxBdLOj-.fzLTOC|<퉒֞g GV!y yy1xbib~G'3mσ\z}AR.^ `h za}A~d|=y&/{KP;02X#,Ae,}'W6XVFd(WiFF8h#tF*1>H)9^HXh[#b!rኅFtB#"ɴ^! mHkHkIk74AM&BDjd5Q0Y d5!Yͦ՚ Y͈fm@V@V݇ь:TfW3Es]XLXC,k3嵙ڌy k3bZڂxmٶ'@[-RKܟVW+*m:!Zސ( R N@y63J:<6ٛ 8,(*qws~ -J04B d'r3m:pB2L-r.-Rm-a1b>5Rbanz17շZq1?gy[E03KK% A7w Ҿ?E0ER)L&a^N 8KK)K Lɿ̰2e->K[d-sBe uRwa2!+ +ʯ0 #C/UF>rvhvprv`0y#ԫxUi\cUNv-r**@ aE`OYy )+ Ǖ,&+蕬fS 'gde07!¨,&p!hDVIU>Ws_]AY󯎺 _.$"p4d5@k|LF0k_+pk fDkll-VZ?m25u95 .Xο>{G`Nz3zyt=>z:"na>}f; e%7T΄ex{!'^kG˽ۑ`oZL%{6r.MJz0\QB:>q,7}>lSÆpVɿ2;ʩrޚӒOn5Ϣ [ KTVRVIԑ+^Wuȿ$x,zMGҎI ӱc%eeP.W*g9F2M HJe\(|A**KJ\)jLu@>azRuxPU8=R1"詗2N5h k\Q0 "!\IbId=+Hf)0`kJP[S@1MG)iNflʏ!O. h UusPDd=)Qs\w{}\^%uTUԋt禎\'W H-lFFDTRy>_٨ߩw` e/QV~R¾/ze˄պ+Kɒ52KLxA/]u `kо^EUҞ7 u>k )`Q63%Z{|ބu sr5@kpi!QFuS)d]d`h˨s1.3,ƹ,e_/G^uV~_$øs/~y3a^ZBcA {pGuJa/ݮv(Qg\Ϥfxgې׋@`/ۋ̃LQ!e:K EDHaXJPwHL*rh Ag06a8b@+*Na%'S$gW$G`4‘sy܍h3my[11CL81SL!VLЄ9l\LW*gGzݢ|XS 0-3rUp@N)FNIgUdgCF#$\. YF j6t{EhWXP#I:1Dێrխy~6^g2OxzL\iTUcI sOKERֱҫvkf~^󝪟驖Av-ע|x xX J a>TbDXc}cZl+IԦCV. @z ,Q޲|ZĻ-g3bkc`\݈̻k]XqM(ҍjˊharp]S$瑲$N$W  A7B1Tr.`1fy- @Ӣkqp ' UB+4Nn2&M,\l-劢Z9!LG||[h\!yd:89\:G:댩:2o^b˕źe\\jOTs=SsAy+K\"um|\o 6qJM.$jͯѰu;ěvpCƉGCFS!qw F`ARmXgHa06ˍ"U~%1&ndA=ܼJ&PY9^612WBX ‘:8>Cp3,<2kՅl6ZQ43-r2LK8EOKq|+;r\ m5rVqkb2L0A&mb[VM@m:nc:n3t6HwS!:+y6ri^ nKLw$'{== ȿ!^t2zMzmn5uϰH~gM7}1 ͠yŶCi8B'l7zAbGܬn#QL;N`SIW>4TßVvgOSrw2w.12^8 "9X `T*6.oel468j m4/r7p-D3n1"wit`vg#lp#E!Ki{bbvO\a1Lj=ŃZ @шІ"dR:k%5[Je>[K|>,rKz%{%sxM!5g{ P%Lx8>jy?05yMʛD s+=RƧbӃ}E]R&f ޢJn:pH? AgH́?g]pA ӑgwM8x\P"сsbv׺ҩ!/syIE"WnSI~'ɣj٭gn>SǓbI:NBC+iƆJSe' NJ֔%\Զg|Ik^-,oW5,ǩk\+ CPǓc.iSE2Mtܝ2M|*ʯiӀ4:Ng4@syK dgZiʳkz P0g14Xs-NӞݐxyL d&]%Si\uŁ+x18˹XgHU"H_#E&h < ^*L*LibEHwC9 :EFZ yGVL=O=ɶ]A*,nyEkM09UO_\ȦiiQ4oZ#i-23Պztzz'(ZA.5{bRTR֣ϰdvfQ;*L=l)T,שL9\40;;_hlʈ@2AKH\ ;PfNQmpϱdɜA;t .-ૹ|HNM,J-6R mN5W)\~I6Q[ү~5_oWZMkm!Y/_jNt錶Z;A[Qܾ/Yxe8G`!xa!0Z(&U2S1{_h Eމ!r٪E,b.p^EΨYFZR+&oXA*uN?ٮ9'AOц7lwM_d& 6~`㳙 z%ߔ M6KVuX uA&"(SW[nNU4j'zjBv滄(W;E4*᠘]`e.$wiàBH$E6aT3bٖn`X/\INwx[QX~W'Xe3ŨڦJebzf=l;P${A\40*~` @B^1֭(>a҈>H2^ڦMEeKtN0;=>}h`Ge}z_B'TI|k-i|?QǤ2K4ߖn%Gch{ 6mT&56gXT>`"Fڡ';kFdCkz{3L##< O'{i\4<*Uܬ~\3Capw=yX ?stPNef.lmO,jt?3?B чɑa!ut \1|I_qr!oTkkH_ Gh̵%LQ qwvCġv(6Q~#f8}>b^&ظ5aX>c#}, &ENZ%v%Yzs2b'wD>c'J/ֿV7Ɣ_fp|J|jXS\ƔOcg bbY򏘣W1Ϩ6OFOE 2ds}^H20WʰM Í/ xb> -2l KCȯ-VFĞAIIe]ؖh؀BLڎD"~Vʺv~\*dzأ @klUu$IDRG|. ~BXËYFl6,lToHm>fpwmonC9e^H2Y7CL7?rW0*?\{%<"pLb,Y!zI6(c1(cAc-rcLMg\?ʬ5Iep6ccmgl¯+Lc0cb:Gd*) 8fi?.̸F`/"@k8W AA 'm_wʓ!V0> Äd :I@t#I3!ȏXrrŠPt1]CW F(_PFXob9?Ģ/ZXD@%`0O$&`ĸ*S6QjSj=)FIah$l(@3 ;[`]\HX\Fx.4G\U_6jb ]EIF.Jw b률s? gV\Ʉ\ph5Y:c%u2}N-Z?I) cJ )MQofbb%ƘMIB4D4Ủ͑4ia2-ҴF%Q+&Qrj*[Mg.cMoԛG`'a!r\ѹ3)_%(g23 1(go`2;`Mۈji5h%'uu6l fcL05<;02-wөke9!k ͹L㹤6lscMs 2`G^U.<@@PLګH楴J|1D(4Ok6R1s dhN+ؙj)ߵwRޫ7#C;< ;;|NW*r<^tJy W!x } Zd m ir:.tvxL 'O/u9wȦQc<Э{DADg!ߩ"dŵ[#Yjiu Â~nAk9HvvwJB2=q93x]n))*S)SapbӜaVMj~9E4^ O* *ղ\_j3$[R8>@ߜjK.HTFTRy75Zϩ6S 8j':Hv"sN0 t:KR̂_u!dG*AjΥKy vQf3vgӞMPk n@(1RБQơqv+WKUU93|yi{5ĸg0a1qsτ9h!(Ygd,cNMl3#LbPLcU!u&s+ljɃ_Ң+iN:UXNЬg6ٜʚvR@?擎V4E4_@ɠ(mZC}!b/O/S%&"XBscb)Y(xvbkk*gS,PF#CQ6 XZtY ,A Ԧ ]*VeX [H~71ܽ|K}oA~&ՙO{>%744CG]tQcX/@L;F ,A8YZŅÅ0P`?%UHex8~v`bCbW=(^K KܥPK\ ^B<_R[jP,uIy.66Ft'\fP,A\ĦmK K6*DKpZUV$\jXT[* U#5>'N"H?^ p3Q%wΐܠ\RM]\nR\=KWW(z,%ժĊ ]AOU:/\aЬP A+ V9j{Õs2@e8qeqj4 4aU+j,_mx:2^MTw5S;LW+ n2ǕǕǕ; + S!8:1*Ca,V`,VbՎkLk CϿ ѿпV F V72?1FJzv$%~bODKg::%i:vw[\g^{#:{޳ڠXmV6WGz'\cPQn/:%4 5o&  NAqyf `պfs{|lʤz6jՍML_`?#Փ`Ao*d*$oaIn4(og7,Ɲ!vxwYN717|&71i'}ff@o E7S]kPUezRLsMVO[9'+az48Cn58o̐oҷ2KZU̘Zg0Dtu;%A*3 zWMz!Ad) `4=`I6On3oSeK?*!-bv<qvCv'+톙#t;]sm4K&gadzba,՜% ^ͳ!O^l2v6NX=ȡQ9vU0Rx=E,VK!a($T m8 \lMD3Y ?4,7a~Kjb[0HnH(6X5I:B^yrII¹tG9o6&֐f9N78o&MwӺ%rrU -kr q7d߁6+α s h9aQi5[Ut*NyQw P @ iG>VUk!wg! Lhys4H@j&Ud6 t&y&费sN!+TE˶$sƷrзzK ylB9l(zui3Û˄Z3/Kz[H. <ۅ cLpo#NӸ3ܩ+5:L[ wjo>}a>U|I0z}*h |2bQkE^ kLkk8m3'ah蘓/,E}pCK۲D7-ezm^X`P,H\ ?( .WyDB$K]&6J{{gh(lz^H;"= pr_@-FRjkTk'ɚjKwB,-C :'qmזEǵe,-yi1EsFe\!e?7M/qkMB8N.IGw?~,o9]{*>= ۗ.E` ,10j 貀QN Q Űpy-V`߀8 [+nA?M::_Q[A|#VXzU$]*5]*S=a2^%:UkN '>fN-#O؉ГJ_SO cZ%ӪhZeUğT` ܛVYـ']Kw-k#= oһk`.n)@pOš?Q+Dm'Я>hkz#M~ \5ko5b\ySccSCØ/ՀFD6e"~*^ObK|.3(32WΚ@A@M1=uX,bP_#P(ll C;+e"~b7$Be.8!#F4za ?:( 7]DbԼ1:jȒl̢0 z7\xw392!hy36] i-vȝca$VqsIev ^[;$oǾSͩv[$(pd>b:E:wޭ=pefoqZ֛Ú=$d|E:;\~])70x"6a mon[$ Fܾ64J̗x?l.g4EYlhf;,}sn!]ݾh|ɞ5vG3u և6EhtMmD #x/w(t~A{wwVt;|>(W *ۙkŻwE|.R;y7ɄU{ѽn[ݖ.ten6}w7l+ 3|Wm:fv͑k1f:÷ٟ@lཇ=t:we>rUhoy}8 G%~ˈr?Q(_tODY1<̄qnt\2(ƹLwD.m춅nTFe4MTj=h y0H]m"m'#HCNbpA ab=Rq~GrXE\ Lˣbxy4:"_P@B@w`GT 4x{߳'{yx=E{\b%_$wBGuSk0K!K_KK=O/rb/2e}]CrNiaY@yd/cOrd Cb}JTZ٘ GaxrW'*GW-sF9r.kHOyM)EGX4~MƯYk,fƯfY [mp+[#VVoe Vkx䨻Uoo8A37&BO7zSt7ր& oh--s ,6o;Q6Tߦ~۱í߁w䋏VTN|ql(#ԏ Ᏼw/E*[v G503ΜvjBñ x'^~ rɀ1b>TzHMMS1?} EW!{Q0Oqt 'fvO$@ݟп7rS!mrdw3Mb >E S:b))[&KP [+>x@c}l1 #x 5pW#Cm]JNlf; Pv4J/Fi5OQ4Ap/!/;uXk Q7P ~^vj}Mc1 S7BUJ>$3 fE&$ 躿+ eZB6am/ BCR屚!QL)!9A]=T?ge5 dzȠ=QSgx]@2Nȭ$ ` f uc S\VnLD6Z Ҋj..__}յvEvv29X]k0B6:hn0ʐ손f^Kild_ Xc4e]8 f=yUl C 0%gʻG)(xWVB9d*B1"a;]:c~v'C<2pWH0@"$∏/4h'RΞhgM!|/a/i+]aocoۀwCt}}l>. q9KI (_j@'߮R޴M!\IX&m? +mPd)i>?C?G)L(_ 쏤___y`xf`8}|b|2| ]'@"H%@*Hbpx8rkAքpk7ˤ߃$~"&߃D2 l%Tشw0y[ q0`YOV8fdX4w }&?ūPmy(? bjqj7tҊB~F"Aq2]L*a<b<<BHƑjɑ|hQ 80>Fi`;,sD( mM7"IcIc{MÔ|94B*gP7,ij(M&8U˗&bƱ\c%-Sh=B RUDh^+H8Eu lڡ%rDbnqZq B3uZ'?Ḩ_/ "L:\‰׵2LP$mRP۾A;O } EG[lh9-]Xx+XIq+Ŕk(B;.bϹJrJ"pgBVuuk1q;q;&' IIdoskQDdNϽ*WJ(&s&ldNNBӱ699!DSB_L4pH&NoK2:ͬR O5eGL=$8.8btʭ:N+-iQC#] քNP5<>u8ӭ)B'w8/I'q>Irᓬ ͐pp@ yLKL֯fVڳ",,)P:7,ΩL4h6SY~ ]T>4u_;SR#D9s!fU[=$H?K?I2az,ˉͅBM2*>M p Iю-!4i"~/`>}J*l!":|06ɱ)3z<8Kd,5%~坃>;RyߋS>vB۹,F[l^V vQ< I.uP/b!Z B1Zȗ;dȤN9VZ+ ":4WgUzg\0NZ-/$'ӕ[iEr0,^-[g3Kd#08.H*Ap.ZMx*(L}feKzH ^&.pW }\S^6]'V+9VB~P3Fk D*EO(i{`ǐ+a+)J2z%bJqJvvrNs?{6g-O J+Rd32geZf+;r ּ ^pB];ZFz[9'(ͤ[\ ͕JaJb畈Jy}#+k:̾k#ņDԖjHRnisR **,[)0#_͓|C9~IlBY%^ ֙VawM9k&P~dž\ kVŌCHİAAs0W2cHXgSS?MY5D5gE{1@} 'dG\ɘ 6r${=0Ŝs][-O.n%7VJ!nc R qJ!x.p#pZz?怇$ Wg| wKw/LG@FplR NI- (B?DMHBՐؤq6U|M!qRz)NKf)T qZ]FK$r܉XS/.gt轁;E< ޅLBJS X`w_Uk`MF 1[KXK7cg̴Y5N f Ydsxd3{2u~;tz`Wʯs诈W 1+wƤ/׽򽎹-d^ҽKF>gָ~/ڇC"t!awH~%=')*""mH"Ps%a=`=/y+v.VN7Mo)vt#%wGiK͂b ?`dKtGÖ A,Lvă-O`>k=&:"Cdv=Ⱥ?#4G$4Fh~-$̿v,Wq-[9[ DTQDQF'@4͒\o+n-ؒ1X1 c1@-{Ƭ=:E8*SQ} ?yĔǥ9&_XH<]S{J?~?!~?)<ɗ*>YSS\SDO!OsOE?^wMy.OC.򤵄COg8Q=si>:chZ9:KlG'|Μdtc$Jngoݗp"ĉ9xQ/~ɽXaE?l"Go>Gi(~l_z^fa/[FTȩnf.tIv C++|JuHSm US@F&+^  fhc=bY6kL,f5f |u$H׫=&zc[i+[bh+@ZڭJ?xOyVF#[*l 77*^c<3q!o"6DެD0oBgpa⼿eW{|o|&׉D { Es .) Miz;wxzG(yG<il|XByz]}={U{q{{Ummvqn##: o9 40ϝ}љIA$"}v ~i}i} 9~`u°ᇬ7=2aa2.ݏw~{'O>Q_Uz7pBLCc8ƻ]i ) qggWRRE >>]! D X U\۵Vtc-} _"_"_\¥>_riKFiO.D< lg[y@#ty]àb;:? ,?x? />+'2}e\E50I~HMJD_Hrj ʰFtY׈˯6I&u0"7Lo@7P7Vefnד9^Hѵ7yBWG5ӵ$p؉>Rְ@!Fh@xuIƋ=لB\gz>b=x*S6 F)K_c\`^x1C&^k ݞ v[ΕRR.kz2(M,N=8Ӭ { bO>: ۽^Jb}/7hbB'EfSmNrcq䣟fu2V_{ͮt;JJM{AGc}X&y#T| ֝l:5߂?"^E/+dy'b{6!:쥣p6O9ނ͝po8 Eݢz7x]3kn0߈d F iXN=Igbceopa l0VO;NNj”HwRSiD*rEGqm=fS8A$4Plq<挓1΢qvsY9q$ ;9bo366mZ4mfo-1mY~B;qӚG@.M:Q= qOx2ށaOkV CɡǓZܨ-w4h=HCTc|~DZ1~`jw(&p'xCZ'_`ON?9P\ lNCt+d\؉%. Ou"TS>\91ҫ)l{ l={K|NLN; 6`jj[ u4US魆.>'rG9͜ v)BN9KN]UL@6t1,<ԁq ~8.qDhA"? ~D<;˞=U2(/s ,seFԽIR\'d(INkXOySl1r*^T)v u`.xSl&53X.%\h{cUج`OMfIMI0;; ; cgk^b虮ة+VXʩvVNW`N s$NNX;'s+ ;s;s ; cg=fa٢9>(xR}"߇ #R:[it0LsPLM5N rgg9wSFnj%,$BZZ70H^g!l6|v(T+:l*/v&yu ?R|K*EI[?RxCԙ#xKXU>~Qf9T5kCʱNt _zCVzv bX`@k?.|mENFF|= )dHO6Pm(H_(a1ƴ TiGd2EC*pl+7ic*'ChݚU#!RH)z q|KYy9Tv,>αgV=;iwA0>k/of 7#Mt5hvSeغ2l6sŋ2,BԕTBdX;rg;2ϥh}̗}e~(,+Bh4 N<5& Q.2FrHG[ &T(X`Q@.P h/.Stj|]4!q鑰1o3Udf~T2Ct9*L3BeL{2p^F?,vmQt""墐KC:"ꠋ26䠚JPKT;05\ 2u!uG@ƺ]v]kznXRZxȒRІmuBn5;Mb&zPZԙ9R8ZĈg£+;{KѐC'z0v^r>%%|dI`X |-|lt|;TPn%4^P],>[7*g iveHˬ_?WJ$'z2Î\ʇKaRlkr^JXWu1H'ˉNSD, @8ATc%/kWBrˑ[Upy[\^-Vv+|eDzB/ " " ^7*ል*WXW/e1i:mue4UJu&oDھ.i?/WIaSbrr-܎I5 7N \C?I75tIVu=$(<4CŮGm0K|{3vS37]] ij7oaT:!.+ިڌ9(݈-cXV/ԇF~`#5q "1 Qď!IX&T"TDqu8aYX@&D&Z ըWq8YlISS][ג>-YXfR,=k]/D-z:f74e_]ÊywY^z!w 288XX/YK}c7sV7"\DX7[kKnal5/0IBn!SѪ-k[azPeYa |+ 9a#\C`\ᖇ/̇@3O}Xa;Aqqku_3[vl40np[4oxB)z6A=J"IҕxI^}̑=b>hH`>`G,7$舯3G|Rx[eG|;ozñ3R㟑T+z>-?sӓT&Di&(oAo-J-[RGy}z[۠eÕNԺ;m?m ]rRhhzTѲ=^Q=޹߃jyvl{s,vmnBCE_kUpF,ŠC+u9WJ#hC}$QqVW>1$1um^}`b}B]Gt¿3';$w_ ?N)l)7>*!%~YUg"Fy it6އOW00nzuSiŇ5N*cLu>KHA "x_ȩأ}Y֭=Z}K?~h?A/zE?wT i܎3CU"&Lkt@ODA~JT䪻 pWhv1.wQ3|YT ނ* }%scv#i1MNBka[¸"q\P0Z"Pa0a-ք_H犩06s%#{J= dy|o6ٙstnjn"n:*(ޖ[WFw_&lR6(jj 瞝Tkup~ Dn5Ҁ)BfXmfu6C%pc{60vl}\yOUwғ@`;Kz:JYX4&P=UTçBnz ef=@$VUtN99Ɓؘa )=1cYs 3p"ppí.sx1漊jĘEcI^YUqP`Ls h̐yc!^ElS8I_n9jcVqA!Yi N;@Y!oC9+Frh{͈Bx9r"|qAC{+vRp5uA޺?MyCadC N OT<G)Gp;:^wKJ ᐩ]A"bGԦ=4;Dky䚡HHDb4#A,@ׄ(Bc6gTd'^Ӄ>y 9FGRo'AfY)8mDYi$jFJc$+Npj"&Ϛ"SS$&!85DS NM,85EDHʱc#:.,42}a=ˠ[G#CRh:qq8eB8?$4#3PG:U{NLQϺ5x;ߵggz/_WP"^ km^>:2| ]{w#KcJt!~4FDXC$]Pq:+{eK~cv@:?>AP"bJ1x Ʉ0J@ jd~KMc7DwTDH1_W͉f qOr7B&&!&EIy LMF&lr6f@xO'Cn&aρd:L!OAN~mbq|)e\ }4i^3&rNţ}qp \C-0XӠӼ:+?>pgN/o5e^mds9uF:;?&Η:GΜ;kdSӨDbgiPCSx\EoFeuU]w9>*+8QTweOWuuUSnj%}r/ȗ/)&]/_wˬZVei1ު0ahkZmCk-5(q%Vmi0ڮm٦;wLbeF`kADUV2ҩʤ7aG3j5kR+v@gt]/Ffc%9og4e-4qʇc=3 ^ĦY`8A7\rm <#2Q78NK c e0Y C E_=]k/u1Fвdt,fd`4hƞav8"31m%pAzq# $07`H^ "ǗVmab%L+bzǔ+MN5?Lp981.27,xZ˦O.ZSL޴mU{3Yi{vHF3Jʿm1]Z쑒`)R2a`xqe3a=y˔NK yl{$K ^ ݨHQB^`2?g4WH#dYug&\B :/kBsNĩr#K꿁: u%2%ΝS;8wRsds' X~RZ~J,0guO>)G맊]?,'CirLLļ& "qa!Yu#ۮ雖 }Qᴬp@ A@:M"F_d3Lؒ;)YC--S@6 -w)oٔ #9q?R%r"iKk{h[brd4%ۊ iD{$=L+EM[SwXmijڥj\m7JՄ8a/w$MBH LufҴx@z='HRY+J`h.ҦuiYg. c?jqLI ;VȢRbCi@5:'VhGT1mҐ]0~P.p. "KsK2y$  USɕ vtíKFe{![Xwl:+.Yf+iOJ-aO?ZT{ƒp"_BA ȏ#|s K^5s g16s2<@h.tIyc-U;e(TgPPگ895TEg_aza0,VyG?Kw1TfPw4$HCquu#R#Vi;"Ø5be<<yy EE|OL"uS=.. ikkBiʫ'#$B24m m╕9dS~QlŨ E5L6SuQE(Ց!Wru5KEE= HCg M!巿4VIg%q_%׺Q`aYpZbv$fbvA-f_ZҋFyHP񫸘7]+R7+rw;۳Q}K!!dt=@zvT5PQCX_ևZJ<\LJgwߔL]IBd/~{%-;^$mJ݈%aT߭T|W85VUݸp"4{hU^%sT׿N2SQY-vPUC3̮|נ5źה~])z ,a_"෉`ow7otfuCQ06pMp㠾$`GO]s_EapRBM;~WpdI$tLcɟo*&[[hhl$Œ)!Z,`ڗ]*ڭhJ ~%@l}ʪ,sCY6e0>cEd=>.FԲJ?U1S#maOAz~RhOAHġ"\L*8$3}J7>`N% &r&w5ѨzifAql&aaOY(ᤴŎٜF%`ܦ#L Ia|/$ɀ|Fm"Yםs*QdL &ca2V&c%>c%{H1 BSRt0E( 8w04ows<~Z?[,ޚ!g e|YmQPiQt/"ھNSH]Jo>W _e9vz\;|ځZatY,dSi!;h'qN sΝTNe;E ]oIw6ޭn)4KȞ4>d{U{{+^q71&kB;qOƕ2j=%Cy O6H$9Pi:f,,tB5}M\9|zZwr4!(r֙ȎI4+| |9-?l#SSl {RLR}J )<`2=&ca_# L(ʴ O a_99X琂U{SR@Cd#<"EvrTx(Qn$a aA'xcTh@U(9(>{G%IXU+ n  .֒OKA[ ԑqnɪ7.]ֲ=t@D12]|Ltad5ֵ$^q dD-D8Qʮ4']~1OdL$^HQ '&wdmE mhAX5H9`;? ʜ|JvTiHߞ\ӂtE?P 7L_qtsYyil6ȗ=ŝy&YPܘڵkL4t]?[Q|Gk7sM0h@c.k{+'jF[ 6!;Y_h8me 3/lib/dialyzer/src/dialyzer_races.erlj4Q7d~ (F%# "*"θ [:Iq޳U/_wթS|ϩS˭wJShlbمf"tNa;Pm媟fN^G،fҍֿVbhtЩTg҇eJ96"QJXߍ $q\qC9*(Geb|^~7^;(K~<8?&p'Xn&2&n"b:1on&ZnWmʑay^&/LŘ\290䓹-&l0&Q~EyTD&g*vVיj!]/Ihv)RytSQ`~Lbuc n~)lȇ((JIY UXN JG%lZ)m$RR֥BBacF*U lWmג.^xU~䳪ڌćj.z%UBQ ' iPuem_XQzim;.EŴkǴi6ƛd1m͜bybrxM=va5l3oȉlA=[.6۫b>'́sx""|]i%B둫`W?' #O];\s.lYNJVNq@hZʹm>RbM8O}^Qa^`H\ÌlǛp9MhQ6ѺKqk)e ^/G\ Y0zDA$Erԑ BPr I \C"dEEѴzs3, Ŕ2sw\,b`Z\b =7#oF ou-,R,RƣT@ke\eг\=QHK\~%@'g-ѹ%&yv q,3R<Ai8՛˱VVV)vICc)蔀ƿHBߦ!WBY;Fm*ˠ_E)*>lV f}"@bT;l`a -hhhТ9xۀހn!"Znqۼ ZOPxh=!-[39m~K>oobC[Q[C[ފFI3=vZJxK!RR)ĜgAϒ>[$ mX:e__ˁJ(I^4LL1%^/1%^B|KX/\ϗ/sL0v1omOPށxb׎4{LEEak}TGŦѷ‚EmiטU"wPVJʨ;.5[ia0R<1z ^|C~PzJMS2ќsռ!tg'vg>)>ioEQ.RRحO#P??~' ~"dD;?@V]=,zں(<;6^Nd~+] Tf:sh[̢:2)rDSwrīT"+. tɲ\G=$8$kR4(OOLA09.52cJR={NB=XL}2'֙P* j8_[l!S&ӜiMN#$z _>ȼC3 ꥅ J·jC#G%Gh8?BpA>W" Gtݬ3򮴋4&`ӄNNA:~BJvIi@>|YH&Q70B>i((w1 ^{ddU'-L$D= ~; >e SfOA<} .薱 ^>ZN;RJ'Әi4GieƽLM4%.J& z#xcT9;ryO=I鴭*\ΫiH_> xЂyP_^Ad^94ko߰ Ɗ&W~{|oVߘd7n K-oSo|;wa3=rO3W^m4TA:;S'fBC/j}R7?؟ P w NpK]^V ~>!͝NLs\0ܻ)$~ e 21e ttN],*SĕNNUHT*SLQȨLLQW}tTL*Q&AIq2Nj˕qP.Uq{Kq$2ԥ2]2]P]2]EeRe(ӕ(ըL7Lq2\b(T1UXT*SL1QبLwL bw8tOu0NQC zHG1iUŹW@YOʙȐa6'8$}}4M6IMS\b=#IY gzaf+y&fM[ E]3N}yudm jZ2YG\Y~-H9&G'4@^r2|;uCįanޙt~NXKIӅ&KWĭ>AGɅKbprPtaZ2;Gx$3w# f]ݹ,(HqTnL~zGٟ֌%J(%٣H]B%%1qL% hѺBs "FQN(Z_ҏ؏OYՏ4a40R?WtSu Q?Q?PFF3 "Àv~DZa|Mxn<ЈH5PwM܁xu"&OL`yb3`oz0$Idp$qwewBHS4Vj[^ܕ<JC P.C_nLYjtg\gg2iثψ StƲ֚iXtNNZP>iHJhaqu1]XמiM52NIEaRÂ/ᬿa^ o)ωT? j*[36ZԏNo!H;:sPo8%}pkO)VEnm \I;_Z}F1dr_Е>x A:(;3cp`jk͕-+jLCh(EtF*'M5֥HJjb$тZwtcIAALZk$=Hz:bu$wΪ 53AOQNe\ֲSFU=7?QRWۙL3Sۙ'Tѥn'M->W\ɪlp_"M;{\99TZ\NXjg's9s]'cz+ՍLZw>19w8\eveRڥb'ƱE8ex5tmʻҗ:'wy:0;`job<ҢTjpNr |5v1!X;CMRi09&D-$L/^&@>,$ }up2t" 8@^⢢VFL vd҅ kM')]-_pU)!`#܅|PH_H)s ڙ5B vڙ\u&[~ LAN! )i1ſ*6b8KnJn%"E^D)e^br6պ0q/`rZW:S@SiC[p*~V*8TN?8w.?V%p2]d$vr$pNg+ޅs.cȨ]' sewyPu#;/ՔO)D7BuC졒 Jc!~H< bv PJK%[Հ/J:^8Ukp*}Q>MP]'#caQ>c>uX|jňf ckFK\cF`UzѯQ@ւ~-֥֊~}ة͙*ԫ$]wP:cMbf#5HP lF(bKH P"j6Z DnB]606`d9Cɂ}F #POo2 KiVfrqs6ofgeͣڂzlb3o,GR-K`]ZE%(3-oaf1T+QialQc+V8<<˷;LG-0j<-Վ}clb9 aߧt"-×~@fؾfbFxXt,- cTgs1W zTOC,nVޖ}hW٨٨C)1lOe}t-DlpC8AM爾2+s0sqN.lR/۝+%/(**,U868W6\b9 fk1\\fV1Y˸&Fݙa5kPoר1[3UtE{ DE@X\c#J =`c[=`i ε #:]:,u摸; d;,!`;,,aa$^p>z b+)zܙt{#>d8fE*BB$BڈҚiWd+Mp_Lt(77#腁 pA{+7<tZsED6^hklNKKfZYYĥY꛳JYZ$Xcn9Ū%Ւi.u1%nƤ2L- C,2EְzYI\C,/'E5}E˻RQ/&3_'.eD eUͻ  )7+0T^0s R-H[; D>_Z5RhTHu %FZMey5RӑjM]хTNz)Ï|G E!U+.PrzƷYG"iLB扮yt .$d*H£Q 9#y-" .Gs\p9Zhc:ccP8ƲӕŒgEVK{_dR|kZ _ %x"c!c=u6'},XyEbƔ86Ro@Ar~6~w yy >$yUuUk4JK㸴ǥ G^:!VIaD`Ks]] }4P}DlƜh_]^VJ ae`pF_zpO:A1!i|w$I@vD45H t"Ӊqv:QӉN4DN'4iPGH$ItH|-EEzJ(K J-&=3ePl&(zBWf;zu_0*Иm:'uyUv~{ i| sϧXz>+}f|S-=c:<<4~&T1p&@?$Wz=,Hk7;/zGQ  #9ۑZzm;2 BQ/ X?5`z&u|aQf]y[@+㠕 '2o3g?х8^ :xPf?>}yd2ιgnϴvB,2%fgvVg/Ngs)F*,99I|6/\EFjgshptMhhh 0U͛Ft9xIxX瓎G<ϗ::*q[=Av`2A5Zu g܉YM(:ƞe!Y$II2 B9",?092APaddɹzjr`(L(LQJ!EF.aFNo|Wԧ/$Tvb.nT.f=_lbKϗ2/oT.e=_jRK { sgi-]euE0yh*t-ӿ"ekrh՟z &w[i$ԇJkxCrԻ(G͘_/qij|-;j&4386HXj]-wQNzVֶX ^ǨoGidPZ|,Y#zNC;`h7C6q(%sLj(&;Fl0m0m9Frc,+kYITuzne]nE]C)UE] @0z1ric\Y))19I좔4OsV+Af2Hn8S/ښ̴"w:W~5V$޵K͂BZI~k0̖$%R2%g{؃Q9~6q"[ %J$R+]h4UfPR+#H(_Ž*pEv#MM0֙10bu}ṭ  "DhUsjF#By3<yb5Z(;?]cj`q#p)ztz|Y"WL_c23IQrT2XW77| ȼ!>GAVTo~!5 RdӋX^$H*b~^*Hf$̔])~}37GgoFTD=ec K7 l?wRS?K{2uY]g_Y_.8r$I i0<Ь/km_uo9K0|HU/B)ߦz[jN5lkmL@ծgfc'RՔTkITVAU^Zp;Z{jQuY#@~ Ѻ:eCb)Jc)R G %@"aYWU$J(~A/c/"!ˀSͮ;a Aseɴ^Umz[6 *2&(R {Nw* oV]DX EX+9DVڔtwAʻd )w8]equ!!Ynuuy9ݺ8VtDo'ՊA%G4bh,sB{J' ^NɳRH 8>$}H@BJ2əJmzm@z^H$62əHo'&vOoސ8+lDrFiK im>)gx@X&< γFMyΦ8@[1{li'LWeOHK}/Ss}иW5ŁU@i ^*cBefTc&l|}?K \10ì s>n vHަBۜ!9msE^(Q).HCc)P|?~ Hz/;s6YHYшx%vQjqiˀ/@QrkxDt 2Af`6(R ?Ag'ʓ:8'O1 ĸu[3Gm!R[P窕p^R'b9l9s9mt hPb9 hM@pf@ۄ}i&Q2|m@Ք)Ig!$Psşٕ?)мNu`~GtT!|>?6eMTزYݍDoػ'i(}!0{mXѫ7ta @_O!ѧ9L32d/g/g:SklIw8ҳ%^ےv5'A0ۗBϺ`ݗ{Dsܥ #Y˘aQd<~Xb?N[AG<wri:]MO~J9Yw,}Éjwι4etⴑ>>im`U D~{$L.hڇ ח\0~-/pU ;+"EE*sUʝ33-c./I/|d5O(G &e$@NBOL="q ' sBsR9YdgNN`a(rt x"U!o>Z]}6PD~d tLVTLXE뤣dj 5h豘YyݦdT*l=Dok ?8H'C#R3P\ҩTucrJѥSH7g,UYx4Jv!GBP(15ueq'0REDeOvK \Góu"C؝uxRee}6= eA `yzuT'^G!=c}OQ|";MDr) Q``Υ҆> #ЋnY졽MB;>^]f.,+7dyz\ voX[L-?4?<$_]QPPlCp`B: m9$M9PC#tɶ!ㆂ1Mu5%թƒtG=[*iɶU6fJwURAJT,koSMu)6Xw5f&k-'>>f4#c>c0QzQ1`Ed0( QpIx ICO}tkS3%撎f͹90TWgsV%>f ~r:[꘼NPd{gxk^}c۫l~uW|ώ<3ϽUqޞ= gΏ%UM $21~rg)+B2ުBn:k׬X'K dFr'QXTE`mXǃr )8 |ypFpU3 vkGrc$ Jٞ -er(_~%{¡ tŻsbB^RBtw}A>Oýr၎2MǟsCy k~2j~rn ۟ I$3üeEg+bZ6VkM(%"Я$7#d1,~OS:eTF qqHqh^hl/uYF^f2hӣ2S@Xќ<ՙlb3̿(nQ:kdOJ,a!3%\FHh$<2T-Ie]D2eMQpkA@ T+bWdx17/zeCysbWh)8%)*sڎT'썝]~Tr˄d⿸]S ^h$˂nRYY+U=g `b)b(s =KALK7UMT*zvX6\tlJ8UEd8K0\5P_m2]ul诎 BziMRMթ'qcei6hYr2nhfTF# ]\'di&[M4\=MAf[_juMByy5$>AP [l/0pLG.&]{HO7?=6uש d3AGudDSs*DdPό*9ȳ{k0,гbF-+YPc #=GBzNׄX|$-<`yQGuy>OkP=GZt/PN-} kcl5_H/ʈ_ ! oao3kx':3n*ԺdL!7LqC}r -0V=lŅB+V\4~! 7Y!:\NA!p9]g rn TC\/1˒;Kbq`܀-~I.9RY1)Ky+ҏVefZ_泆], zͯ1ٞ-'Xztg D WDlv72 .+VO"aIAͭ仹񻹕|7Q[?"4:VܷƎnm8()uYI}=Je| Aʰ ]䕸܎ܮbojNށ!`mLSKLp 7B]c5aw f7[cseaU D֒6~ֶq^KvŤp$ S'\.im~^L_ .vEYswK?t9$^ϖѾR&^/x6j׮}6&6~;3®~{Fd}F hMxBKtjbO7M_lk6l}Ф6lN|а~I!fq32fӖdsܖlI6 [xduC tCikMʎ֖&3.=AOTZzusKmUjk*;pw4k# jKuM-tAOw3^tAtC;TuJ3/lib/dialyzer/src/dialyzer_succ_typings.erljDbgi-Px}iTչh#z/du}8!pX\ 6*LuN7U]]U@JD&Q@d$A!QqW<]+si\y{aoTG owΩiunYZnOmČAnM?I8RIɜMLVrJB\nM}[*#F;j.uSNfl(DiV>m/^'(9=ȴܚΜ[xnͅid%b73+ujN֟H:L{OslF ]N!+;Mi¡? g\ܖʺJ*h !ISĸȉsYnQsLK |pL.Q'N'@T %кRFϓl@PnЙ}#\7Ri"tzJD+I*T.,Rْ Tngܤ6ӮY ̒~.Fov=1Q o:ƪhFX! ByY#74!jqbԬI4@>6$Q3H%BLN#ܬiܬ/E \QMa#2--2rMt-U Hp@$Q~@ $Kg(做e,D1NZGnX`G"tFSEQ.MhxFI!$Xg.}٘8";+z5C;Fк@\oI W}bc,cK Q2x_)^I7x̑#W@:ИP)^'=8P='2]1.P?p&mݶ49.Fb#{1'Ȟ";ih864Wܙd^ׄSj 0խܯߊ%d݄<W,F59VrQɩDɩf%nS%F= _iQު6^l{^))):V<9UbBssz+L.$Um%Ix&Mƭu1' cacdGMmإ*Sk.6&&S=qЮL˓XEFa5Bw՘+`j,YX z$]pP@TGFSgs@^ (Džhv 6=ThV u@ Z Hݚ5cHzEHxN-U)+єRT˭ єBis֥fPC;tMAMߡx,!GM?'.6# CO'I*Nyܚ1#Wj nY*͓mn26W,c []$GvL9I..}v|.7"y8.Lh~3!Cg=ĝ -9Z@΄ԌbOsJ|!~נBBWZxYc! CBxs.I@CŶCņCP$B۲9} QG⏘\brA%JTˆoA7RqoylNMAYYT~74G\UɩR[eb,<ФU7O ,Z761_B*;ɤ\hˌ+4ǂ0@W=+Hճ{yoE\ճ"YQ% 8KaV hڀ+W a>IC + 5G*}Yp/!M~6Dj`aBQᵘ&ihMc[:l:)Ŝ>D}~^zÍ̆Ro} i6 p4ۊсہ$c9w` 54F5QkzÔ~6$h6p @"He@a˳'Q%ҹV% >ExF@mjͨ6|.ߛf\MPjm6vR"qsL1tn,-8ɋY=ƀق#f9b#f -0HAnUh[-i?co > xkqJZm gVJmPDܐ/@rnCrn‘32,upS3p~ +QkÓS )aIaā>I7*pK\o5;WTaϝ e 9n'oD y 퇄V7 nkha& |0(6.*})eN4? n2ncmNj[i4ynnt~!$eU܃G(0d=V>pJgbTV>\"ꀝ~G>w}~PS^QUDW-8)>L%3OK8} B!Hzߑˆ`a/{As}G l%cM~2$Q󣥈kS~ ,Hߩg@oKAwi4<:7-o~˽ @MO~m:ɿD= +L͗r밣WW;.s+<9"er4X0mā C_Ux|]FN* WPVc$@0Iч+Ţkj51ޒʔ,˨c˨ {>G1^;6*T(dyHcVO)({X5f&6hrG~DvG w&t4jt{>jޞ(5 Nlﺼ%E[-[fmޢ[X 3J)ZLIIb*"eHh&UԬ?xcaه'bC _}KW%~گ?Lm@3S<*%B*8_X>B Yj?ҫrpndoV1ޠ _]x#n5nz׸o5HbŨJ sU4l X]-&MhnN'5'aj'`ZDDy+o:0V=K-GXi5OQ"a1l>ͧ1ԍ>tNCӊ!R.< ,zH Th--` g`,`,󹎚u |.5ğQ (=۽W)% k*# 9k#1|֞/,_~As!=_)Kl/I;ŗ84 #12$ї<0z++eUͯ*5T||B*škQkʍ mTF~(o4cpLdo ]Z;OQ'l'+9d7'NZ}VV!^7)()-ƩK}1|21>e?E)O)w`~mxἽD '{tA aSX50Oe>S辠!1o6Fȱ:IJNlWPDoYE\cG#NufӅC1DZɡ$rYs u{Ue:3P"sصl>< JMICjɦ ل5zpbOr, a ^|C"!0΁$*):IOd{}#c|}a%AxoyR]ΎnBJ!k_f! hCBFI@H"2*/Z|L&Όu lɳ?lR$϶:TinŔeBfEsZ:ת{@D?$sj,¸`J r?cDr>O$ƞ n܋L^71^@?BIqV^,p8yN}:@!7T̋ F ^7ʛE@O%5*W,({(Gݳ('^12ҥ܁N>RR$;OHwgz MM@\/ B3]F6(lÑO:S|,4E?Ýzʯpn衠8jtL:lOqsp]pQ@0A z=wEF=&4xs@yPe\/K|CU"Ĝ#/._%OO|_2.ɏkۙ/40;޿xFd&@a7^TBCqU9_a| Z0J8hIm \1s%d A1zPF{mAgH^Jəx COm( >ޏU) hGT(⟫*fy@)6iuMkLB]c Zlk|5z̩6RL\krL-.K*P!cu aP $@:Ӳ {o#Y \υ֝S-R37}!fސ Bb ! Ra+W_aDP0 jRjV xeJWPjϺ}D6 R_T \aea*o7$ FnE7Au#кQ<$8$l>djLk&7b1Bg ?JM/~O#GU"&OJ͠ 2IJAHnh$!HEFHь5?2Z$͍ᠭW20%t3i2þIrtx Dťݒ>[=n݉ Cih-J980$[Hd1ḵ2M@GM7SDd>l["ng"ŴZxP[]-CkJXcjmĦNs pj!'B̉V :1x N^6*N w݂Sn@`u- >> 9 3O-};.0#c MD'c2x@+c 8 :%Xu2j*đ?3ۨHյ+0d.o)(:, Ŵsu'A!j*M/A@n&_ 0%-k 1?0% zd'x#^mM՞`+AOB,7't8H+jisct N1 N9JEq{ń:=CkV +m$j1J7I&c$][4DmëQ!ɽ;JxcyXZDn>_C 'vKevLv-[4Lv#;eYňDyOdڟO'͖NKt'Bch{O>LqQ#8$sH\}˹y*,\%9soʱIRuI1P SWďJJԲ;H˲Sm9 2 Hq^o'DiubpT d9H^L$L{/2xY,,z6Owx: P'8v?N 3k 11*JMgJ'solu<`yۢxFr+0UhXNϭTN5' :6nQV0? Z dQﰆ\۬t3=O}-"=/J##8_qL;?cpe )48V(d䭬=ސ,CpBp!y! @ 0EA,B-bB-@\ !b-b-k1k1kU\Ů^BK sF Kږ˸K 6%з${ < X  Q.XܱL*TcO\@BwGGk>z: -syȤ(QZK^V5% >!"-N)xAth7 # C68r%s7rqIN"urJ܂c?_<&  IZw%pYQX`5j_k8h"kF droA=Aw0=0ml;X"D|QG7ފd7`Þz"iԛ*oV7i>TsA&G$E,ƹhJd<[[Cd|gʷbomdyf;X>XKdtܬ`OpuWYuc "2/ՠWuUdԩSN=%. pU@Å.5.Ȗ'{&![cYv7ŧs9sUF~.܁XȐ|Ğ-d8b,Xp, "G=Ni?ݒ<" /by9ybiEv*.GCźX\K5Y)-ZjZTE_Fr|*IztZ=Pا‡/ l˘k!ˢHKg+3x(&ͬĚa?ꅈ^|)M+yش6DaS% ?GbCë`QMg5[2Vmjj.]$2,xI+Pe Q\[< D~<9zRU"{wTHdX)+.4\fӰn ٫.'}k*;9G8K5Un2즢IkL' iBgDK~y=Ř "O&}a@ A=q ELm((QQ+@Q!3LFDF&mBV']$ dMː̱mbQ`"LE8;`L^l f6#el68!`ظyDfN n-&H&w[neQ]n ^QmTTHyF\|B #AD&ٛߛ^oB>InuSCOнAa+V$1VO%հqxcz-~K[*v96߀jU'm&`#o9ݛt*`a:' Bf&S(UPz~muaxwXP&:TZj]Gy'LﬨgMJ.Gwp'SNA; wr Ɛ4ShfATf |`Ygfv1 ƽDwqT ؍X;BKB5)uf{O#y2hN y,1U]!hZ}$~>}fr{'>`dC} K6a]`@K풜s9IbO .\= HY*;՞3UFK5v%i ^TfʩO giӠylR{v\V=Bm爂BȽ'ePuչ}D1$gWeǻvހ+t9'yʰu@J""D Z'PAkGe=>[Ua(v 6p.뉺.%dy-V蘾_ >4ľL4mS>A¯(RϺ\i?"r?Q*/n[Tkkil1g/kL13hL@s2zhLHF}xf` J|c@^a~#MzpB5]UQ_Rxos06q!KzT߭ŕGI5UC쏪'to=2vTwcrcV$(vL@lJ VIKXK$|b$1"bt)'1HX+w(pgwlV~'lsU2O|ς%{^@3Krjِ%'~Xq*wS8e;S8ɮ9h ҫ@p&d(Gk(HGN ) A 'l$$0'RΈ"5p4MN%pF$s'Gk#I r)zܒCSHI q*k].CNy\P'&Z41uNCbϗCX-X a 3a.LIl]Y,rѠ"5lI>bq &T.Ɂ#w%_fxͺL4Nߺ qtl9`KOi[ )' P_# A@A._@fh+Zhu`S\<%u$aTtB$m"iufĪ!Y%㽜~],T$Ժ[Qi@dYx=POuᯀc\ A++.I^_[7*!U7$nniiP=[$ umho!LK]B ,z%*?9Xy @ROɵlk()֞^,fZ{bVV%Y^/d}#r/4 (CzPKꕾLCl@V 3Ul4?:oX!-,Bq8ވq"T}E9N},.R!NG?Y2_)ú]k Cp^q>ko_e_"E޾T|}mx"FL]}!U8n %Ê/|*.7zA7yE==OL4a5PZg/9} AA V9Ȁ: uIKH &&[,l] djzGtBn%4q/Y7݊܀^=etґ}"*JB[BaOد8>e0s(P̛ m&zMƈxFD݄@nq!Eq0Jl&`넥!|X?S #(ߌxF][2C#D؛Cb ~ 6ߛ  738f3H.#Dg.(wDﭜ^ǁzot+VR^7Фn3]VPl~BB-0_656a1PuOnY`0͵Q͹p9c?RLcEXTh,ǚ7c7챈-YDzqe~ Y`d >RvMd' C`T(+ASAESo&fQC ̯<%.5!l$,.iK!!DC\&@ m$hTbxJ5Zi.֠jè̵FL+ %pޥIh)6lm@ aۥz &sΎ .ӂ&m!ZҸ\7X70L0-㳁Lɐa!#kc8@!]P{( ]o$NJ#j("4&_EbgnډN,6& l MDO='nB_ALLu{"'D>&B9e=Jɒmɹ*sfOݲ6Ȧ\N ;X4x*W3PEIi۰LV5kjRk҅U|\ŧAiI.6ds\tPKXryۆP6'32MQNօl;B@c`FL~=lX`<\һ'=EbX/d @5k1|Sz0[^'Mz9[^o 8b{)V=#^VF ʧdMdMxYSD0`LTS.~*œ4yqT ei-H0O ylXyjt:Zp%E>=%}@á)
  • $-ϳ]d3 ls0,la?[QsCgps?ehxFsNFa5҉'^M^F=W f*Y\P@ikl$6vG1#GlQ<(H>T )B-?{ԥa_|m<)L'Rw7^?ZfGeŪeܨae-#iY2,ۜp &EEUˑGOZt-\ZN 0 rsrR~HdP(vOGm[f;m3WTY;u{%Z,33 GZ“svf|6ÕZɻ焝KyXZ]aXx欠1g \ІWN_mXD/@/()ޒ ӣr^`xyN7lU"G^^t7AQ(/!?(y $ ै?pP1Ig!Ht2}Yֳ5Io]ͮV$RJ{J:KƹPU B6#Ws?K~![V FX^ekXE=*!b58ѱѱZV}j߯&x `Vhu<^Mȁo~X<],OJա8qKZ"d ֚tЭ5blMTd* _UʿkA^E(жZ]E(ZAkm޵Z {v*&35hɜBl4 <5 mD7EŻ됌Ŗ:u:N: %ÎqG6@ M$z EmH܀7 &Oh!zEncDsӜ7"Go!Y|6QxL}|"')^CryMbϹ܌h͌GkCu ޢf73b ͼg$G}0vv O|FV#hj7ۭ}D>z Cv|:[^u |5]]o٨ >ߍˎWIpt;ܒ[hPz_d `}b$H&ɼ2 ?~B)RG!gveN܄L]>u|$rƴ-=7BA2كc$g1^I1#<ɷ?簟 G<$B_kIj'e!/_"¿t7(oK]pTB%RS 4|5ୃ&Ss4Wlo _I迲 ؿؿ} - FcR * oRcr(>sJGD*nR|$Zȑ( Sm|k\G!G5X1~Z13[?8?#&hw뗕/t Y)p )P%&_eaJ98ë$*ʘ>t~rP,K)]ȏt8|Y2kǸhgXfsQdd8iq'JZԸt׶)L&-ѳ%ax -sxpvK:x +c6_%Š#r<K/=ϱ+Vղ G5jJe 9FmuR۟|~R}Mu 5NTBwdWtc1 nH![7] ^7 ϕ뾪 @g}9v6~ chwg_U(0%SH4W6mPLr6/֊N<_ +B lv2ӵgS IPpW|c e gXC$DЕ!*j !ݰ ENdaW]fxE΄Va:xX+;Uwh~)L =t{1{1{%dB #tW®W+zJܾ1\I~ MH=Jу#ɞƝcOm=hO߃R8=祉Kr*hC[4I^Ty rh]WGwLԥcPTexo${+%8 Nȡ 7SqvArW:C~i2_cVRx_xkxx S5@ָr"B!_gn }p>`L)TH'{LuN]+ ?rȀY9q3@FUc;}!4ȵdkkŕZ47WHpk]$ R{ D٠sIi֋]f\OʤrjV&hۤ~FWF}SJW(%+jj(23"H{%mmS{ŀ&"%k;_g&0#@Hb\V&f%z_t馊'3q*PS1rXy1wUq徑*쟚.XV^)i_uAfUqg5B]rӘ Z]+D3/lib/dialyzer/src/dialyzer_utils.erljDbgi[؃P2x} T  h>5 *qk{3tOOwkFF-,ŸƸE#~QO#*Y5Ƹ~z[ݭϡU-Lu[^KW{&[h+frRjz Sv;j9U^n]l^vmf{LW5P(^~[WYt[7wrXj-Lu mrST 1)H邭=m˴J5}qyt *7LuiBWWJ^kPu2^ՁJU*Js5D(.:|R)Xp_;V1S:U2+G%>Z({UrHKBYR6,gj%>n uiVAQ?]Y\JN= os:N\ ( 2ܦe՗BlJ勺^ bRX \UkhW,V[V`1 .'VJcWs| ` k.s<.\) L.Xך<΍GR4JJxIzW]k&vx^w 'W:yڋ|;osȝoP05@uCUf;ђ܏9[ y_ L u2gu z ]@O /4h.T2Qh׫م\'Z&/dBFQkd^d0\(/J'.%}Ʋ} v1/NL]Twf&K K6"%<^BxxfSw4y4S6R;K Kdq)OZťb22at!yY_Vѿп\u't2 eNo݅+TӧY,be%b3vi}4[Vu?olq!zEb\A =Wlf\iP\i]iؼ2+ W26L62(RnR쪖xtU^eŐW1L6(V=ck7[ A_;KU4K _ӸZ[BWįfK&y~th,NgI}A =0ɟ4-7(G(y[a0P.i]agW0]>ҠX ,4*=be0Y;U*U1ZQY-4Wkn\l UL%-]j>B^M,YzuM#dԵõJ>kYH\9!qxGuu CfT=TF[׋Ã{>0kGCj5kg!7jgeXgF40i`X}uOzO>Is{{j^^^='i O}{{3{pz1pFyk#׷g8RCgƿGؿ1X!~~~D>Ҵ~DGWᑄHFxd kZ}ݾ}?~`4׳.y!4h#FV:a&f-3㔼f%c?~8ZJP{`8 [R&Dtu,+d(D?HP'.qQAL)|#ڻ2?3Hq{ cM뱑#Ī˖Cc CcCc Cip,;篃 郩lX8rLq0S=!!l!dadqmA:)OGoȌo=&մ:hdvunk8.e= pxsbs{L6mr[5>wlxX퉪h' 37Cf$}uB=~^J_""G7𰧦*s4&== MsFrO!tySyT:N:NvhT3/M T!BBcNzCɮJ)2ѩ{v h?7裛ƒƚAc38 ;M.K[bhFwq٪7 ok_[ GATmbv1|vI|q|b|6 h׋ML>.=ZG\eԇ\@5?@K/Z/$3X ^PiRYڃhxyJotxQ4hz?S}v?Y &!> k=hj-o𴂣ǶO )$^@t| |I1@6iIؤ+%R&,QVTVcpv*e:UP(zL5_*Uk^ eϚ G@`7vxo$a:s.Ǡf=Q °:ɤJ' ,<$d> `_a(YafVQjB')o#sl *o]U`ҕWOP5kckWr P&* j χ9&レ4WC}':^eyUun$1E1E4EW Bqe_y]F3(2p7ź.D#.V]Lw?r n$n LL̆'[Ҹeov8ؕw jFcd#F=+kTqRi.2PN!"BE8pJE8p L$z5S;gys5.V6m\Xnoߗ5dX)v[bGޣ ~@XDLn\;u` 0n<;yPQGMhH|4#5h8(.3Dօ]>̅iB _D#!_:2\haZ_5G+dm|6~P-fKdJrQD A]'XDLxUPIp H?weFrIּrI}s)RU0\PLƈPY/tbTY^+5T^j@^]2mr%\t HвݲvJzӽ%cNAt^2ΐe(˸- ('6@S.K JbUFN,_5+_ i4pqWh-] |WXÂG-u%TTGD|X *!5kؿF}|IVwȱg<=YbLqr1i/bE\+`[H쯐c1 Q+_YAbE"(Bj!Y5J+cHrU#we5*Z0\srQ۪Fe9B,<g jrCc@y٭hboڸݵ4JԵqLիjys+[:Qwu|Q\,TDƎn8\ܔj yADn"MfaX& x!&g)0]XCz f 51ְ55Ћr;ȏkr/~!/~ [X"zM~kV@,o#q@6j$P+܆x~9wpx$N 8~';xwx ps.lXCmSrf]9XMt77Bp>q#=5{={8l܃J(޸ٽ (3+"{u-=W\ǹO>qx<21 E_@{?_5l,sn3ԨHS_ f4!>{!!S4P?l< ^+xpUw6%>L0B= T6% 8y 9J{4FwZHizѢG;v҂4V)IU&$ʚ~{ߣS_9f COټ)OSbMb>Q7ޏ^Sb%]WKݢWf:FwVUJ~ڼӫFϽ1t,ӑCD!t.>J|©gx ?`.6htGےctzH?Bx3ous4t1A/ѐ9k 2YIuJ(r Z8> iM/n^ 3ʮJ3-h$TY{֋1ȋSÇ?uN%/_"RĘ_҃Bh>%./!쾻T=ll"PuTuqPɱɱ."aU.:(:DOl]u@}++ݧWK\*W^ WD}%JhWI ȼJU9^exե;MR)_U8hd CS7/?G[T5,Ftw-_ }oJl٠O(6#lsHCz쾻{77M&TG&:K}}$F}5G^=y#@$lyFipm A|ohcױoMu^Ʒ_gcoN|{S,&7l" 2ɐ$&oo|{Mķ7aD|{7 G| oFo TP,oBO[PoR*_,VPQ߲_!}+MOՅ w,^ip!>W9a7dvm,4;Dx'{G|ri? 4;Ft ;!/X$kO*lj y!nw(-L,: 7nuEv^4(òXPc\}H 2L&z-$AL5;AAw w෕ d0PI,4wt> .aQÏ|C}:攌>qwPŎRt"c@Z$Q+ЅO0¿`Qjh]?c8DS:;F=c@7PĿb0P%3ϰ>c ӟ=,5i1z5vV 9sNp%GC㋸ ?;[/f" `<(Xtȓ_0Pت_Sj+]s!oWX oO@^. o~E9 v6 W _3_î4*? 0B[olG8&L 47Fo>tN/jze:*_XD czWN=4\MӒ\t):͡~ē [}V K%4фQH88}1H_?A=8U iN d12(6@7UE;IM.\4;rG/3R!mDngn8KAb]D$~ A]x35 3:E=I$4&?]0e*؞nw w@wD!1 [paGƎ⎢Ui_50ۑͬM錄 Sm%1C!a] HLzg"Έkpe[Yvƺpzm'EzáL ACS>Bj$ 'SZ1۴nvErm+xˮ2/R^!.vݬ\&s겙`Laej=D3a0b@aO: KZ{B{Z@Ξ5ڞ-: %ꊽ |FrobaKp5hix˃!0\nU>liPWNy#>0!Ff$iӄ} y/?πxF&O-FaR!:lcQP{u̯jz5a0JՏ0R_W#_&-a1fp?Lc?|9S䰌-8Ou$ּ7c ڟt`_;>v@JX; z ؁bPx%@y% !Pz?$dK30P 1cLcx#f1a"R(1-7 BcBBg PX9ʡHCrh$x @X N&$M'&%ΧffR!08a oB$QgMD pᢹOn$YsffYc428868h#}Dws#!#GDt}qu<MQꚤ JFn=F{S QJh=;G1:J% 8ҹl=tkLEJju U]5cYBSLL-fBLH5fV7>mΟf ÏYY|1K~̲fCٮx`DWHspk8ܚc=DɱcY AncX"HHX9r>7#>_5_hCj|g %F3I'`E9dOVmOHBhC\YǡmIKh$Nh#bj&vBB;[|vݞЎX͊bfY:o2L;$Hlsj]QFx][5y/rK8dABRSOryS)2-]|TT2 2C0|hDdAV`AEgHQՍEXCT,_'v 8ZwZi$ W,T$,P~5 ¿$/¡O-s+KW)j!Qbh-]z. 2 ;oS%eG.&F_]l4T`'xn b9S9id~6+GG.!4&-ϸߝ3' 9NwUZVe]ߗ}/|xmF_E~تҞ.B P,,NQ*b)D#)kPNȻN%읊895ɷTFO ; b4iiT!yHS!C0gt78i Btτg=J3Y>KZ;lvNrU~O!+)ωS:G. :X*B'C POBTaRvK os%:<8Wr[K^W2+N^ c8TExL+i't6x=K#a_Bt)\HL_Vn{U {C YpE+CFsʜ3;Py#"~cxd6D&]Ѝ.} +,G mC|DrMOվo{KǛ'I7ffE,Ÿ́}//. O%5 WX)ӵX]I^1y-<̌RV]y+ʢVY[IZ]d]EDb[s) -#%gJ)9B#{| R5胣 7˼}Ĉ}w/ލٺYnޤ<5-m3ťlx.ޝ#`-]oHpKUGvQUGERh^ObRŒW*jFXT{ֽ8h<}L_aWt=~~^o. (K3_y5v_3g5 a GK3p0e{4TCU}?x@v6+R!ȃJ*GAdkˊ|& W#uz-^)7pQOT C mLS,bGxnf>xK, {`袤*H5v1-`"tH߆UF.܈PtzUǺț&m!OJ!یz5n9 B%N:9#v2gC(-V–}}ٗG)#͉U^HەWe[LڝQLݶOH0)qʠM?~×:uED_"a&UTx"$Np¸So?"Ru^(UPv3&?fT0f["/nZ3RU*/J_!sAI~R?-0g+Ns_@/;_ -(f;B I/!%q/__7_/} e&<}r g+lJ YFE. +NJ0Y2\,a%~M5RbRN3x@Fe"U8| 67'MAqU+2?&Gh7/![hb ٪ܿ*& &Wn:퐡r*xD )50hZ($.!Ẉ2fXZG7 9"hۢ*ui=9:8vb z6Iջ# hzlzL ®+oN_V_aOBIcCU-ҕͻH~IWMpER FQ/_싮<`4Uc#I?E-tyJW D̘ + -_Q9I {D7#:ig4lzwS[ kXmVXXҍ,]a]ҕ YmgBbo_թ6`` \b"UN qNo@q:&Uca#!tX:Ou\ HqobлS)d[0Qn^:|,Y»> aHjC1J =8糅*R,CV2" }+=Aa4aGqߤ"Ӝ^mZj&d\8lY0#l[0i4;ʐV"OTF&4A9Y@3,wR?З &ڙ5wP팙¸q}áw &yI}'67)K;5Rf*) 7o9PiCw"H ]hۅ paYVnj JIkU^敺֡uhR:4kʻ֡R:޵MZ]֮uW{׺kԵRx=wm7_fl&_/3t]e.4Wǔg 3A0͠4 WX)5k SL|46,&~~PG#oZoA"fQh5ONu9;9>iY`ﲣ a%; NPCFX䕫K ltj mm 6=)ɦU]m9fӓv[NrmSIfwFcL8IXvk]Nh ~˨P QO,pZKV9|8)X^\duAV*73䏔5ڊjW GB:S/ѣp@gA賂=,gW> i,Ig|OtFM,!(b}Y4{|g>UEБvNku^I=Eق#<[3)T8ъ-:RM. x])`Hξ(I I˓?A~(Rj_:Lod-~lM&>L,e' rmbxk5|%S*n0o[t\66}do)+%gI)2K$ǽ9f])wKmN{)|X+Ksl'-7w[N6N~,;[.}9·r9TQ/*S[b B7f}v=wrtGx^ ]wp=bu-/yˮdiZ>u^yظWH\{+c0(UHW!a]U{|*89B A! =lija)#-G!dmr[:ZNӑI.rӧ_TCr\XnY)JV??.LaV!V!,  دFv.KV[&L`lo5VpɤY/5'=̤+z(&uEem@8u= _~7Iw<L΢"l둮4,f@UOt롖n AR uPTA7yГP Uڷ-zC`co$DOE"7&1Erӛ1,OofЯ5wViJUGkHkkD$9VQ>jx_Y#[P:?-vK- -v]Iw〻S$gﶆ 1J3|r7!wXXʘ˻K#y^s/k^%}9N HWV#I<_+ߨ߭4i~F߈(FL>hFN+}pB.pl"ު%#V7Xĝ)rSW/FG;XL=z6*,yy#"eC\O"aۇCx0TDm>;܇|Å<(orkmb- ]= t#GD]=+J2-#GGE9Rr?vngɼfQ漏K9&/%) S[[toůz 1*~mؑ=wwG?;wبX UG_a$$|.D@~{'HO$|?U1ϓ$xDyyRIEOR/z2Dt?=~ZDm'_)W ܥwG Oo =^F#M?{{nXc1(^ 4i_j  ϧqx>~&!<τڍfax904PwCk5>]FG0@|%Pҳ~[We0E0jlsXD?8W$\ƕ 7x2bh@X/Qxu˪IEףe'WYYP]\]WRJ 7T!swC[а0q|/>&u#XRV򾠗pJ}`?TAqWڣއ{?$1XaR!>Xc_|Cyu>/%qJ^JRҋBо @:'"H"葢ԧvc|*Sڌ/׿T-"W4@%bBIC3Aq?9sۧ1!B6B苐#뛯l5m a)7_t[70|NYR:2o*Yl(U~Մt]G]CА.݋A+FW Tos\hD: R,LqenjȍVMtzJNj&I>lW) _aHҳ=xgIz$Z}b}⸈ѫt_oS(,(pO?IOl`~,s'GZTQY^J˨tLCH': 6’HvAA-G`c~@juc(y0B҃A(A`_>'At 6Յ xILͲ8k#N0[*# %ʖBxR>@JSȢe+Dv+ /] e+!.?ڭ 0/[#[Klmx~#m 6z6&ffDWzD i7l aV3g¹Uz; c/%Lt ?@<'MCb<VC<bQG7B*TMKd e{z{Kz$=lic1C %'4z|%W!Wف!$eb`A,J^i"HvkGavfGv?LHda`_v$MO;)q )A; IPNgg9;#;J[FX[Bo>1kЩJҍQh#b1Ei\afbFw]3D#4ADHefB*fʄ"f0f]} !Jm("2mC2TBHi`IBz7nn6vK \yLWw WHa8P"{^Wp1G)2WmQz\%=L K Kwmz=YdI,k%fP%B%y7y76\HAÅJk } !&ɳdU?[ɴ{oHHr-F&tM#y/gj_<jjj:ը|VAG>x\PveKuvAt>khVC\UhiILɄɈ6''XxQZ51Y> fF9q͡1KGG$ ^9! :Et\{}q=)sOӖz+`F \O#T _b/V,8bvTf1ni ӈ=Ji0-  )`fN PNgڝ.٥斁]6e)YtYϑ'|3لo3SLŇ4z!-NzooH=,_un9nFDhЄ!&gMDζ% zQZ{ټgC7)slT$0(18f} ]>׶Y2H: 4&IYǙZ1UM ^!> H h?G3* 8?>i{|,"s!^H` Tb%%r=%PV=q@OB _•F!Z a3[JSfH&@ŗ~kkbaė*if{  |Yct\ CthK}t( f.54BJB7 'r!A\hC*%ڧ+ޢxvL/%\Y*ppw,TOHf+q TIt_8Mbڜ|3*f4"t⇧ו4t OG==tCQNɉm@mP+atpE|ӕg8dND2]QtəqpI9AOͤS3 :8a"N`Yo,@7Sk!.vg!kȹֳ5)ߝ\bFr9,7H۝6ķ:##*KSȟ`T΃œ/tuwbf -nWȒO:u>|1_OʨkA1jc96>.Ǐ5yr6>.){]`^8aXuȒ.e/!g/dr9goryJ.WYY&ו~gN|W"d dа\+ $_aRLSX!C?gE?#w !]"ՈՄնg6u&wZ<\K-zr]rr֒)K?7T1B'#et3'Õ(k-\+% ©H/+^VR\/+heVDi2QzDdUWxu h*IGpilJfܘ:p?dؠ'M]o)DDI?7(^h5Vz 9\_7Q`%GdM>EnLD/UH>o ZqGq)zG(ҚOobp7Yn xI\U85L;B ڝ ~.ya&^kI?*Y$k<Cǣy4$|B>M}z1U _M땰N*duy;s~b%O`wXKYt6a~V_~ϯJZ~Mì+h˝\^U~UrG4˪Y_/ wLyf` ħӧ6MCP/ bX켬-3 zL- _4C_|A/w{ TEfM\\E/ yѸlMRsj9ZM/1._\b%ťunuE:F]HMPMbCJX#Κ0#B+|=pnsӗa 8|Q91z_&ҰLo/"%8~_Ǝ9S 6h])CVܲ,4Is H  7XOxkTTElEz  B$KG\<)j_x/7AРd>E{j)\q,/U.<-A!}yTV^.yR[UZzr%S,\ {)Jsl:{/(򷮁/3Gf;`?`>OAH^I_*Ŷ -P-fTgluٷG+[)|SƇ2rq*ئK? EK܎#;NKW6,:2jisf3zF-#ݬ_}{Xf聮p'qח>JO廟l5~ǔT^o=("V@.Z5,6.\J#B}&7]n6|;''')8eiÖ_"$LE(&El)SaR4XзTR&3XI*PZ-;A[ V WRN|lIvQMqq9CVO[fFavjQja/ KnntHMWmwpq ׃8|Q'#؀v<YRM, l \^ Z zʹ/H}`Jp㛁NjyUSzjU5S41c>Zf;6[3ѧ ^5<_B`'<{hUaL]vc5@ik-mڄ4}מ#@-X{O}PHhn] / e^]Eɻ^#tgriLFDq]-_P]z\ޮֵ q\Jfsj]~p)\"] +JcQ22X~D12j#/*.?"Nyͮ!k8э^PkL/9BIzMiV|בuسfXyżS뒘1oQHϗtE:S>.n"Wt)|0yLGio!-HܠO6V5BRn"^mxs481HEO ;H0>3f؞Vح HՁa#JA]#cQyAoHĬt zF o#Y? D*YOe8-=vU* dU>({2"uӿۣN:> = )9 e\L$ӭ)[b2]Gɀ((zO%׷(H[ݬȷol< 䰑,6dQ,6rƋ'M6f,!)!{ɬQz+ w4t賝P#z"#P^}?ne}qyzKrzo<@(惞b>|`b>D!L0o/a/(PI|6 $EXX5*B$ Gi|/cIy1@?Dt_p?Hy?"֡,T[i~B?w?)]O[a)>ŒHG1(fI1HG[ٟ`TxH@G`<_/ .fl/Fb>#qj_A?TF>l-GuyG<ڙΰAC}Ϗbo+"[*!A!GKk<}[Sp(ԧ0uXűcpx.=}1\ӏeĴ2o ]?`?!G/f+QFG:6lw>QG2#P7;`sr:Bo\G4%g7ݢiy*?x<@Z=LzE{bqQs1\4_y {O,&vk՜gUKYq-;[ShىR֓w\;[bSlpi;_libm.so.6libc.so.6V~$lsnC6Ʒ "K 'ΰZlˋЇ+ YZ